Está en la página 1de 11

AUTOMATAS A PILA

Fundamentalmente, el autmata a pila es un autmata finito no determinista con transiciones-y una


capacidad adicional: una pila en la que se puede almacenar una cadena de smbolos de pila. La
presencia de una pila significa que, a diferencia del autmata finito, el autmata a pila puede recordar
una cantidad infinita de informacin. Sin embargo, a diferencia de las computadoras de propsito general,
que tambin tienen la capacidad de recordar una cantidad arbitrariamente grande de informacin, el
autmata a pila slo puede acceder a la informacin disponible en su pila de acuerdo con la forma de
manipular una pila LIFO.
Los autmatas a pila reconocen todos los lenguajes independientes del contexto y slo estos.
Un control de estados finito lee las entradas, un smbolo cada vez. El autmata a pila puede observar el
smbolo colocado en la parte superior de la pila y llevar a cabo su transicin basndose en el estado
actual, el smbolo de entrada y el smbolo que hay en la parte superior de la pila. Alternativamente, puede
hacer una transicin
espontnea, utilizando como entrada en lugar de un smbolo de entrada.

En una transicin, el autmata a pila:


1. Consume de la entrada el smbolo que usa en la transicin. Si como entrada se utiliza , entonces no se
consume ningn smbolo de entrada.
2. Pasa a un nuevo estado, que puede o no ser el mismo que el estado anterior.
3. Reemplaza el smbolo de la parte superior de la pila por cualquier cadena. La cadena puede ser , lo
que corresponde a una extraccin de la pila. Podra ser el mismo smbolo que estaba anteriormente en la
cima de la pila; es decir, no se realiza ningn cambio en la pila. Tambin podra reemplazar el smbolo de
la cima de la pila por otro smbolo, lo que cambiara la cima de la pila pero no aade ni extrae ningn
smbolo.
Por ltimo, el smbolo de la cima de la pila podra ser reemplazado por dos o ms smbolos, lo que
(posiblemente) tendra el efecto de cambiar el smbolo de la cima de la pila, aadiendo despus uno o ms
nuevos smbolos a la pila.
Ejemplo:
Consideremos el lenguaje Lwwr = {wwR | w pertenece a (0+1)}
Este lenguaje, a menudo denominado w-w-reflejo, son los palndromos de longitud par sobre el alfabeto
{0,1}. Es un lenguaje independiente del contexto, generado por la siguiente gramtica, si se omiten las
producciones P0 y P1.
1. P
2. P 0
3. P 1
4. P 0P0
5. P 1P1
Podemos disear un autmata a pila informal aceptando Lwwr de la forma siguiente:

