TEMA 7.-AUTOMATAS CON PILA
![]() |
Los lenguajes generados por las gramáticas libres de contexto también tienen un autómata asociado que es capaz de reconocerlos, son parecidos a los autómatas finitos deterministicos, solo que ahora tendrán un dispositivo de memoria de capacidad ilimitada: una pila.
Los autómatas
con pila no deterministicos (APND) y deterministicos (APD) no
aceptan las mismas familias de lenguajes.
Los APND
son los asociados con los lenguajes
libres de contexto o de tipo 3.
Los APD
aceptan
una familia mas restringida de lenguajes.
DEFINICION
Un autómata
con pila no deterministico es una séxtupla (Q,A,B,d ,q0,Z,F)
en la que
Q | es un conjunto finito de estados. | ||
A | es un alfabeto de entrada. | ||
B | es un alfabeto para la pila. | ||
d | es la función de transición d:Qx(A∪ {ε })xB→Ã (QxB) | ||
q0 | es el estado inicial. | ||
Z | es el símbolo inicial de la pila. | ||
F | es el conjunto de estados finales. |
EJEMPLOS.-
1.-Sea el autómata M=({q1,q2},{0,1,c},R,B,G},d ,q1,R,∅ ) donde
d (q1,0,R)={(q1,BR)} | d (q1,1,R)={(q1,GR)} | ||
d (q1,0,B)={(q1,BB)} | d (q1,1,R)={(q1,GB)} | ||
d (q1,0,G)={(q1,BG)} | d (q1,1,R)={(q1,GG)} | ||
d (q1,c,R)={(q2,R)} | d (q1,c,R)={(q2,B)} | ||
d (q1,c,G)={(q2,G)} | d (q2,0,R)={(q2,ε )} | ||
d (q2,1,G)={(q2,ε )} | d (q2,ε ,R)={(q2,ε )} |
Se llama descripción
instantánea o configuración de un autómata con pila
a una tripleta (q,u,a
)∈ QxA*xB*
en el que q es el estado en el que se encuentra el autómata, u es
la parte de la cadena de entrada que queda por leer y a
el contenido de la pila (el primer símbolo es el tope de la pila).
DEFINICION
Se dice que de la configuración (q,au,Za ) se puede llegar a la configuración (p,u,ba ) y se escribe (q,au,Za )Ø (p,u,b a ) si y solo si (p,b )∈ d (q,a,Z) donde a puede ser cualquier símbolo de entrada a la ε .
DEFINICION
Si C1 y C2
son dos configuraciones, se dice que se puede llegar de C1 a
C2 mediante una sucesión de pasos de calculo y se escribe
C1ØC2
si
y solo si existe una sucesión de configuraciones T1,..,Tn tal que
C1=T1ØT2Ø...Ø
Tn=C2.
DEFINICION
Si M es un APND y u∈ A* se llama configuración inicial corresponde a esta entrada a (q0,u,Z0) donde q0 es el estado inicial y Z0 el símbolo inicial de la pila.
EJEMPLO.- Teniendo en cuenta el autómata de pila del Ejemplo 1. cual es la configuración inicial
LENGUAJE
ACEPTADO POR UN AUTOMATA CON PILA
Existen dos criterios para determinar el lenguaje aceptado por un APND:
a) Lenguaje aceptado por estados finales | ||||
L(M)={w∈A* / (q0,w,Z0)Ø *(p,ε ,g ) p∈ F} | ||||
Una palabra es aceptada, si se puede llegar a un estado final después de consumir la entrada. | ||||
b) Lenguaje aceptado por pila vacía | ||||
N(M)={w∈A* / (q0,w,Z0)Ø *(p,ε ,ε ) p∈ Q} |
EJEMPLO.-
Según
el Ejemplo2. La palabra 011c110 es aceptada
por el autómata por el criterio de pila vacía
(011c110∈
N(M)).
a)Si M es un APND entonces existe otro autómata M' tal que N(M)=L(M').
b)Si M1 es un APND entonces existe otro autómata M1' tal que L(M1)=N(M').
DEFINICION:
Un autómata con pila se dice que es deterministico(APD) si y solo si se verifican las dos condiciones siguientes:
1)" q∈ Q y Z∈ B, si d (q,ε ,Z)¹f entonces d (q,a,Z)=f" a∈ A. | |||
2)" a∈ AÈ {ε }, z∈ B, q∈ F, d (q,a,Z) nunca contiene mas de un elemento. |
|
![]() |
TEOREMA.-
Si un lenguaje es generado por una gramática libre de contexto, entonces es aceptado por un APND, es decir, los APND aceptan los mismos lenguajes que los generados por las gramáticas de tipo 2.
EJEMPLO.- Para la gramática en forma normal de Greibach:
S → aAA | ||
a → aS | bS | a |
Si L=N(M) donde M es un APND, existe una gramática libre del contexto G tal que L(G)=L.
EJEMPLO.-
Si partimos del autómata
M=({q0,q1},{0,1},{X,Z0},d
,q0,Z0,f
) donde
d (q0,0,Z0)={(q0,XZ0)} | d (q1,1,X)={(q1,ε )} | ||
d (q0,0,X)={(q0,XX)} | d (q1,ε ,X)={(q1,ε )} | ||
d (q0,1,X)={(q0,e )} | d (q1,e ,Z0)={(q1,ε )} |
|
![]() |