Markov algoritmi normali - studopediya

Pentru a formaliza notiunea de algoritm românesc matematician AA Markov a sugerat folosind calcul asociativ.

Luați în considerare unele dintre conceptele de calcul asociativ. Să presupunem că există un alfabet (un set finit de caractere diferite). Simbolurile sale constitutive noi numim scrisori. Orice secvență finită de litere ale alfabetului (o serie liniară dintre ele) este un cuvânt în alfabetul.

Luați în considerare cele două cuvinte N și M în unele alfabet A. Dacă N este parte din M, atunci spunem că N este inclusă în M.

Noi definim într-un sistem de alfabet N permutări finit - M, S - T unde N, M, S, T - un cuvânt în alfabetul. Orice substituție N-M poate fi aplicat la un cuvânt pentru a efectua următorul mod: dacă K are una sau mai multe apariții de N, atunci oricare dintre ele poate fi înlocuit cu F, și invers, dacă există o apariție a lui M, acesta poate fi înlocuit cu N.

De exemplu, alfabetul A = sunt cuvinte N = ab, M = BCB, K = abcbcbab, înlocuind un cuvânt cuvânt N M, sau de a obține abcbcbbcb bcbcbcbab și invers, înlocuind M la N, sau de a obține aabcbab absabab.

Schimbare ab - BCB inacceptabil modul în care bacb, din moment ce nici ab, nici BCB care nu sunt incluse în cuvântul. Prin obținut prin numitul substituții admisibile se pot aplica din nou substitutiile admisibile etc. Setul tuturor cuvintelor din alfabet, împreună cu sistemul de substituții admisibil denumit calcul asociativ. Pentru a seta calcul asociativ, este suficient pentru a defini alfabetul și un sistem de substituții.

Cuvintele P1 și P2, în unele calcule asociative se numesc adiacente dacă una dintre ele poate fi transformată într-o altă substituție admisibilă cerere unică.

Secvența de cuvinte P, P1. P2. M este numit un lanț deductiv care duce la cuvânt la cuvânt P M, în cazul în care fiecare dintre cele două cuvinte adiacente ale lanțului - adiacent.

Cuvintele P și M sunt numite echivalente în cazul în care există un lanț de P M și înapoi.

a, b, c, d, e> Al - Ca, abac - abace

ABCDE și acbde cuvânt - Deluxe (bc de substituție - cb). Cuvinte ABCDE - cadbe echivalente.

tip special de calcul asociative, în care substituția este orientată poate fi considerată: N → M (săgeata înseamnă că substituția permisă numai de la stânga la dreapta). Pentru fiecare calcul asociativ există o problemă: pentru oricare două cuvinte pentru a stabili dacă acestea sunt echivalente sau nu.

Orice formule de ieșire din proces, calcule matematice și transformările sunt, de asemenea, lanțul de deductivă, în unele baze asociative. Construcția de calculi asociative este o metodă universală de prelucrare determinist a informațiilor și vă permite să formalizeze noțiunea de algoritm.

Noi introducem conceptul de un algoritm bazat pe calcul asociativă: algoritmul în alfabetul A este de prescripție exactă de înțeles, definind un proces pe cuvintele lui A și permite orice cuvânt ca sursă. Algoritmul în alfabetul A este dat în forma unor sisteme de substituiri admisibile, completate de prescripție precisă a ordinii în care trebuie să utilizați substituțiile admisibile și atunci când are loc o oprire.

Alfabetul: În sistemul de substituții:

Prescription privind utilizarea substituții: P într-un cuvânt arbitrar ar trebui să fie posibil să se facă o schimbare prin înlocuirea partea stângă a substituții la dreapta; repetați procesul cu cuvântul nou primit.

Deci, folosind un sistem de substituții în exemplul de mai sus a bsasabs cuvinte babaac și obține:

babaac → bbcaaac → oprire

bcacabc → bcacbcac → bcacccac → → bsasabs proces fără sfârșit (fără oprire), așa că am luat cuvântul inițial.

AA Markov a propus o modalitate de a clarifica conceptul de algoritm bazat pe conceptul unui algoritm normal de care este definit după cum urmează. Având în vedere un alfabet A, iar sistemul permutărilor V. Pentru orice cuvânt P în substituirea selectat în aceeași ordine în care apar în substituția adecvată B. .Daca nu, procesul se oprește. În caz contrar, primul este luat din substituțiile corespunzătoare și se înlocuiesc partea sa dreaptă a primei apariții a acestuia din partea stângă a lui P. Apoi, toate acțiunile sunt repetate pentru a obține cuvântul P1. În cazul în care ultima înlocuirea sistemului utilizat în procesul este oprit.

