Você está na página 1de 3

Formalmente, un aut�mata con pila puede ser descrito como una s�ptupla

{\displaystyle M=(S,\Sigma ,\Gamma ,\delta ,s,Z,F)} {\displaystyle M=(S,\Sigma


,\Gamma ,\delta ,s,Z,F)} donde:

{\displaystyle S} S es un conjunto finito de estados;


{\displaystyle \Sigma } \Sigma y {\displaystyle \Gamma } {\displaystyle \Gamma }
son alfabetos (s�mbolos de entrada y de la pila respectivamente);
{\displaystyle \delta :S\times (\Sigma \cup \{\epsilon \})\times \Gamma \rightarrow
{\mathcal {P}}(S\times \Gamma ^{*})} {\displaystyle \delta :S\times (\Sigma \cup \
{\epsilon \})\times \Gamma \rightarrow {\mathcal {P}}(S\times \Gamma ^{*})}
{\displaystyle s\in S} {\displaystyle s\in S} es el estado inicial;
{\displaystyle Z\ \in \Gamma } {\displaystyle Z\ \in \Gamma } es el s�mbolo inicial
de la pila;
{\displaystyle F\subseteq S} {\displaystyle F\subseteq S} es un conjunto de estados
de aceptaci�n o finales;

La interpretaci�n de {\displaystyle \delta (q,a,b)=\{(q_{1},\gamma _{1}),


(q_{2},\gamma _{2}),\ldots ,(q_{n},\gamma _{n})\}} {\displaystyle \delta (q,a,b)=\
{(q_{1},\gamma _{1}),(q_{2},\gamma _{2}),\ldots ,(q_{n},\gamma _{n})\}}, con
{\displaystyle q,q_{i}\in S,a\in (\Sigma \cup \{\epsilon \}),b\in \Gamma }
{\displaystyle q,q_{i}\in S,a\in (\Sigma \cup \{\epsilon \}),b\in \Gamma }, y
{\displaystyle \gamma _{i}\in \Gamma ^{*}} {\displaystyle \gamma _{i}\in \Gamma
^{*}} es la siguiente:

Cuando el estado del aut�mata es {\displaystyle q} q, el s�mbolo que la cabeza


lectora est� inspeccionando en ese momento es {\displaystyle a} a, y en la cima de
la pila nos encontramos el s�mbolo {\displaystyle b} b, se realizan las siguientes
acciones:

Si {\displaystyle a\in \Sigma } {\displaystyle a\in \Sigma }, es decir no es la


cadena vac�a, la cabeza lectora avanza una posici�n para inspeccionar el siguiente
s�mbolo.
Se elimina el s�mbolo {\displaystyle b} b de la pila del aut�mata.
Se selecciona un par {\displaystyle (q_{i},\gamma _{i})} {\displaystyle
(q_{i},\gamma _{i})} de entre los existentes en la definici�n de {\displaystyle
\delta (q,a,b)} {\displaystyle \delta (q,a,b)}, la funci�n de transici�n del
aut�mata.
Se apila la cadena {\displaystyle \gamma _{i}=c_{1}c_{2}\ldots c_{k}}
{\displaystyle \gamma _{i}=c_{1}c_{2}\ldots c_{k}}, con {\displaystyle c_{i}\in
\Gamma } {\displaystyle c_{i}\in \Gamma } en la pila del aut�mata, quedando el
s�mbolo {\displaystyle c_{k}} {\displaystyle c_{k}} en la cima de la pila.
Se cambia el control del aut�mata al estado {\displaystyle q_{i}} {\displaystyle
q_{i}}.

Funcionamiento
Los aut�matas de pila, en forma similar a como se usan los aut�matas finitos,
tambi�n se pueden utilizar para aceptar cadenas de un lenguaje definido sobre un
alfabeto A. Los aut�matas de pila pueden aceptar lenguajes que no pueden aceptar
los aut�matas finitos. Un aut�mata de pila cuenta con una cinta de entrada y un
mecanismo de control que puede encontrarse en uno de entre un n�mero finito de
estados. Uno de estos estados se designa como estado inicial, y adem�s algunos
estados se llaman de aceptaci�n o finales. A diferencia de los aut�matas finitos,
los aut�matas de pila cuentan con una memoria auxiliar llamada pila. Los s�mbolos
(llamados s�mbolos de pila) pueden ser insertados o extra�dos de la pila, de
acuerdo con el manejo last-in-first-out (LIFO). Las transiciones entre los estados
que ejecutan los aut�matas de pila dependen de los s�mbolos de entrada y de los
s�mbolos de la pila. El aut�mata acepta una cadena x si la secuencia de
transiciones, comenzando en estado inicial y con pila vac�a, conduce a un estado
final, despu�s de leer toda la cadena x.1?
Representaci�n
Una m�quina de este tipo se representa de la siguiente forma

Representacion.gif

Al igual que un aut�mata finito un aut�mata de pila cuenta con un flujo de entrada
y un flujo de control que puede encontrarse en uno de entre un n�mero finito de
estados. Uno de estos estados se designa como el inicial y por lo menos un estado
es de aceptaci�n.

La principal diferencia es que los aut�matas de pila cuentan con una pila en donde
pueden almacenar informaci�n para recuperarla m�s tarde.

