Automaty a gramatiky. Na zopakování X*/~ Roman Barták, KTIML. Iterační (pumping) lemma. Pravidelnost regulárních jazyků

Podobné dokumenty
Automaty a gramatiky. Roman Barták, KTIML. Důkaz věty o isomorfismu reduktů. Věta o isomorfismu reduktů. Pro připomenutí

Vlastnosti regulárních jazyků

Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému

písemná a ústní část porozumění látce + schopnost formalizace

AUTOMATY A GRAMATIKY

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ

PŘEDNÁŠKA 7 Kongruence svazů

FI MU. Automaty nad nekonečnými slovy. Fakulta informatiky Masarykova univerzita. Učební text FI MU verze 1.0

Výroková a predikátová logika - VIII

Výroková a predikátová logika - IX

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 3. PREDNÁŠKA - KOMPAKTNÍ PROSTORY.

Minimalizace KA - Úvod

OSTRAVSKÁ UNIVERZITA V OSTRAVĚ

Regulární matice. Věnujeme dále pozornost zejména čtvercovým maticím.

Výroková a predikátová logika - VIII

Kongruence na množině celých čísel

Věta o dělení polynomů se zbytkem

PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy

TEORIE JAZYKŮ A AUTOMATŮ II

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

Lineární algebra Kapitola 1 - Základní matematické pojmy

Složitost a NP-úplnost

Predik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16

Automaty a gramatiky

Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

Studijnı opora k prˇedmeˇtu m teoreticke informatiky Petr Jancˇar 22. u nora 2005

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

Y36BEZ Bezpečnost přenosu a zpracování dat. Úvod. Róbert Lórencz. lorencz@fel.cvut.cz

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 4. PREDNÁŠKA - SOUČIN PROSTORŮ A TICHONOVOVA VĚTA.

Mgr. Karel Pazourek. online prostředí, Operační program Praha Adaptabilita, registrační číslo CZ.2.17/3.1.00/31165.

Výroková a predikátová logika - IV

Základy teoretické informatiky Formální jazyky a automaty

Formální jazyky a automaty Petr Šimeček

15. Moduly. a platí (p + q)(x) = p(x) + q(x), 1(X) = id. Vzniká tak struktura P [x]-modulu na V.

Výroková a predikátová logika - IX

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je

Syntaxí řízený překlad

Lineární algebra I. látka z. I. semestru informatiky MFF UK. Obsah. Zpracovali: Ondřej Keddie Profant, Jan Zaantar Štětina

Jak funguje asymetrické šifrování?

Základy elementární teorie čísel

Učební texty k státní bakalářské zkoušce Matematika Algebra. študenti MFF 15. augusta 2008

Stromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom,

Základy elementární teorie čísel

Teorie informace a kódování (KMI/TIK)

Kapitola 6. LL gramatiky. 6.1 Definice LL(k) gramatik. Definice 6.3. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo.

Teoretická informatika - Úkol č.1

Fakulta informačních technologií. Teoretická informatika

Naproti tomu gramatika je vlastně soupis pravidel, jak

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava

Systém přirozené dedukce výrokové logiky

Bezkontextové jazyky 3/3. Bezkontextové jazyky 3 p.1/27

Výroková logika syntaxe a sémantika

Základy teorie množin

Lenka Zalabová. Ústav matematiky a biomatematiky, Přírodovědecká fakulta, Jihočeská univerzita. zima 2012

Výroková a predikátová logika - IX

Úlohy k procvičování textu o univerzální algebře

Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice

Barevnost grafů MFF UK

Učební texty k státní bakalářské zkoušce Programování Základy teoretické informatiky. študenti MFF 15. augusta 2008

Matematický ústav Slezské univerzity v Opavě Učební texty k přednášce ALGEBRA I, zimní semestr 2000/2001 Michal Marvan. 2.

Výroková a predikátová logika - X

ÚVOD DO ARITMETIKY. Michal Botur

KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO LINEÁRNÍ ALGEBRA 1 OLGA KRUPKOVÁ VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN

Automaty a gramatiky. Roman Barták, KTIML. Chomského normální forma

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

