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 4. BEZKONTEXTOVÉ JAZYKY A ZÁSOBNÍKOVÉ AUTOMATY91<br />

Automat P pracuje tak, že dokud nepřečte středový symbol c, ukládá symboly<br />

vstupního řetězce do zásobníku. Potom přejde do stavu q 1 a srovnává další vstupní<br />

symboly se symboly zásobníku.<br />

Mezi zásobníkovým automatem a deterministickým zásobníkovým automatem<br />

bohužel neplatí vztah jako mezi nedeterministickým a deterministickým konečným<br />

automatem, tzn., že ne každý jazyk přijímaný zásobníkovým automatem může být<br />

přijímán deterministickým zásobníkovým automatem.<br />

Definice 4.23 Jazyk L se nazývá deterministický bezkontextový jazyk, jestliže<br />

existuje deterministický zásobníkový automat P takový, že L(P ) = L.<br />

Definici deterministického zásobníkového automatu můžeme rozšířit tak, aby<br />

zahrnovala rozšířené zásobníkové automaty.<br />

Definice 4.24 Rozšířený zásobníkový automat P = (Q, Σ, Γ, δ, q 0 , z 0 , F ) nazýváme<br />

deterministický RZA (DRZA), jestliže platí:<br />

1. ∀q ∈ Q ∀a ∈ Σ ∪ {ε} ∀γ ∈ Γ ∗ : |δ(q, a, γ)| ≤ 1.<br />

2. Je-li δ(q, a, α) ≠ ∅, δ(q, a, β) ≠ ∅ a α ≠ β, pak ani α není předponou β, ani<br />

β není předponou α.<br />

3. Je-li δ(q, a, α) ≠ ∅ a δ(q, ε, β) ≠ ∅, pak ani α není předponou β, ani β není<br />

předponou α.<br />

Pozor na použití α ≠ β v bodě 2 ve výše uvedené definici a nepoužití této<br />

podmínky v bodě 3: V bodě 2 dostáváme pro α = β tutéž trojici (q, a, α) = (q, a, β)<br />

a nedochází tedy k nedeterminismu na rozdíl od bodu 3, kde vznikají dvě různé<br />

dvojice (q, a, α) = (q, a, β) a (q, ε, α) = (q, ε, β).<br />

Věta 4.17 Deterministické rozšířené zásobníkové automaty mají ekvivalentní vyjadřovací<br />

sílu jako deterministické zásobníkové automaty.<br />

Věta 4.18 Deterministické zásobníkové automaty mají striktně menší vyjadřovací<br />

sílu než nedeterministické zásobníkové automaty.<br />

Důkaz: i (z důvodu zjednodušení je zde uvedena pouze idea důkazu) Bezkontextový<br />

jazyk L = {ww R | w ∈ Σ + } nelze přijímat žádným DZA. Neformálně řečeno,<br />

DZA nemá možnost uhádnout, kdy končí w a začíná w R .<br />

✷<br />

Poznámka 4.6 Jiná možnost důkazu věty 4.18 je přes následně uvedenou uzavřenost<br />

jazyků DZA vůči doplňku a přes uvážení, že {a n b n c n |n ≥ 1} je bezkontextový<br />

jazyk.<br />

Problém, zda daný bezkontextový jazyk je jazykem nějakého DZA, není obecně<br />

rozhodnutelný (podobně jako není rozhodnutelná víceznačnost).<br />

4.13 Vlastnosti bezkontextových jazyků<br />

V této podkapitole se budeme zabývat některými vlastnostmi bezkontextových<br />

jazyků v podobné podobě jako v případě regulárních jazyků.

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

Saved successfully!

Ooh no, something went wrong!