Los s�mbolos que pueden almacenarse en esta pila se conocen como s�mbolos de pila
de la m�quina, constituyen un conjunto finito que puede incluir algunos s�mbolos
definiendo el alfabeto de la m�quina y quiz� algunos s�mbolos adicionales que se
utilizan como marcas internas. Si una m�quina inserta un s�mbolo especial en la
pila antes de efectuar alg�n otro c�lculo, entonces ese s�mbolo en la cima de la
pila puede usarse como indicador de pila vac�a para c�lculos posteriores, dicho
s�mbolo es #.2?

Ejemplo
Sea el siguiente LLC {\displaystyle L=\{a^{k}b^{k}|k\geq 0\}} {\displaystyle L=\
{a^{k}b^{k}|k\geq 0\}}; formado por las cadenas {\displaystyle L=\{\epsilon
,ab,aabb,aaabbb,aaaabbbb,\ldots \}} {\displaystyle L=\{\epsilon
,ab,aabb,aaabbb,aaaabbbb,\ldots \}}

Dicho lenguaje puede ser reconocido por el siguiente aut�mata con pila:

{\displaystyle M=(\{q_{0},q_{1},q_{2},q_{3}\},\{a,b\},\{A,{\underline {A}}\},\delta


,q_{0},\{q_{0},q_{3}\}),} {\displaystyle M=(\{q_{0},q_{1},q_{2},q_{3}\},\{a,b\},\
{A,{\underline {A}}\},\delta ,q_{0},\{q_{0},q_{3}\}),}

donde las transiciones son:

{\displaystyle \delta (q_{0},a,\epsilon )=\{(q_{1},{\underline {A}})\}}


{\displaystyle \delta (q_{0},a,\epsilon )=\{(q_{1},{\underline {A}})\}}

{\displaystyle \delta (q_{1},a,\epsilon )=\{(q_{1},{\underline {A}})\}}


{\displaystyle \delta (q_{1},a,\epsilon )=\{(q_{1},{\underline {A}})\}}

{\displaystyle \delta (q_{1},b,{\underline {A}})=\{(q_{2},\epsilon )\}}


{\displaystyle \delta (q_{1},b,{\underline {A}})=\{(q_{2},\epsilon )\}}

{\displaystyle \delta (q_{1},b,{\underline {A}})=\{(q_{3},\epsilon )\}}


{\displaystyle \delta (q_{1},b,{\underline {A}})=\{(q_{3},\epsilon )\}}

{\displaystyle \delta (q_{2},b,{\underline {A}})=\{(q_{2},\epsilon )\}}


{\displaystyle \delta (q_{2},b,{\underline {A}})=\{(q_{2},\epsilon )\}}

{\displaystyle \delta (q_{2},b,{\underline {A}})=\{(q_{3},\epsilon )\}}


{\displaystyle \delta (q_{2},b,{\underline {A}})=\{(q_{3},\epsilon )\}}

{\displaystyle \delta (q,\theta ,\rho )=\emptyset } {\displaystyle \delta (q,\theta


,\rho )=\emptyset } para cualquier {\displaystyle (q,\theta ,\rho )} {\displaystyle
(q,\theta ,\rho )}

El significado de las transiciones puede ser explicado analizando la primera


transici�n:

{\displaystyle \delta (q_{0},a,\epsilon )=\{(q_{1},{\underline {A}})\}}


{\displaystyle \delta (q_{0},a,\epsilon )=\{(q_{1},{\underline {A}})\}}

donde {\displaystyle q_{0}} q_{0} es el estado actual, {\displaystyle a} a es el


s�mbolo en la entrada y {\displaystyle \epsilon } \epsilon se extrae de la cima de
la pila. Entonces, el estado del aut�mata cambia a {\displaystyle q_{1}} q_1 y el
s�mbolo {\displaystyle {\underline {A}}} {\displaystyle {\underline {A}}} se coloca
en la cima de la pila.

La idea del funcionamiento del aut�mata es que al ir leyendo los diferentes


s�mbolos a, estos pasan a la pila en forma de s�mbolos A. Al aparecer el primer
s�mbolo b en la entrada, se comienza el proceso de desapilado, de forma que
coincida el n�mero de s�mbolos b le�dos con el n�mero de s�mbolos A que aparecen en
la pila.

Aut�mata con pila deterministico


N�tese que, a diferencia de un aut�mata finito o una m�quina de Turing, la
definici�n b�sica de un aut�mata con pila es de naturaleza no determinista, pues la
clase de los aut�matas con pila deterministicos, a diferencia de lo que ocurr�a con
aquellos modelos, tiene una potencia descriptiva estrictamente menor. Para
calificar a un aut�mata con pila como deterministico deben darse dos
circunstancias; en primer lugar, por supuesto, que en la definici�n de cada
componente de la funci�n de transici�n existan un �nico elemento lo que da la
naturaleza determinista. Pero eso no es suficiente, pues adem�s puede darse la
circunstancia de que el aut�mata est� en el estado {\displaystyle s} s y en la pila
aparezca el s�mbolo {\displaystyle sZ} {\displaystyle sZ}, entonces, si existe una
definici�n de transici�n posible para alg�n s�mbolo cualquiera {\displaystyle a} a
del alfabeto de entrada, pero, adem�s existe otra alternativa para la palabra vac�a
{\displaystyle \epsilon } {\displaystyle \epsilon }, tambi�n esto es una forma de
no determinismo, pues podemos optar entre leer un s�mbolo o no hacerlo. Por eso, en
aut�mata deterministico no debe existir transici�n posible con lectura de s�mbolo
si puede hacerse sin ella, ni al contrario

Você também pode gostar