Paso básco: Expresones Regulares Ø es una expresón regular es una expresón regular s Σ, s es una expresón regular Paso de nduccón: unón, concatenacón y clausura S y β son expresones regulares β es una expresón regular β es una expresón regular (ó smplemente denotada β ) * es una expresón regular Delmtadores: (, ) s no pertenecen al alfabeto: S es una expresón regular entonces () es Lenguaje defndo por una ER Paso básco: Ø es una ER que denota el lenguaje L(Ø) =Ø es una ER que denota el lenguaje L() ={} s Σ, s es una ER que denota L(s) ={s} Paso de nduccón: S y β son expresones regulares β es una ER y L( β)= L() L(β) β es una ER y L( β)= L() L(β) * es una ER y L(*)= L()* S es una expresón regular entonces () es una expresón regular y L(()) = L() Tema 2: Lenguajes regulares 25 una expresón regular Tema 2: Lenguajes regulares 26 Lenguajes regulares LOS LENGAJES REGLARES SON LOS LENGAJES DENOTADOS POR LAS EXPRESIONES REGLARES EJEMPLO: Σ={0,...,9,.,, E } [ Nota: β denotada β ] DIGITO = 0 1 2 3 4 5 6 7 8 9 NATRAL = ( DIGITO ) * DIGITO ENTERO = NATRAL NATRAL COMA = ENTERO ( ENTERO ). NATRAL ENTERO.( NATRAL ) COMA-FLOTANTE = COMA ( E ENTERO ) L( COMA-FLOTANTE ) es el lenguaje de los números en coma flotante a*bba Ejemplos de expresones regulares denota el lenguaje: L = {a}*. {b}. {b}. {a} = {, a, aa,... }. {bba} = {bba, abba, aabba, aaabba,...} (10)* (01)* denota el lenguaje: (10 01)* L = L1 L2 = {,10, 1010,... } {,01, 0101,... } = {,10, 01,1010, 0101,... } denota el lenguaje: L = {10, 01}* = {,10, 01, 1010, 1001, 0110, 0101,... } Lenguaje formado por las cadenas de {a,b} con tres a s exactamente: b*ab*ab*ab* Tema 2: Lenguajes regulares 27 Tema 2: Lenguajes regulares 28
Cálculo del lenguaje regular defndo por una GLD ENTRADA: G=(N,Σ,S,P) gramátca lneal a la derecha SALIDA: Lenguaje denotado por la expresón regular = L S PLANTEAR el sstema de ecuacones auto-referentes RESOLVER dcho sstema: Elmnar ncógntas y ecuacones, despejando en una ecuacón y susttuyendo en las demás Hasta obtener el valor L S del lenguaje expresado por S PROPOSICIÓN 6: L(GRD) = L(GLD) L(ER) Los lenguajes generados por las gramátcas regulares / lneales a la derecha son lenguajes regulares (denotados por una ER) Sstema de ecuacones defndo por una GLD ENTRADA: G=(N,Σ,A 0,P) gramátca lneal a la derecha, N={A 0,...,A n } SALIDA: Sstema de ecuacones auto-referentes A0 00 M = 0 An n0 0 j j nj 0n A0 z0 n M M nn An zn Obtencón de la ecuacón -ésma: A = 0 A 0... n A n z = A β j = A wa P w j z = A w P w Tema 2: Lenguajes regulares 29 Tema 2: Lenguajes regulares 30 Ejemplo de sstema de ecuacones Resolucón del sstema de ecuacones Gramátca Lneal: S aas bs aba ba b A aa bba Cualquer ecuacón auto-referente: tene como solucón el lenguaje: A = A β L = * β Sstema de ecuacones: S = (aa b)s (ab b)a b = (aa b)s β S A= S aa bba = aa β A En el ejemplo anteror: S aas bs aba ba b A aa bba A= aa bba L A = a*bba S=(aa b)s (ab b)a b L S = (aa b)* ( (ab b) L A b ) β S = (aa b)* ( (ab b)a*bba b ) Tema 2: Lenguajes regulares 31 Tema 2: Lenguajes regulares 32
Autómata fnto no determnsta con transcones vacías (-AFND) Defncón formal: M = (Q, Σ, δ, q0, F) con δ: Q (Σ {}) (Q) Funcón de transcón extendda: δ* : Q Σ* (Q ) δ* (q, ) = δ* (q, ws) = C (q ) * p δ (q, w) C ( δ (p, s)) Clausura de q: todos los estados conectados a través de con q. q C(q) p C(q) δ(p, ) C(q) Clausura de un conjunto de estados: C({q1, qn})= C(q1) C(qn) Autómata fnto no determnsta con transcones vacías (-AFND) Confguracón: (q, w) Q Σ* Movmento: (p, u) (q, v) s y solo s u = v y q δ(p, ) Lenguaje aceptado: ó u = s.v y q δ(p, s) L(M) = { w Σ*: p F y (q0, w) * (p, ) } = { w Σ*: δ*(q0, w) F } Tema 2: Lenguajes regulares 33 Tema 2: Lenguajes regulares 34 Relacón entre ER y -AFND Relacón entre ER y -AFND PROPOSICIÓN 7: L(ER) L(-AFND ) Sea una expresón regular. Exste un -AFND M = (Q, Σ, δ, q0, F) tal que L(M) = L() DEMOSTRACIÓN: Podemos suponer (sn pérdda de generaldad) que el -AFND tene estado aceptador únco, sn transcones de salda y que su estado ncal no tene transcones de entrada. Por nduccón sobre 1) Paso básco: = M = ( {, }, Σ, δ,, { } ) L(M) = {x: (,x) -*(,)} = = L() = = s, s Σ M = ( { }, Σ, δ,, { } ) L(M)={x: (,x) -* (, )} = {} = L() M = ( {, }, Σ, δ,, { } ) L(M)={x: (,x) -* (, )} = {s} = L() s Tema 2: Lenguajes regulares 35 Tema 2: Lenguajes regulares 36
Relacón entre ER y -AFND Relacón entre ER y -AFND 2) Paso de nduccón: Sean β y γ expresones regulares, M 1 y M 2 -AFND s con estado fnal únco sn transcones tales que L(β)=L(M 1 ) y L(γ)=L(M 2 ) = β γ M = ( Q 1 Q 2 {, }, Σ, δ,, { } ) = β γ q 1 M1 f 1 δ (, ) = {q 1, q 2 } δ ( q, s ) = δ 1 (q, s ) q Q 1 - { f 1 } s Σ { } δ ( q, s ) = δ 2 (q, s ) q Q 2 - { f 2 } s Σ { } δ ( f 1, ) = δ (f 2, ) = { } q 2 M 2 f 2 L(M) = L(β) L(γ) = L() Tema 2: Lenguajes regulares 37 Tema 2: Lenguajes regulares 38 Relacón entre ER y -AFND Relacón entre ER y -AFND = βγ = β* q 1 1 q 2 M f 1 2 M f 2 q 1 M 1 f f 1 0 M = ( Q 1 Q 2, Σ, δ, q 1, {f 2 } ) δ ( q, s ) = δ 1 (q, s ) q Q 1 - { f 1 } s Σ { } δ ( f 1, ) = { q 2 } δ ( q, s ) = δ 2 (q, s ) q Q 2 s Σ { } L(M)=L(β) L(γ) = L() M = ( Q 1 {, }, Σ, δ,, { } ) δ (, ) = δ ( f 1, ) = {q 1, } δ ( q, s ) = δ 1 (q, s ) q Q 1 - { f 1 } s Σ { } L(M) = L(β)* = L() Tema 2: Lenguajes regulares 39 Tema 2: Lenguajes regulares 40
Relacón entre -AFND y AFD PROPOSICIÓN 8: L(-AFND ) L(AFD) Todo lenguaje reconocdo por un -AFND es reconocdo por un AFD DEMOSTRACIÓN: Sea L = L(M) un lenguaje reconocdo por un -AFND M = ( Q, Σ, δ, q0, F ) Construmos el sguente AFD: N = ( P, Σ, γ, p0, G ) con P (Q) p0= C(q0) γ(p, s) = q p C(δ(q,s)) G = {p P: p F Ø} Tema 2: Lenguajes regulares 41 Relacón entre -AFND y AFD Lema: γ*(p0, x) = δ*(q0, x) Se demuestra por nduccón sobre la palabra x γ*(p0, ) = p0 = C(q0) y δ*(q0, ) = C(q0) γ*(p0, ws) = γ((γ*(p0, w), s) = γ((δ*(q0, w), s) = q δ*(q0, w) C(δ(q, s)) = δ*(q0, ws) A partr del lema anteror se demuestra que L(N) = L(M). x L(N) γ*(p0, x) G δ*(q0, x) G δ*(q0, x) F Ø x L(M) Tema 2: Lenguajes regulares 42 Relacón entre AFND y AFD Todas las relacones estudadas COROLARIO: L(AFND ) L(AFD) Todo lenguaje reconocdo por un AFND es reconocdo por un AFD DEMOSTRACIÓN: Es un caso partcular de la proposcón 8, para AFND sn La construccón es la msma, sn tener que hacer las clausuras: Dado el AFND M = ( Q, Σ, δ, q0, F ), construmos el AFD: N = ( P, Σ, γ, p0, G ) con P (Q) p0 = {q0} γ(p, s) = q p δ(q,s) G = {p P: p F Ø} Tema 2: Lenguajes regulares 43 L(AFDt) L(GRD) = (1) (2) L(AFND) = (5) = (3) (6) L(ER) (7) L(-AFND ) L(AFD) L(GLD) (4) (8) Por lo tanto, todas las nclusones son gualdades. Tema 2: Lenguajes regulares 44