Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo...

Post on 18-Jul-2020

9 views 0 download

Transcript of Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo...

UNAMGramáticas De Contexto

Sensitivo, Autómatas De Tipo Push-Down Doble

Autómatas Lineales Con FronteraForma Normal Kuroda

EQUIPO 3JACALES ROJAS HÉCTOR DANIELVELAZQUEZ ALBAÑIL IRVING G.MORELOS ALQUEZADA MARIO D.

PINA LOPEZ CRISTIAN.

GRAMÁTICAS DE CONTEXTO SENSITIVO.

3

Las gramáticas sensibles al contexto o de tipo 1, son las que generan los lenguajes sensibles al contexto

En forma general toda gramática se define mediante una cuádrupla G=(N,T, P,S).

-N es un conjunto finito de símbolos no terminales -T es un conjunto finito de símbolos terminales N∩ T=∅ -P es un conjunto finito de reglas de producción -S Símbolo distinguido o Axioma S∉ (N∪ T)

4

REGLAS DE PRODUCCIÓN.

γΑβ→γωβDondé:Α ∈ N

γ, β ∈ (N ∪ T)* ω ∈ (N ∪ T)+

5

Es decir se permite el reemplazo del no terminal A en el lado izquierdo de la producción, por la cadena ω sólo en el “contexto” γ_β.

NOTA:La gramática puede contener también la producción S→ ε , si el lenguaje que se quiere generar contiene la cadena vacía.

6

L4={an bn cn / n>0} G4=<{A,B,C}, {a,b,c}, S4, P4> donde P4 contiene las siguientes producciones: S4→ A A→ aABC A→abC CB→BC bB→bb bC→bc cC→cc

Ejemplo.Derivación de la Cadena a 3 b 3 c 3

7

8

-Creada por Sige-Yuki Kuroda.-Es una gramática que genera lenguaje tipo sensible al contexto. No

genera cadenas vacias.-En forma normal de Koruda es

1. A → a,2. A → B3. A → BC,4. AB → CD

Donde A, B, C y D son no terminales y a es terminal.

Forma Normal de Kuroda

9

Cumple con 3 axiomas:1.- Una gramática es de longitud-creciente si es equivalente a una

gramática en la forma normal Kuroda.2.- Una gramática de Forma Normal Kuroda es equivalente a una

gramática cuyas producciones están en forma 1, 2 o 3.3.- Cada lenguaje de tipo 0 puede ser generado por una gramática

cuyasproducciones están en una de las siguientes formas:1. A → a,

2. A → BC,3. AB → AC,4. A → λ.

Autómatas Del Tipo Push-Down Doble

INFORMACION.Una transición consulta el estado, el símbolo de entrada y ambas topes de la pila. La acción de una transición puede alterar alguno o todos estos componentes.La interacción entre las pilas permite que la máquina retenga una copia de la pila mientras usa la otra pila para procesar la entrada.

El PDA M de dos pilas acepta el lenguaje L = {a^i b^i c^i d^i |i≥0}.M procesa las cadenas de L de la siguiente manera:Lee "a" Push "A" en la pila uno.Lee "b" Pop "A" y Push "B" en la pila dos.Lee "c" Pop "B" y Push "C" en la pila uno.Lee "d" Pop "C". M:

Q={q_0,q_1,q_2,q_3}Σ={a,b,c,d}Γ={A,B,C}F={q_3}

δ(q_0,λ,λ,λ)={q_3,λ,λ}δ(q_0,a,λ,λ)={q_0,A,λ}δ(q_0,b,A,λ)={q_1,λ,B}δ(q_1,b,A,λ)={q_1,λ,B}δ(q_1,c,λ,B)={q_2,C,λ}δ(q_2,c,λ,B)={q_2,C,λ}

Los autómatas lineales son autómatas de pila deterministas que a lo largo de su

computación sólo hacen un ``cambio de turno''. A grandes rasgos, esto significa que

toda computación consiste de un procedimiento de empilar

consecutivamente para después pasar a desempilar.

13

Autómata Lineal

14

AUTÓMATA LINEAL CON FRONTERA

Es una tupla (Q, X, Σ, q 0, M L, M R, δ, F)

Q es un conjunto finito de estadosX es el alfabeto de cinta

Σ es el alfabeto de entrada

q 0 es el estado inicial

M L es el marcador extremo izquierdo

M R es el marcador extremo derecho donde M R ≠ M L

δ es una función de transición que mapea cada par (estado, símbolo de la cinta) a (estado, símbolo de cinta, Constant 'c') donde c puede ser 0 o 1 o -1

F es el conjunto de estados finales

Referencias× http://www.exa.unicen.edu.a

r/catedras/ccomp1/ApunteGSC.pdf

× http://delta.cs.cinvestav.mx/~gmorales/ta/node15.html

