mașină Turing

Una din prima definiție formală a algoritmului a fost de a determina matematicianul englez A.M.Tyuringa. În 1936 el a descris schema unei mașini abstracte constând dintr-o bandă fără sfârșit și mașina, și a sugerat de asteptare algoritm care este capabil să facă această mașină. Cu această definiție, ceva ce nu se poate face de către o mașină Turing nu este un algoritm. Calculatoarele sunt, de asemenea, concepute pentru a efectua algoritmi, dar este un dispozitiv de reală, în timp ce mașina Turing este o abstracție. Noi abstractizare membrele de memorie.

O mașină Turing constă dintr-un infinit în ambele părți ale benzii împărțit în celule și mașină. Fiecare celulă poate fi unul dintre personajele alfabetului, care sunt reprezentate în datele. În cazul în care celula este gol, atunci spunem că există un simbol gol. Alfabete pot fi diferite, dar pentru o anumită mașină Turing selectează orice alfabet. Aparatul se poate deplasa de-a lungul benzii și pe rând „observa“ conținutul celulelor. Cuvântul de intrare este plasat pe centura de o literă în celulele aranjate într-un rând și ia un număr finit de celule. Partea din stânga și din dreapta al cuvântului de intrare pe banda sunt doar celule goale. Masina este într-o stare a unei multitudini predeterminate de spoturi și o singură celulă.

mașini Turing locul de muncă de atribuire poate fi descrisă ca un program - tabel. În fiecare celulă a programului, este necesar să se specifice ce ar trebui să efectueze operații automate, dacă fiind într-o anumită stare, el „vede“ această scrisoare. În general, aparatul fiind în măsură să

mașină Turing
și a găsit în cutia poștală
mașină Turing
, El scrie în aceeași locație dată litera
mașină Turing
. Apoi, aparatul efectuează o mișcare
mașină Turing
, apoi continuă să indice
mașină Turing
.simbolul de trafic
mașină Turing
este unul dintre următoarele trei personaje:
mașină Turing
- Masina este mutat de o celulă la stânga,
mașină Turing
- rămâne în aceeași celulă,
mașină Turing
- mutat o celulă la dreapta. Acum, următorul pas mașina să caute în rândul corespunzător statului
mașină Turing
, la intersecția cu coloana corespunzătoare o singură literă, care masina „vede“ după trecerea. Noi credem că, înainte de a începe programul automat este într-o stare
mașină Turing
. În activitatea sa, mașina Turing va fi ca să sară de la o celula program la altul, în conformitate cu informațiile de pe bandă și instrucțiunile din celulele programului, până când ajunge la celula de oprire în care se va scrie că mașina ar trebui să fie lăsat în celula următoare, scrisoarea a găsit acolo , rămân nemișcat și să păstreze starea lor anterioară. Celulele opri în program nu poate fi; atunci mașina Turing nu se va opri. Chiar dacă astfel de celule este, aparatul nu poate merge pe jos până la ei (la urma urmei, tranzițiile depind de program și pe intrarea cuvântului). În cazul în care o mașină Turing nu se va opri, se consideră că nu este aplicabilă unui cuvânt de intrare dat. Este aplicabil cuvântul numai în cazul în care, după ce a început să lucreze la acest cuvânt de intrare, veni mai devreme sau mai târziu la un celule de oprire.

Turing Masina de configurare este un set de condiție starea internă a benzii, poziția pe mașină bandă. configurația mașinii Turing va fi scris sub forma

mașină Turing
, unde
mașină Turing
- starea internă,
mașină Turing
- un cuvânt în partea stângă a mașinii,
mașină Turing
- un cuvânt în partea dreaptă a mașinii. Suntem de acord să ia în considerare faptul că configurația inițială standard are forma
mașină Turing
, și configurația standard finală arată
mașină Turing
.

mașină Turing calculează o funcție parțială corect

mașină Turing
, dacă pentru orice
mașină Turing
îndeplinite:

dacă

mașină Turing
determinată și
mașină Turing
, mașina Turing este aplicabilă configurația inițială
mașină Turing
iar configurația finală este
mașină Turing
.

dacă

mașină Turing
nu este definit, mașina Turing nu este aplicabilă la configurația inițială
mașină Turing
.

aici

mașină Turing
- setul de cuvinte de lungime finită în alfabetul
mașină Turing
.

funcție

mașină Turing
nazyvaetsyapravilno calculabil Turing. în cazul în care există o mașină Turing care calculează în mod corect.

mașină EXEMPLU Turing, care transportă configurație inițială

mașină Turing
într-o configurație finală.

mașină Turing

Descrierea diferitelor algoritmi pentru mașini și dovedind fezabilitatea diferitelor algoritmi compoziții, Turing a arătat convingător varietate de posibilități oferite de designul lor, ceea ce ia permis să vorbească cu următoarea teză:

Teza Turing. Fiecare algoritm poate fi pus în aplicare corespunzător mașinii.

