Automaty a gramatiky. Trochu motivace. Roman Barták, KTIML. rní jazyky. Regulárn. Kleeneova věta. L = { w w=babau w=uabbv w=ubaa, u,v {a,b}* }

Podobné dokumenty
Automaty a gramatiky. Pro připomenutí. Roman Barták, KTIML. Důkaz věty o dvousměrných automatech (1)

Automaty a gramatiky

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

6. Zobrazení δ: (a) δ(q 0, x) obsahuje x i, x i Z. (b) δ(x i, y) obsahuje y j, x i y j P 7. Množina F je množinou koncových stavů.

Automaty a gramatiky. Úvod do formáln. lních gramatik. Roman Barták, KTIML. Příklady gramatik

Automaty a gramatiky

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

Automaty a gramatiky(bi-aag)

Definice. Necht M = (Q, T, δ, q 0, F ) je konečný automat. Dvojici (q, w) Q T nazveme konfigurací konečného automatu M.

Je regulární? Pokud ne, na regulární ji upravte. V původní a nové gramatice odvod te řetěz 1111.

Formální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 7. března / 46

Minimalizace automatů. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 28. března / 31

Převody Regulárních Výrazů. Minimalizace Konečných. Regulární jazyky 2 p.1/35

Automaty a gramatiky. Organizační záležitosti. Přednáška: na webu ( Proč chodit na přednášku?

4. přednáška 22. října Úplné metrické prostory. Metrický prostor (M, d) je úplný, když každá cauchyovská posloupnost bodů v M konverguje.

OBECNÝ URČITÝ INTEGRÁL

Petriho sítě PES 2007/2008. Doc. Ing. Tomáš Vojnar, Ph.D.

Zavedení a vlastnosti reálných čísel PŘIROZENÁ, CELÁ A RACIONÁLNÍ ČÍSLA

množina, na které je zavedena určitá struktura. Zejména, součet každých dvou prvků X = [x 1,..., x n ] R n,

Gaussovská prvočísla

PLANIMETRIE ZÁKLADNÍ POJMY PŘÍMKA A JEJÍ ČÁSTI

Způsobilost. Data a parametry. Menu: QCExpert Způsobilost

Spojitost funkce v bodě, spojitost funkce v intervalu

je jedna z orientací určena jeho parametrizací. Je to ta, pro kterou je počátečním bodem bod ϕ(a). Im k.b.(c ) ( C ) (C ) Obr Obr. 3.5.

Algebraický výraz je číselný výraz s proměnou. V těchto výrazech se vyskytují vedle reálných čísel také proměnné. Například. 4a 4,5x + 6,78 7t.

56. ročník Matematické olympiády. b 1,2 = 27 ± c 2 25

Analytická metoda aneb Využití vektorů v geometrii

1.3.3 Přímky a polopřímky

2.5.4 Věta. Každý jazyk reprezentovaný regulárním výrazem je regulárním jazykem.

( t) ( t) ( ( )) ( ) ( ) ( ) Vzdálenost bodu od přímky I. Předpoklady: 7308

Úvod 1. 3 Regulární jazyky Konečné jazyky Pumping Lemma pro regulární jazyky a nekonečné jazyky Sjednocení...

Teorie jazyků a automatů

10 Určitý integrál Riemannův integrál. Definice. Konečnou posloupnost {x j } n j=0 nazýváme dělením intervalu [a,b], jestliže platí

Až dosud jsme se zabývali většinou reálnými posloupnostmi, tedy zobrazeními s definičním

NEWTONŮV INTEGRÁL. V předchozích kapitolách byla popsána inverzní operace k derivování. Zatím nebylo jasné, k čemu tento nástroj slouží.

Teorie jazyků a automatů I

Model tenisového utkání

Cílem kapitoly je zvládnutí řešení determinantů čtvercových matic.

Obecně: K dané funkci f hledáme funkci ϕ z dané množiny funkcí M, pro kterou v daných bodech x 0 < x 1 <... < x n. (δ ij... Kroneckerovo delta) (4)

Integrální počet - III. část (určitý vlastní integrál)

Parabola. Předpoklady: 7501, Pedagogická poznámka: Na všechny příklady je potřeba asi jeden a půl vyučovací hodiny.

Podobnosti trojúhelníků, goniometrické funkce

2.8.5 Lineární nerovnice s parametrem

MULTIDIMENSIONÁLNÍ JAZYKY A JEJICH AUTOMATY MULTI-DIMENSIONAL LANGUAGES AND THEIR AUTOMATA

VIII. Primitivní funkce a Riemannův integrál

INTEGRACE KOMPLEXNÍ FUNKCE KŘIVKOVÝ INTEGRÁL

V předchozích kapitolách byla popsána inverzní operace k derivování. Zatím nebylo jasné, k čemu tento nástroj slouží.

H - Řízení technologického procesu logickými obvody

Integrál a jeho aplikace Tomáš Matoušek

Teorie jazyků a automatů

Geometrické a fyzikální aplikace určitého integrálu. = b a. je v intervalu a, b záporná, je integrál rovněž záporný.

3.2.1 Shodnost trojúhelníků I

Definice. Nechť k 0 celé, a < b R. Definujeme. x < 1. ϕ(x) 0 v R. Lemma [Slabá formulace diferenciální rovnice.] x 2 1

Cvičení z termomechaniky Cvičení 5.

10. Suffixové stromy

integrovat. Obecně lze ale říct, že pokud existuje určitý integrál funkce podle různých definic, má pro všechny takové definice stejnou hodnotu.

jsou všechna reálná čísla x, pro která platí: + x 6

Větu o spojitosti a jejich užití

Řešení diferenciálních rovnic 1. řádu (lineárních, s konstantními koeficienty)

Přednáška 9: Limita a spojitost

Univerzita Karlova v Praze Pedagogická fakulta

Matice. a B =...,...,...,...,..., prvků z tělesa T (tímto. Definice: Soubor A = ( a. ...,..., ra

Odraz na kulové ploše Duté zrcadlo

Seznámíte se s další aplikací určitého integrálu výpočtem obsahu pláště rotačního tělesa.

Definice limit I

KONSTRUKTIVNÍ GEOMETRIE. Mgr. Petra Pirklová, Ph.D. kmd.fp.tul.cz Budova G, 4. patro

= b a. V případě, že funkce f(x) je v intervalu <a,b> záporná, je integrál rovněž záporný.

Dynamické programování

Základy teorie matic

Struktura a architektura počítačů

Riemannův určitý integrál.

Odraz na kulové ploše

Formální jazyky. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 6. března / 48

VIII. Primitivní funkce a Riemannův integrál

Stabilita prutu, desky a válce vzpěr (osová síla)

Integrální počet - II. část (určitý integrál a jeho aplikace)

Řešené příklady k MAI III.

LINEÁRNÍ DIFERENCIÁLNÍ ROVNICE 2.ŘÁDU

8. cvičení z Matematiky 2

Petr Hasil. Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF)

Hyperbola, jejíž střed S je totožný s počátkem soustavy souřadnic a jejíž hlavní osa je totožná

a i,n+1 Maticový počet základní pojmy Matice je obdélníkové schéma tvaru a 11

x + F F x F (x, f(x)).

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

Úvod do Teoretické Informatiky ( UTI)

o d e vz d á v e j t ek o m p l e t n í, / n e r o z e b r a n é /, a b y s e t y t o

ZÁKLADY. y 1 + y 2 dx a. kde y je hledanou funkcí proměnné x.

+ c. n x ( ) ( ) f x dx ln f x c ) a. x x. dx = cotgx + c. A x. A x A arctgx + A x A c

Úlohy školní klauzurní části I. kola kategorie C

Vektory a matice. P r. P x

17 Křivky v rovině a prostoru

R n výběr reprezentantů. Řekneme, že funkce f je Riemannovsky integrovatelná na

Jak oslabit PC, aby algoritmus: neměl paměťové nároky PC, povede k vyřazení hodnoty z domény proměnné! e f. e f. a b. a b. byl silnější než AC?

3 Algebraické výrazy. 3.1 Mnohočleny Mnohočleny jsou zvláštním případem výrazů. Mnohočlen (polynom) proměnné je výraz tvaru

CVIČENÍ Z ELEKTRONIKY

x jsou všechna reálná čísla x, pro která platí: log(x + 5) D: x ( 5; 4) (4; ) + x+6

Náhodným (stochastickým) procesem nazveme zobrazení, které každé hodnotě náhodnou veličinu X ( t)

A DIRACOVA DISTRIBUCE 1. δ(x) dx = 1, δ(x) = 0 pro x 0. (1) Graficky znázorňujeme Diracovu distribuci šipkou jednotkové velikosti (viz obr. 1).

Jak již bylo uvedeno v předcházející kapitole, můžeme při výpočtu určitých integrálů ze složitějších funkcí postupovat v zásadě dvěma způsoby:

( a) Okolí bodu

Transkript:

ochu motivce L = { w w=u w=uv w=u, u,v {,}* } Automty gmtiky Romn Bták, KIML tk@ktiml.mff.cuni.cz htt://ktiml.mff.cuni.cz/~tk L = L L L, kde L = { w w=u, u {,}* }, L = { w w=uv, u,v {,}* } L = { w w=u, u {,}* } Můžeme jít ještě dál! L = {}. {,}* L = {,}*. {}. {,}* L = {,}*. {} Pojďme ještě dál L = ({} {})*. {}.{}.{} Nešlo y všechny egulání jzyky oskládt z nějkých tiviálních jzyků Regulán ní jzyky říd eguláních jzyků RJ(X) nd konečnou neázdnou ecedou X je nejmenší tříd jzyků, kteá: oshuje ázdný jzyk o kždé ísmeno x X oshuje jzyk {x} A,B RJ(X) A B RJ(X) uzvřená n sjednocení A,B RJ(X) A.B RJ(X) uzvřená n zřetězení A RJ(X) A* RJ(X) uzvřená n iteci Vlstně lgeický ois jzyků! Seciálně: {} RJ(X) otože {} = * X RJ(X) otože X = x X {x} (ozo! je to konečné sjednocení) {x i,,x ik } RJ(X) X* RJ(X) Kleeneov vět Liovolný jzyk je egulání ávě když je ozozntelný konečným utomtem. Konečnými utomty lze ozoznávt jen tiviální jzyky (ázdný jednoísmenné) jzyky, kteé z nich lze složit oecemi sjednocení, zřetězení itece. Důkz RJ F egulání jzyky jsou ozozntelné konečnými utomty tiviální jzyky jsou ozozntelné konečným utomtem oece sjednocení, zřetězení iteci dávjí oět jzyk ozozntelný konečným utomtem

Důkz Kleeneovy věty jzyky ozozntelné konečnými utomty jsou egulání máme utomt A=(Q,X,δ,,F), kteý definuje jzyk L(A) chceme ukázt, že L(A) dostneme z elementáních jzyků oecí definujme R ij = {w X* δ*( i,w)= j } slov řevádějící stv i n j otom L(A) = i F R i slov řevádějící očáteční stv n nějký koncový stv i jsou jzyky R ij egulání okud no, otom L(A) je tké egulání, otože zchovává egulánost definujme R k ij =slov řevádějící stv i n j ez meziůchodu stvy m m>k zřejmě R ij = R n ij (n je očet stvů utomtu) jsou jzyky R k ij egulání R 0 ij je egulání (žádné mezistvy, tj. mximálně jednoísmenná slov) R k+ ij = Rk ij Rk i,k+.(rk k+,k+ )*. Rk k+,j je egulání (sjednocení itece eguláních jzyků) Altentivní důkz Kleeneovy věty jzyky ozozntelné konečnými utomty jsou egulání Indukcí odle očtu hn v nedeteministickém utomtu A = (Q,X,δ,S,F) o dný jzyk L(A) žádná hn ouze jzyky neo {} (n+) hn vyeeme si jednu hnu: tj. δ(,) sestojíme čtyři utomty ez této hny (δ ) A = (Q,X,δ,S,F) A = (Q,X,δ,S,{}) A = (Q,X,δ,{},{}) A = (Q,X,δ,{},F) Potom L(A) = L(A ) (L(A ).).(L(A ).)*L(A ) Jzyky L(A ), L(A ), L(A ), L(A ) jsou egulání (n hn) i k+ j Regulán ní výzy Množin eguláních výzů RV(X) nd konečnou neázdnou ecedou X={x,,x n } je nejmenší množin slov v ecedě {x,,x n,,, +,.,*, (,)}, kteá: oshuje výz výz RV(X), RV(X) o kždé ísmeno x X oshuje výz x x RV(X) α,β RV(X) (α+β) RV(X) α,β RV(X) (α.β) RV(X) α RV(X) α* RV(X) Příkld: ((+((.c)+d)*)+e) Konvence: vnější závoky lze vynecht (+((.c)+d)*)+e závoky lze vynecht u. + díky socitivitě +((.c)+d)*+e tečku lze vynecht +((c)+d)*+e ioit oecí (nejvyšší) *,., + (nejnižší) +(c+d)*+e Hodnot egulán ního výzu Hodnotou eguláního výzu α RV(X) je množin slov [α] (jzyk) definovná následovně: [] =, [] ={}, [x] = {x} [(α+β)] =[α] [β] [(α.β)] = [α]. [β] [α*] = [α]* Regulání výzy odovídjí eguláním jzykům hodnotou eguláního výzu je egulání jzyk kždý egulání jzyk lze eezentovt omocí eguláního výzu (jzyk je hodnotou tohoto výzu) Příkldy: [(+)* + (+)*(+)* + (+)*] = = { w w=u w=uv w=u, u,v {,}* } [(0*0*0*)*0*] = = {w w {0,}*, w =k }

Použit ití egulán ních výzů Pktický řehledný záis jzyk eoetický zjednodušení někteých důkzů Vět: L F, x X σ(x) F σ (L) F L σ(x) jsou egulání jzyky, lze je tedy eezentovt eguláními výzy kždý výskyt x ve výzu o L stčí nhdit výzem o σ(x) Rozšířené egulání výzy máme i dlší egulání oece, nř. ůnik (α & β) Ekvivlence eguláních výzů α β jestliže [α] = [β] (tj. výzy eezentují stejné jzyky) Příkld: (0*)* + (0+)* Jk to zjistíme Převod egulán ního výzu n konečný ný utomt Metod (inkementální): řeveď elementání jzyky (ázdný, jednoísmenné) soj oužitím eguláních oecí odle výzu Metod (římá) +(c+d)*+ očísluj symoly ve výzu (zlev do dov) +( c +d )*+ 5 zjisti všechny možné áy symolů, kteé se c, c d, c, mohou vyskytovt z seou d d, d zjisti symoly, kteé mohou ýt vní ve slově,, d, 5 zjisti symoly, kteé mohou ýt oslední ve slově, c, d, 5 zjisti, zd jzyk oshuje ázdné slovo ANO vytvoř nedeteministický utomt s stvy: s + očíslovné symoly d očátek = s konec = oslední symoly (+s o ) d d 5 c řechody: s vní symol x i x j, okud je á x i x j c d Od utomtu k egulán nímu výzu, Pomocí Kleeneovy věty: R 0 ij R k+ ij = R k ij R k i,k+.(r k k+,k+)*. R k k+,j Pozn.: uzel můžeme ignoovt (nevedou řes něj žádné cesty do osttních uzlů) Od utomtu k egulán nímu výzu (říkld ) Pomocí Kleeneovy věty: R 0 ij R k+ ij = R k ij R k i,k+.(r k k+,k+)*. R k k+,j R 0 R R 0 + + R * + * + * R + R ( ) * ( ) * ( ) * ( ) * ( ) * ( ) * R * + * + * * + * + * * + R (+)* (+)*

Od utomtu k egulán nímu výzu jink Ohodnocení hn eguláním výzem Nejve vytvoříme utomt s jedním vstuem jedním výstuem F 0 A α Od utomtu k egulán nímu výzu v říkld kldě, Stčí řidt ouze nový koncový stv. Eliminujeme smyčku. Eliminujeme uzel. Eliminujeme uzel. sojení hn α α+β elimince smyček α β β α * β ( ) * Eliminujeme smyčku. elimince vcholů α β α m β α * α β α ( ) * Eliminujeme uzel. α m α m Můžeme konečné utomty ještě zoecnit Konečný utomt ovádí následující činnosti: řečte ísmeno změní stv vnitřní jednotky osune čtecí hlvu dov Čtecí hlv se nesmí vcet! Co když utomtu ovolíme ovládání hlvy Dvousměn né (dvoucestné) ) konečné utomty Dvousměným (dvoucestným) konečným utomtem nzýváme ětici A = (Q,X,δ,,F), kde: Q - konečná neázdná množin stvů (stvový osto) X - konečná neázdná množin symolů (vstuní eced) δ -zozeníq X Q {-,0,+} (řechodová funkce) řechodová funkce učuje i ohy čtecí hlvy Q (očáteční stv) F Q (množin koncových stvů) Pozo! Automt n ásku nic neíše! Reezentce: stvový digm, tulk, stvový stom

