170 likes | 371 Views
Tema 1.- Lenguajes. Gramáticas. 1. Definiciones. 2. Operaciones con lenguajes: -Booleanas. -Concatenación. Potencia. Cierre estrella. -Cocientes. -Reverso. -Sustitución. Homomorfismo. Homomorfismo inverso. 3. Gramáticas. 4. Tipos de gramáticas. 5. Propiedades de cierre.
E N D
Tema 1.- Lenguajes. Gramáticas 1. Definiciones. 2. Operaciones con lenguajes: -Booleanas. -Concatenación. Potencia. Cierre estrella. -Cocientes. -Reverso. -Sustitución. Homomorfismo. Homomorfismo inverso. 3. Gramáticas. 4. Tipos de gramáticas. 5. Propiedades de cierre.
1. Definiciones. Ej. = {a, b} Alfabeto Palabra, cadena o frase Palabra vacía Ej. x = abbab Longitud de una palabra 0 si x = | x | = | y | + 1 si x = ya (con a , ypalabra sobre ) n: conjunto de todas las palabras de longitud n sobre Lenguaje: cualquier subconjunto de * . Concatenación: Si x = a1a2...am e y = b1b2...bn se define xy = a1a2...amb1b2...bn Propiedades. 1. Asociativa 2. Elto. neutro ()
2.Operaciones con lenguajes. -Booleanas. Unión L1L2 ={x * : x L1x L2} Intersección L1L2 ={x * : x L1x L2} Complementación L= {x * : x L} Diferencia L1 - L2 = L1 L2 Diferencia simétrica L1 L2 = (L1 - L2 ) (L1 - L2 )
-Concatenación. Potencia. Cierre estrella. -Concatenación de lenguajes. L1L2 = {x y* : x L1y L2} Propiedades. -No conmutativa L1L2 L2L1 -Asociativa L1(L2 L3)= (L1 L2)L3 -Anulador L1 = -Distributiva respecto de la unión L1(L2 L3)= L1L2 L1L3 -No distributiva resp. intersección L1(L2 L3)L1L2 L1L3 Ej: L1= {a, ab}, L2= {a}, L3= {ba}
-Potencia. Cierre estrella. Cierre positivo - Potencia de un lenguaje. {} si n = 0 L n = L n -1L si n > 0 -Cierre estrella. -Cierre positivo. Relación.
-Propiedades. 1. 2. 3. 4. 5. 6. 7. 8.
-Cociente de un lenguaje por una palabra. -Por la derecha -Por la izquierda -Propiedades. 1. 2. 3. 4. 5. 6.
-Cociente de lenguajes. -Por la derecha -Por la izquierda
-Reverso de una palabra. Si x = a1a2...am se define xr = amam-1...a1. -De manera recursiva x si x = xr = ayr si x = ya, y * , a -Propiedades 1.- (xy)r=yrxr 2.- (x r)r=x -Reverso de un Lenguaje. L r = {x r: x L} -Propiedades 1.- (L1L2)r=L2r L1r 2.- (L r)r=L
-Sustitución. Homomorfismo. Homomorfismo inverso Sustitución -Dados los alfabetos y se define -Extensión a palabras (sustitución): Sustitución en un lenguaje Homomorfismo -Dados los alfabetos y un homomorfismo es h: * -Extensión a palabras h: * * h(L)={h(x) : xL} Homomorfismo inverso: h-1(y) = {x * : h(x) = y} h-1(L) = {x * : h(x) L}
3. Gramáticas G = (N, , P, S) N = conjunto de terminales. = alfabeto. P = conjunto de reglas de producción. SN, axioma P V*NV* V* (, ) P se denota Ejemplo: L = {an b2n: n 1} G = ( {S}, {a, b}, , S )
’, ’ V*, ’ deriva directamente en ’ en G ( ) si: ’ = ’ = con derivaen en G ( ) si existe 1, 2, ... n V* : 1 = , n = y además i = 1..n - 1 V* es una forma sentencial de G si . Si * , es una palabra generada por G. Lenguaje generado por G Gequivalente a G ’ si L(G) = L(G ’)
4. Tipos de Gramáticas Regulares (tipo 3): A, B N. a, b {} a) Lineales por la derecha: AaB | b b) Lineales por la izquierda: A Ba | b Incontextuales (tipo 2): A con A N, V* Contextuales (tipo 1): con A N; , V* ; V + - Formas sentenciales de longitud no decreciente - a condición de que ... No restringidas(tipo 0) L3 L2L1L0 L3 L2 L1 L0
5. Propiedades de cierre - Dada G = (N, , P, S) existe G’ equivalente a G sin terminales en parte izquierda de reglas de producción. -Si tenemos la regla aA a con A N, , V* a la sustituimos por las reglas Xa A Xa Xa a que producen el mismo efecto - Todo lenguaje finito es de tipo 3. Ej. El lenguaje L = {aba, ac} se puede generar con la gramática S aA A bB | c B a
Cierre respecto de la Unión de Lenguajes L, L’ LiL L’ Li Dadas G = (N, , P, S) con L = L(G) G’ = (N’, ’, P’, S’) con L’ = L(G’) y N N ’= Si i 1 Sea G’’ = (N’’, ’’, P’’, S’’) con: N’’ = N N’ {S’’} ’’ = ’ P’’ = P P’ {S’’ S | S’} Si i = 1 y L L’ , Sean L1=L-{} y L2=L’ - {} Construcción anterior para L1 L2 L L’ = L1 L2 {}. Se añade S’’
Cierre respecto de la Concatenación de Lenguajes L, L’ LiL L’ Li Dadas G = (N, , P, S) con L = L(G) G’ = (N’, ’, P’, S’) con L’ = L(G’) tales que N N ’= , P’ y P sin terminales en parte izda. Si i = 0, 2 que no sean de tipo 1 y 3, Sea G’’ = (N’’, ’’, P’’, S’’) con: N’’ = N N’ {S’’}, ’’ = ’, P’’ = P P’ {S’’ S S’ } Si i = 1 y L o L’ , Sean L1=L-{} y L2=L’ - {} Construcción anterior para L1L2 L L’ = L1L2 L1 L2 {} si L y L’ = L1L2 L1si L y L’ = L1L2 L2si L’ y L Si i = 3G’’ = (N’’, ’’, P’’, S) con N’’ = N N’ , ’’ = ’, P’’ = P1 P’ con P1 = P salvo las reglas A a que pasan a ser A aS’ si a
Cierre respecto de la Clausura de Kleene L LiL *Li Solo para tipo 3: Dada G = (N, , P, S) con L = L(G) Sea G’ = (N {S0}, , PP’ P’’,S0 ) con: P’ = {A a S0 : A a P } P’’ = {S0 | S } L(G’) = L* Cierre respecto de la inversión L LiLrLi Dada G = (N, , P, S) con L = L(G) Sea G’ = (N , , P’,S0) con: P’ = {r r: P } (Las de tipo 3 l.d. Pasan a ser l.i.) L(G’) = Lr