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 Turingova stroje je dána
- Stavem řídící jednotky
- obsahem pásky
- pozicí hlavy
Nedeterministický TS
- Nedeterministický Turingův stroj (NTS) je dán stejnými složkami jako deterministický Turingův stroj (TS) až na přechodovou funkci.
- 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í: Deterministické bezkontextové jazyky Následující: Jazyk přijímaný TS, jazyk rozhodovaný TS Celý okruh: 1. Teoretické základy informatiky