Automaty a gramatiky(bi-aag)

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

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ů.

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

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

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

Automaty a gramatiky

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

Deterministický konečný automat

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

Teorie jazyků a automatů

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

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

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

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

3.1.3 Vzájemná poloha přímek

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

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

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

Lineární nerovnice a jejich soustavy

Komplexní čísla tedy násobíme jako dvojčleny s tím, že použijeme vztah i 2 = 1. = (a 1 + ia 2 )(b 1 ib 2 ) b b2 2.

Úvod do Teoretické Informatiky ( UTI)

Základy teorie matic

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 Σ

Teorie jazyků a automatů I

Riemannův určitý integrál.

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

( ) ( ) Sinová věta II. β je úhel z intervalu ( 0;π ). Jak je vidět z jednotkové kružnice, úhly, pro které platí. Předpoklady:

ANALYTICKÁ GEOMETRIE V PROSTORU

Univerzita Karlova v Praze Pedagogická fakulta

KVADRATICKÁ FUNKCE (vlastnosti, grafy)

Logické obvody - kombinační Booleova algebra, formy popisu Příklady návrhu

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

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.

2.cvičení. 1. Polopřímka: bod O dělí přímku na dvě navzájem opačné polopřímky.

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

4.4.3 Kosinová věta. Předpoklady:

m n. Matice typu m n má

return n; 3/29 Ing. Miroslav Balík, Ph.D. - BI-PA1-05 if (n<1) { printf("%d neni prirozene cislo\n", n); exit(0); }

4.4.1 Sinová věta. Předpoklady: Trigonometrie: řešení úloh o trojúhelnících.

Teorie jazyků a automatů

AUTOMATY VE VYHLEDÁVÁNI cvičeni

{ } ( ) ( ) Vztahy mezi kořeny a koeficienty kvadratické rovnice. Předpoklady: 2301, 2508, 2507

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

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

3.2.1 Shodnost trojúhelníků I

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}* }


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

4. Determinanty. Výpočet: a11. a22. a21. a12. = a 11 a 22 a 33 + a 12 a 23 a 31 + a 13 a 21 a 32 a 13 a 22 a 31. a 11 a 23 a 32 a 12 a 21 a 33

4.2.1 Goniometrické funkce ostrého úhlu

Podobnosti trojúhelníků, goniometrické funkce

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

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

7 Analytická geometrie

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

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

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ý.

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.

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

Stavební mechanika 2 (K132SM02)

3. ROVNICE A NEROVNICE Lineární rovnice Kvadratické rovnice Rovnice s absolutní hodnotou Iracionální rovnice 90

Univerzální Turingův stroj a Nedeterministický Turingův stroj

Syntaxí řízený překlad

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

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

Matematika 1A. PetrSalačaJiříHozman Fakulta přírodovědně-humanitní a pedagogická Technická univerzita v Liberci

Půjdu do kina Bude pršet Zajímavý film. Jedině poslední řádek tabulky vyhovuje splnění podmínky úvodního tvrzení.

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í

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

Konstrukce na základě výpočtu I

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

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,

Výfučtení: Goniometrické funkce

Vlastnosti regulárních jazyků

MATA Př 2. Složené výroky: Jsou dány výroky: a: Číslo 5 je prvočíslo. b: Číslo 5 je sudé. c: Číslo 5 je liché. d: Číslo 5 je záporné.

POLYNOM. 1) Základní pojmy. Polynomem stupně n nazveme funkci tvaru. a se nazývají koeficienty polynomu. 0, n N. Čísla. kde

Vztah jazyků Chomskeho hierarchie a jazyků TS

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

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T.

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

2.3. DETERMINANTY MATIC

5.1.5 Základní vztahy mezi body, přímkami a rovinami

+ 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

3.2. LOGARITMICKÁ FUNKCE

Větu o spojitosti a jejich užití

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:

Spojitost funkce v bodě, spojitost funkce v intervalu