1. Partimos de un estado q0 que representa una suposicin de que todava no hemos visto el centro; es
decir, que no hemos visto el final de la cadena w que va seguida de su cadena refleja. Mientras estemos en
el estado q0, leeremos smbolos y los almacenaremos en la pila, introduciendo una copia de cada smbolo
de entrada en la pila.
2. En cualquier instante, podemos suponer que hemos visto el centro; es decir, el final de w. En dicho
instante, w estar en la pila estando su extremo derecho en la cima de la pila y el izquierdo en la parte
inferior.
Marcamos esto pasando espontneamente al estado q1. Puesto que el autmata no es determinista,
realmente hacemos dos suposiciones: suponemos que hemos visto el final de w, pero tambin
permanecemos en el estado q0 y continuamos leyendo entradas y almacenndolas en la pila.
3. Una vez en el estado q1, comparamos los smbolos de entrada con el smbolo de la cima de la pila. Si
son iguales, consumimos el smbolo de entrada, extraemos un smbolo de la pila y continuamos. Si no son
iguales, hemos hecho una suposicin errnea; a la cadena w no le sigue la cadena wR. Esta rama muere,
aunque otras ramas del autmata no determinista pueden sobrevivir y finalmente llevar a un estado de
aceptacin.
4. Si vaciamos la pila, entonces quiere decir que hemos encontrado la cadena w de entrada seguida de wR.
Aceptamos la entrada que habamos leido hasta ese momento.
Definicin formal:
La notacin formal de un autmata a pila P incluye siete componentes de la forma siguiente:
P = (Q, , ,,q0,Z0,F)
El significado de cada uno de los componentes es el siguiente:
Q: Un conjunto finito de estados, como los estados de un autmata finito.
: Un conjunto finito de smbolos de entrada, tambin anlogo al componente correspondiente de un
autmata finito.
: Un alfabeto de pila finito. Este componente, que no tiene anlogo en los autmatas finitos, es el
conjunto de smbolos que pueden introducirse en la pila.
: La funcin de transicin. Como en el autmata finito, controla el comportamiento del autmata.
Formalmente, toma como argumento (q,a,X), donde:
1. q es un estado de Q.
2. a es cualquier smbolo de entrada de o a=, la cadena vaca, que se supone que no es un
smbolo de entrada.
3. X es un smbolo de la pila, es decir, pertenece a .
La salida de es un conjunto finito de pares (p, ), donde p es el nuevo estado y es la cadena de
smbolos de la pila que reemplaza X en la parte superior de la pila. Por ejemplo, si = , entonces se
extrae un elemento de la pila, si = X, entonces la pila no cambia y si =YZ, entonces X se reemplaza
por Z e Y se introduce en la pila.
q0: El estado inicial. El autmata a pila se encuentra en este estado antes de realizar ninguna transicin.
Z0: El smbolo inicial. Inicialmente, la pila del autmata a pila consta de una instancia de este smbolo y
de nada ms.
F: El conjunto de estados de aceptacin o estados finales.

Ni mezcla ni emparejado

En ciertas situaciones, un autmata a pila puede elegir entre varios pares. Por ejemplo, supongamos que
(q,a,X) = {(p,YZ), (r,)}. Cuando el autmata a pila hace un movimiento, tenemos que elegir un
par completo; no podemos elegir un estado de uno y una cadena de sustitucin de la pila del otro. Por
tanto, en el estado q, con X en la parte superior de la pila, al leer la entrada a, podramos pasar al estado p
y reemplazar X por YZ o podramos pasar al estado r y extraer X de la pila. Sin embargo, no podemos
pasar al estado p y extraer X, ni podemos pasar al estado r y reemplazar X por YZ.
Ejemplo:
Diseemos un PDA P para aceptar el lenguaje Lwwr anterior. En primer lugar, en dicho ejemplo faltan
algunos detalles que necesitamos para comprender cmo se gestiona correctamente la pila. Utilizaremos
un smbolo de pila Z0 para marcar el fondo de la pila. Necesitamos disponer de este smbolo para que,
despus de extraer w de la pila y darnos cuenta de que hemos visto wwR en la entrada, tendremos algo en
la pila que nos permita hacer una transicin al estado de aceptacin, q2. Por tanto, nuestro autmata a pila
para Lwwr se puede describir como:
P = ({q0,q1,q2},{0,1},{0,1,Z0},,q0,Z0,{q2})
donde se define de acuerdo con las siguientes reglas:
1. (q0,0,Z0) = {(q0,0Z0)} y (q0,1,Z0) = {(q0,1Z0)}. Inicialmente se aplica una de estas reglas,
si estamos en el estado q0 y vemos el smbolo inicial Z0 en la parte superior de la pila. Leemos la primera
entrada y la introducimos en la pila, dejando Z0 abajo para marcar la parte inferior.
2. (q0,0,0)={(q0,00)}, (q0,0,1)= {(q0,01)}, (q0,1,0)={(q0,10)} y (q0,1,1)={(q0,11)}.
Estas cuatro reglas similares nos permiten permanecer en el estado q0 y leer las entradas,
introducindolas por la parte superior de la pila y dejando el smbolo de la cima de la pila anterior.
3. (q0,,Z0) = {(q1,Z0)}, (q0,,0) = {(q1,0)} y (q0,,1) = {(q1,1)}. Estas tres reglas
permiten a P pasar del estado q0 al estado q1 de forma espontnea (para la entrada ), dejando intacto
cualquier smbolo que est en la parte superior de la pila.
4. (q1,0,0) = {(q1,)} y (q1,1,1) = {(q1,)}. Ahora, en el estado q1, podemos emparejar
smbolos de entrada con los smbolos de la cima de la pila y extraerlos cuando se correspondan.
5. (q1,,Z0) = {(q2,Z0)}. Por ltimo, si exponemos el marcador de la parte inferior de la pila Z0 y
estamos en el estado q1, entonces hemos encontrado una entrada de la forma wwR. Pasamos al estado q2
y aceptamos.
Grafica de un autmata a pila:
La lista de hechos no es demasiado fcil de seguir. En ocasiones, un diagrama, que generaliza el diagrama
de transiciones de un autmata finito, mostrar ms claramente aspectos del comportamiento de un
determinado autmata a pila. Por tanto, vamos a ver y a utilizar un diagrama de transiciones de un
autmata a pila en el que:
a) Los nodos se corresponden con los estados del autmata a pila.
b) Una flecha etiquetada como Inicio indica el estado inicial y los estados con un crculo doble se
corresponden con los estados de aceptacin, al igual que en los autmatas finitos.
c) Los arcos corresponden a las transiciones del autmata a pila de la forma siguiente: un arco
etiquetado con a,X/del estado q al estado p quiere decir que (q,a,X) contiene el par (p,), quiz
entre otros pares. Es decir, la etiqueta del arco nos indica qu entrada se utiliza y tambin proporciona
los elementos situados en la cima de la pila nuevo y antiguo.
Lo nico que el diagrama no proporciona es el smbolo inicial. Por convenio, es Z0, a menos que se
indique otra cosa.

