Tema 1.- Lenguajes. Gramáticas

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

description

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. - PowerPoint PPT Presentation

Transcript of Tema 1.- Lenguajes. Gramáticas

Page 1: Tema 1.- Lenguajes. Gramáticas

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.

Page 2: Tema 1.- Lenguajes. Gramáticas

1. Definiciones.

AlfabetoPalabra, cadena o frasePalabra vacía

Longitud de una palabra 0 si x =

| x | = | y | + 1 si x = ya (con a , y palabra sobre )

Ej. = {a, b}

Ej. x = abbab

n : conjunto de todas las palabras de longitud n sobre

Concatenación: Si x = a1a2...am e y = b1b2...bn se define xy = a1a2...amb1b2...bn Propiedades.

1. Asociativa2. Elto. neutro ()

Lenguaje: cualquier subconjunto de * .

0

*

i

i

Page 3: Tema 1.- Lenguajes. Gramáticas

2. Operaciones con lenguajes.

-Booleanas.

UniónL1L2 ={x * : x L1 x L2}

IntersecciónL1L2 ={x * : x L1 x L2}

Complementación

L = {x * : x L}

DiferenciaL1 - L2 = L1 L2

Diferencia simétricaL1 L2 = (L1 - L2 ) (L1 - L2 )

Page 4: Tema 1.- Lenguajes. Gramáticas

-Concatenación. Potencia. Cierre estrella.

-Concatenación de lenguajes. L1L2 = {x y * : x L1 y L2}

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

Propiedades.

Page 5: Tema 1.- Lenguajes. Gramáticas

-Cierre estrella.

- Potencia de un lenguaje. {} si n = 0

L n = L n -1L si n > 0

-Cierre positivo.

-Potencia. Cierre estrella. Cierre positivo

0

*

i

iLL 0

i

iLL

LL

LLL

si

si*

*

Relación.

Page 6: Tema 1.- Lenguajes. Gramáticas

-Propiedades.

*LLL

)(2121 NnLLLL nn

)( 21*2

*121

LLLLLL

** LLLLL

*** LL LL

**LL ** LL

4.

3.

2.

1.

8.7.

6.

5.

Page 7: Tema 1.- Lenguajes. Gramáticas

-Cociente de un lenguaje por una palabra.

-Propiedades.1. 2.

3.

4.

5. 6.

21

11

21 LuLuLL 21

11

211 )( LuLuLLu

21

11

211 )( LuLuLLu

121

211

1211

211

si)(

si)()(

LLaLLa

LLLaLLa

*1*1 )( LLaLa )()( 111 LuvLuv

-Por la derecha

LuvvLu :*1

LvuvLu :*1

-Por la izquierda

Page 8: Tema 1.- Lenguajes. Gramáticas

-Cociente de lenguajes.

-Por la derecha

12*

21

1 ,: LuLuvvLL

-Por la izquierda

12*1

12 ,: LuLvuvLL

Page 9: Tema 1.- Lenguajes. Gramáticas

-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

-Propiedades1.- (xy)r= yrxr

2.- (x r)r= x

-Reverso de un Lenguaje. L r = {x r: x L}

-Propiedades1.- (L1L2)

r= L2r L1

r

2.- (L r)r= L

Page 10: Tema 1.- Lenguajes. Gramáticas

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}

)()()(

}{)(

afxxa

)()( xLLx

-Sustitución. Homomorfismo. Homomorfismo inverso

)()()(

)(

ahxhxah

h

*

2: f

*

2: *

Page 11: Tema 1.- Lenguajes. 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

3. Gramáticas

Ejemplo: L = {an b2n: n 1}

G = ( {S}, {a, b}, , S )

NV

N

aSbbabbS | aSbbSabbS ,

Page 12: Tema 1.- Lenguajes. Gramáticas

'' G’, ’ 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

G

1 iG

i

V* es una forma sentencial de G si . Si * , es una palabra generada por G.

G

S

Lenguaje generado por G }:{)(

** xSxGL

G

G equivalente a G ’ si L(G) = L(G ’)

P

Page 13: Tema 1.- Lenguajes. Gramáticas

4. Tipos de Gramáticas

Regulares (tipo 3): A, B N. a, b {}a) Lineales por la derecha: A aB | bb) 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 L0L3 L2 L1

S

A

Page 14: Tema 1.- Lenguajes. Gramáticas

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 aAA bB | cB a

Page 15: Tema 1.- Lenguajes. Gramáticas

Cierre respecto de la Unión de LenguajesL, 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’’

Page 16: Tema 1.- Lenguajes. Gramáticas

Cierre respecto de la Concatenación de LenguajesL, 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 serA aS’ si a

Page 17: Tema 1.- Lenguajes. Gramáticas

Cierre respecto de la Clausura de KleeneL 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ónL 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