Teoretická informatika - Úkol č.1

OBECNÝ URČITÝ INTEGRÁL

UC485S. PŘEVODNÍK LINKY RS232 na RS485 nebo RS422 S GALVANICKÝM ODDĚLENÍM. Převodník UC485S RS232 RS485 RS422 K1. přepínače +8-12V GND GND TXD RXD DIR

Tangens a kotangens

LDF MENDELU. Simona Fišnarová (MENDELU) Určitý integrál ZVMT lesnictví 1 / 26

DIGITÁLNÍ UČEBNÍ MATERIÁL. Název školy SOUpotravinářské, Jílové u Prahy, Šenflukova 220. Název materiálu VY_32_INOVACE / Matematika / 03/01 / 17

Hlavní body - magnetismus

Reprezentovatelnost částek ve dvoumincových systémech

ZÁKLADNÍ POZNATKY. p, kde ČÍSELNÉ MNOŽINY (OBORY) N... množina všech přirozených čísel: 1, 2, 3,, n,

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

JAN VÁLEK, PETR SLÁDEK Katedra fyziky, chemie a odborného vzdělávání, Pedagogická fakulta, Masarykova univerzita, Poříčí 7, Brno

Transkript:

BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 2/33 Převod NKA ndka BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 4/33 Automty grmtiky(bi-aag) 3. Operce s konečnými utomty Jn Holu Ktedr teoretické informtiky Fkult informčních technologií ČVUT v Prze c Jn Holu, 2011 Evropský sociální fond. Prh & EU: Investujeme do vší udoucnosti Algoritmus Převod NKA n DKA Vstup: Konečný utomt M = (Q, T, δ, q 0, F ). Výstup: Deterministický konečný utomt M = (Q, T, δ, q 0, F ) tkový, že L(M) = L(M ). Metod: 1. Q = {{q 0 }}, stv {q 0 } ude neoznčený. 2. Jestliže v Q všechny stvy oznčeny, pokrčuj krokem 4. 3. Vyereme z Q neoznčený stv q provedeme: () Určíme δ (q, ) = p q δ(p, ), T, () Q = Q {δ (q, )}, T, (c) stv q Q oznčíme, (d) pokrčujeme krokem 2. 4. q 0 = {q 0}. 5. F = {q : q Q, q F }. BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 1/33 VzthmeziDKA NKA Definice Konečné utomty M 1 M 2 nzýváme ekvivlentní, jestliže přijímjí stejný jzyk, tj. L(M 1 ) = L(M 2 ). Vět Kždý konečný nedeterministický utomt M může ýt převeden n ekvivlentní konečný deterministický utomt M. Příkld BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 3/33 Převod NKA ndka δ M 0 1 q {q, q 0 } {q, q 1 } q 0 {q 0, q f } {q 0 } q 1 {q 1 } {q 1, q f } q f δ M 0 1 [q] [q, q 0 ] [q, q 1 ] [q, q 0 ] [q, q 0, q f ] [q, q 0, q 1 ] [q, q 1 ] [q, q 0, q 1 ] [q, q 1, q f ] [q, q 0, q f ] [q, q 0, q f ] [q, q 0, q 1 ] [q, q 1, q f ] [q, q 0, q 1 ] [q, q 1, q f ] [q, q 0, q 1 ] [q, q 0, q 1, q f ] [q, q 0, q 1, q f ] [q, q 0, q 1, q f ] [q, q 0, q 1, q f ] [q, q 0, q 1, q f ]