Počítání s dvousměnými utomty Kdy dvousměný utomt řijímá slovo Co se děje, je-li hlv mimo čtené slovo Slovo w je řijto dvousměným konečným utomtem, okud: výočet zčl n vním ísmenu slov w vlevo v očátečním stvu čtecí hlv ové oustil slovo w vvo v někteém koncovém stvu mimo čtené slovo není výočet definován (výočet zde končí slovo není řijto) w F Příkld dvousměn ného utomtu Nejve oznámk: ke slovům si můžeme řidt seciální koncové znky # X je-li L(A)= {#w# w L X*} egulání, otom i L je egulání L = # R # (L(A) #X*#) Příkld: L(B) = {#u# uu L(A)} Pozo! oto není levý ni vý kvocient! Nechť A= (Q,X,δ,,F), definujme dvousměný konečný utomt B=(Q Q Q {,, F }), X, δ,, { F }) tkto: δ x # oznámk,-,+,+,- = δ(,x),-,+,+ F,+ F, = δ(,x),+,+ F, = δ(,x),+,+ F,+,+ # u # F Vět o dvousměných utomtech Jzyky řijímné dvousměnými konečnými utomty jsou ávě jzyky řijímné konečnými utomty. Možnost ohyovt čtecí hlvou o ásce nezvětšil sílu konečného utomtu! Pozo, n ásku nic neíšeme! Pokud můžeme n ásku sát, dostneme uingův stoj. Zřejmé: konečný utomt dvousměný konečný utomt dvousměný utomt vždy osouvá hlvu dov KA A=(Q,X,δ,,F) KA B=(Q,X,δ,,F), δ (,x)=(δ(,x),+) Zývá: dvousměný konečný utomt konečný utomt Důkz věty v o dvousměných utomtech () u v ) Fomální ois vlivu slov u n výočet nd slovem v (i) kdy ové oustíme slovo u vvo (v jkém stvu ové vstouíme nd v) f( 0 ) = ové řejdeme n v ve stvu f( 0 ) = 0 nikdy neoustíme u vvo (ii) okud oustíme slovo v vlevo, kdy se nd v oět vátíme f() = vátíme se nd v ve stvu f() = 0 nikdy už se nevátíme ) Výočet nd u máme osný funkcí f u f u : Q { 0 } Q {0} f u ( 0 ) oisuje situci (i): v jkém stvu ové odejdeme vvo, okud zčneme výočet vlevo v očátečním stvu f u () ( Q) oisuje situci (ii): v jkém stvu oět odejdeme vvo, okud zčneme výočet vvo v symol 0 znčí, že dná situce nenstne (odejdeme vlevo neo cyklus) u u v v

