You are on page 1of 30

«Añadiendo memoria a la máquina conceptual.

AUTÓMATAS DE PILA

DEFINICIÓN DE LOS AUTÓMATAS DE PILA
Al igual que un autómata finito cuenta con un flujo 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 el inicial y por lo menos un estado se designa como estado de aceptación.

DIFERENCIA

Símbolos de pila de la máquina: Símbolos que pueden almacenarse en la pila que constituyen un conjunto finito que puede incluir algunos o todos los símbolos del alfabeto de la máquina y quizá algunos símbolos adicionales que la máquina utiliza como marcas internas. . Indicador de pila vacía: Símbolo especial en la pila antes de efectuar algún otro cálculo posterior. Ejemplo: #.

. Insertar un símbolo de la pila y Pasar a un nuevo estado. Extraer un símbolo de la pila.TRANSICIONES DE UN AUTÓMATA DE PILA Deben ser variantes de la secuencia básica: Leer un símbolo de entrada.

s. x es el símbolo de alfabeto que se lee de la entrada. q es el nuevo estado y y es el símbolo que se inserta en la pila. s es el símbolo que se extrae de la pila. q.Este proceso se representa con la notación (p. x. . y) Donde p es el estado actual.

q. y) . x.NOTACIÓN (p. s.

x. ) (3. . . . ) (3. 2. 2. y. x. . 3. x. y. #) (2.EJEMPLO: (1. ) . #. 3. x) (2. 4.

#) 0 . .# 1 .EJEMPLO: (0. . . 1.

UN AUTÓMATA DE PILA ES UNA SÉXTUPLA (s. . ™ es el alfabeto de la máquina.F). . F (Un subconjunto de S) es la colección de estados de aceptación. es la colección finita de símbolos de pila. i (un elemento de S) es el estado inicial. . donde: S es una colección finita de estados. T es una colección finita de transiciones.T.™.

en forma similar a como se usan los autómatas finitos.APLICACIÓN DE LOS AUTÓMATAS DE PILA Se pueden utilizar para analizar cadenas. .

. Los lenguajes aceptados por los autómatas de pila incluyen los lenguajes regulares.La terminología común no hace énfasis en la naturaleza no determinista de los autómatas de pila. deberían llamarse Autómatas de pila no deterministas. Técnicamente.

LOS AUTÓMATAS DE PILA ACEPTAN LENGUAJES QUE NO PUEDEN ACEPTAR LOS AUTÓMATAS FINITOS. . la máquina extrae una X por cada Y que se lee. Al final extrae absolutamente todos los símbolos. Luego. Inserción del símbolo de pila vacía.

TEOREMA 2. .1 Para cada autómata de pila que acepte cadenas sin vaciar su pila. .™. Demostración: Suponga que M=(s. Podemos modificar M de la manera siguiente: .F) es un autómata de pila que acepta cadenas sin tener que vaciar necesariamente su pila.T. existe un autómata que acepta el mismo lenguaje pero que vacía su pila antes de llegar a un estado de aceptación.

X. Y. . Luego añada un nuevo estado inicial y una transición que permita a M pasar del nuevo estado inicial al anterior a la vez que inserta en la pila un símbolo especial # (que no se encontraba anteriormente en ). X Y.1. 1 2 . X. Elimine la designación ´inicialµ del estado inicial de M. X.

i . X. X Y. añada un estado p junto con las transiciones que permiten a la máquina pasar de cada uno de los antiguos estados de aceptación a p sin leer. Elimine la característica de aceptación de cada estado de aceptación de M. extraer o insertar un símbolo. X. 2 . X. Luego.2. . . p . .# 1 Y.

q . Para cada x en (sin incluir #). 2 . Añada un nuevo estado de aceptación q y la transición (p.#.q. .# 1 Y. X. ). X. X Y. ). i . .p.3. introduzca la transición (p. . #. . p . . 4. X. X.x. .

X. Y. . . 1 Y. 2 . X Y. . . X Y. q . 1 2 X. X. .DIFERENCIA X. p . . X. i . X. X.

X Y. Y Y.# 1 2 X. Y X. Y. . 3 . i . #. X.n N} X. X.EJERCICIO: Diseñe un autómata de pila M tal que L(M)={XnYmXn:m. . q . .Y. Y. . p .

GRAMÁTICAS INDEPENDIENTES DEL CONTEXTO .

.

.

.

.

.

.

.

.

.

uabc.php?opcion=Lenguajes+Libres+de+Cont exto .mx/docentes/omendoza/tc/ index.FUENTES ´ http://fcqi.tij.