Turingův stroj (TS)
- Podobný konečným automatům
- Rozdíly jsou v nekonečné pásce, možnosti pohybu hlavy na obě strany, hlava i zapisuje, znaky se mohou přepisovat
Definice Turingova stroje
- Turingův stroj je definován jako šestice , kde
- je konečná neprázdná množina stavů,
- je konečná neprázdná množina vstupních symbolů,
- je neprázdná množina páskových symbolů, kde a v je (přinejmenším) speciální znak (prázdný znak [blank])
- je počáteční stav
- je množina koncových stavů
- je přechodová funkce
-
Význam instrukce je tento:
- Tato instrukce je aplikovatelná v konfiguraci, kdy řídící jednotka je ve stavu a hlava čte na pásce symbol
- Vykonání instrukce znamená následující:
- řídící jednotka přejde do stavu ,
- hlava zapíše do aktuálně čtené buňky symbol ,
- je-li
- , hlava se posune na sousední buňku pásky doprava,
- , hlava se posune na sousední buňku pásky doleva,
- , hlava se nikam neposune
-
Turingův stroj svůj výpočet po dosažení koncového stavu končí
-
Konfigurace TS je dána
- Stavem řídící jednotky
- Obsahem pásky
- Pozicí hlavy
Nedeterministický TS
Definice NTS
- Nedeterministický Turingův stroj (NTS) je dán stejnými složkami jako deterministický Turingův stroj (TS) až na přechodovou funkci.
- Jiná definice přechodové funkce
- Nedeterministický algoritmus rozhoduje ANO/NE problémy , jestliže:
- Pro vstup problému , na nějž je odpověď ANO, alespoň jeden výpočet nedeterministického algoritmu vydá ANO.
- Pro vstup problému , na nějž je odpověď NE, každý výpočet nedeterministického algoritmu vydá NE.
- Výpočet NTS tvoří strom výpočtů
- Činnost nedeterministického TS je možné snadno simulovat pomocí deterministického algoritmu tak, že deterministický algoritmus systematicky simuluje činnost všech jednotlivých větví výpočtu (prochází strom výpočtu do hloubky)
Navigace
Předchozí: Zásobníkové automaty deterministické a nedeterministické Následující: Jazyk přijímaný TS, jazyk rozhodovaný TS Celý okruh: 1. Teoretické základy informatiky