====== Turingovy stroje ======
[[wp>Turing machine]]
//M// = (//Q//, //Σ//, //Γ//, //δ//, //q//₀, //qF//)
* //Q// -- konečná množina stavů
* //Σ// -- konečná vstupní abeceda, //Δ// ∉ //Σ//
* //Γ// -- konečná pásková abeceda, //Σ// ⊂ //Γ//, //Δ// ∈ //Γ//
* //δ// -- parciální přechodová funkce, //δ//: (//Q// \ {//qF//}) × //Γ// → //Q// × (//Γ// ∪ {//L//, //R//}), kde //L//, //R// ∉ //Γ//
* //q//₀ -- počáteční stav, //q//₀ ∈ //Q//
* //qF// -- koncový stav, //qF// ∈ //Q//
Jestli má stroj více pásek, nebo je nedeterministický nijak nezvětšuje jeho schopnost přijímat jazyky!
===== Jazyky přijímané TS =====
Množina všech řetězců v obsahu pásky ve vstupní konfiguraci pro které TS normálně zastaví.
* Úplný Turingův stroj((vždy zastaví)) ⇔ rekurzivní jazyk
* Turingův stroj ⇔ rekurzivně vyčíslitelný jazyk
Speciálním případem TS jsou linárně omezené automaty (LOA), je to vlastně TS ale s konečnou páskou, a dokáží přijímat kontextové jazyky
===== Varianty TS =====
**Úplný TS** vždy zastaví.
==== Lineárně omezené automaty ====
TS s omezenou páskou. Přijímá kontextové jazyky.
==== Univerzální TS ====
Umí interpretovat jiné TS. Na vstupu se nějak (pomocí ''1'', ''0'' a speciálních symbolů) zakódují pravidla TS a obsah pásky.