Jak může Turingův stroj řešit úlohu? Mám rozhodnout, zda posloupnost znaků 0 a 1 obsahuje dvě 0 za sebou
Turingův stroj Vnitřní stavy: Q 0,Q,K Pásková abeceda: 0,1 Počáteční stav: Q 0 Koncový stav: K Přechodová funkce 01 Q0Q0 Q,0,pQ 0,1,p QK,1,nQ 0,1,p
Dva způsoby řešení úloh Obecně rekurzivní Částečně rekurzivní
Aritmetický Turingův stroj Obecně rekurzivní funkce Částečně rekurzivní funkce
Aritmetický Turingův stroj pro funkci f(n)=n+1 Množina stavů: q 0, q 1, p,k Pásková abeceda 0,1, ε Počáteční stav: q 0 Koncový stav: k Přechodová funkce: 01ε q0q0 q 0,0,pq 0,1,pq 1,ε,l q1q1 p,1,lq 1,0,lq k,1,n pp,0,lp,1,lq k,ε,p
Další pojmy Gödelovo číslo Turingova stroje Univerzální Turingův stroj Univerzální ČRF U(g,a)
Halting problém Z(g,a) = 1, pokud se Turingův stroj číslo g při vstupních datech a zastaví. Z(g,a) = 0, v případě opačném, tedy pokud se Turingův stroj číslog se vstupními daty a zacyklí.
Kdyby Z(g,a) byla ČRF a tedy ORF G(x) = f x (x)+1, pokud Z(x,x)=1 a tudíž výraz f x (x)+1 má smysl, G(x) je nedefinovaná v ostatních případech by byla ČRF g je Gödelovo číslo číslo funkce G(x) G(g) = f g (g)+1 = G(g)+1 To je spor, Z(g,a) nemůže být ani ČRF
Algoritmicky neřešitelné problémy Halting problém Problém totožnosti Turingových strojů Problém verifikace programů Postův přepisovací (korespondenční problém)
Postův přepisovací problém Přepisovací pravidla: S►NOSE,LON ►ROŽEK, ER ►OR, K ►C SLON ► NOSELON ►NOSEROŽEK ► NOSOROŽEK ► NOSOROŽEC Pro danou soustavu přepisovacích pravisel a daná dvě slova zjistit, zda se jedno dá odvodit z druhého.