Trocha teorie Ošklivé lemátko První generace Druhá generace Třetí generace Čtvrtá generace O OŠKLIVÉM LEMÁTKU PAVEL JAHODA

4. NP-úplné (NPC) a NP-těžké (NPH) problémy

Vysoké učení technické v Brně Fakulta informačních technologií. Regulární pologrupy. Semestrální práce do předmětu Algebra, Kombinatorika, Grafy

Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/39

Naproti tomu gramatika je vlastně soupis pravidel, jak

H {{u, v} : u,v U u v }

Matematická analýza 1b. 9. Primitivní funkce

Vztah jazyků Chomskeho hierarchie a jazyků TS

Cyklické kódy. Definujeme-li na F [x] n sčítání a násobení jako. a + b = π n (a + b) a b = π n (a b)

Turingovy stroje. Teoretická informatika Tomáš Foltýnek

1 Determinanty a inverzní matice

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30

Relace a kongruence modulo

Jazyk matematiky Matematická logika Množinové operace Zobrazení Rozšířená číslená osa

Diskrétní matematika. DiM /01, zimní semestr 2018/2019

LIMITA A SPOJITOST FUNKCE

Formální systém výrokové logiky

8 Přednáška z

Základy matematické analýzy

Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31

Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/31

Algebraické struktury

Hypergrafové removal lemma a Szemérediho

Matematické důkazy Struktura matematiky a typy důkazů

Lineární algebra : Báze a dimenze

Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory

)(x 2 + 3x + 4),

MNOŽINY. x A. Jeho varianty paradox mostu se šibenicí, paradox holiče.

3. Algebraické systémy

Bezkontextové jazyky 2/3. Bezkontextové jazyky 2 p.1/27

4 Pojem grafu, ve zkratce

GRAMATIKY A JAZYKY URČENO PRO VZDĚLÁVÁNÍ V AKREDITOVANÝCH STUDIJNÍCH PROGRAMECH HASHIM HABIBALLA

Úvod do informatiky. Miroslav Kolařík

Výroková a predikátová logika - VII

Transkript:

2 utomaty a gramatiky Roman Barták, KTML bartak@ktiml.mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Na zopakování Víme, co je konečný automat = (Q,X,δ,q,F) Umíme konečné automaty charakterizovat (Myhill-)Nerodova věta co dnes? Proč se jazyky jmenují regulární? iterační (pumping) lemma Jak automaty zjednodušit? redukce automatů X* c d u v X*/~ uw vw L Pravidelnost regulárních jazyků Konečný automat kóduje pouze konečnou informaci. Přesto můžeme rozpoznávat nekonečné jazyky! Můžeme přijímat libovolně (ale konečně) dlouhá slova! Pozorování: L = {w w {,}* w = 3k+} L potom také: L řetězec jsme zdvojili L řetězec jsme ztrojili L řetězec jsme vypustili Lze takovouto operaci provést s každým slovem libovolného regulárního jazyka? NO (pokud je slovo dostatečně dlouhé) terační (pumping) lemma Nechť L je regulární jazyk. Potom existuje přirozené číslo n takové, že libovolné slovo z L, z n lze psát ve tvaru uvw, kde: uv n, v a pro všechna i uv i w L. ůkaz: za n vezměme počet stavů příslušného automatu při zpracování slova délky n se automat nutně musí dostat do jednoho stavu dvakrát (krabičkový princip) vezměme takový stav p, který se opakuje jako první potom δ(q,u) = p poprvé jsme se dostali do p δ(q,uv) = p podruhé jsme se dostali do p zřejmě uv n (pouze p se opakuje tj. maximálně n+ stavů) v (smyčka obsahuje alespoň jedno písmeno) smyčku mezi prvním a druhým průchodem p (odpovídá jí slovo v) nyní můžeme vypustit nebo projít vícekrát tj. i uv i w L q p q F u w v 2-