Un astfel de set de instrucțiuni, împreună cu alfabetul A și B definesc un set de permutări ale algoritmului normal. Procesul este întrerupt doar în două cazuri: 1) când nu a fost găsit substituția corespunzătoare; 2) când acesta din urmă a aplicat înlocuirea lor set. Diverși algoritmi normali diferă unul de altul alfabetele sau sisteme de rescriere.

Aici este un exemplu de algoritm normale, care descrie numerele -natural de adiție (reprezentate prin seturi de unități).

Alfabetul: În sistemul de substituții:

A = (a + 1) 1 + → + 1

Word F: + 11 + 11 111

Procesarea secvențială a P folosind algoritmul normal de Markov trece prin următoarele etape:

P = + 11 + 11 + 111 P5 = 1 + 111111

P1 = 111 + 1 + 111 P6 = ++ 1111111

= P2 + 111 1111 + + P7 = 1111111

P3 = 111 + 1111 + = 1111111 P8

P4 = 11 + 11111 + R9 = 1111111

Algoritmul normal Markov poate fi considerată ca o formă de configurare universală orice algoritm. Versatilitatea algoritmi normali a declarat principiul de normalizare: pentru fiecare algoritm într-un alfabet finit arbitrar A, puteți construi un algoritm echivalent normal de peste alfabetul A,

Explicați ultima declarație. În unele cazuri, nu se poate construi un algoritm normal de echivalent cu acest lucru în alfabetul A dacă sunt utilizate în algoritmul de substituții numai litere ale alfabetului. Cu toate acestea, se poate construi un algoritm normal de dorit, producând extensia alfabetului A (prin adăugarea la un număr de litere noi). În acest caz, se spune că algoritmul construit este un algoritm de peste alfabet A, cu toate că acesta va fi aplicat numai cuvinte în original alfabet A.

Dacă algoritmul N este situat într-o extensie a alfabetului A, atunci spunem că N este un algoritm normal de peste alfabetul A.

Suntem de acord pentru a apela un anumit algoritm normalizable dacă se poate construi un algoritm echivalent normale și nenormalizuemym altfel. Principiul de normalizare poate fi acum și-a exprimat într-o formă modificată: toți algoritmii normalizat.

| Acest principiu nu poate fi strict dovedită, deoarece noțiunea de un algoritm aleatoriu nu este bine definit și se bazează pe faptul că toți algoritmii cunoscuți în prezent sunt normalizate, și moduri rompozitsii algoritmi, care permite de a construi noi algoritmi de deja cunoscute, nu depășește limitele clasei normalizate algoritmi. Mai jos sunt listate metodele de formulare algoritmi normali.

I. Algoritmii superpoziție. Când superpoziție a doi algoritmi A și de ieșire B cuvânt este considerat primul algoritm al doilea algoritm de intrare cuvânt B. Rezultatul superpoziției C poate fi reprezentat ca C (p) = B (A (p)),

II. Combinarea algoritmi. algoritmi de asociere A și B în același alfabet numit algoritmul C în același alfabet, p convertește orice cuvânt conținut în intersecția domeniilor algoritmii A și B în înregistrat cuvântul următor A (p) și B (p).

III. Ramificare algoritmi. Ramificarea algoritmi este compoziția D trei algoritmi A, B și C, în care regiunea de determinare algoritmul D este intersecția dintre domeniile tuturor trei algoritmi A, B și C a = A (p) pentru fiecare cuvânt p în această intersecție D (p), dacă C (p) = e, D (p) = B (p), în cazul în care C (p) = e, unde e - șir gol.

IV. algoritmi de iterație. Iterare (repetiție) este o compoziție a doi algoritmi C A și B, care algoritmul B. pentru orice cuvânt de intrare cuvânt r (p), obținut prin aplicarea repetată succesivă a algoritmului A corespunzătoare atâta timp până când un cuvânt care urmează să fie convertită

Markov algoritmi normali nu sunt doar un mijloc de constructe teoretice, dar, de asemenea, printr-un limbaj de programare specializat folosit ca limba de transformări simbolice în dezvoltarea sistemelor de inteligență artificială. Aceasta este una dintre puținele limbi care sa dezvoltat în România și-au câștigat importanță în întreaga lume.

Există dovezi puternice că abilitatea de a converti algoritmii normali Markov sunt echivalente cu mașini Turing.