opora
KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A ZÁSOBNÍKOVÉ AUTOMATY77 Cvičení 4.8.5 Nechť G = (N, Σ, P, S) je gramatika a α 1 , α 2 řetězce α 1 , α 2 ∈ (N ∪ Σ) ∗ . Navrhněte algoritmus, který zjišťuje, zda platí α 1 ⇒ G ∗ α 2 . Cvičení 4.8.6 Je dána gramatika G = ({S, A, B}, {a, b}, P, S), která má pravidla S → bA | aB A → a | aS | bAA B → b | bS | aBB Ukažte, že tato gramatika je víceznačná (uvažujte např. větu aabbab). Pokuste se nalézt ekvivalentní jednoznačnou gramatiku. Cvičení 4.8.7 Gramatiku s pravidly S → A | B A → aB | bS | b B → AB | Ba C → AS | b transformujte na ekvivalentní gramatiku bez zbytečných symbolů. Cvičení 4.8.8 Nalezněte gramatiku bez ɛ-pravidel, jež je ekvivalencí s gramatikou Cvičení 4.8.9 Ke gramatice S → ABC A → BB | ɛ B → CC | a C → AA | b S → A | B A → C | D B → D | E C → S | a | ɛ D → S | b E → S | c | ɛ nalezněte ekvivalentní vlastní gramatiku. Cvičení 4.8.10 Formulujte algoritmus, který testuje, zda gramatika G je a nebo není gramatikou bez cyklu. Cvičení 4.8.11 V gramatice odstraňte levou rekurzi. S → AB A → BS | b B → SA | a
KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A ZÁSOBNÍKOVÉ AUTOMATY78 Cvičení 4.8.12 Do Chomského normální formy převeďte gramatiku kde P obsahuje pravidla G = ({S, T, L}, {a, b, +, −, ∗, /, [, ]}, P, S) S → T + S | T − S | T T → L ∗ T | L/T | L L → [S] | a | b Cvičení 4.8.13 Gramatiku G = ({S, A, B}, {a, b}, P, S) s pravidly S → Ba | Ab A → Sa | AAb | a B → Sb | BBa | b převeďte do Greibachové normální formy. 4.9 Základní definice zásobníkového automatu Zásobníkový automat je jednocestný nedeterministický automat, jenž je opatřen zásobníkem reprezentujícím nekonečnou paměť. Schéma zásobníkového automatu je uvedeno na obr. 4.14. a 1 . . . a 2 Z 1 a n Vstupní páska Čtecí hlava ✻ Řídicí jednotka Z 2 . Zásobník Z m Obrázek 4.14: Schéma zásobníkového automatu Vstupní páska je rozdělena na jednotkové záznamy, každý záznam obsahuje právě jeden vstupní symbol. Obsah jednotkového záznamu může být čten čtecí hlavou, nemůže však být přepsán (read only input tape). V určitém časovém okamžiku může čtecí hlava zůstat na daném záznamu, nebo se posune o jeden záznam doprava (jednocestný automat). Konečná řídící jednotka realizuje operace posuvu čtecí hlavy a ukládání informace do zásobníku prostřednictvím funkce přechodů definované nad vstupní abecedou, množinou stavů řídící jednotky a vrcholem zásobníku. Definice 4.16 Zásobníkový automat P je sedmice P = (Q, Σ, Γ, δ, q 0 , Z 0 , F ), kde
- Page 27 and 28: KAPITOLA 3. REGULÁRNÍ JAZYKY 26 D
- Page 29 and 30: KAPITOLA 3. REGULÁRNÍ JAZYKY 28 2
- Page 31 and 32: KAPITOLA 3. REGULÁRNÍ JAZYKY 30 D
- Page 33 and 34: KAPITOLA 3. REGULÁRNÍ JAZYKY 32 V
- Page 35 and 36: KAPITOLA 3. REGULÁRNÍ JAZYKY 34 D
- Page 37 and 38: KAPITOLA 3. REGULÁRNÍ JAZYKY 36 V
- Page 39 and 40: KAPITOLA 3. REGULÁRNÍ JAZYKY 38 D
- 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: 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 and 92: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
- Page 93 and 94: 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
KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A ZÁSOBNÍKOVÉ AUTOMATY77<br />
Cvičení 4.8.5 Nechť G = (N, Σ, P, S) je gramatika a α 1 , α 2 řetězce α 1 , α 2 ∈<br />
(N ∪ Σ) ∗ . Navrhněte algoritmus, který zjišťuje, zda platí α 1 ⇒<br />
G ∗ α 2 .<br />
Cvičení 4.8.6 Je dána gramatika G = ({S, A, B}, {a, b}, P, S), která má pravidla<br />
S → bA | aB<br />
A → a | aS | bAA<br />
B → b | bS | aBB<br />
Ukažte, že tato gramatika je víceznačná (uvažujte např. větu aabbab). Pokuste se<br />
nalézt ekvivalentní jednoznačnou gramatiku.<br />
Cvičení 4.8.7 Gramatiku s pravidly<br />
S → A | B<br />
A → aB | bS | b<br />
B → AB | Ba<br />
C → AS | b<br />
transformujte na ekvivalentní gramatiku bez zbytečných symbolů.<br />
Cvičení 4.8.8 Nalezněte gramatiku bez ɛ-pravidel, jež je ekvivalencí s gramatikou<br />
Cvičení 4.8.9 Ke gramatice<br />
S → ABC<br />
A → BB | ɛ<br />
B → CC | a<br />
C → AA | b<br />
S → A | B<br />
A → C | D<br />
B → D | E<br />
C → S | a | ɛ<br />
D → S | b<br />
E → S | c | ɛ<br />
nalezněte ekvivalentní vlastní gramatiku.<br />
Cvičení 4.8.10 Formulujte algoritmus, který testuje, zda gramatika G je a nebo<br />
není gramatikou bez cyklu.<br />
Cvičení 4.8.11 V gramatice<br />
odstraňte levou rekurzi.<br />
S → AB<br />
A → BS | b<br />
B → SA | a