Použití iteračního lemmatu ůkaz neregulárnosti jazyka L= { i i i } není regulární jazyk sporem: nechť L je regulární, potom lze pumpovat ( n tž. ) vezměme slovo n n (to je určitě delší než n) pumpovat můžeme pouze v části n potom, ale n+i n L (i > je délka pumpované části), což je spor Jazyk a přijímající automaty Je automat pro daný jazyk určen jednoznačně? NENÍ! POZOR! terační lemma představuje nutnou podmínku regulárnosti jazyka, nedává podmínku postačující. Existuje jazyk, který není regulární a lze pumpovat. L= {u u = a + b i c i u = b i c j } vždy lze pumpovat první písmeno L není regulární (Nerodova věta) L = {w w {}* w = 3k} Ekvivalence automatů a homomorfismus Jak zjistit, zda dva automaty přijímají stejný jazyk? Říkáme, že konečné automaty a B jsou ekvivalentní, jestliže rozpoznávají stejný jazyk, tj. L() = L(B). Nechť a 2 jsou konečné automaty. Řekneme, že zobrazení h: Q Q 2 je (automatovým) homomorfismem, jestliže: ) h(q ) = q 2 stejné počáteční stavy 2) h(δ (q,x)) = δ 2 (h(q),x) stejné přechodové funkce 3) q F h(q) F 2 stejné koncové stavy Homomorfismus prostý a na nazýváme isomorfismus. Věta o ekvivalenci automatů Existuje-li homomorfismus konečných automatů do 2, pak a 2 jsou ekvivalentní. ůkaz: konečnou iterací h(δ *(q,w)) = δ 2 *(h(q),w) w X* w L( ) δ *(q,w) F h(δ *(q,w)) F 2 δ 2 *(h(q ),w) F 2 δ 2 *(q 2,w) F 2 w L( 2 ) 2 q F w q q 2F w q 2 2-2

Homomorfismus automatů Trochu motivace L = {w w = * w = 3k} o dělá tento automat? L = {w w {,}* w = 3k} osažitelné stavy Hledání dosažitelných stavů = (Q,X,δ,q,F) je konečný automat a q Q. Řekneme, že stav q je dosažitelný, jestliže w X* δ*(q,w)=q Věta: Nechť P jsou dosažitelné stavy automatu. Potom B = (P,X,δ,q,F ) je konečný automat ekvivalentní s (F = F P, δ = δ ). P X terační algoritmus (dosažitelnost po i krocích): M = {q } repeat M i+ = M i {q q Q, p M i x X δ(p,x) = q} until M i+ = M i Korektnost M M Q (algoritmus je konečný) každé M i obsahuje pouze dosažitelné stavy Úplnost nechť q je libovolný dosažitelný stav, tj. w X* δ*(q,w) = q vezměme nejkratší takové w = x..x n tž. δ*(q,x..x n ) = q zřejmě δ*(q,x..x i ) M i (dokonce M i - M i- ) tedy δ*(q,x..x n ) M n q M n 2-3

Ekvivalentní stavy Nechť = (Q,X,δ,q,F) je konečný automat. Stavy p,q jsou ekvivalentní, značíme p~q, jestliže: w X* δ*(p,w) F δ*(q,w) F Výpočty startující z ekvivalentních stavů nelze rozlišit! Ekvivalence po krocích Ekvivalence po i krocích p ~ i q w X* tž. w i δ*(p,w) F δ*(q,w) F p ~ q i p ~ i q terativní konstrukce ~ i p ~ q... p F q F p ~ i+ q... p ~ i q x X δ(p,x) ~ i δ(q,x) Je to v pořádku? p ~ q δ*(p,λ) = p F δ*(q,λ) = q F p ~ i+ q... p ~ i q tj. platí pro slova w tž. w i slova délky i+, w = xu, u = i δ(p,x) ~ i δ(q,x) tj. δ*(δ(p,x),u) F δ*(δ(q,x),u) F dohromady δ*(p,xu) F δ*(q,xu) F Vlastnosti ekvivalence po krocích Hledání ekvivalence stavů ) i je ~ i ekvivalence na Q, označme R i = Q/~ i 2) R i+ zjemňuje R i 3) R i+ = R i t> R i+t = R i 4) nechť Q =n, potom k n- R k+ = R k 5) R k+ = R k (p~q p ~ k q) ůkaz: ) a 2) přímo z definice 3) p ~ i+ q p ~ i q x X δ(p,x) ~ i δ(q,x) p ~ i+2 q p ~ i+ q x X δ(p,x) ~ i+ δ(q,x) 4) přímo z max. počtu tříd rozkladu (n) 5) p~q i p ~ i q i k p ~ i q i>k p ~ i q p ~ k q terační algoritmus (ekvivalence po i krocích): sestroj R repeat sestroj R i+ z R i until R i+ = R i Příklad: c b b c c c d d d e e e f f f g g g b R R R 2 2-4