Descripciones instantneas de un autmata a pila


La configuracin del autmata a pila incluye tanto el estado como el contenido de la pila. Siendo
arbitrariamente larga, la pila es a menudo la parte ms importante de la configuracin total del autmata a
pila en cualquier instante. Tambin resulta til representar como parte de la configuracin la parte de la
entrada que resta por analizar.
Por tanto, representaremos la configuracin de un autmata a pila mediante (q,w,), donde
1. q es el estado,
2. w es lo que queda de la entrada
3. es el contenido de la pila
Por convenio, especificamos la parte superior de la pila en el extremo izquierdo de y la parte inferior en
el extremo derecho. Este triplete se denomina descripcin instantnea o ID.
Para los autmatas finitos, la notacin

era suficiente para representar las secuencias de

descripciones instantneas a travs de las que se mueve un autmata finito, dado que el ID de un autmata
finito es slo su estado. Sin embargo, para los autmatas a pila necesitamos una notacin que describa los
cambios en el estado, la entrada y la pila. Por tanto, adoptamos la notacin torniquete para conectar
pares de descripciones instantneas (ID) que representan uno o ms movimientos de un PDA.
Sea P =(Q, , ,,q0,Z0,F) un autmata a pila. Definimos

p
, o simplemente

cuando

P se sobreentiende, como sigue. Supongamos que (q,a,X) contiene (p,), entonces para todas las
cadenas w de

y de :

(q,aw,X)

(p,w,)

Este movimiento refleja la idea de que, consumiendo a (que puede ser ) de la entrada y reemplazando X
en la cima de la pila por , podemos ir del estado q al estado p. Observe que lo que queda de la entrada,
w, y lo que est bajo la cima de la pila, , no influye en la accin del autmata a pila; simplemente son
arrastrados para quiz tener influencia en sucesos posteriores.

Empleamos tambin el smbolo

,o
cuando se sobreentiende el autmata a pila P, para

representar cero o ms movimientos del autmata a pila. Es decir,

BASE. I
I para cualquier descripcin instantnea I.


PASO INDUCTIVO. I
J si existe alguna descripcin instantnea K tal que I K y K

J.

Es decir, I
J si existe una secuencia de descripciones instantneas K1,K2, . . . ,Kn, tales que I =

K1, J = Kn, y para todo i = 1,2, . . . ,n1, tenemos Ki _ Ki+1.


EJEMPLO:
Consideremos la accin del autmata a pila del ejemplo anterior para la entrada 1111. Dado que q0 es el
estado inicial y Z0 es el smbolo inicial, la descripcin instantnea inicial es (q0, 1111, Z0). Para esta
entrada, el autmata a pila tiene la oportunidad de hacer varias suposiciones equivocadas. La secuencia
completa de descripciones instantneas a la que el autmata a pila puede llegar a partir de la descripcin
instantnea inicial (q0,1111,Z0) se muestra en la siguiente figura.

Las flechas representan la relacin .


A partir de la descripcin instantnea inicial, existen dos opciones de movimiento. La primera supone que
no hemos visto el centro y nos lleva a la descripcin (q0,111,1Z0). En efecto, se ha movido un 1 de la
entrada y se ha introducido en la pila.
La segunda posibilidad a partir de la descripcin instantnea inicial supone que se ha llegado al centro.
Sin consumir entrada, el autmata a pila pasa al estado q1, llevando a la descripcin (q1,1111,Z0). Puesto
que el autmata a pila puede aceptar si est en el estado q1 y ve Z0 en la cima de la pila, el autmata a
pila pasa a la descripcin (q2,1111,Z0).
Esta descripcin instantnea no es exactamente una descripcin ID de aceptacin, ya que la entrada no se
ha consumido por completo. Si la entrada hubiera sido en lugar de 1111, la misma secuencia de
movimientos nos habra llevado a la descripcin instantnea (q2,,Z0), lo que demostrara que se acepta
.

El autmata a pila tambin puede suponer que ha visto el centro despus de leer un 1; es decir, cuando
est en la ID (q0,111,1Z0). Esta suposicin tambin falla, ya que la entrada completa no puede haberse
consumido.
La suposicin correcta, que el centro se ha alcanzado despus de leer dos unos, nos proporciona la
secuencia
de descripciones ID (q0,1111,Z0) (q0,111,1Z0) (q0,11,11Z0)
(q1,11,11Z0)

(q1,1,1Z0)

(q2,,Z0).

(q1,,Z0)