Důkz věty v o dvousměných utomtech () Po kždé slovo u máme funkci f u oisující výočet dvousměného utomtu A nd u Definujme ekvivlenci slov tkto: u~w def f u =f w tj. slov jsou ekvivlentní, okud mjí stejné výočtové funkce Vlstnosti ~: je to ekvivlence (zřejmé, definováno omocí =) má konečný index (mximální očet ůzných funkcí je (n+) n+ o n-stvový dvousměný utomt) je to vá konguence (zřejmě u~w uv~wv, otože ozhní u v w v je stejné nd v se utomt chová stejně) L(A) je sjednocením jistých tříd ozkldu X*/~ stčí si uvědomit, že w L(A) f w ( 0 ) F u~w f u ( 0 )=f w ( 0 ) (u L(A) w L(A)) Podle Neodovy věty je L(A) egulání jzyk. Převod KA n KA Konstuktivní důkz věty o dvousměných utomtech. Jk výočet s návty řevést n lineání výočet zjímjí nás jen řijímcí výočty díváme se n řechody mezi symoly (v jkém stvu se řechází n dlší olíčko). Njdeme všechny možné řezy - oslounosti stvů (je jich konečně mnoho).. Mezi řezy definujeme (nedeteministické) řechody odle čteného symolu.. Rekonstuujeme výočet skládáním řezů (jko uzzle). Pozoování: stvy se v řechodu (řezu) střídjí (dov/dolev) vní stv jde dov, oslední tké dov v deteministických řijímjících výočtech nejsou cykly vní oslední řez oshují jediný stv Fomáln lní řevod KA n KA Nechť A=(Q,X,δ,,F) je dvousměný konečný utomt. Příkld řevodu KA n KA Mějme následující dvousměný konečný utomt: Definujme ekvivlentní nedeteministický konečný utomt B=(Q,X,δ,( ),F ), kde: Q = všechny koektní řechodové oslounosti oslounosti stvů (,, k ) z Q tkové, že délk oslounosti je lichá (k=m+) žádný stv se neokuje n liché ni n sudé ozici ( i j i j ) & ( i j i+ j+ ) F = {() F} řechodové oslounosti délky oshující koncový stv δ (c,x) = { d d Q & c d je lokálně konzistentní řechod o x} x L(A)=L(B) tjektoie KA A odovídá řezům KA B c d,+,+,+,-,+,- Ukázk výočtu:.. Možné řezy jejich konzistentní řechody: Výsledný nedeteministický KA:,,,,,,