Turingova mašina

Sa Wikipedije, slobodne enciklopedije
Idi na: navigacija, traži
Question book-new.svg Ovaj članak ili neka od njegovih sekcija nije dovoljno potkrijepljena izvorima (literatura, web stranice ili drugi izvori).
Sporne rečenice i navodi bi mogli, ukoliko se pravilno ne označe validnim izvorima, biti obrisani i uklonjeni. Pomozite Wikipediji tako što ćete navesti validne izvore putem referenci, te nakon toga možete ukloniti ovaj šablon.
Preferences-system.svg Ovom članku je potrebna jezička standardizacija, preuređivanje ili reorganizacija.
Pogledajte kako poboljšati članak, kliknite na link uredi i doradite članak vodeći računa o standardima Wikipedije.

Turingova mašina je matematički model izumljen od strane britanskog matematičara Alan Turinga, za stvaranje klase od predvidljivih funkcija. Ona je predstavljena od strane David Hilberta 1920, specijalno za rješavanje problema u odlučivanju, u djelu On Computable Numbers, with an Application to the Entscheidungsproblem. Alan Turing je namjeravao stvoriti jedan model matematički radećeg čovjeka.

Turingova mašina se sastoji od:

  • jedne neograničeno duge trake sa neograničeno mnogo polja. U svakom od tih polja se može snimiti jedan znak.
  • jedne programski upravljanje čitače odnosno pisače glave, koja se po traki samo po jedno polje pokreće i znakove mijenja.

Turingova mašina modificira unos na traci po jednom datom programu. Ako je preračunavanje završeno, onda se rješenje nađe na traci. Tako se svakoj ulaznoj vrijednosti dodijeljuje izlazna. Turingova mašina ne mora za sve ulazne vrijednosti da staje. U tom slučaju je funkcija unosa nedefinisana.

Kao rješenje se nekad definiše redoslijed znakova, koji poslije zastavljanja na traci stoji. Turingova mašina se najčesće koristi (također sa mnogim drugim automatima) za probleme odlučivanja, znači za pitanja, koja se sa da ili ne mogu odovoriti. Pri tome se zaustavljanje Turingove mašine interpretira kao da, a ne zaustavljanje kao ne.


Primjer[uredi | uredi izvor]

Promjena stanja

Sljedeća deterministička jednotrakna turing mašina M očekuje jedan niz od jedinica na traci. Ona udvostručuje broj jedinica pri čemu jedan prazan simbol ostaje u sredini. Iz "111" se naprimjer pravi "1110111". Pisaća, odnosno čitaća glava, se inicijalno nalazi na prvoj jedinici. Početno stanje je s1, a zadnje stanje je s6. Nula stoji za prazno mjesto i traka je sve do napisanih jedinica popunjena praznim znakovima.

M = (Q, \Sigma, \Gamma, \delta, s1, 0, F)

* Q = \{s1, s2, s3, s4, s5, s6\}
* \Sigma = \{1\}
* \Gamma = \{1,0\}
* F = \{s6\}


 staro procit. pisa. novo  glava-   staro procit. pis. novo  Glava-
 stan. simbol    simbol stan. pravac   stan. simbol    simbol stan. pravac
 ------------------------------------   ------------------------------------  
  s1    1   ->    0     s2     R         s4    1   ->    1     s4     L 
  s1    0   ->    0     s6     0         s4    0   ->    0     s5     L
  s2    1   ->    1     s2     R         s5    1   ->    1     s5     L  
  s2    0   ->    0     s3     R         s5    0   ->    1     s1     R
  s3    0   ->    1     s4     L          
  s3    1   ->    1     s3     R     

R - right(desno) L - left(lijevo) 0 - nema pomjeranja

M prolazi na primjer kod unosa "11" u sljedeće stanje, pri čemu je trenutna pozicija glave debelo napisana:


  Korak Stanje Traka     Korak Stanje Traka
 -------------------    -------------------
    1    s1    11000      9     s2    10010 
    2    s2    01000      10    s3    10010
    3    s2    01000      11    s3    10010
    4    s3    01000      12    s4    10011
    5    s4    01010      13    s4    10011
    6    s5    01010      14    s5    10011
    7    s5    01010      15    s1    11011
    8    s1    11010      16    s6    -stani-
Commons logo
U Wikimedijinom spremniku se nalazi još materijala vezanih uz: