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ů.