10.02.2019 Views

opora

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

KAPITOLA 5. TURINGOVY STROJE 109<br />

2. Při čtení symbolu ∗ je třeba (potenciálně) zvětšit pracovní prostor –<br />

aktivujeme podstroj ∆R ∗ L.<br />

Snadno lze přejít i opačně od přijímání konfigurací pásky ∆Y ∆... k přijímání<br />

přes q F .<br />

Poznámka 5.3.1<br />

✷<br />

• Uvědomme si, že na TS lze také nahlížet jako na výpočetní mechanismy<br />

implementující funkce Σ ∗ → Γ ∗ tím, že transformují počáteční neblankový<br />

prefix své pásky na jiný neblankový prefix při přechodu do koncového stavu.<br />

• Vzhledem k tomu, že TS nemusí každý svůj vstup přijmout, jsou funkce jimi<br />

implementované obecně parciální.<br />

• Blíže se budeme vyčíslováním funkcí TS zabývat dále.<br />

5.3.2 Vícepáskové Turingovy stroje<br />

Přímočarou cestou k zesílení Turingova stroje je zapojení ne jedné, ale několika<br />

pásek. Vícepáskový TS disponuje k jednosměrně nekonečnými páskami, z<br />

nichž každá je vybavena vlastní čtecí/zapisovací hlavou a je připojena ke společné<br />

konečně stavové jednotce. V jednom kroku stroj nejdříve na každé pásce zvlášť<br />

přečte symbol, posune hlavu nebo přepíše symbol a poté v závislosti na čtených<br />

symbolech změní stav řídící jednotky.<br />

Formálněji – uvažujme TS, který má k pásek s páskovými abecedami Γ 1 , Γ 2 , ...,<br />

Γ k a k odpovídajících hlav s přechodovou funkcí tvaru<br />

δ : (Q \ {q F }) × Γ 1 × Γ 2 × ... × Γ k −→ Q ×<br />

⋃<br />

{i} × (Γ i ∪ {L, R}),<br />

i∈{1,...,k}<br />

kde i značí pásku, na kterou se zapisuje (na které se posouvá hlava).<br />

Příklad 5.3.1 Sestrojíme dvoupáskový stroj, který bude akceptovat již známý<br />

jazyk x n y n z n . Výhoda druhé pásky se zde projeví efektivitou stroje. Budeme předpokládat,<br />

že v počáteční konfiguraci mají pásky tvary:<br />

– první páska: ∆w∆∆ . . .<br />

– druhá páska: ∆∆ . . ..<br />

Stroj bude vypadat takto:<br />

M = {Q, Σ, Γ 1 , Γ 2 , δ, q 0 , q F } kde:<br />

Q = {q 0 , q 1 , q 2 , q 3 , q F }<br />

Σ = {x, y, z}<br />

Γ 1 = {x, y, z, ∆}<br />

Γ 2 = {X, Y ∆}<br />

δ ∆, ∆ x, ∆ x, X y, ∆ y, X y, Y z, ∆ z, Y<br />

q 0 q 1 , R, R<br />

q 1 q F q 1 , x, X q 1 , R, R q 2 , y, L<br />

q 2 q 2 , y, Y q 2 , R, L q 3 , z, R<br />

q 3 q F q 3 , R, R<br />

Stroj slovo na první (vstupní) pásce přečte jen jednou zleva doprava. Přitom na<br />

druhé pásce kontroluje jeho tvar takto: Nejdříve zápisem symbolu X na druhou

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!