opora
KAPITOLA 3. REGULÁRNÍ JAZYKY 49 iii. ∼ je pravá kongruence: Nechť u ∼ v a a ∈ Σ. Pak ˆδ(q 0 , ua) = δ(ˆδ(q 0 , u), a) = δ(ˆδ(q 0 , v), a) = ˆδ(q 0 , va) a tedy ua ∼ va. iv. L je sjednocením některých tříd Σ ∗ \ ∼: těch, které odpovídají F . (b) Důkaz implikace 2 ⇒ 3 Existuje-li relace ∼ splňující podmínku 2, pak ∼ L má konečný index. Pro všechny u, v ∈ Σ ∗ takové, že u ∼ v, platí u ∼ L v: Nechť u ∼ v. Ukážeme, že také u ∼ L v, tj. ∀w ∈ Σ ∗ : uw ∈ L ⇔ vw ∈ L. Víme, že uw ∼ vw a protože L je sjednocením některých tříd rozkladu Σ ∗ \ ∼, platí též uw ∈ L ⇔ vw ∈ L. Víme tedy, že ∼⊆∼ L (tj. ∼ L je největší pravá kongruence s danými vlastnostmi). Každá třída ∼ je obsažena v nějaké třídě ∼ L . Index ∼ L nemůže být větší než index ∼. ∼ má konečný index a tedy i ∼ L má konečný index. (c) Důkaz implikace 3 ⇒ 1 Má-li ∼ L konečný index, pak L je přijímán nějakým konečným automatem. Zkonstruujeme M = (Q, Σ, δ, q 0 , F ) přijímající L: (1) Q = Σ ∗ \ ∼ (stavy jsou třídy rozkladu Σ ∗ relací ∼), (2) ∀u ∈ Σ ∗ , a ∈ Σ : δ([u], a) = [ua], (3) q 0 = [ε], (4) F = {[x] | x ∈ L}. Uvedená konstrukce je korektní, tj. L = L(M): indukcí nad délkou slova v ukážeme, že ∀v ∈ Σ ∗ : ˆδ([ε], v) = [v]. Navíc v ∈ L ⇐⇒ [v] ∈ F ⇐⇒ ˆδ([ε], v) ∈ F . ✷ Jak bylo řečeno dříve, Myhill-Nerodova věta také slouží pro elegantní dokázání, zda je daný jazyk regulární (resp. není regulární). Následující příklad ukazuje toto využití. Příklad 3.32 Dokažte, že jazyk L = {a n b n | n ≥ 0} není regulární. Důkaz: Žádné řetězce ε, a, a 2 , a 3 , ... nejsou ∼ L -ekvivalentní, protože a i b i ∈ L, ale a i b j ∉ L pro i ≠ j. Relace ∼ L má tedy nekonečně mnoho tříd (neboli nekonečný index). Dle Myhill-Nerodovy věty tudíž nemůže být L přijímán žádným konečným automatem. ✷ Další využití Myhill-Nerodovy věty je pro elegantní důkaz existence minimálního deterministického konečného automatu k danému regulárnímu výrazu. Věta 3.21 (2. varianta Myhill-Nerodovy věty) Počet stavů libovolného minimálního DKA přijímajícího L je roven indexu ∼ L . (Takový DKA existuje právě tehdy, když je index ∼ L konečný.) Důkaz: Každý DKA (můžeme uvažovat DKA bez nedosažitelných stavů) určuje jistou pravou kongruenci s konečným indexem a naopak. Je-li L regulární, je ∼ L největší pravou kongruencí s konečným indexem takovou, že L je sjednocením některých tříd příslušného rozkladu. Konečný automat, který odpovídá ∼ L (viz důkaz 3 ⇒ 1 Myhill-Nerodovy věty), je tedy minimální konečný automat přijímající L. ✷
KAPITOLA 3. REGULÁRNÍ JAZYKY 50 3.5.3 Uzávěrové vlastnosti regulárních jazyků Věta 3.22 Třída regulárních jazyků je uzavřena (mimo jiné) vzhledem k operacím ∪ (sjednocení), · (konkatenace) a ∗ (iterace). Důkaz: Plyne z definice regulárních množin a ekvivalence regulárních množin a regulárních jazyků. ✷ Věta 3.23 Třída regulárních jazyků tvoří množinovou Booleovu algebru 1 . Důkaz: Označme L 3 třídu všech regulárních jazyků abecedou Σ. Ukážeme, že algebraická struktura < L 3 , ∪, ∩, ′ , Σ ∗ , ∅ > je Booleova algebra. 1. Protože Σ ∗ ∈ L 3 i ∅ ∈ L 3 , jsou tyto jazyky zřejmě „jedničkou“, resp. „nulou“ uvažované algebry. Dále je zřejmá uzavřenost vůči ∪. 2. Dokážeme uzavřenost vzhledem ke komplementu nad abecedou ∆, ∆ ⊆ Σ. K jazyku L sestrojíme úplně definovaný KA M. takový, že L = L(M). Pak KA M ′ M = (Q, ∆, δ, q 0 , F ) M ′ = (Q, ∆, δ, q 0 , Q \ F ) zřejmě přijímá jazyk ∆ ∗ \ L (komplement L v ∆ ∗ ). Komplement vzhledem k Σ ∗ : L = L(M ′ ) ∪ Σ ∗ (Σ \ ∆)Σ ∗ což je podle věty 3.19 regulární jazyk. 3. Uzavřenost vzhledem k průniku plyne z de Morganových zákonů: a tedy L 1 , L 2 ∈ L 3 ⇒ L 1 ∩ L2 ∈ L 3 . L 1 ∩ L 2 = L 1 ∩ L 2 = L 1 ∪ L 2 Věta 3.24 Nechť L ∈ L 3 a nechť L R = {w R | w ∈ L}. Pak L R ∈ L 3 . Důkaz: Nechť M je konečný automat takový, že L = L(M). Lze sestrojit M ′ takový, aby L(M ′ ) = L R . Konstrukce automatu M ′ se ponechává na čtenáři jako cvičení. ✷ 3.5.4 Rozhodnutelné problémy regulárních jazyků Tato podkapitola se zabývá těmito základními rozhodnutelnými problémy regulárních jazyků: problém neprázdnosti: L ≠ ∅ ?, problém náležitosti: w ∈ L ? a problém ekvivalence: L(G 1 ) = L(G 2 ) ? Věta 3.25 Ve třídě L 3 je rozhodnutelný problém neprázdnosti jazyka i problém náležitosti řetězce (do jazyka). 1 Poznámka: Boolova algebra je často zaměňována s Boolovou (dvouhodnotovou) logikou. Boolova logika je specielním případem Boolovy algebry se signaturou < {true, false}, ∨, ∧, ̸, true, false > ✷
- 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 and 48: KAPITOLA 3. REGULÁRNÍ JAZYKY 46 3
- Page 49: KAPITOLA 3. REGULÁRNÍ JAZYKY 48 P
- 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
- Page 99 and 100: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
KAPITOLA 3. REGULÁRNÍ JAZYKY 50<br />
3.5.3 Uzávěrové vlastnosti regulárních jazyků<br />
Věta 3.22 Třída regulárních jazyků je uzavřena (mimo jiné) vzhledem k operacím<br />
∪ (sjednocení), · (konkatenace) a ∗ (iterace).<br />
Důkaz: Plyne z definice regulárních množin a ekvivalence regulárních množin a<br />
regulárních jazyků.<br />
✷<br />
Věta 3.23 Třída regulárních jazyků tvoří množinovou Booleovu algebru 1 .<br />
Důkaz:<br />
Označme L 3 třídu všech regulárních jazyků abecedou Σ. Ukážeme, že algebraická<br />
struktura < L 3 , ∪, ∩, ′ , Σ ∗ , ∅ > je Booleova algebra.<br />
1. Protože Σ ∗ ∈ L 3 i ∅ ∈ L 3 , jsou tyto jazyky zřejmě „jedničkou“, resp. „nulou“<br />
uvažované algebry. Dále je zřejmá uzavřenost vůči ∪.<br />
2. Dokážeme uzavřenost vzhledem ke komplementu nad abecedou ∆, ∆ ⊆ Σ.<br />
K jazyku L sestrojíme úplně definovaný KA M.<br />
takový, že L = L(M). Pak KA M ′<br />
M = (Q, ∆, δ, q 0 , F )<br />
M ′ = (Q, ∆, δ, q 0 , Q \ F )<br />
zřejmě přijímá jazyk ∆ ∗ \ L (komplement L v ∆ ∗ ).<br />
Komplement vzhledem k Σ ∗ :<br />
L = L(M ′ ) ∪ Σ ∗ (Σ \ ∆)Σ ∗<br />
což je podle věty 3.19 regulární jazyk.<br />
3. Uzavřenost vzhledem k průniku plyne z de Morganových zákonů:<br />
a tedy L 1 , L 2 ∈ L 3 ⇒ L 1 ∩ L2 ∈ L 3 .<br />
L 1 ∩ L 2 = L 1 ∩ L 2 = L 1 ∪ L 2<br />
Věta 3.24 Nechť L ∈ L 3 a nechť L R = {w R | w ∈ L}. Pak L R ∈ L 3 .<br />
Důkaz: Nechť M je konečný automat takový, že L = L(M). Lze sestrojit M ′<br />
takový, aby L(M ′ ) = L R .<br />
Konstrukce automatu M ′ se ponechává na čtenáři jako cvičení.<br />
✷<br />
3.5.4 Rozhodnutelné problémy regulárních jazyků<br />
Tato podkapitola se zabývá těmito základními rozhodnutelnými problémy regulárních<br />
jazyků: problém neprázdnosti: L ≠ ∅ ?, problém náležitosti: w ∈ L ? a<br />
problém ekvivalence: L(G 1 ) = L(G 2 ) ?<br />
Věta 3.25 Ve třídě L 3 je rozhodnutelný problém neprázdnosti jazyka i problém<br />
náležitosti řetězce (do jazyka).<br />
1 Poznámka: Boolova algebra je často zaměňována s Boolovou (dvouhodnotovou) logikou.<br />
Boolova logika je specielním případem Boolovy algebry se signaturou<br />
< {true, false}, ∨, ∧, ̸, true, false ><br />
✷