Převod NKA ndka BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 6/33 Homogenní konečný utomt BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 8/33 Jk velký může ýt výsledný DKA? BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 5/33 Převod NKA ndka Příkld M = ({z, f}, {, }, δ, z, {f}), kde δ: δ z {z, f} f {f} DKA M = ({[z], [f], [z, f]}, {, }, δ, [z], {[f], [z, f]}), kde δ : δ [z] [z, f] [z, f] [z, f] [f] [f] [f] [z] [z,f] 0 [f] Definice (Množiny cílových stvů) M = (Q, T, δ, q 0, F ). Pro liovolné T definujeme množinu cílových stvů pro symol T Q() Q tkto: Q() = {q : q δ(p, ), T, p, q Q}. Definice (Homogenní konečný utomt) M = (Q, T, δ, q 0, F ) Q() jsou množiny cílových stvů T. Jestliže pro všechny dvojice symolů, T,, pltí Q() Q() =, pk se utomt M nzývá homogenní. Q() = {q, r} Q() = {s, t, u} p BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 7/33 Homogenní konečný utomt Pro homogenní konečný utomt je souor množin {Q() : T } rozkld množiny stvů Q n třídy, který může mít jeden z těchto dvou tvrů: 1. 2. Q = T Q() {q 0 } v přípdě, že q 0 δ(q, ) pro žádné q Q žádné T, Q = T Q() v přípdě, že q 0 δ(q, ) pro nějké q Q, T. V tomto přípdě q 0 Q(). q s r t u

Homogenní konečný utomt BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 10/33 Homogenní konečný utomt BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 12/33 Vět Necht M = (Q, T, δ, q 0, F ) je homogenní nedeterministický konečný utomt. Pk počet stvů ekvivlentního deterministického konečného utomtu M = (Q, T, δ, q 0, F ) získného stndrdním postupem je dán vzthem: Q T(2 Q() ) T + 1. BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 9/33 Homogenní konečný utomt Příkld (pokrčování) Q() = {q, r}, Q() = {s, t, u} Q() Q() = proto DKA pro M = (Q, T, δ, q 0, F ) Q 2 Q() +2 Q() T +1 = 2 2 +2 3 2+1 = 4+8 2+1 = 11 Ekvivlentní deterministický konečný utomt je M = ({p, q, qr, s, t, st, stu, u, su, t, tu}, {, }, δ, p, {r, qr, u, su, tu, stu}), kde δ: p q s q qr st s q u qr qr stu st qr su u t stu qr stu su q tu t r s tu r st r u p q s qr st stu su tu u r BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 11/33 KA sjednocení jzyků t Příkld Je dán homogenní nedeterministický konečný utomt M = ({p, q, r, s, t, u}, {, }, δ, p, {r, u}), kde δ: p q s q q, r s, t r u s q u t r s u t p q s r t u Algoritmus Konstrukce konečného utomtu pro sjednocení jzyků ε-přechody. Vstup: Dv konečné utomty M 1 M 2. Výstup: Konečný utomt M, L(M) = L(M 1 ) L(M 2 ). Metod: 1. M 1 = (Q 1, T, δ 1, q 01, F 1 ), M 2 = (Q 2, T, δ 2, q 02, F 2 ). 2. M = (Q, T, δ, q 0, F ): () Q = Q 1 Q 2 {q 0 }, q 0 Q 1 Q 2, () δ(q 0, ε) = {q 01, q 02 }, δ(q, ) = δ 1 (q, ), q Q 1, T, δ(q, ) = δ 2 (q, ), q Q 2, T. 3. F = F 1 F 2.