utomatová kongruence Nechť je relace ekvivalence na Q. Říkáme, že je automatovou kongruencí, jestliže: p,q Q p q (p F q F) x X (δ(p,x) δ(q,x)) Podílový automat = (Q,X,δ,q,F) je konečný automat a je automatová kongruence. Potom / = (Q/, X, δ, [q ], {[q] q F}), kde δ ([q],x) = [δ(q,x)] je konečný automat (nazvěme ho podílovým automatem) ekvivalentní s. Q Q/ p q δ(p,x) δ(q,x) Tvrzení: Ekvivalence stavů ~ je automatovou kongruencí. ůkaz: nechť p~q, potom: p F q F (položme w = λ, δ*(p,λ) = p) nechť p~q, potom: x X u X* (δ*(p,xu) F δ*(q,xu) F) F x X u X* (δ*(δ(p,x),u) F δ*(δ(q,x),u) F) x X δ(p,x) ~ δ(q,x) ) Je / skutečně konečný automat? Množiny Q/ a X jsou neprázdné a konečné. δ je definována korektně (vlastnosti automatové kongruence) 2) Jsou oba automaty ekvivalentní? Stačí najít homomorfismus do / (věta o ekvivalenci automatů)! efinujme h: Q Q/ takto h(q) = [q] h(q ) = [q ] h(δ(q,x)) = [δ(q,x)] = δ ([q],x) = δ (h(q),x) q F h(q) = [q] F (F jsou koncové stavy automatu / ) Podílový automat a ekvivalence stavů je konečný automat a ~ je ekvivalence stavů. Potom /~ je konečný automat ekvivalentní s a žádné stavy /~ nejsou ekvivalentní. ) Ekvivalence stavů ~ je automatová kongruence, a tedy víme, že /~ je konečný automat ekvivalentní s. 2) V /~ nejsou ekvivalentní stavy. Sporem: nechť [p] ~ a [q] ~ jsou různé ekvivalentní stavy (tj. p~q) vezměme libovolné w X*: δ ~ ([p] ~,w) F ~ δ ~ ([q] ~,w) F ~ ([p] ~ a [q] ~ jsou ekvivalentní) δ ~ (h(p),w) F ~ δ ~ (h(q),w) F ~ (h(p)= [p] ~ ) h(δ(p,w)) F ~ h(δ(q,w)) F ~ (h je homomorfismus) δ(p,w) F δ(q,w) F p~q spor Redukce automatu Konečný automat je redukovaný, jestliže: - nemá nedosažitelné stavy, - žádné dva stavy nejsou ekvivalentní. Konečný automat B je reduktem automatu, jestliže: - B je redukovaný, - a B jsou ekvivalentní. Věta: Ke každému konečnému automatu existuje nějaký jeho redukt. Konstruktivní důkaz (dvě možné metody): ) vyřazení nedosažitelných stavů faktorizace podle ekvivalence stavů (nezpůsobí nedosažitelnost) nebo 2) faktorizace podle ekvivalence stavů vyřazení nedosažitelných stavů (nezpůsobí změnu ekvivalence) 2-5

Příklad redukce automatů o dělá tento automat (jaký jazyk přijímá)? 2 3 2 2 4 3 3 5 4 2 7 5 6 3 6 6 6 7 7 4 8 2 3 9 9 4 R Redukovaný automat R Nedosažitelné stavy L = {w w=bu, u {a,b}*} R 2 Redukce automatu v kostce 2. Najít ekvivalentní stavy. Vyřadit nedosažitelné stavy 3. Sestrojit podílový automat 2-6