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

31
UNAM Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push-Down Doble Autómatas Lineales Con Frontera Forma Normal Kuroda

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

Page 1: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

UNAMGramáticas De Contexto

Sensitivo, Autómatas De Tipo Push-Down Doble

Autómatas Lineales Con FronteraForma Normal Kuroda

Page 2: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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

PINA LOPEZ CRISTIAN.

Page 3: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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

Page 4: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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

Page 5: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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” γ_β.

Page 6: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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

Page 7: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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

Page 8: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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

Page 9: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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 → λ.

Page 10: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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.

Page 11: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada
Page 12: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de 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,λ}

Page 13: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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

Page 14: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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

Page 15: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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

Page 16: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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

PINA LOPEZ CRISTIAN.

Page 17: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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

Page 18: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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

Page 19: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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” γ_β.

Page 20: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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

Page 21: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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

Page 22: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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

Page 23: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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 → λ.

Page 24: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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.

Page 25: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada
Page 26: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de 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,λ}

Page 27: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada
Page 28: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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

Page 29: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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

Page 30: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

30

Page 31: Gramáticas De Contexto Sensitivo, Autómatas De Tipo Push ...€¦ · Autómatas Del Tipo Push-Down Doble INFORMACION. Una transición consulta el estado, el símbolo de entrada

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