KA sjednocení jzyků BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 14/33 KA sjednocení jzyků BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 16/33 Příkld M 1 = ({1, 2, }, {, }, δ 1, 1, {2}), L(M 1 ) = { + } M 2 = ({1, 2, }, {, }, δ 2, 1, {2 }), L(M 2 ) = { + } Příkld M 1 = ({1, 2, }, {, }, δ 1, 1, {2}), L(M 1 ) = { + } M 2 = ({1, 2, }, {, }, δ 2, 1, {2 }), L(M 2 ) = { + } δ 1 1 2 2 2 δ 2 1 2 2 2 δ 1 1 2 2 2 δ 2 1 2 2 2 q 0 1 1' 2 2' 0/ 0' / L(M) = { + + } M = ({(1, 1 ), (2, ), (, 2 ), (, )}, {, }, δ, (1, 1 ), {(2, ), (, 2 )}) δ (1, 1 ) (2, ) (, 2 ) (2, ) (2, ) (, ) (, 2 ) (, ) (, 2 ) (, ) (, ) (, ) BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 13/33 KA sjednocení jzyků BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 15/33 KA sjednocení jzyků Algoritmus Konstrukce konečného utomtu pro sjednocení jzyků prlelní činnost. Vstup: Dv úplně určené konečné utomty M 1 M 2. Výstup: Konečný utomt M, který přijímá jzyk L(M) = L(M 1 ) L(M 2 ). Metod: Oznčíme M = (Q 1, T, δ 1, q 01, F 1 ), M 2 = (Q 2, T, δ 2, q 02, F 2 ). Automt M je definován tkto: M = (Q 1 Q 2, T, δ, (q 01, q 02 ), (F 1 Q 2 ) (Q 1 F 2 )), kde δ: δ((q 1, q 2 ), ) = (δ 1 (q 1, ), δ 2 (q 2, )) pro (q 1, q 2 ) Q 1 Q 2. Příkld (pokrčování) 1,1' 2,0' / 0,0' / / 0,2' /

KA průnik jzyků BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 18/33 KA průnik jzyků BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 20/33 Algoritmus Konstrukce konečného utomtu pro průnik jzyků prlelní činnost. Vstup: Dv konečné utomty M 1 M 2. Výstup: Automt M přijímjící jzyk L(M) = L(M 1 ) L(M 2 ) Metod: 1. M 1 = (Q 1, T, δ 1, q 01, F 1 ), M 2 = (Q 2, T, δ 2, q 02, F 2 ). 2. Výsledný utomt M: M = (Q 1 Q 2, T, δ, (q 01, q 02 ), F 1 F 2 ), kde δ: δ((q 1, q 2 ), ) = (δ 1 (q 1, ), δ 2 (q 2, )) (q 1, q 2 ) Q 1 Q 2. Příkld (pokrčování) M = ({(1, 1 ), (2, 1 ), (3, 2 ), (4, 1 ), (4, 2 ), (4, 3 ), (4, 4 ), (, 1 ), (, 2 ), (, 3 ), (, 4 )}, {, }, δ, (1, 1 ), {(4, 4 )}) δ (1, 1 ) (2, 1 ) (, 2 ) (2, 1 ) (, 1 ) (3, 2 ) (, 1 ) (, 1 ) (, 2 ) (, 2 ) (, 3 ) (, 2 ) (, 3 ) (, 1 ) (, 4 ) (, 4 ) (, 3 ) (, 2 ) (3, 2 ) (4, 3 ) (, 2 ) (4, 3 ) (4, 1 ) (4, 4 ) (4, 1 ) (4, 1 ) (4, 2 ) (4, 2 ) (4, 3 ) (4, 2 ) (4, 4 ) (4, 3 ) (4, 2 ) BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 17/33 KA průnik jzyků Příkld M: L(M) = {w : w {, }, předpon w, přípon w}. M 1 přijímá řetězce zčínjící předponou, M 1 = ({1, 2, 3, 4, }, {, }, δ 1, 1, {4}) M 2 přijímá řetězce končící příponou, M 2 = ({1, 2, 3, 4 }, {, }, δ 2, 1, {4 }) δ 1 1 2 2 3 3 4 4 4 4 δ 2 1 1 2 2 3 2 3 1 4 4 3 2 BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 19/33 KA průnik jzyků Algoritmus Konstrukce konečného utomtu pro průnik jzyků jen dosžitelné stvy. Vstup: M 1 = (Q 1, T, δ 1, q 01, F 1 ), M 2 = (Q 2, T, δ 2, q 02, F 2 ). Výstup: M = (Q, T, δ, q 0, F ), L(M) = L(M 1 ) L(M 2 ). Metod: 1. Q = {(q 01, q 02 )}, Q new = {(q 01, q 02 )}. 2. Jestliže Q new = {}, jdi n krok 4. 3. Vyereme q = (q n1, q m2 ) z Q new : () určíme δ((q n1, q m2 ), ) = (δ 1 (q n1, ), δ 2 (q m2, )), T, () jestliže o přechody δ 1 (q n1, ) δ 2 (q m2, ) definovány, nevedou do (δ 1 (q n1, ), δ 2 (q m2, )) Q, pk Q = Q (δ 1 (q n1, ), δ 2 ( m2, )) Q new = Q new (δ 1 (q n1, ), δ 2 ( m2, )) (c) Q new = Q new \ {(q n1, q m2 )} (d) pokrčujeme krokem 2.

