automátas de pila

14
Autómatas de Pila Por: Pedro Taveras 15-0474 Yuyi Pacheco K. 15-0538

Upload: yuyi-pacheco-kimura

Post on 14-Apr-2017

216 views

Category:

Technology


0 download

TRANSCRIPT

Autómatas de PilaPor:

Pedro Taveras 15-0474Yuyi Pacheco K. 15-0538

Maquina de TuringEs 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

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

• 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

Autómatas de PilaEstos 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

¿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

Jerarquía de ChomskyPrimero 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 Regulares2. Gramáticas Libres de

Contexto3. Gramáticas Sensitivas al

Contexto4. Gramáticas No Restringidas

FuncionamientoLa pila funciona de manera que el último carácter que se almacena en ella es el primero en salir.

XYZ…

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.

Definición Formal

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.

Diseño de los 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.

Determinístico y No DeterminísticoA 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.

EjemplosEstados q0, q1, q2Estado inicial q0Estado final q2Alfabeto de entrada Σ = {0, 1}Alfabeto de pila Γ = {a, $}Transiciones ( Ver En Pizarra)

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}