Es preciso conocer tres importantes principios acerca de las descripciones ID y de sus transiciones para
poder razonar sobre los autmatas a pila:
1. Si una secuencia de descripciones ID (una (computacin) es vlida para un autmata a pila P,
entonces la computacin que se forma aadiendo la misma cadena de entrada al final de la
entrada (segundo componente) en cada ID tambin es vlida.
2. Si una computacin es vlida para un autmata a pila P, entonces la computacin que se forma
aadiendo los mismos smbolos de pila a la parte inferior de la pila de cada ID tambin es vlida.
3. Si una computacin es vlida para un autmata a pila P, y parte del extremo final de la entrada
no se consume, entonces podemos eliminar dicho final de la entrada de cada descripcin ID, y la
computacin resultante tambin ser vlida.
Intuitivamente, los datos que P nunca llega a ver no pueden afectar a su funcionamiento. Formalizamos
los puntos (1) y (2) en el siguiente teorema.
TEOREMA:

p
Si P =(Q, , ,,q0,Z0,F) es un autmata a pila y (q,x,)

cadena w de

y de

(p,y,), entonces para cualquier

, tambin se cumple que:


p
(q,xw,)

(p,yw,)

Observe que si = , entonces tenemos una proposicin formal del anterior principio (1) y si w = ,
tenemos el segundo principio.
DEMOSTRACIN. La demostracin se realiza por induccin sobre el nmero de pasos de la secuencia
de las descripciones instantneas que llevan de (q,xw,) a (p,yw,). Cada uno de los movimientos de

p
la secuencia (q,x,)

(p,y,) se justifica por las transiciones de P sin utilizar w y/o de ninguna

manera. Por tanto, cada movimiento se justifica cuando estas cadenas aparecen en la entrada y en la pila.
Observe que el inverso de este teorema es falso. Hay cosas que un autmata a pila puede hacer
extrayendo elementos de su pila, utilizando algunos smbolos de y reemplazndolos despus en la pila,
que no podra realizar si nunca mirara . Sin embargo, como establece el principio (3), podemos eliminar
la entrada no utilizada, ya que no es posible que el autmata a pila consuma smbolos de entrada y luego
restaure dichos smbolos en la entrada. Podemos enunciar el principio (3) formalmente como sigue:
TEOREMA 1:

p
Si P =(Q, , ,,q0,Z0,F) es un autmata a pila y (q,xw,)

(p,yw,) entonces tambin se

p
cumple que (q,x,)

(p,y,).

Lenguajes de un autmata a pila


Hemos supuesto que un autmata a pila acepta su entrada consumindola e introduciendo un estado de
aceptacin.
Este enfoque se denomina aceptacin por estado final. Existe un segundo enfoque que permite definir
el lenguaje de un autmata a pila que proporciona aplicaciones importantes. Tambin podemos definir,
para cualquier autmata a pila, el lenguaje aceptado por pila vaca, que es el conjunto de cadenas que
hacen que el autmata a pila vace su pila, partiendo de la descripcin ID inicial.
Estos dos mtodos son equivalentes, en el sentido de que un lenguaje L tiene un autmata a pila que lo
acepta por estado final si y slo si L tiene un autmata a pila que lo acepta por pila vaca. Sin embargo,
para un autmata a pila dado P, los lenguajes que P acepta por estado final y por pila vaca normalmente
son diferentes.
En esta seccin vamos a ver cmo convertir un autmata a pila que acepta L por estado final en otro
autmata a pila que acepta L por pila vaca, y viceversa.
Aceptacin por estado final
Sea P =(Q, , ,,q0,Z0,F) un autmata a pila. Entonces L(P), el lenguaje aceptado por P por estado
final, es

p
{w | (q0,w,Z0)

(q,,)}

para un estado q de F y cualquier cadena de pila . Es decir, partiendo de la ID inicial con w esperando
en la entrada, P consume w a partir de la entrada y pasa a un estado de aceptacin. El contenido de la pila
en dicho instante es irrelevante.
EJEMPLO:
Hemos establecido que el autmata a pila del Ejemplo anterior acepta el lenguaje Lwwr, el lenguaje de las
cadenas pertenecientes a {0,1} que tienen la forma w w

. Veamos por qu dicha afirmacin es

verdadera. Se trata de la demostracin de una proposicin si-y-slo-si: el autmata a pila P del Ejemplo
acepta la cadena x por estado final si y slo si x es de la forma w w

Parte Si. Esta parte es fcil; slo tenemos que demostrar que P realiza una computacin que acepta. Si
x=w w

(q0,w w

, entonces observamos que:


R

,Z0)

(q0, w

, w

Z0)

(q1, w

, w

Z0)

(q1,,Z0)

(q2,,Z0)

Es decir, una opcin del autmata a pila es leer w de su entrada y almacenarla en su pila, en orden
inverso. A continuacin, pasa espontneamente al estado q1 y empareja
misma cadena de su pila, y finalmente pasa de forma espontnea al estado q2.

wR

de la entrada con la

Parte Slo-si. Esta parte es algo ms complicada. En primer lugar, observamos que la nica forma de
entrar en el estado de aceptacin q2 es estando en el estado q1 y teniendo Z0 en la cima de la pila.
Adems, cualquier computacin de aceptacin de P comenzar en el estado q0, har una transicin a q1 y
nunca volver a q0.

Por tanto, basta con determinar las condiciones que tiene que cumplir x tal que (q0,x,Z0)

(q1,,Z0); stas sern exactamente las cadenas x que P acepta por estado final. Demostraremos por
induccin sobre |x| la proposicin algo ms general:
R

Si (q0,x,)
(q1,,), entonces x es de la forma w w .

BASE. Si x =, entonces x es de la forma w w

(con w =). Por tanto, la conclusin es verdadera,

por lo que la proposicin tambin lo es. Observe que no tenemos que argumentar que la hiptesis (q0,,
)

(q1,,) es verdadera, aunque lo es.

PASO INDUCTIVO. Supongamos que x = a1a2 an para n > 0. Existen dos movimientos que P
puede realizar a partir de la descripcin instantnea (q0,x,):
1. (q0,x,) (q1,x,). Ahora P slo puede extraer elementos de la pila cuando se encuentra en el
estado
q1. P tiene que extraer un elemento de la pila con cada smbolo de entrada que lee, y |x| > 0. Por tanto, si
(q1,x,)

(q1,,), entonces ser ms corto que y no puede ser igual a .

2. (q0,a1a2 an,)

(q0,a2 an,a1). Ahora la nica forma en que puede terminar una

secuencia de movimientos de (q1,,) es si el ltimo movimiento es una extraccin:

(q1,an,a1)

(q1,,)

En dicho caso, tiene que ser que a1 = an. Tambin sabemos que,

(q0,a2 an,a1)

(q1,an, a1)

De acuerdo con el Teorema 1, podemos eliminar el smbolo an del final de la entrada, ya que no se utiliza.
Por tanto,
(q0,a2 an1,a1)

(q1,,a1)

Puesto que la entrada para esta secuencia es ms corta que n, podemos aplicar la hiptesis inductiva y
concluir que a2 an1 es de la forma y y

para cierto y. Dado que x = a1y y

sabemos que
a1 = an, concluimos que x es de la forma w w

; en concreto, w = a1y.

an y que

Esto es en esencia lo fundamental de la demostracin de que la nica forma de aceptar x es que sea igual a
w w

para cierta w. Por tanto, tenemos la parte slo-si de la demostracin, la cual, junto con la parte

si demostrada anteriormente, nos dice que P acepta slo aquellas cadenas que pertenecen a Lwwr.
Aceptacin por pila vaca
Para todo autmata a pila P =(Q, , ,,q0,Z0,F), definimos tambin:

N(P) = {w | (q0,w,Z0)
(q,,)}

para cualquier estado q. Es decir, N(P) es el conjunto de entradas w que P puede consumir vaciando al
mismo tiempo su pila.
EJEMPLO:
El autmata a pila P del anterior ejemplo nunca vaca su pila, por lo que N(P) = . Sin embargo, una
pequea modificacin permitir a P aceptar Lwwr por pila vaca, as como por estado final. En lugar de la
transicin (q1,,Z0) = {(q2,Z0)}, utilizamos (q1,,Z0) = {(q2,

)}. Ahora, P extrae el ltimo

smbolo de su pila cuando lo acepta y L(P) = N(P) = Lwwr.


Dado que el conjunto de estados de aceptacin es irrelevante, en ocasiones, omitiremos el ltimo
componente (el sptimo) de la especificacin de un autmata a pila P, si lo nico que nos preocupa es el
lenguaje que acepta P por pila vaca. En este caso, escribiremos P como sigue (Q, , ,,q0,Z0).
De pila vaca a estado final
Vamos a demostrar que las clases de lenguajes que son L(P) para un autmata a pila P es la misma que la
clase de lenguajes que son N(P) para un autmata a pila P. Esta clase es la de los lenguajes
independientes del contexto. La primera construccin muestra cmo partiendo de un autmata a pila PN
que acepta un lenguaje L por pila vaca se construye un autmata a pila PF que acepta L por estado final.
TEOREMA 2:
Si L = N(PN) para un autmata a pila PN =(Q, , ,,q0,Z0), entonces existe un autmata a pila PF
tal que L = L(PF ).
EJEMPLO:
Vamos a disear un autmata a pila que procese una secuencia de instrucciones if y else en un
programa C, donde i se corresponde con ify e con else. Planteamos que aparece un problema cuando
el nmero de instrucciones elseen cualquier prefijo excede el nmero de instrucciones if, ya que no
se puede hacer corresponder cada elsecon su ifanterior. Por tanto, utilizaremos una smbolo de pila
Z para contabilizar la diferencia entre el nmero de letras i vistas hasta el momento y el nmero de letras
e. Este sencillo autmata a pila de un solo estado se muestra en el diagrama siguiente:

Un autmata a pila que acepta los errores if/else por pila vaca.
Introduciremos otro smbolo Z cuando veamos una i y extraeremos una Z cuando veamos una e. Dado que
comenzamos con una Z en la pila, realmente seguimos la regla de que si la pila es

Z n , entonces

existen n-1 ms letras i que e. En particular, si la pila est vaca, quiere decir que hemos visto una e ms

que i, y la entrada leda hasta el momento pasa a ser no vlida por primera vez. Estas cadenas son las que
acepta el autmata a pila por pila vaca. La especificacin formal de PN es:
PN = ({q},{i,e},{Z},N,q,Z) donde N se define como sigue:
1. N(q, i,Z) = {(q,ZZ)}. Esta regla introduce una Z cuando vemos una i.
2. N(q,e,Z) = {(q,)}. Esta regla extrae un Z cuando vemos una e.
Ahora construimos a partir de PN un autmata a pila PF que acepta el mismo lenguaje por estado final; el
diagrama de transiciones para PF se muestra en la Figura siguiente.

Construccin de un autmata a pila que acepta por estado final a partir del autmata a pila de la figura
anterior.
Aadimos un nuevo estado inicial p y un estado de aceptacin r. Utilizaremos X0 como marcador de
fondo de la pila. PF se define formalmente como sigue:
PF = ({p,q, r},{i,e},{Z,X0},F, p,X0,{r}) donde F consta de:
1. F(p,,X0) = {(q,ZX0)}. Esta regla inicia PF simulando PN, con X0 como marcador de fondo de la
pila.
2. F(q, i,Z) = {(q,ZZ)}. Esta regla introduce una Z cuando se ve una i; simula PN.
3. F(q,e,Z) = {(q,)}. Esta regla extrae una Z cuando se ve una e; tambin simula PN.
4. F(q,,X0) = {(r,)}. Es decir, PF acepta cuando el PN simulado haya vaciado su pila.
Del estado final a la pila vaca
Ahora vamos a ver el proceso inverso: partiendo de un autmata a pila PF que acepta un lenguaje L por
estado final, construimos otro autmata a pila PN que acepta L por pila vaca. La construccin es sencilla
y se muestra en la Figura siguiente. A partir de cada estado de aceptacin de PF, aadimos una transicin
sobre a un nuevo estado p. En el estado p, PN extrae de la pila y no consume ninguna entrada. As,
cuando PF pasa a un estado de aceptacin despus de consumir la entrada w, PN vaciar su pila despus
de consumir w.
Con el fin de evitar simular una situacin en la que, accidentalmente, PF vace su pila sin aceptar, PN
tambin tiene que utilizar un marcador X0 para el fondo de su pila. El marcador es el smbolo inicial de
PN, y al igual que en la construccin del Teorema 2, PN tiene que partir de un nuevo estado p0, cuya
nica funcin es introducir el smbolo inicial de PF en la pila y pasar al estado inicial de PF .

PN simula PF y vaca su pila si y slo si PN entra en un estado de aceptacin.


TEOREMA 3:
Sea L el lenguaje L(PF) para un autmata a pila PF = (Q, , ,F ,q0,Z0,F). Entonces existe un
autmata a pila PN tal que L = N(PN).
CUESTIONARIO:

1.

También podría gustarte