Vzth mezi reg. výrzy kon. utomty Automty grmtiky(bi-aag) 7. Převody mezi reg. grm., reg. výrzy kon. utomty Jn Holu Algoritmus (okrčování): 6. Zorzení δ: () δ(, x) oshuje x i, x i Z. () δ(x i, y) oshuje y j, x i y j P 7. Množin F je množinou koncových stvů. Ktedr teoretické informtiky Fkult informčních technologií ČVUT v Prze c Jn Holu, 2 Evroský sociální fond. Prh & EU: Investujeme do vší udoucnosti BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. /46 Vzth mezi reg. výrzy kon. utomty Algoritmus Konstrukce KA ro dný regulární výrz metod sousedů, Glushkov Vstu: Regulární výrz V. Výstu: Konečný utomt M = (Q, T, δ,, F ), h(v ) = L(M). Metod:. Očíslujeme čísly, 2,..., n všechny výskyty symolů z T ve výrzu V. Vzniklý regulární výrz oznčíme V. 2. Množin zčátečních symolů Z = {x i : x T, symolem x i může zčínt nějký řetězec z h(v )}. 3. Množinu sousedů P = {x i y j : symoly x i y j mohou ýt vedle see v nějkém řetězci z h(v )}. 4. Množinu koncových symolů F = {x i : symolem x i může končit nějký řetězec z h(v )} { : ε h(v )}. 5. Q = { } {x i : x T, i, n }. BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 3/46 Vzth mezi reg. výrzy kon. utomty Příkld V = + c +, T = {,, c}. V = 2 3 + 4 c 5 + 6 7 8, Z = {, 4, 6, 7 }. P = { 2, 3, 2 2, 2 3, 4 c 5, 6 6, 6 7, 7 8, 8 8 }. F = { 3, c 5, 7, 8 }. M = ({,, 2, 3, 4, c 5, 6, 7, 8 }, {,, c}, δ,, { 3, c 5, 7, 8 }) 2 3 c 4 c 5 BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 2/46 6 7 8 BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 4/46
Vzth mezi reg. výrzy kon. utomty BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 6/46 Vzth mezi reg. výrzy kon. utomty BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 8/46 Algoritmus Konstrukce DKA ro dný regulární výrz metod derivcí, Jnusz A. Brzozowski. Vstu: Regulární výrz V nd ecedou T. Výstu: Konečný utomt M = (Q, T, δ,, F ), h(v ) = L(M). Metod:. Q = {V }, Q = {V }, i :=. 2. Q i = { du d : U Q i, T } \ Q. 3. Jestliže Q i, Q = Q Q i, i := i +, jdi n krok 2. Jestliže Q i =, vytvoříme utomt M tkto: M = (Q, T, δ, V, F ), δ( du du dx, ) = d(x). Množin F = { du dx : ε h(du dx )}. Příkld (okrčování) 4. stv x = ( + ), stv y = ( + ) + ε, očáteční stv je x, koncový stv je y, rotože ε h(( + ) + ε) dx d = y, dx d = x, dy d x = y, dy d = x, y BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 5/46 Vzth mezi reg. výrzy kon. utomty Příkld ( + ). Položíme Q = {( + ) }, Q = {( + ) }. 2. Vyočteme Q : d d (( + ) ) = ( + ε)( + ) + ε = ( + ) + ε d d (( + ) ) = (ε + )( + ) + = ( + ). Protože d d (( + ) ) = ( + ), ude Q = {( + ) + ε} Q = {( + ), ( + ) + ε}. 3. Vyočteme Q 2 : d d (( + ) + ε) = ( + ε)( + ) + ε + = ( + ) + ε d d (( + ) + ε) = (ε + )( + ) + = ( + ). Protože o výrzy již jsou v množině Q, je množin Q 2 rázdná. BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 7/46 Vzth mezi reg. výrzy kon. utomty Algoritmus Konstrukce KA ro dný regulární výrz ostuná konstrukce, Ken Thomson. Vstu: Regulární výrz V nd ecedou T. Výstu: Konečný utomt M = (Q, T, δ,, F ), h(v ) = L(M). Metod:. Sestrojíme KA ro elementární regulární výrzy: () Pro regulární výrz V = : () Pro regulární výrz V = ε: (c) ro regulární výrz V = : 2. Pro části regulárního výrzu tvru V = V + V 2, V = V V 2, V = V sestrojíme konečné utomty omocí říslušných lgoritmů.
Vzth mezi reg. výrzy kon. utomty BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. /46 Vzth mezi kon. utomty reg. výrzy BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 2/46 Příkld V = +. Potřené elementární výrzy jsou: 2 3 4 Vět Pro kždý konečný utomt M lze sestvit regulární výrz V tkový, že L(M) = h(v ). Dále sestrojíme utomt ro výrz : 3 4 Pro výrz má konečný utomt tvr: 2 3 4 ' 2' BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 9/46 Vzth mezi reg. výrzy kon. utomty BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. /46 Vzth mezi kon. utomty reg. výrzy Příkld (okrčování) Pro výrz má konečný utomt tvr: 2 3 4 Pro výrz V = + : 2 4 3 5 Definice Rozšířený konečný utomt M = (Q, T, γ,, F ), kde Q je konečná množin vnitřních stvů, T je konečná vstuní eced, γ je zorzení z Q Q do R T, Q je očáteční stv, F Q je množin koncových stvů. γ(, ) =, když řechod z do není definován. Definice Jzyk řijímný rozšířeným konečným utomtem M je L(M) = {x : x T, x = x x 2... x n existuje oslounost stvů,,..., n, n F tková, že x h(γ(, )), x 2 h(γ(, 2 )),..., x n h(γ( n, n ))}.
Vzth mezi kon. utomty reg. výrzy BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 4/46 Vzth mezi kon. utomty reg. výrzy BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 6/46 Vět Necht M = (Q, T, γ,, F ) je rozšířený konečný utomt. Předokládejme, že není ni očáteční ni koncový stv. Potom ekvivlentní rozšířený konečný utomt M = (Q \ {}, T, γ,, F ), kde zorzení γ je definováno ro kždou dvojici, r (Q \ {}) tkto: γ (, r) = γ(, r) + γ(, )γ(, ) γ(, r). Druhý člen ve výrzu γ (, r) = γ(, r) + γ(, )γ(, ) γ(, r) se neultní tehdy, když γ(, ) = neo γ(, r) =. BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 3/46 Vzth mezi kon. utomty reg. výrzy BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 5/46 Vzth mezi kon. utomty reg. výrzy Příkld s + s r r s r s Algoritmus Sestrojení regulárního výrzu ro dný KA elimince stvů. Vstu: Konečný utomt M = (Q, T, δ,, F ). Výstu: Regulární výrz V tkový, že h(v ) = L(M). Metod:. Sestrojíme M R = (Q, T, γ,, F ), kde γ(, ) = {}, T {ε}, když δ(, ) oshuje. 2. Automt M R rozšíříme: () Jestliže očáteční stv F neo γ(, ), k Q = Q { } γ(, ) = ε. ude očáteční stv. () Jestliže F >, k Q = Q {f} γ (, f) = ε, F. Množin konc. stvů F = {f}. Po těchto úrvách ude M R = (Q, T, γ,, F ).
Vzth mezi kon. utomty reg. výrzy BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 8/46 Vzth mezi kon. utomty reg. výrzy BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 2/46 Algoritmus (okrčování): 3. Jestliže Q = {, f}, k regulární výrz je γ (, f)γ (f, f). Konec. Jink okrčuj krokem 4. 4. Vyer Q, {, f}. Q = Q \ {} γ jsou odovídjícím zůsoem urveny. Pokrčuj krokem 3. Příkld (okrčování) Nkonec vynecháme stv. +() * f (+() * ) * Výsledný regulární výrz je V = ( + () ). f BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 7/46 Vzth mezi kon. utomty reg. výrzy Příkld M = ({,, r}, {, }, δ,, {}) r Sestrojíme rozšířený konečný utomt řidáme nový očáteční koncový stv. V dlším kroku vynecháme stvy r. f r f f +() * r BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 9/46 Vzth mezi kon. utomty reg. výrzy Algoritmus Sestrojení reg. výrzu ro dný konečný utomt řešení regulárních rovnic, říchozí řechody Vstu: Konečný utomt M = (Q, T, δ,, F ). Výstu: Regulární výrz V, h(v ) = L(M). Metod:. Pro kždý stv z Q: X = X + X 2 2 + + X n n, když δ( i, i ). V řídě, že je očáteční stv, řidáme ε. 2. Soustvu levých regulárních rovnic řešíme Gussovou elimincí. 3. Výsledný regulární výrz: V = X + X 2 +... + X n, jestliže i F, i =, 2,..., n.
Vzth mezi kon. utomty reg. výrzy BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 22/46 Vzth mezi kon. utomty reg. výrzy BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 24/46 Příkld M = ({, }, {, }, δ,, {}) Příkld X = X + X + ε X = X + X X = X X = X + X + ε = X ( + ) + ε Výsledný regulární výrz: V = X = ( + ) X = X + X + ε X = X + X Vyjádříme neznámou X : X = X Dosdíme z X do rvní rovnice: X = X + X + ε X = ( + )X + ε Vyjádříme neznámou X X = ( + ) = V BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 2/46 Vzth mezi kon. utomty reg. výrzy Algoritmus Sestrojení reg. výrzu ro dný konečný utomt řešení regulárních rovnic, odchozí řechody Vstu: Konečný utomt M = (Q, T, δ,, F ). Výstu: Regulární výrz V, h(v ) = L(M) Metod:. Pro kždý stv z Q: X = X + 2 X 2 +... + n X n, když i δ(, i ). V řídě, že je koncový stv, řidáme ε. 2. Vzniklou soustvu rvých regulárních rovnic řešíme Gussovou elimincí. 3. Výsledný regulární výrz je výrz ro očáteční stv (ro roměnnou X ). BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 23/46 Vzth mezi kon. utomty reg. výrzy Algoritmus Sestrojení regulárního výrzu ro dný konečný utomt metod integrálu. Vstu: Úlný DKA M = (Q, T, δ,, F ). Výstu: Regulární výrz V, h(v ) = L(M). Metod:. Pro kždý stv njdeme nejkrtší řetězec x, ro který existuje cest ze stvu do stvu ; x = ε. 2. Usořádná oslounost výrzů dx = Y odle délky minimálních řetězců x očínje řetězcem x. 3. Vytvoříme strom ro všechny derivce odle x, Q: () x o = ε: V = dε = () i T, x, Q, řidáváme hrny ohodnocené symoly i vedoucí do uzlů Y i = dx i = δ(, i ) Jestliže δ(, i ) je nulový stv, k Y i =.
Vzth mezi kon. utomty reg. výrzy BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 26/46 Vzth mezi kon. utomty reg. výrzy BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 28/46 Algoritmus (okrčování): 4. Pro oslední minimální řetězec v usořádání odle kroku 2 rovedeme integrci výrzů, kterými jsou ohodnoceni jejich následníci. 5. Jestliže uzel odovídjící stvu i má následníky, ro které jsme v kroku 4 nšli hodnoty integrálů, 2,..., k odle, 2,..., k, k sestrojíme rovnici: i = + 2 2 +... + k k + ε, když i F, i = + 2 2 +... + k k, jink. Tuto rovnici vyřešíme odstrníme ze stromu uzly, ro které jsme rovedli integrci. 6. Okujeme kroky 4 5 ro kždý minimální řetězec odle usořádání z kroku 2, dokud není integrce ukončen. 7. Výsledkem je regulární výrz ro očáteční stv. BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 25/46 Vzth mezi kon. utomty reg. výrzy Příkld M = ({,, 2, 3, 4, 5 }, {, },, δ, { 3 }). Dolníme nulový stv = 5. Příkld (okrčování). Nejkrtší řetězce ro jednotlivé stvy jsou tyto: x = ε, x =, x 5 =, x 2 =, x 3 =, x 4 =. 2. Usořádná oslounost výrzů je tto: Y = dε = V, Y = d, Y 5 = d =, Y 2 = d, Y 3 = d, Y 4 = d. BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 27/46 Vzth mezi kon. utomty reg. výrzy Příkld (okrčování) Y = dε = V, Y = d, Y 5 = d =, Y 2 = d, Y 3 = d, Y 4 = d. 3. Strom vytvořený v kroku 3. dε = V = d = / d = d = 2 d = 3 5 2 4 3 d = d = / d = 4 d = 3 d = / d = 3
Vzth mezi kon. utomty reg. výrzy BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 3/46 Vzthmezi reg.grm. reg. výrzy BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 32/46 Příkld (okrčování) 4. Provedeme integrci d d d d = d = =, d d = 3 d = 3. 5. Rovnice má tvr: 4 = 3 + Dále okujeme kroky 4 5: d d = 4 d = 3 d = 3, d d = 3 d = 3, 3 = 3 + 3 + ε = ( + ) 3 + ε = ( + ), d d = d = d d = d = =, 2 = + Vět Pro kždou regulární grmtiku G = (N, T, P, S) lze sestrojit regulární výrz V tkový, že L(G) = h(v ). Definice Rozšířená (rvá) regulární grmtik je čtveřice G = (N, T, P, S), kde N je konečná množin neterminálních symolů, T je konečná množin terminálních symolů, P je množin rvidel tvru A αb neo A α, A, B N, α R T, S N je očáteční symol. BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 29/46 Vzth mezi kon. utomty reg. výrzy Příkld (okrčování) d d = 2 d = d = d d = 3 d = ( + ) d = ( + ) = + ( + ) = () ( + ) d d = d = = d d = d = () ( + ) d = () ( + ) = () ( + ) + 6. L(M) = h(v ) = () ( + ) BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 3/46 Vzthmezi reg.grm. reg. výrzy Pro jednoduchost udeme ředokládt, že v rozšířené regulární grmtice jsou nejvýše dvě rvidl tvru A αb neo A α. Úrv: Dvojici rvidel A αb, A βb nhrdíme rvidlem A (α + β)b. Definice Jzyk generovný rozšířenou regulární grmtikou L(G) = {x : x T, x = x x 2... x n existuje derivce S α A α 2 A 2... α n A n α n tková, že x i h(α i ), i n}.
Vzthmezi reg.grm. reg. výrzy BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 34/46 Vzthmezi reg.grm. reg. výrzy BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 36/46 Vět Necht G = (N, T, P, S) je rozšířená regulární grmtik. Předokládejme, že neterminální symol A není očáteční symol. Potom ekvivlentní rozšířená regulární grmtik G = (N \ {A}, T, P, S), kde rvidl v P vytvoříme tkto: Jsou-li v grmtice G rvidl: B α C B α 2 A A α 3 A A α 4 C, k v grmtice G udou v P rvidl: B (α + α 2 α 3 α 4)C. Algoritmus Sestrojení regulárního výrzu ro dnou regulární grmtiku elimince neterminálních symolů. Vstu: Prvá regulární grmtik G = (N, T, P, S). Výstu: Regulární výrz V tkový, že h(v ) = L(G). Metod:. Rozšířená rvá regulární grmtik G R = (N, T, P R, S) ekvivlentní G. Všechny n-tice rvidel tvru A α B, A α 2 B,..., A α n B nhrdíme rvidlem A (α + α 2 +... + α n )B, kde A N, B N {ε}. BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 33/46 Vzthmezi reg.grm. reg. výrzy Poznámk: Pokud některé z uvedených rvidel se v grmtice G nevyskytuje, k je nhrzeno rvidlem X Y, kde X {A, B, C}, Y {A, C}. Odovídjící rvidl neudou ni v G. Nříkld okud ude v G chyět rvidlo A α 4 C, nhrdíme jej rvidlem A C otom rvidlo B (α + α 2 α 3 )C degeneruje n rvidlo B α C. BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 35/46 Vzthmezi reg.grm. reg. výrzy Algoritmus (okrčování): 2. Grmtiku G R rozšíříme dále tkto: () nový očáteční symol S / N řidáme S S, () nový koncový neterminální symol F / N, všechn rvidl tvru A α nhrdíme rvidly A αf řidáme F ε. G R = (N, T, P R, S ), kde N = N {S, F }, P R = {A αb : A αb P R} {A αf : A α P R } {S S, F ε}. 3. Jestliže N = {S } P R = {S αf, F ε}, k V = α lgoritmus končí. Jink se okrčuje krokem 4. 4. Vyereme A N tkový, že A / S. N = N \ {A} rvidl P R jsou odovídjícím zůsoem urven. Pokrčujeme krokem 3.
Vzthmezi reg.grm. reg. výrzy BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 38/46 Vzthmezi reg.grm. reg. výrzy BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 4/46 Příkld G = ({S, A, B}, {, }, P, S), kde P : S A S ε A B B A S. S S, S nový neterminální symol S ε nhrdíme rvidlem S F ro F dolníme rvidlo F ε. G R = ({S, S, A, B, F }, {, }, P, S ): S S S A S F A B B A S F ε. Algoritmus Sestrojení regulárního výrzu ro dnou regulární grmtiku Vstu: Regulární grmtik G = (N, T, P, S). Výstu: Regulární výrz V tkový, že h(v ) = L(G). Metod:. Pro kždý neterminální symol z N sestrojíme regulární rovnici. 2. Vzniklou soustvu regulárních rovnic řešíme Gussovou elimincí ro očáteční symol grmtiky S. BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 37/46 Vzthmezi reg.grm. reg. výrzy Příkld (okrčování) Vyloučíme symol A. G R = ({S, S, B, F }, {, }, P, S ): S S S B S F B B S F ε. Vyloučíme symol B. G 2 R = ({S, S, F }, {, }, P 2, S ): S S S ( + () )S F F ε. Vyloučíme symol S. V = ( + () ) S ( + () ) F F ε. BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 39/46 Vzthmezi reg.grm. reg. výrzy Příkld G = ({S, A}, {, }, P, S), P : S S A A S A Soustv regulárních rovnic má tvr: S = S + A + A = S + A + Soustvu vyřešíme elimincí: S = (A + ) = (A + ε) A = A + + A + A = ( + )A + + A = ( + ) ( + ) S = (( + ) ( + ) + ε) = ( + ) Výsledný regulární výrz oisující jzyk L(G) má tvr: S = ( + )
Vzthmezi reg.výrzyreg. grm. BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 42/46 Vzthmezi reg.výrzyreg. grm. BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 44/46 Vět Pro kždý regulární výrz V lze sestrojit regulární grmtiku G tkovou, že L(G) = h(v ). Příkld ( + ε). G = ({A}, {}, {A }, A) G = ({B}, {}, {B }, B). 2. G ε = ({E},, {E ε}, E). 3. Postuně sestrojíme grmtiky ro jzyky, které jsou hodnotou výrzů, + ε, ( + ε) : G() = ({A, B}, {, }, {A B, B }, A) G( + ε) = ({N, A, B, E}, {, }, P, N ), kde P : N A E, E ε, A B, B. G(( + ε) ) = ({N 2, N, A, B, E}, {, }, P 2, N 2 ), kde P 2 : N 2 N ε, N A E, E N 2, A B, B N 2. BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 4/46 Vzthmezi reg.výrzyreg. grm. Algoritmus Konstrukce rvé regulární grmtiky ro dný regulární výrz ostuná konstrukce. Vstu: Regulární výrz V nd ecedou T. Výstu: G = (N, T, P, S), L(G) = h(v ) Metod:. T sestrojíme grmtiky: G = ({A}, {}, {A }, A). 2. Sestrojíme grmtiku G ε = ({E},, {E ε}, E). 3. Grmtiky ro odvýrzy tvru x + x 2, x x 2, x, okud jsme již sestrojili grmtiky ro odvýrzy x, x 2. 4. Vyloučíme ε-rvidl jednoduchá rvidl. BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 43/46 Vzthmezi reg.výrzyreg. grm. Příkld (okrčování) 4. Vyloučíme ε-rvidl ( ) N ε = {N 2, E, N } : N 2 N 2 ε, N 2 N, N A E, E N 2, A B, B N 2. Dále vyloučíme jednoduchá rvidl: N N2 = {N 2, N 2, N, A, E}, N N2 = {N 2, N, A, E}, N N = {A, E, N 2, N }, N E = {E, N 2, N, A}, N A = {A}, N B = {B} dostneme rvidl: N 2 ε B, N 2 B, N B, E B, A B, B N 2. Symoly N, E, A jsou zytečné: G = ({N 2, N 2, B}, {, }, P, N 2 ), kde P: N 2 ε B, B N 2, N 2 B
Vzthmezi reg.výrzyreg. grm. Vzthmezi reg.výrzyreg. grm. Algoritmus Konstrukce rvé regulární grmtiky ro dný regulární výrz metod derivcí. Vstu: Regulární výrz V nd ecedou T. Výstu: G = (N, T, P, S), L(G) = h(v ). Metod:. N = {V }, N = {V }, i =. 2. Vytvoříme derivce všech výrzů z N i odle všech symolů z ecedy T. Do množiny N i vložíme všechny výrzy vzniklé derivcí výrzů z N i. 3. Jestliže N i, řidáme N i do N, i = i + řejdeme n krok 2. Jink vytvoříme grmtiku G = (N, T, P, V ), kde P: dx d(x) řidáme do P. dx řidáme do P v řídě, že ε h ( d(x) ). V ε řidáme do P v řídě, že ε h(v ). Příkld ( + ε). N = {( + ε) }, N = {( + ε) }, i =. 2. 3. d(+ε) d d(+ε) d =( + )( + ε) = ( + ε) = ( + )( + ε) = N = {( + ε) }, N = {( + ε), ( + ε) }. d((+ε) ) d = d((+ε) ) d = ε( + ε) = ( + ε) N 2 =, N = {( + ε), ( + ε) } Oznčíme-li A = ( + ε), B = ( + ε), dostneme grmtiku G = ({A, B}, {, }, P, A), kde P oshuje rvidl: A B ε B A BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 45/46 BI-AAG (2/22) J. Holu: 7. Převody mezi reg. grm., reg. výrzy kon. utomty. 46/46