El documento describe los autómatas de pila, incluyendo su funcionamiento, definición formal y diseño. Los autómatas de pila surgen como una alternativa para crear autómatas capaces de aceptar lenguajes libres de contexto. Tienen una pila que almacena caracteres y sus transiciones indican los caracteres consumidos, sacados y metidos a la pila.
2. Maquina de Turing
Es un dispositivo de reconocimientos de lenguaje, es más general que
cualquier autómata finito y cualquier autómata de pila, debido a que ellas
pueden reconocer tanto los lenguajes regulares, como los lenguajes
independientes de contexto y además muchos otros tipos de lenguajes.
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Un Enfoque de Diseño
3. Como Funciona?
• La maquina de Turing (abreviado MT) tiene, un control finito,
una cabeza lectora y una cinta donde puede haber
caracteres, y donde eventualmente viene la palabra de
entrada.
• La cinta es de longitud infinita hacia la derecha, hacia donde
se extiende indefinidamente, llenándose los espacios con el
carácter blanco (que representaremos con “ ⊔ ”o Δ o b).
• La cinta no es infinita hacia la izquierda, por lo que hay un
cuadro de la cinta que es el extremo izquierdo.
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Un Enfoque de Diseño
4. • Decimos que en la MT se llega al “final de un
calculo” cuando se alcanza un estado especial
llamado halt en el control finito, como
resultado de una transición. Representaremos
al halt por “h”.
• En particular, cuando trazamos una flecha que va de un
estado p a un estado q con etiqueta /L, quiere decir que
cuando la entrada al control finito (esto es, el carácter leído
por la cabeza de la MT) es , la cabeza lectora hace un
movimiento a la izquierda, indicada por el carácter L (left, en
ingles); similarmente cuando se tiene una flecha con /R el
movimiento es a la derecha.
Halt Left / Right
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Un Enfoque de Diseño
5. Autómatas de Pila
Estos surgen como una alternativa para la
creación de autómatas capaces de aceptar
los LLC (Lenguajes Libre de Contexto)
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Un Enfoque de Diseño
6. ¿Qué son los LLC?
Son los lenguajes formales que engloban a los
lenguajes regulares y constituyen los
mecanismos de representación y
reconocimiento de los lenguajes de
programación desde el punto de vista sintáctico.
EJEMPLOS
{ a, aa, aaa }
{ a, aa, aaa, aaaa, aaaaa, …)
{ λ, a, aa, aaa }
{ an | n ∈ (1, 3)}
{ an | n ∈ (n > 0)}
{ an | n ∈ (0, 3)}
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Un Enfoque de Diseño
7. Jerarquíade Chomsky
Primero que nada, debemos entender que las
reglas gramaticales que utilizamos no se limitan
a caracteres específicos.
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Un Enfoque de Diseño
1. Gramáticas Regulares
2. Gramáticas Libres de Contexto
3. Gramáticas Sensitivas al
Contexto
4. Gramáticas No Restringidas
8. Funcionamiento
La pila funciona de manera que el
último carácter que se almacena en ella
es el primero en salir.
X
Y
Z
…
TOPE DE LA PILA
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Un Enfoque de Diseño
Al iniciar la operación de un AP, la pila
se encuentra vacía. Durante la
operación del AP, la pila puede ir
recibiendo (y almacenando) caracteres,
según lo indiquen las transiciones
ejecutadas.
10. En los AP las transiciones de un estado a
otro indican, además de los caracteres que
se consumen de la entrada, también lo que
se saca del tope de la pila, así como
también lo que se mete a la pila.
Funcionamiento
EJEMPLO
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Un Enfoque de Diseño
Transición: a/𝜀/b
Se consume de la entrada
un caracter a, no se saca
nada de la pila, y se mete b
a la pila.
11. Diseño delos AP
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Un Enfoque de Diseño
NOTA: NO HAY METODOLOGÍAS TAN GENERALMENTE
APLICABLES COMO ERA EL CASO DE LOS AUTÓMATAS
FINITOS
A la hora de diseñar un AP tenemos que repartir lo
que requiere ser “recordado” entre los estados y la
pila.
Ejemplo.- Diseñar un AP que acepte exactamente el lenguaje con
palabras de la forma an bn, para cualquier número natural n.
12. Determinístico y NoDeterminístico
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 deterministas, a diferencia de lo
que ocurría con aquellos modelos, tiene una potencia
descriptiva estrictamente menor.
13. Ejemplos
Estados q0, q1, q2
Estado inicial q0
Estado final q2
Alfabeto de entrada Σ = {0, 1}
Alfabeto de pila Γ = {a, $}
Transiciones ( Ver En Pizarra)
14. Diseñar un Autómata a Pila para los
siguientes lenguajes:
L = { anbn | n ≥ 0}
L = { anb2n | n > 0}
L = { a2nbn | n ≥ 0}
L = { a2nbn | n > 0}