Orgnizční záležitosti Atomty grmtiky Romn Brták, KTIML rtk@ktiml.mff.cni.cz http://ktiml.mff.cni.cz/~rtk Přednášk: n we (http://ktiml.mff.cni.cz/~rtk/tomty) Proč chodit n přednášk? dozvíte se více než při pohém čtení sljdů de záv (někdy) Cvičení: Proč chodit n cvičení? vyzkošíte si, zd látce rozmíte rozšíříte si znlosti z přednášky Zkošk: písemná ústní část porozmění látce + schopnost formlizce O čem de přednášk? stdim konečného popis nekonečných ojektů stdim strktních výpočetních zřízení dvě větve: tomty grmtiky Zdroje litertr R. Brták: Atomty grmtiky: on-line http://ktiml.mff.cni.cz/~rtk/tomty M. Chytil: Atomty grmtiky, SNTL Prh, 984 V. Koek: Atomty grmtiky, elektronický text, 996 konečné tomty zásoníkové tomty lineárně omezené tomty reglární grmtiky ezkontextové grmtiky kontextové grmtiky M. Chytil: Teorie tomtů formálních jzyků, skript M. Chytil: Sírk řešených příkldů z teorie tomtů formálních jzyků, skript M. Demlová, V. Koek: Algerická teorie tomtů, SNTL Prh, 99 Tringovy stroje grmtiky typ J.E. Hopcroft, R. Motwni, J.D. Ullmn: Introdction to Atomt Theory, Lngges nd Compttion, Addison-Wesley -
Pohled do historie Počátky ve drhé čtvrtině 2. století první formlizce pojm lgoritms (936) co stroje mí co ne? Chrch, Tring, Kleene, Post, Mrkov Polovin 2. století neronové sítě (943) konečné tomty (Kleene 956 neronové sítě KA) 6. lét 2. století grmtiky (Chomsky) zásoníkové tomty formální teorie konečných tomtů Prktické vyžití! zprcování přirozeného jzyk! překldče! návrh, popis verifikce hrdwre integrovné ovody, stroje, tomty! relizce pomocí softwre formální popis progrm hledání výskyt slov v text, verifikce systémů s konečně stvy (protokoly, ),! plikce v iologii simlce růst cellární tomty see-reprodkce tomtů Úvod do konečných tomtů Projekt SETI (Serch Extr-Terrestril Intelligence) nlýz signálů - hledání vzork Úvod do konečných tomtů 2 Stroj n káv stroj signlizje vydání kávy po vhození potřeného onos Hledání vzork Vstpem stroje jso mince,2,5 Kč, káv stojí 5 Kč c d 2/ /- /- /- 2 3 4 /- 2/ / Relizce pomocí Melyho stroje s výstpem při přechod. -2
Formlizce konečného tomt Konečným tomtem nzýváme pětici A = (Q,X,δ,q,F), kde: Q - konečná neprázdná množin stvů (stvový prostor) X - konečná neprázdná množin symolů (vstpní eced) δ - zorzení Q X Q (přechodová fnkce) q Q (počáteční stv) F Q (množin přijímcích stvů) c d Popis konečného tomt Stvový digrm (grf) vrcholy = stvy hrny = přechody Tlk řádky = stvy+přechody slopce = písmen Stvový strom vrcholy = stvy hrny = přechody poze dosžitelné stvy! c d c c d c c d d c Aeced, slov, jzyky eced X = konečná neprázdná množin symolů slovo = konečná poslopnost symolů (i prázdná) prázdné slovo λ (e, ε,...) X* = množin všech slov v ecedě X X + = množin všech neprázdných slov v ecedě X X* = X + {λ} jzyk L X* (množin slov v ecedě X) Zákldní operce se slovy: zřetězení slov.v, v mocnin n ( = λ, =, n+ = n.) délk slov ( λ = ) Rozšířená přechodová fnkce přechodová fnkce δ: Q X Q rozšířená přechodová fnkce δ* : Q X* Q trnzitivní závěr δ indktivní definice δ*(q,λ) = q δ*(q,wx) = δ(δ*(q,w),x), x X, w X* úmlv: δ* deme někdy oznčovt tké jko δ -3
Jzyky rozpozntelné konečnými tomty Jzykem rozpoznávným (kceptovným, přijímným) konečným tomtem A = (Q,X, δ,q,f) nzveme jzyk: L(A) = {w w X* δ*(q,w) F}. Slovo w je přijímáno tomtem A, právě když w L(A). Jzyk L je rozpozntelný konečným tomtem, jestliže existje konečný tomt A tkový, že L=L(A). Tříd jzyků rozpozntelných konečnými tomty znčíme F, tzv. reglární jzyky. Příkldy reglárních jzyků L= { w w {,}*, w=xx, x {,}, {,}*} L= { w w {,}*, w=, {,}*} L= { w w {,}* w je inární zápis čísl dělitelného 5} L = { n n n } není reglární jzyk! 2 3 4 Kongrence Jk zjistit, že jzyk není rozpozntelný konečným tomtem? Jk chrkterizovt reglární jzyky? Kongrence Nechť X je konečná eced, ~ je relce ekvivlence (reflexivní, symetrická, trnsitivní) n X*. Potom: ) ~ je prvá kongrence, jestliže,v,w X* ~v w~vw ) je konečného index, jestliže rozkld X*/~ má konečný počet tříd Rozkld n třídy v w vw Nerodov vět Nechť L je jzyk nd konečno ecedo X. Potom následjící tvrzení jso ekvivlentní: ) L je rozpozntelný konečným tomtem, ) existje prvá kongrence ~ konečného index n X* tk, že L je sjednocením jistých tříd rozkld X*/~. X* X*/~ L -4
Důkz Nerodovy věty ) ) tomt prvá kongrence konečného index definjme ~v δ*(q,) = δ*(q,v) je to ekvivlence (reflexivní, symetrická, trnsitivní) je to prvá kongrence (z definice δ*) má konečný index (konečně mnoho stvů) L= { w δ*(q,w) F} = { w δ*(q q F,w) = q} Pozorování: stvy odpovídjí třídám ekvivlence w v Důkz Nerodovy věty - pokrčování ) ) prvá kongrence konečného index tomt oznčme [] tříd rozkld oshjící slovo Jk sestrojíme konečný tomt A? eced X dán stvy Q - třídy rozkld X*/~ stv q = [λ] koncové stvy F = {c,..,c n }, kde L= i=..n c i přechodová fnkce δ([],x) = [x] přechodová fnkce je korektní (z definice prvé kongrence) Ještě L(A) = L? w L w i=..n c i w c w c n [w]= c [w]= c n [w] F w L(A) δ*([λ],w) = [w] x L Požití Nerodovy věty Konstrkce tomtů Příkld: Sestrojte tomt přijímjící jzyk L = {w w {,}* & w oshje 3k+2 symolů } oznčme x počet symolů x ve slově definjme ~v ( mod 3 = v mod 3 ) tři třídy ekvivlence,,2 (zytky po dělení 3) L odpovídá třídě 2 -přechody přesovjí do následjící třídy (mod 3) -přechody zchovávjí tříd 2 Požití Nerodovy věty - pokrčování Důkz nereglárnosti jzyk! Příkld: Rozhodněte zd následjící jzyk je reglární L = { n n n }. Předpokládejme, že jzyk je reglární existje prvá kongrence konečného index m, L je sjednocením tříd vezmeme slov,,, m+ dvě slov pdno do stejné třídy (kričkový princip) i j i ~ j přidejme i i i ~ j i (prvá kongrence) spor i i L & j i L -5