La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tema 1.- Lenguajes. Gramáticas

Presentaciones similares


Presentación del tema: "Tema 1.- Lenguajes. Gramáticas"— Transcripción de la presentación:

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

2  n : conjunto de todas las palabras de longitud n sobre 
1. Definiciones. Alfabeto Palabra, cadena o frase Palabra vacía Ej.  = {a, b} Ej. x = abbab Longitud de una palabra 0 si x =  | x | = | y | + 1 si x = ya (con a  , y palabra 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 ()

3 2. Operaciones con lenguajes.
-Booleanas. Unión L1L2 ={x   * : x  L1  x  L2} Intersección L1L2 ={x   * : x  L1  x  L2} Complementación L = {x   * : x  L} Diferencia L1 - L2 = L1  L2 Diferencia simétrica L1  L2 = (L1 - L2 )  (L1 - L2 )

4 -Concatenación. Potencia. Cierre estrella.
-Concatenación de lenguajes. L1L2 = {x  y   * : x  L1  y  L2} Propiedades. -No conmutativa L1L2  L2L1 -Asociativa L1(L2  L3) = (L1  L2) L3 -Anulador L1 =  -Distributiva respecto de la unión L1(L2  L3) = L1L2  L1L3 -No distributiva resp. intersección L1(L2  L3)  L1L2  L1L3 Ej: L1= {a, ab}, L2= {a}, L3= {ba}

5 -Potencia. Cierre estrella. Cierre positivo
- Potencia de un lenguaje. {} si n = 0 L n = L n -1L si n > 0 -Cierre estrella. -Cierre positivo. Relación.

6 -Propiedades. 1. 2. 3. 4. 5. 6. 7. 8.

7 -Cociente de un lenguaje por una palabra.
-Por la derecha -Por la izquierda -Propiedades. 3. 4.

8 -Cociente de lenguajes.
-Por la derecha -Por la izquierda

9 -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

10 -Dados los alfabetos  y  se define
-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) : x  L}  Homomorfismo inverso: h-1(y) = {x  * : h(x) = y} h-1(L) = {x  * : h(x)  L}

11 3. Gramáticas G = (N, , P, S) N = conjunto de terminales.  = alfabeto. P = conjunto de reglas de producción. S  N, axioma P  V*NV*  V* (, )  P se denota Ejemplo: L = {an b2n: n  1} G = ( {S}, {a, b}, , S )

12 ’, ’  V*, ’ deriva directamente en ’ en G ( ) si:
’ =    ’ =    con  deriva en  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 G equivalente a G ’ si L(G) = L(G ’)

13 4. Tipos de Gramáticas Regulares (tipo 3): A, B  N. a, b    {} a) Lineales por la derecha: A  aB | 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  L2  L1  L0 L3 L2 L1 L0

14 - Dada G = (N, , P, S) existe G’ equivalente a G sin
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

15 Cierre respecto de la Unión de Lenguajes
L, L’  Li  L  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’’  

16 Cierre respecto de la Concatenación de Lenguajes
L, L’  Li  L 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  L1 si   L y   L’ = L1L2  L2 si   L’ y   L  Si i = 3 G’’ = (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  

17 Cierre respecto de la Clausura de Kleene
L  Li  L *  Li Solo para tipo 3: Dada G = (N, , P, S) con L = L(G) Sea G’ = (N {S0}, , P  P’  P’’, S0 ) con: P’ = {A  a S0 : A  a  P } P’’ = {S0   | S } L(G’) = L* Cierre respecto de la inversión L  Li  Lr  Li 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


Descargar ppt "Tema 1.- Lenguajes. Gramáticas"

Presentaciones similares


Anuncios Google