100 likes | 260 Views
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. Dva způsoby řešení úloh. Obecně rekurzivní Částečně rekurzivní.
E N D
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: Q0,Q,K • Pásková abeceda: 0,1 • Počáteční stav: Q0 • Koncový stav: K • Přechodová funkce
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ů: q0, q1,p,k • Pásková abeceda 0,1, ε • Počáteční stav: q0 • Koncový stav: k • Přechodová funkce:
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) = fx(x)+1 , pokud Z(x,x)=1 a tudíž výraz fx(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) = fg(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.