KA průnik jzyků BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 22/33 KA součin jzyků BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 24/33 Algoritmus (pokrčování): 2. q 0 = (q 01, q 02 ). 3. F = {q : q Q, q = (q n1, q m2 ), q n1 F, q m2 F }. Algoritmus Konstrukce konečného utomtu pro součin jzyků ε-přechody. Vstup: Dv konečné utomty M 1 M 2. Výstup: Konečný utomt M, L(M) = L(M 1 ).L(M 2 ). Metod: 1. M 1 = (Q 1, T 1, δ 1, q 01, F 1 ), M 2 = (Q 2, T 2, δ 2, q 02, F 2 ). 2. Výsledný utomt M = (Q, T, δ, q 01, F 2 ) je zkonstruován tkto: () Q = Q 1 Q 2, () δ(q, ) = δ 1 (q, ) pro všechn q Q 1 T 1, δ(q, ) = δ 2 (q, ) pro všechn q Q 2 T 2, δ(q, ε) = q 02 pro všechn q F 1. BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 21/33 KA doplněk jzyk Konečný utomt, který přijímá doplněk jzyk do T : M = (Q, T, δ, q 0, F ) přijímá jzyk L. M = (Q, T, δ, q 0, Q \ F ) přijímá jzyk T \ L. BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 23/33 KA součin jzyků Příkld Sestrojíme konečný utomt pro součin jzyků + +. M = ({1, 2, 1, 2 }, {, }, δ, 1, {2 }) Automt M je úplně určený deterministický. 1 2 1 2

