opora

frantisek.plesicek
from frantisek.plesicek More from this publisher
10.02.2019 Views

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

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

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

Saved successfully!

Ooh no, something went wrong!