opora
KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A ZÁSOBNÍKOVÉ AUTOMATY91 Automat P pracuje tak, že dokud nepřečte středový symbol c, ukládá symboly vstupního řetězce do zásobníku. Potom přejde do stavu q 1 a srovnává další vstupní symboly se symboly zásobníku. Mezi zásobníkovým automatem a deterministickým zásobníkovým automatem bohužel neplatí vztah jako mezi nedeterministickým a deterministickým konečným automatem, tzn., že ne každý jazyk přijímaný zásobníkovým automatem může být přijímán deterministickým zásobníkovým automatem. Definice 4.23 Jazyk L se nazývá deterministický bezkontextový jazyk, jestliže existuje deterministický zásobníkový automat P takový, že L(P ) = L. Definici deterministického zásobníkového automatu můžeme rozšířit tak, aby zahrnovala rozšířené zásobníkové automaty. Definice 4.24 Rozšířený zásobníkový automat P = (Q, Σ, Γ, δ, q 0 , z 0 , F ) nazýváme deterministický RZA (DRZA), jestliže platí: 1. ∀q ∈ Q ∀a ∈ Σ ∪ {ε} ∀γ ∈ Γ ∗ : |δ(q, a, γ)| ≤ 1. 2. Je-li δ(q, a, α) ≠ ∅, δ(q, a, β) ≠ ∅ a α ≠ β, pak ani α není předponou β, ani β není předponou α. 3. Je-li δ(q, a, α) ≠ ∅ a δ(q, ε, β) ≠ ∅, pak ani α není předponou β, ani β není předponou α. Pozor na použití α ≠ β v bodě 2 ve výše uvedené definici a nepoužití této podmínky v bodě 3: V bodě 2 dostáváme pro α = β tutéž trojici (q, a, α) = (q, a, β) a nedochází tedy k nedeterminismu na rozdíl od bodu 3, kde vznikají dvě různé dvojice (q, a, α) = (q, a, β) a (q, ε, α) = (q, ε, β). Věta 4.17 Deterministické rozšířené zásobníkové automaty mají ekvivalentní vyjadřovací sílu jako deterministické zásobníkové automaty. Věta 4.18 Deterministické zásobníkové automaty mají striktně menší vyjadřovací sílu než nedeterministické zásobníkové automaty. Důkaz: i (z důvodu zjednodušení je zde uvedena pouze idea důkazu) Bezkontextový jazyk L = {ww R | w ∈ Σ + } nelze přijímat žádným DZA. Neformálně řečeno, DZA nemá možnost uhádnout, kdy končí w a začíná w R . ✷ Poznámka 4.6 Jiná možnost důkazu věty 4.18 je přes následně uvedenou uzavřenost jazyků DZA vůči doplňku a přes uvážení, že {a n b n c n |n ≥ 1} je bezkontextový jazyk. Problém, zda daný bezkontextový jazyk je jazykem nějakého DZA, není obecně rozhodnutelný (podobně jako není rozhodnutelná víceznačnost). 4.13 Vlastnosti bezkontextových jazyků V této podkapitole se budeme zabývat některými vlastnostmi bezkontextových jazyků v podobné podobě jako v případě regulárních jazyků.
KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A ZÁSOBNÍKOVÉ AUTOMATY92 4.13.1 Strukturální vlastnosti Pumping lemma Věta 4.19 Nechť L je bezkontextový jazyk. Pak existuje konstanta k > 0 taková, že je-li z ∈ L a |z| ≥ k, pak lze z napsat ve tvaru: a pro všechna i ≥ 0 je uv i wx i y ∈ L. z = u v w x y, vx ≠ ε, |vwx| ≤ k Důkaz: Nechť L = L(G) a nechť G = (N, Σ, P, S) je gramatika v CNF. 1. Nejprve dokážeme implikaci: Jestliže A ⇒ + w pro nějaké A ∈ N, w ∈ Σ ∗ , pak |w| ≤ 2 m−2 , kde m je počet vrcholů nejdelší cesty v odpovídajícím derivačním stromu. Tato implikace platí, protože |w| je rovno počtu přímých předchůdců listů příslušného derivačního stromu, který je maximálně roven počtu listů plného binárního stromu, jehož všechny větve obsahují m−1 uzlů, což je právě 2 m−2 . Skutečně: • Plný binární strom s větvemi o n uzlech, má 2 n−1 listů, což se snadno ukáže indukcí: – Plný binární strom s (jedinou) větví o n = 1 uzlu, má 1 = 2 0 = 2 n−1 listů. – Plný binární strom s větvemi délky n = n ′ + 1 uzlů, kde n ′ ≥ 1, má 2 n′ −1 + 2 n′ −1 = 2.2 n′ −1 = 2 1+n′ −1 = 2 n′ = 2 n−1 listů. • Postačí tedy volit n = m − 1, přičemž případ neplných binárních stromů není třeba uvažovat, neboť se zajímáme o stromy s maximálním počtem listů při dané maximální délce větví.
- Page 41 and 42: KAPITOLA 3. REGULÁRNÍ JAZYKY 40 3
- Page 43 and 44: KAPITOLA 3. REGULÁRNÍ JAZYKY 42 3
- Page 45 and 46: KAPITOLA 3. REGULÁRNÍ JAZYKY 44 V
- Page 47 and 48: KAPITOLA 3. REGULÁRNÍ JAZYKY 46 3
- Page 49 and 50: KAPITOLA 3. REGULÁRNÍ JAZYKY 48 P
- Page 51 and 52: KAPITOLA 3. REGULÁRNÍ JAZYKY 50 3
- Page 53 and 54: KAPITOLA 3. REGULÁRNÍ JAZYKY 52 C
- Page 55 and 56: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 57 and 58: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 59 and 60: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- 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: 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 and 112: KAPITOLA 5. TURINGOVY STROJE 110 p
- Page 113 and 114: KAPITOLA 5. TURINGOVY STROJE 112
- 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
KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A ZÁSOBNÍKOVÉ AUTOMATY92<br />
4.13.1 Strukturální vlastnosti<br />
Pumping lemma<br />
Věta 4.19 Nechť L je bezkontextový jazyk. Pak existuje konstanta k > 0 taková,<br />
že je-li z ∈ L a |z| ≥ k, pak lze z napsat ve tvaru:<br />
a pro všechna i ≥ 0 je uv i wx i y ∈ L.<br />
z = u v w x y, vx ≠ ε, |vwx| ≤ k<br />
Důkaz: Nechť L = L(G) a nechť G = (N, Σ, P, S) je gramatika v CNF.<br />
1. Nejprve dokážeme implikaci:<br />
Jestliže A ⇒ + w pro nějaké A ∈ N, w ∈ Σ ∗ , pak |w| ≤ 2 m−2 , kde m je počet<br />
vrcholů nejdelší cesty v odpovídajícím derivačním stromu.<br />
Tato implikace platí, protože |w| je rovno počtu přímých předchůdců listů<br />
příslušného derivačního stromu, který je maximálně roven počtu listů plného<br />
binárního stromu, jehož všechny větve obsahují m−1 uzlů, což je právě 2 m−2 .<br />
Skutečně:<br />
• Plný binární strom s větvemi o n uzlech, má 2 n−1 listů, což se snadno<br />
ukáže indukcí:<br />
– Plný binární strom s (jedinou) větví o n = 1 uzlu, má 1 = 2 0 = 2 n−1<br />
listů.<br />
– Plný binární strom s větvemi délky n = n ′ + 1 uzlů, kde n ′ ≥ 1, má<br />
2 n′ −1 + 2 n′ −1 = 2.2 n′ −1 = 2 1+n′ −1 = 2 n′ = 2 n−1 listů.<br />
• Postačí tedy volit n = m − 1, přičemž případ neplných binárních stromů<br />
není třeba uvažovat, neboť se zajímáme o stromy s maximálním počtem<br />
listů při dané maximální délce větví.