opora
KAPITOLA 5. TURINGOVY STROJE 101 páska: x y z ∆ stavové řízení . . . . . . . q0 q1 čtecí/zápisová hlava Definice 5.1.1 Turingův stroj (TS) je šestice tvaru M = (Q, Σ, Γ, δ, q 0 , q F ), kde: • Q je konečná množina vnitřních (řídicích) stavů, • Σ je konečná množina symbolů nazývaná vstupní abeceda, ∆ ∉ Σ, • Γ je konečná množina symbolů, Σ ⊂ Γ, ∆ ∈ Γ, nazývaná pásková abeceda, • parciální funkce δ : (Q \ {q F }) × Γ → Q × (Γ ∪ {L, R}), kde L, R ∉ Γ, je přechodová funkce, • q 0 je počáteční stav, q 0 ∈ Q a • q F je koncový stav, q F ∈ Q. 5.1.3 Konfigurace Turingova stroje Symbol ∆ značí tzv. blank (prázdný symbol), který se vyskytuje na místech pásky, která nebyla ještě použita (může ale být na pásku zapsán i později). Konfigurace pásky je dvojice sestávající z nekonečného řetězce reprezentujícího obsah pásky a pozice hlavy na tomto řetězci – přesněji jde o prvek množiny {γ∆ ω | γ ∈ Γ ∗ }×N. 2 Konfiguraci pásky zapisujeme jako ∆xyzz∆x∆∆... (podtržení značí pozici hlavy). Konfigurace stroje je pak dána stavem řízení a konfigurací pásky – formálně se jedná o prvek množiny Q × {γ∆ ω | γ ∈ Γ ∗ } × N. 5.1.4 Přechodová relace TS Pro libovolný řetězec γ ∈ Γ ω a číslo n ∈ N označme γ n n-tý symbol daného řetězce a označme s n b (γ) řetězec, který vznikne z γ záměnou γ n za b. Krok výpočtu TS M definujeme jako nejmenší binární relaci ⊢ M takovou, že ∀q 1 , q 2 ∈ Q ∀γ ∈ Γ ω ∀n ∈ N ∀b ∈ Γ: • (q 1 , γ, n) ⊢ M (q 2 , γ, n + 1) pro δ(q 1 , γ n ) = (q 2 , R) – operace posuvu doprava při γ n pod hlavou, • (q 1 , γ, n) ⊢ M (q 2 , γ, n − 1) pro δ(q 1 , γ n ) = (q 2 , L) a n > 0 – operace posuvu doleva při γ n pod hlavou a • (q 1 , γ, n) ⊢ M (q 2 , s n b (γ), n) pro δ(q 1, γ n ) = (q 2 , b) – operace zápisu b při γ n pod hlavou. 2 Pro libovolnou abecedu Σ je Σ ω množina všech nekonečných řetězců nad Σ, tj. nekonečných posloupností symbolů ze Σ. Pro připomenutí: Σ ∗ je množina všech konečných řetězců nad Σ.
KAPITOLA 5. TURINGOVY STROJE 102 5.1.5 Výpočet TS Výpočet TS M začínající z konfigurace K 0 je posloupnost konfigurací K 0 , K 1 , K 2 , ..., ve které K i ⊢ M K i+1 pro všechna i ≥ 0 taková, že K i+1 je v dané posloupnosti, a která je buď • nekonečná, a nebo • konečná s koncovou konfigurací (q, γ, n), přičemž rozlišujeme následující typy zastavení TS: 1. normální – přechodem do koncového stavu, tj. q = q F , a 2. abnormální : (a) pro (q, γ n ) není δ definována, nebo (b) hlava je na nejlevější pozici pásky a dojde k posunu doleva, tj. δ(q, γ n ) = (q ′ , L) pro nějaké q ′ ∈ Q. 5.1.6 Poznámka – alternativní definice TS Používají se i některé alternativní definice TS, u kterých se dá snadno ukázat vzájemná převoditelnost: • namísto jediného q F je povolena množina koncových stavů, • namísto q F je zavedena dvojice q accept a q reject , • na prvním políčku pásky je „napevno“ zapsán symbol konce pásky, z něhož není možný posun doleva, • při zavedení obou předchozích bodů je δ obvykle definovaná jako totální funkce, • přepis a posuv hlavy jsou spojeny do jedné operace • apod. 5.1.7 Grafická reprezentace TS Grafická reprezentace přechodu (x – co se čte, s – zápis/L/R): p x/s q Grafická reprezentace počátečního a koncového stavu: p q F Příklad 5.1.1 TS, který posouvá hlavu doprava na první ∆ počínaje aktuální pozicí (např. ∆aab∆... −→ ∆aab∆...): a/R p ∆/∆ q b/R
- Page 51 and 52: KAPITOLA 3. REGULÁRNÍ JAZYKY 50 3
- Page 53 and 54: KAPITOLA 3. REGULÁRNÍ JAZYKY 52 C
- Page 55 and 56: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 57 and 58: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 59 and 60: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 61 and 62: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 63 and 64: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 65 and 66: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 67 and 68: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 69 and 70: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 71 and 72: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 73 and 74: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 75 and 76: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 77 and 78: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 79 and 80: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 81 and 82: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 83 and 84: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 85 and 86: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 87 and 88: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 89 and 90: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 91 and 92: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 93 and 94: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 95 and 96: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 97 and 98: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 99 and 100: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 101: Kapitola 5 Turingovy stroje Cílem
- Page 105 and 106: KAPITOLA 5. TURINGOVY STROJE 104
- Page 107 and 108: KAPITOLA 5. TURINGOVY STROJE 106 L:
- Page 109 and 110: KAPITOLA 5. TURINGOVY STROJE 108 St
- Page 111 and 112: KAPITOLA 5. TURINGOVY STROJE 110 p
- Page 113 and 114: KAPITOLA 5. TURINGOVY STROJE 112
- Page 115 and 116: KAPITOLA 5. TURINGOVY STROJE 114 -
- Page 117 and 118: KAPITOLA 5. TURINGOVY STROJE 116 5.
- Page 119 and 120: KAPITOLA 5. TURINGOVY STROJE 118 D
- Page 121 and 122: KAPITOLA 5. TURINGOVY STROJE 120 5.
- Page 123 and 124: KAPITOLA 5. TURINGOVY STROJE 122 5.
- Page 125 and 126: KAPITOLA 6. MEZE ROZHODNUTELNOSTI 1
- Page 127 and 128: KAPITOLA 6. MEZE ROZHODNUTELNOSTI 1
- Page 129 and 130: KAPITOLA 6. MEZE ROZHODNUTELNOSTI 1
- Page 131 and 132: KAPITOLA 6. MEZE ROZHODNUTELNOSTI 1
- Page 133 and 134: KAPITOLA 6. MEZE ROZHODNUTELNOSTI 1
- Page 135 and 136: KAPITOLA 6. MEZE ROZHODNUTELNOSTI 1
- Page 137 and 138: KAPITOLA 6. MEZE ROZHODNUTELNOSTI 1
- Page 139 and 140: KAPITOLA 6. MEZE ROZHODNUTELNOSTI 1
- Page 141 and 142: KAPITOLA 6. MEZE ROZHODNUTELNOSTI 1
- Page 143 and 144: KAPITOLA 6. MEZE ROZHODNUTELNOSTI 1
- Page 145 and 146: KAPITOLA 6. MEZE ROZHODNUTELNOSTI 1
- Page 147 and 148: KAPITOLA 7. SLOŽITOST 146 7.1.3 Sl
- Page 149 and 150: KAPITOLA 7. SLOŽITOST 148 Příkla
- Page 151 and 152: KAPITOLA 7. SLOŽITOST 150 • Napr
KAPITOLA 5. TURINGOVY STROJE 102<br />
5.1.5 Výpočet TS<br />
Výpočet TS M začínající z konfigurace K 0 je posloupnost konfigurací K 0 , K 1 , K 2 ,<br />
..., ve které K i ⊢<br />
M<br />
K i+1 pro všechna i ≥ 0 taková, že K i+1 je v dané posloupnosti,<br />
a která je buď<br />
• nekonečná, a nebo<br />
• konečná s koncovou konfigurací (q, γ, n), přičemž rozlišujeme následující typy<br />
zastavení TS:<br />
1. normální – přechodem do koncového stavu, tj. q = q F , a<br />
2. abnormální :<br />
(a) pro (q, γ n ) není δ definována, nebo<br />
(b) hlava je na nejlevější pozici pásky a dojde k posunu doleva,<br />
tj. δ(q, γ n ) = (q ′ , L) pro nějaké q ′ ∈ Q.<br />
5.1.6 Poznámka – alternativní definice TS<br />
Používají se i některé alternativní definice TS, u kterých se dá snadno ukázat<br />
vzájemná převoditelnost:<br />
• namísto jediného q F je povolena množina koncových stavů,<br />
• namísto q F je zavedena dvojice q accept a q reject ,<br />
• na prvním políčku pásky je „napevno“ zapsán symbol konce pásky, z něhož<br />
není možný posun doleva,<br />
• při zavedení obou předchozích bodů je δ obvykle definovaná jako totální<br />
funkce,<br />
• přepis a posuv hlavy jsou spojeny do jedné operace<br />
• apod.<br />
5.1.7 Grafická reprezentace TS<br />
Grafická reprezentace přechodu (x – co se čte, s – zápis/L/R):<br />
p<br />
x/s<br />
q<br />
Grafická reprezentace počátečního a koncového stavu:<br />
p<br />
q F<br />
Příklad 5.1.1 TS, který posouvá hlavu doprava na první ∆ počínaje aktuální<br />
pozicí (např. ∆aab∆... −→ ∆aab∆...):<br />
a/R<br />
p<br />
∆/∆<br />
q<br />
b/R