× G. E. R´ev´esz, Introduction to Formal Languages, Dover Publications (1991).

15

EQUIPO 3JACALES ROJAS HÉCTOR DANIELVELAZQUEZ ALBAÑIL IRVING G.MORELOS ALQUEZADA MARIO D.

PINA LOPEZ CRISTIAN.

GRAMÁTICAS DE CONTEXTO SENSITIVO.

17

Las gramáticas sensibles al contexto o de tipo 1, son las que generan los lenguajes sensibles al contexto

En forma general toda gramática se define mediante una cuádrupla G=(N,T, P,S).

-N es un conjunto finito de símbolos no terminales -T es un conjunto finito de símbolos terminales N∩ T=∅ -P es un conjunto finito de reglas de producción -S Símbolo distinguido o Axioma S∉ (N∪ T)

18

REGLAS DE PRODUCCIÓN.

γΑβ→γωβDondé:Α ∈ N

γ, β ∈ (N ∪ T)* ω ∈ (N ∪ T)+

19

Es decir se permite el reemplazo del no terminal A en el lado izquierdo de la producción, por la cadena ω sólo en el “contexto” γ_β.

NOTA:La gramática puede contener también la producción S→ ε , si el lenguaje que se quiere generar contiene la cadena vacía.

20

L4={an bn cn / n>0} G4=<{A,B,C}, {a,b,c}, S4, P4> donde P4 contiene las siguientes producciones: S4→ A A→ aABC A→abC CB→BC bB→bb bC→bc cC→cc

Ejemplo.Derivación de la Cadena a 3 b 3 c 3

21

22

-Creada por Sige-Yuki Kuroda.-Es una gramática que genera lenguaje tipo sensible al contexto. No

genera cadenas vacias.-En forma normal de Koruda es

1. A → a,2. A → B3. A → BC,4. AB → CD

Donde A, B, C y D son no terminales y a es terminal.

Forma Normal de Kuroda

23

Cumple con 3 axiomas:1.- Una gramática es de longitud-creciente si es equivalente a una

gramática en la forma normal Kurado.2.- Una gramática de Forma Normal Kuroda es equivalente a una

gramática cuyas producciones están en forma 1, 2 o 3.3.- Cada lenguaje de tipo 0 puede ser generado por una gramática

cuyasproducciones están en una de las siguientes formas:1. A → a,

2. A → BC,3. AB → AC,4. A → λ.

Autómatas Del Tipo Push-Down Doble

INFORMACION.Una transición consulta el estado, el símbolo de entrada y ambas topes de la pila. La acción de una transición puede alterar alguno o todos estos componentes.La interacción entre las pilas permite que la máquina retenga una copia de la pila mientras usa la otra pila para procesar la entrada.

El PDA M de dos pilas acepta el lenguaje L = {a^i b^i c^i d^i |i≥0}.M procesa las cadenas de L de la siguiente manera:Lee "a" Push "A" en la pila uno.Lee "b" Pop "A" y Push "B" en la pila dos.Lee "c" Pop "B" y Push "C" en la pila uno.Lee "d" Pop "C". M:

Q={q_0,q_1,q_2,q_3}Σ={a,b,c,d}Γ={A,B,C}F={q_3}

δ(q_0,λ,λ,λ)={q_3,λ,λ}δ(q_0,a,λ,λ)={q_0,A,λ}δ(q_0,b,A,λ)={q_1,λ,B}δ(q_1,b,A,λ)={q_1,λ,B}δ(q_1,c,λ,B)={q_2,C,λ}δ(q_2,c,λ,B)={q_2,C,λ}

Los autómatas lineales son autómatas de pila deterministas que a lo largo de su

computación sólo hacen un ``cambio de turno''. A grandes rasgos, esto significa que

toda computación consiste de un procedimiento de empilar

consecutivamente para después pasar a desempilar.

28

Autómata Lineal

29

AUTÓMATA LINEAL CON FRONTERA

Es una tupla (Q, X, Σ, q 0, M L, M R, δ, F)

Q es un conjunto finito de estadosX es el alfabeto de cinta

Σ es el alfabeto de entrada

q 0 es el estado inicial

M L es el marcador extremo izquierdo

M R es el marcador extremo derecho donde M R ≠ M L

δ es una función de transición que mapea cada par (estado, símbolo de la cinta) a (estado, símbolo de cinta, Constant 'c') donde c puede ser 0 o 1 o -1

F es el conjunto de estados finales

30

Referencias× http://www.exa.unicen.edu.a

r/catedras/ccomp1/ApunteGSC.pdf

× http://delta.cs.cinvestav.mx/~gmorales/ta/node15.html

× G. E. R´ev´esz, Introduction to Formal Languages, Dover Publications (1991).

31