opora
KAPITOLA 3. REGULÁRNÍ JAZYKY 47 ✷ To ovšem znamená, že xy i z ∈ L(M), a to nejen pro i > 0, ale i pro případ i = 0: (q 0 , xz) ∗ ⊢ (r, z) ∗ ⊢ (q F , ɛ), q F ∈ F . Věty 3.18 se často používá k důkazu, že daný jazyk není regulární. Příklad 3.30 Dokažte, že jazyk L = {0 n 1 n | n ≥ 1} není regulární. Důkaz: Předpokládejme, že L je regulární. Pak podle věty 3.18 existuje p > 0 takové, že každá věta 0 k 1 k , kde 2k ≥ p, může být zapsána ve tvaru xyz = 0 k 1 k , y ≠ ε ∧ |xy| ≤ p, a platí xy i z ∈ L pro i ≥ 0. Při hledání podřetězce y mohou nastat 3 možnosti: 0 0 0 . . } {{ } y . 0 1 1 } {{ } y 1 } {{ . . . } 1 y y ∈ {0} + pak ale xy i z /∈ L — nesouhlasí počet 0 a 1 y ∈ {1} + pak ale xy i z /∈ L — nesouhlasí počet 0 a 1 y ∈ {0} + · {1} + pak ale xy i z /∈ L (všechny 0 nepředcházejí všechny 1) Řetězec tudíž nelze vybrat, a proto L /∈ L 3 . ✷ Nyní ukážeme, že vhodná volba slova může důkaz výrazně zjednodušit. Důkaz: (alternativní) Předpokládejme, že L je regulární. Pak podle věty 3.18 existuje p > 0 takové, že věta 0 p 1 p může být zapsána ve tvaru xyz = 0 p 1 p , y ≠ ε ∧ |xy| ≤ p, a platí xy i z ∈ L pro i ≥ 0. Při hledání podřetězce y může díky podmínce |xy| ≤ p nastat pouze jedna možnost: 0 } 0 {{ 0 . } . . 0 1 1 1 . . . 1 y y ∈ {0} + pak ale xy i z /∈ L — nesouhlasí počet 0 a 1 Řetězec tudíž nelze vybrat, a proto L /∈ L 3 . ✷ Příklad 3.31 Dokažte, že jazyk L = {a q | q je prvočíslo } není regulární. Důkaz: Předpokládejme, že L je regulární. Pak podle věty 3.18 existuje p > 0 takové, že každá věta a q ∈ L, kde q ≥ p, může být zapsána ve tvaru a q = xyz, y ≠ ε, |xy| ≤ p, a platí xy i z ∈ L pro i ≥ 0. Zvolme r prvočíslo větší než p. a r ∈ L a |a r | = r ≥ p, což implikuje a r = xyz, 0 < |y| ≤ p, a platí xy i z ∈ L pro i ≥ 0. Nechť |y| = k a zvolme i = r + 1. Pak ale |xy r+1 z| = |xyz| + |y r | = r + r.k = r.(k + 1), což však není prvočíslo, a tedy xy i z ∉ L. Spor. ✷ 3.5.2 Myhill-Nerodova věta Myhill-Nerodova věta charakterizuje některé zásadní vztahy mezi konečnými automaty nad abecedou Σ a jistými ekvivalenčními relacemi nad řetězci ze Σ ∗ . Dále slouží k popisu některých z nutných a postačujících podmínek pro to, aby daný jazyk byl jazykem regulárním (používá se často k důkazu neregularity jazyka). Poskytuje také formální bázi pro elegantní důkaz existence unikátního (až na isomorfismus) minimálního DKA k danému regulárnímu jazyku.
KAPITOLA 3. REGULÁRNÍ JAZYKY 48 Pravá kongruence a prefixová ekvivalence Pro zopakování: ekvivalence ∼ je binární relace, která je reflexivní, symetrická a tranzitivní. Index ekvivalence ∼ je počet tříd rozkladu Σ ∗ / ∼. Je-li těchto tříd nekonečně mnoho, definujeme index jako ∞. Definice 3.16 Nechť Σ je abeceda a ∼ je ekvivalence na Σ ∗ . Ekvivalence ∼ je pravou kongruencí (je zprava invariantní), pokud pro každé u, v, w ∈ Σ ∗ platí u ∼ v =⇒ uw ∼ vw Věta 3.19 Ekvivalence ∼ na Σ ∗ je pravá kongruence právě tehdy, když pro každé u, v ∈ Σ ∗ , a ∈ Σ platí u ∼ v =⇒ ua ∼ va. Důkaz: „⇒“ je triviální, „⇐“ lze snadno ukázat indukcí nad délkou w. ✷ Definice 3.17 Nechť L je libovolný (ne nutně regulární) jazyk nad abecedou Σ. Na množině Σ ∗ definujeme relaci ∼ L zvanou prefixová ekvivalence pro L takto: u ∼ L v def ⇐⇒ ∀w ∈ Σ ∗ : uw ∈ L ⇐⇒ vw ∈ L Věta 3.20 Nechť L je jazyk nad Σ. Pak následující tvrzení jsou ekvivalentní: 1. L je jazyk přijímaný deterministickým konečným automatem. 2. L je sjednocením některých tříd rozkladu určeného pravou kongruencí na Σ ∗ s konečným indexem. 3. Relace ∼ L má konečný index. Důkaz: Dokážeme následující implikace: (a) 1 ⇒ 2 (b) 2 ⇒ 3 (c) 3 ⇒ 1 Myhill- Nerodova věta Z definice ekvivalence (a ⇔ b def ⇐⇒ a ⇒ b ∧ b ⇒ a) a ze základní tautologie výrokové logiky (a ⇒ b ∧ b ⇒ c) ⇒ (a ⇒ c) plyne tvrzení věty. (a) Důkaz implikace 1 ⇒ 2 Je-li L přijímán DKA, pak L je sjednocením některých tříd rozkladu určeného pravou kongruencí na Σ ∗ s konečným indexem. Pro DKA M = (Q, Σ, δ, q 0 , F ) zaveďme zobecněnou přechodovou funkci ˆδ : Q × Σ ∗ → Q tak, že ∀q 1 , q 2 ∈ Q, w ∈ Σ ∗ : ˆδ(q 1 , w) = q 2 ⇔ (q 1 , w) ∗ ⊢ M (q 2 , ε). Pro daný L přijímaný konečným automatem M zkonstruujeme ∼ s potřebnými vlastnostmi: (1) Nechť M = (Q, Σ, δ, q 0 , F ) a δ je totální. (2) Zvolíme ∼ jako binární relaci na Σ ∗ takovou, že u ∼ v ⇐⇒ ˆδ(q 0 , u) = ˆδ(q 0 , v). (3) Ukážeme, že ∼ má potřebné vlastnosti: i. ∼ je ekvivalence: je reflexivní, symetrická a tranzitivní. ii. ∼ má konečný index: třídy rozkladu odpovídají stavům automatu.
- Page 1 and 2: Teoretická informatika TIN Studijn
- Page 3 and 4: OBSAH 2 4 Bezkontextové jazyky a z
- Page 5 and 6: OBSAH 4 7.2 Třídy složitosti . .
- Page 7 and 8: KAPITOLA 1. ÚVOD 6 1.1 Obsahové a
- Page 9 and 10: Kapitola 2 Jazyky, gramatiky a jeji
- Page 11 and 12: KAPITOLA 2. JAZYKY, GRAMATIKY A JEJ
- Page 13 and 14: KAPITOLA 2. JAZYKY, GRAMATIKY A JEJ
- Page 15 and 16: KAPITOLA 2. JAZYKY, GRAMATIKY A JEJ
- Page 17 and 18: KAPITOLA 2. JAZYKY, GRAMATIKY A JEJ
- Page 19 and 20: KAPITOLA 2. JAZYKY, GRAMATIKY A JEJ
- Page 21 and 22: KAPITOLA 2. JAZYKY, GRAMATIKY A JEJ
- Page 23 and 24: KAPITOLA 3. REGULÁRNÍ JAZYKY 22
- Page 25 and 26: KAPITOLA 3. REGULÁRNÍ JAZYKY 24 3
- 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: KAPITOLA 3. REGULÁRNÍ JAZYKY 46 3
- 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 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
KAPITOLA 3. REGULÁRNÍ JAZYKY 47<br />
✷<br />
To ovšem znamená, že xy i z ∈ L(M), a to nejen pro i > 0, ale i pro případ<br />
i = 0: (q 0 , xz) ∗ ⊢ (r, z) ∗ ⊢ (q F , ɛ), q F ∈ F .<br />
Věty 3.18 se často používá k důkazu, že daný jazyk není regulární.<br />
Příklad 3.30 Dokažte, že jazyk L = {0 n 1 n | n ≥ 1} není regulární.<br />
Důkaz: Předpokládejme, že L je regulární. Pak podle věty 3.18 existuje p > 0<br />
takové, že každá věta 0 k 1 k , kde 2k ≥ p, může být zapsána ve tvaru xyz = 0 k 1 k ,<br />
y ≠ ε ∧ |xy| ≤ p, a platí xy i z ∈ L pro i ≥ 0.<br />
Při hledání podřetězce y mohou nastat 3 možnosti:<br />
0 0 0 . .<br />
} {{ }<br />
y<br />
. 0 1 1<br />
} {{ }<br />
y<br />
1<br />
} {{<br />
. . .<br />
}<br />
1<br />
y<br />
y ∈ {0} + pak ale xy i z /∈ L — nesouhlasí počet 0 a 1<br />
y ∈ {1} + pak ale xy i z /∈ L — nesouhlasí počet 0 a 1<br />
y ∈ {0} + · {1} + pak ale xy i z /∈ L (všechny 0 nepředcházejí všechny 1)<br />
Řetězec tudíž nelze vybrat, a proto L /∈ L 3 .<br />
✷<br />
Nyní ukážeme, že vhodná volba slova může důkaz výrazně zjednodušit.<br />
Důkaz: (alternativní) Předpokládejme, že L je regulární. Pak podle věty 3.18<br />
existuje p > 0 takové, že věta 0 p 1 p může být zapsána ve tvaru xyz = 0 p 1 p ,<br />
y ≠ ε ∧ |xy| ≤ p, a platí xy i z ∈ L pro i ≥ 0.<br />
Při hledání podřetězce y může díky podmínce |xy| ≤ p nastat pouze jedna<br />
možnost:<br />
0<br />
}<br />
0<br />
{{<br />
0 .<br />
}<br />
. . 0 1 1 1 . . . 1<br />
y<br />
y ∈ {0} + pak ale xy i z /∈ L — nesouhlasí počet 0 a 1<br />
Řetězec tudíž nelze vybrat, a proto L /∈ L 3 .<br />
✷<br />
Příklad 3.31 Dokažte, že jazyk L = {a q | q je prvočíslo } není regulární.<br />
Důkaz: Předpokládejme, že L je regulární. Pak podle věty 3.18 existuje p > 0<br />
takové, že každá věta a q ∈ L, kde q ≥ p, může být zapsána ve tvaru a q = xyz,<br />
y ≠ ε, |xy| ≤ p, a platí xy i z ∈ L pro i ≥ 0.<br />
Zvolme r prvočíslo větší než p.<br />
a r ∈ L a |a r | = r ≥ p, což implikuje a r = xyz, 0 < |y| ≤ p, a platí xy i z ∈ L<br />
pro i ≥ 0.<br />
Nechť |y| = k a zvolme i = r + 1.<br />
Pak ale |xy r+1 z| = |xyz| + |y r | = r + r.k = r.(k + 1), což však není prvočíslo,<br />
a tedy xy i z ∉ L. Spor.<br />
✷<br />
3.5.2 Myhill-Nerodova věta<br />
Myhill-Nerodova věta charakterizuje některé zásadní vztahy mezi konečnými automaty<br />
nad abecedou Σ a jistými ekvivalenčními relacemi nad řetězci ze Σ ∗ . Dále<br />
slouží k popisu některých z nutných a postačujících podmínek pro to, aby daný<br />
jazyk byl jazykem regulárním (používá se často k důkazu neregularity jazyka).<br />
Poskytuje také formální bázi pro elegantní důkaz existence unikátního (až na<br />
isomorfismus) minimálního DKA k danému regulárnímu jazyku.