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

    1. Stavem řídící jednotky
    2. Obsahem pásky
    3. 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:
    1. Pro vstup problému , na nějž je odpověď ANO, alespoň jeden výpočet nedeterministického algoritmu vydá ANO.
    2. 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)

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