Această teză este o definiție formală a algoritmului. Acesta vă permite să dovedească existența sau absența unor algoritmi, care descrie mașina Turing corespunzătoare sau dovedește imposibilitatea de a construi ei. nu poate fi dovedită teza Turing, deoarece modul său de redactare nu definește noțiunea de „orice algoritm“, adică, în partea stângă a identității. Ea poate fi justificată numai prin prezentarea o varietate de algoritmi bine cunoscute sub formă de mașini Turing. Sprijinul suplimentar al acestei teze constă în faptul că acesta a fost sugerat mai târziu câteva definiții comune ale conceptelor de algoritm și de fiecare dată a reușit să demonstreze că, deși noile scheme algoritmice și un aspect diferit, ele sunt de fapt echivalente cu mașinile Turing: tot ceea ce este realizabilă într-una dintre aceste modele, se poate face în cealaltă. Aceste afirmații sunt dovedite strict, deoarece acestea sunt deja vorbesc despre identitatea schemelor formale.

Markov algoritm normale

În 1954, matematicianul sovietic AA Markov a propus un sistem de algoritmică diferit echivalent cu o mașină Turing, în care datele sunt convertite bazate pe alte principii. In schema algoritmică Markov are nici un concept de bandă, și necesită acces direct la diferite părți ale cuvintelor convertite. Markov numit schema algoritmică a algoritmului normal. Conceptul unui algoritm normale are multe avantaje atât natura fundamentală și metodică, sa dovedit a fi fructuoasă și convenabil. Pentru a rezista testului timpului și a dovedit viabilitatea, acesta - împreună cu conceptele de funcții recursive și mașini Turing - ferm stabilit în utilizarea științifică a teoriei moderne a algoritmilor.

Algoritmul normal Markov este un set ordonat de permutări (produs) de forma

mașină Turing

Formula de substituție este utilizat pentru a înlocui subwords într-un cuvânt de transformare. Și subwords substituent înlocuibil în formula sunt separate prin una dintre săgețile sau → • →. tipul de produse

mașină Turing
Se numește simplu și produsele
mașină Turing
- finala. Partea din stânga și din dreapta părțile laterale ale formulei de substituție pot conține cuvinte goale. Pentru a înregistra algoritmi Markov nu necesită etichetare specială cuvinte goale, ca mediu de înregistrare, în acest exemplu de realizare nu este fixă, iar cuvântul convertit mutat liber în afară și mutat. Rețineți că prima apariție a cuvântului gol este convertit în stânga cuvântului.

Ca un exemplu algoritm pentru a calcula funcția în alfabetul

mașină Turing
(Algoritmul este desemnat ca un simbol gol
mașină Turing
):

mașină Turing

Efectuarea algoritm Markov este împărțit în etape. Fiecare pas include găsirea unui ordin primă formulă de substituție aplicabilă transformarea cuvânt și executarea corespunzătoare acestei formule este înlocuită. Dacă încercați să aplicați formula de substituție este că există mai multe apariții ale părților sale pot fi înlocuite, înlocuiește întotdeauna prima (stânga) apariția. Procesul algoritmului se termină în două cazuri:

- fie toate formulele erau inaplicabile,

- sau formula finală, în care stânga și săgeată dreapta → parts subword a fost aplicată în ultima etapă.

În oricare dintre aceste cazuri, se crede că algoritmul normală este aplicabil un cuvânt de intrare dat.

Dacă în timpul executării unui număr infinit de ori a algoritmului sunt substituții simple ale formulei utilizate, algoritmul nu este aplicabil dat cuvântul de intrare.

Algoritmul normal este numit un algoritm normal de peste alfabetul

mașină Turing
, în cazul în care acesta este un algoritm obișnuit într-un alfabet extins
mașină Turing
. Algoritmul normal peste alfabetul
mașină Turing
stabilește o cartografiere dicționar
mașină Turing
, utilizând procesarea cuvintelor în alfabetul
mașină Turing
caractere auxiliare care nu aparțin alfabetului
mașină Turing
. Oprirea algoritm normal de peste alfabetul
mașină Turing
eficacitatea, în cazul în care algoritmul este oprit cu rezultatul
mașină Turing
, în caz contrar, presupunem rezultatul algoritmului este incert.

algoritm normale

mașină Turing
calculează o funcție parțială
mașină Turing
, în cazul în care fiecare cuvânt
mașină Turing
Aceasta se traduce prin cuvântul
mașină Turing
în cazul esliili
mașină Turing
- pe termen nelimitat, în cazul în care. Funcția nazyvaetsyavychislimoy Markov. în cazul în care există un algoritm normal de Markov calculeaza.

Algoritmică Markov Turing circuit și sunt echivalente în sensul că toți algoritmii descriși în unul dintre ele poate fi descrisă în alta. Aceste circuite nu pot fi realizate fizic, deoarece acestea sunt o abstracție matematică ce permite un număr nelimitat de cuvinte lungime mai mare care apar în procesul de transformare.