KA součin jzyků BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 26/33 KA součin jzyků BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 28/33 Algoritmus Konstrukce konečného utomtu pro součin jzyků prlelní činnost. Vstup: Dv konečné utomty M 1 M 2. Výstup: Konečný utomt M, L(M) = L(M 1 ).L(M 2 ). Metod: 1. M 1 = (Q 1, T 1, δ 1, q 01, F 1 ), M 2 = (Q 2, T 2, δ 2, q 02, F 2 ). 2. Sestrojíme { NKA M = (Q 1 Q 2 {q 0 }, T 1 T 2, δ, q 0, F ), q 01, jestliže q 01 F 1, q 0 = [q 01, q 02 ], jestliže q 01 F 1, () δ(q, x) = δ 1 (q, x), jestliže q Q 1, δ 1 (q, x) F 1, () δ(q, x) = δ 1 (q, x) {q 02 }, jestliže q Q 1, δ 1 (q, x) F 1, (c) δ(q, x) = δ 2 (q, x), jestliže q Q 2, (d) δ(q, x) = δ 1 (q 01, x) δ 2 (q 02, x), jestliže q = [q 01, q 02 ]. (e) Jestliže q 01 F 1, pk F = F 2. Jestliže q 01 F 1 q 02 F 2, pk F = F 2 {[q 01, q 02 ]}. BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 25/33 KA součin jzyků Algoritmus (pokrčování): 3. Sestrojíme deterministický konečný utomt M. Příkld Sestrojíme utomt, který přijímá jzyk + +. M 1 = ({1, 2, }, {, }, δ 1, 1, {2}), L(M 1 ) = { + } M 2 = ({1, 2, }, {, }, δ 2, 1, {2 }), L(M 2 ) = { + } δ 1 1 2 2 2 δ 2 1 2 2 2 M = ({1, 2,, 1, 2, }, {, }, δ, 1, {2 }). Získný NKA M převedeme n ekvivlentní DKA. δ 1 {2, 1 } 2 {2, 1 } 1 {2 } 2 {2 } BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 27/33 KA iterce jzyk Algoritmus Konstrukce konečného utomtu pro iterci jzyk s ε-přechody. Vstup: Konečný utomt M = (Q, T, δ, q 0, F ), který přijímá jzyk L. Výstup: Konečný utomt M, který přijímá jzyk L. Metod: Sestrojme konečný utomt M = (Q, T, δ, q 0, F {q 0 }), kde zorzení δ je definováno tkto: δ (q, x) = δ(q, x) pro všechn q Q všechn x T, δ (q, ε) = {q 0 } pro všechn q F, δ (q 0, ε) = {q 0}.

KA iterce jzyk BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 30/33 KA iterce jzyk BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 32/33 Příkld Sestrojíme konečný utomt, který přijímá iterci jzyk. Je dán utomt M, který přijímá všechny řetězce tvru. 0 1 Výsledný utomt má tvr M = ({0, 0, 1, 2}, {, }, δ, 1, {0, 2}): 0 ε 0 1 2 ε BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 29/33 KA iterce jzyk Algoritmus Konstrukce konečného utomtu pro iterci jzyk ez ε-přechodů. Vstup: Konečný utomt M = (Q, T, δ, q 0, F ), který přijímá jzyk L. Výstup: Konečný utomt M, který přijímá jzyk L. Metod: 1. Sestrojíme nedeterministický konečný utomt M = (Q, T, δ, q 0, F {q 0 }), kde zorzení δ je definováno tkto: δ (q 0, x) = δ(q 0, x). δ (q, x) = δ(q, x) jestliže q Q, δ(q, x) F =. δ (q, x) = δ(q, x) {q 0 } jestliže q Q, δ(q, x) F. 2. K utomtu M sestrojíme deterministický konečný utomt M. 2 Příkld Je dán utomt M, který přijímá všechny řetězce tvru. 0 1 Automt, který přijímá iterci jzyk, tj. jzyk ( ) : Deterministický konečný utomt: 0 0 0 1 2 1 2 BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 31/33 Minimlizce DKA Algoritmus Minimlizce DKA Vstup: DKA M = (Q, T, δ, q 0, F ), který přijímá jzyk L. Výstup: Minimální DKA M = (Q m, T, δ m, q 0m, F m ), který přijímá jzyk L. Metod: 1. Rozděl stvy Q n dvě skupiny Q I = Q \ F, Q II = F. 2. Vytvoř tulku δ, kde pro kždý stv q Q je jeden řádek δ (Q i, ) = Q j, q Q i, δ(q, ) Q j, T. (V tulce nhrd stvy skupinmi, do kterých náleží.) 3. Jestliže v nějké skupině Q i nejsou všechny řádky stejné, rozděl tuto skupinu tk, y kždá měl shodné řádky pro všechny své členy. 4. Pokrčuj odem 2 dokud se skupiny dělí. 5. Q m jsou všechny vytvořené skupiny, F m jsou všechny vytvořené skupiny koncových stvů, δ m je poslední tulk vzniklá v odě 2, q 0m je skupin oshující q 0. 2

Minimlizce DKA Příkld Minimlizujte následující DKA. stv vstupní symol δ q 0 q 5 q 1 q 1 q 4 q 3 q 2 q 2 q 5 q 3 q 3 q 0 q 4 q 1 q 2 q 5 q 0 q 4 BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 33/33