opora
KAPITOLA 5. TURINGOVY STROJE 111 Příklad 5.3.2 diagramem: TS akceptující stejný jazyk jako v přechozím příkladě, zapsaný x 1 R 1 R 2 X 2 R 1 R 2 y 1 y 1 , z 1 z 1 , ∆ 1 L 2 y 1 x 2 L 1 R 1 L 2 x 1 R 2 z 1 ∆ 2 x 1 , ∆ 1 , y 1 ∆ 2 , z 1 x 2 x 1 , y 1 , z 1 ∆ 2 , ∆ 1 x 2 R 1 R 2 z 1 x 2 Příklad 5.3.3 unární. Navrhněte vícepáskový TS pro převod binárního zápisu čísla na Věta 5.3.2 Pro každý k-páskový TS M existuje jednopáskový TS M ′ takový, že L(M) = L(M ′ ). Důkaz. (idea) x y x x x y y y x y x x ∆ ∆ 1 ∆ x y y y ∆ ∆ ∆ 1 y y x x y y x x 1 ∆ ∆ ∆ Nový páskový symbol Důkaz provedeme tak, že ukážeme algoritmus převodu na ekvivalentní jednopáskový TS: • Předpokládáme, že přijímaný řetězec je u k-páskového stroje na počátku zapsán na první pásce, všechny ostatní pásky jsou prázdné a všechny hlavy jsou na nejlevější pozici. • Původních k pásek simulujeme rozšířením páskové abecedy o 2k-tice, v nichž vždy i-tá složka pro liché i reprezentuje obsah ( i+1 2 )-ní pásky a na pozici i + 1 je ∆ nebo 1 podle toho, zda se na ní nachází příslušná hlava či nikoliv. • Počet načítaných kombinací symbolů v původním automatu je konečný a tudíž si výše uvedené rozšíření můžeme skutečně dovolit. • Při simulaci k-páskového TS pak nejprve převedeme původní obsah první pásky na ekvivalentní obsah zakódovaný v 2k-ticích a pak každý krok simulujeme několika kroky.
KAPITOLA 5. TURINGOVY STROJE 112 • Při simulaci využíváme stavy ve formě (k + 1)-tic, kde první složka je stav původního TS a ostatní složky jsou aktuálně čtené symboly. • Při rozhodování o dalším kroku pak bereme na zřetel především tento stav, aktuální načítaný symbol není důležitý a vždy se při čtení přemístíme na speciální pozici nalevo od užitečného obsahu pásky. • Po rozhodnutí o dalším kroku „najedeme“ doprava na pozici, na které je simulovaná hlava pásky, která se má modifikovat, provedeme příslušnou změnu a vrátíme se zpět doleva. • Za nový aktuální stav považujeme (k + 1)-tici danou novým stavem simulovaného TS a k-ticí převzatou z původního stavu nového TS modifikovanou na místě modifikované pásky. • Navíc je nutné korektně simulovat „přepadnutí“ hlavy na kterékoliv pásce a převod dosud nevyužitých míst pásky s ∆ na odpovídající 2k-tici blank symbolů. • Při řádné formalizaci popsaného algoritmu pak není těžké ukázat, že výsledný TS skutečně simuluje původní TS. Závěr: Zvětšení paměťových možností TS nerozšiřuje jejich schopnosti přijímat jazyky! ✷ Příklad 5.3.4 jazyk x n y n z n . Využijte možností vícepáskového stroje k návrhu TS akceptujícího 5.3.3 Nedeterministické Turingovy stroje Definovaný deterministický Turingův stroj se o příštím kroku rozhodoval vždy jednoznačně na základě čteného symbolu a stavu. Nedeterministický TS si naproti tomu v dané konfiguraci vybírá z konečného počtu možností. Pro jednu vstupní konfiguraci tedy existuje více možných výpočtů a slovo je nedeterministický strojem akceptováno, právě když alespoň jeden z možných výpočtů na něm je akceptující. 3 Definice 5.3.1 Nedeterministický TS je šestice M = (Q, Σ, Γ, δ, q 0 , q F ), kde význam jednotlivých složek je shodný s deterministickým TS až na δ, jež má tvar: δ : (Q \ {q F }) × Γ −→ 2 Q×(Γ∪{L,R}) Definice 5.3.2 Jazyk L(M) NTS M = (Q, Σ, Γ, δ, q 0 , q F ) je množina řetězců w ∈ Σ ∗ takových, že M při aktivaci z q 0 při počátečním obsahu pásky ∆w∆... může zastavit přechodem do q F . 3 Jakoby stroj „hádal“, který z možných kroků (jestli nějaký) vede do koncového stavu.
- 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 and 102: Kapitola 5 Turingovy stroje Cílem
- Page 103 and 104: KAPITOLA 5. TURINGOVY STROJE 102 5.
- 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: KAPITOLA 5. TURINGOVY STROJE 110 p
- 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
- Page 153 and 154: KAPITOLA 7. SLOŽITOST 152 7.2.4 Ne
- Page 155 and 156: KAPITOLA 7. SLOŽITOST 154 • Stro
- Page 157 and 158: KAPITOLA 7. SLOŽITOST 156 7.3.4 Uz
- Page 159 and 160: KAPITOLA 7. SLOŽITOST 158 Pokud pr
- Page 161 and 162: KAPITOLA 7. SLOŽITOST 160 7.5.1 Po
KAPITOLA 5. TURINGOVY STROJE 111<br />
Příklad 5.3.2<br />
diagramem:<br />
TS akceptující stejný jazyk jako v přechozím příkladě, zapsaný<br />
x 1<br />
R 1 R 2 X 2 R 1 R 2<br />
y 1<br />
y 1 , z 1 z 1 , ∆ 1 L 2<br />
y 1 x 2<br />
L 1 R 1 L 2<br />
x 1 R 2 z 1 ∆ 2<br />
x 1 , ∆ 1 , y 1 ∆ 2 , z 1 x 2<br />
x 1 , y 1 , z 1 ∆ 2 , ∆ 1 x 2<br />
R 1 R 2<br />
z 1 x 2<br />
Příklad 5.3.3<br />
unární.<br />
Navrhněte vícepáskový TS pro převod binárního zápisu čísla na<br />
Věta 5.3.2 Pro každý k-páskový TS M existuje jednopáskový TS M ′ takový, že<br />
L(M) = L(M ′ ).<br />
Důkaz. (idea)<br />
x y x x<br />
x y y y<br />
x y x x<br />
∆ ∆ 1 ∆<br />
x y y y<br />
∆ ∆ ∆ 1<br />
y y x x<br />
y y x x<br />
1 ∆ ∆ ∆<br />
Nový páskový symbol<br />
Důkaz provedeme tak, že ukážeme algoritmus převodu na ekvivalentní jednopáskový<br />
TS:<br />
• Předpokládáme, že přijímaný řetězec je u k-páskového stroje na počátku<br />
zapsán na první pásce, všechny ostatní pásky jsou prázdné a všechny hlavy<br />
jsou na nejlevější pozici.<br />
• Původních k pásek simulujeme rozšířením páskové abecedy o 2k-tice, v nichž<br />
vždy i-tá složka pro liché i reprezentuje obsah ( i+1<br />
2<br />
)-ní pásky a na pozici<br />
i + 1 je ∆ nebo 1 podle toho, zda se na ní nachází příslušná hlava či nikoliv.<br />
• Počet načítaných kombinací symbolů v původním automatu je konečný a tudíž<br />
si výše uvedené rozšíření můžeme skutečně dovolit.<br />
• Při simulaci k-páskového TS pak nejprve převedeme původní obsah první<br />
pásky na ekvivalentní obsah zakódovaný v 2k-ticích a pak každý krok simulujeme<br />
několika kroky.