Varianty Turingova stroje Výpočet funkcí pomocí TS
Vícepáskový Turingův stroj TS má k nezávislých pásek Na každé pásce samostatná čtecí hlava každá z hlav se může posunout doleva, doprava, nebo zůstat na místě Přechodová funkce δ: (Q– {qA, qR})×Γk QΓk{L,R,S}k Simulace k-páskového TS M jednopáskovým TS J na pásce k-tice symbolů, na každé pásce i značka určující pozici čtecí hlavy stroj prochází páskou, hledá značky a zaznamená čtené symboly do svého stavu poté zjistí, jakou akci by stroj M vykonal a vrátí čtecí hlavu na začátek při druhém průchodu páskou upraví označkovaná políčka a posune značky na jednotlivých stopách pásky
Turingův stroj s oboustranně nekonečnou páskou Páska nekonečná doprava i doleva Lze snadno simulovat dvoupáskovým strojem jedna páska obsahuje pravou část druhá páska obsahuje levou část každá z pásek je tedy nekonečná do jednoho směru
Nedeterministický Turingův stroj V každém kroku má více možností Přechodová funkce δ: (Q– {qA, qR})×Γ 2QΓ{L,R} Konfigurace je definována stejně jako u DTS Relace krok výpočtu M je definována předpisem (p, , n) M{ (q, snb(), n+1) (q,b,R) (p,n) (q, snb(), n-1) (q,b,L) (p,n) Výpočet NTS je strom vnitřní uzly představují nekoncové stavy, z nichž existuje více možností koncové stavy jsou listy
Akceptování NTS NTS akceptuje vstupní slovo právě tehdy, když existuje výpočet vedoucí do akceptujícího stavu NTS zamítne vstupní slovo právě tehdy, když všechny větve výpočtu jsou konečné a vedou do zamítajícího stavu NTS cyklí nad vstupním slovem právě tehdy, když žádná z konečných výpočetních větví nekončí v akceptujícím stavu a existuje alespoň jedna nekonečná výpočetní větev
Ekvivalence DTS a NTS DTS je zvláštní případ NTS Simulace NTS N pomocí DTS D prohledávání výpočtového stromu stroje N Stroj D má 3 pásky obsahuje vstupní slovo a její obsah se v průběhu výpočtu nemění slouží k simulaci aktuálního výpočtu stroje N obsahuje informace o dosud prozkoumaných možnostech posloupnost přirozených čísel; pro každý stav určují, kolikátý následník byl zvolen Narazí-li D v průběhu výpočtu na akceptující konfiguraci stroje N, pak akceptuje. Pokud stroj N při všech výpočtech zamítne, zamítne i stroj D.
Výpočet funkcí pomocí TS Doposud jsme se zabývali pouze tím, v jakém stavu TS skončí (skončí-li) bez ohledu na stav pásky v koncové konfiguraci Řekneme, že TS M počítá funkci f:N0k N0 právě tehdy, když akceptuje každé vstupní slovo tvaru vstupní páska na konci výpočtu obsahuje řetězec Funkce f:N0k N0 se nazývá částečně rekursivní právě tehdy, když existuje TS M počítající funkci f rekursivní právě tehdy, když existuje úplný TS M počítající funkci f
Enumerátor TS obsahující kromě vstupní pásky obsahuje i výstupní pásku (tiskárnu), na níž lze pouze sekvenčně zapisovat pouze jiná varianta předávání výstupu Výpočetně ekvivalentní TS
TS s oddělenou vstupní páskou Vstupní a pracovní páska jsou odděleny Ze vstupní pásky lze pouze číst Na pracovní pásku lze zapisovat i číst Zřejmě výpočetně ekvivalentní TS
Stroj se dvěma zásobníky Představme si TS, který má namísto vstupní pásky dva zásobníky Zásobník S1 obsahuje vše, co je od čtecí hlavy nalevo Zásobník S2 obsahuje vše, co je od čtecí hlavy napravo a na vrcholu má právě čtený symbol Počáteční konfigurace: S1 je prázdný S2 obsahuje vstupní řetězec Krok výpočtu Posun hlavy doleva: push(S2, pop(S1)) Posun hlavy doprava: push (S1, pop(S2)) Výpočetně ekvivalentní Používá se při implementaci TS
Stroj s k počitadly Turingův stroj obsahující vstupní pásku (nelze na ni zapisovat) k pracovních pásek (jsou prázdné, pozice čtecí hlavy určuje nesené číslo) Jeden zásobník lze simulovat dvěma počitadly Pracovní páska = 2 zásobníky = 4 počitadla Libovolný počet počitadel lze simulovat 2 počitadly