Automata de Pila y Maquina de Turing No Deterministas

27

Transcript of Automata de Pila y Maquina de Turing No Deterministas

Page 1: Automata de Pila y Maquina de Turing No Deterministas
Page 2: Automata de Pila y Maquina de Turing No Deterministas

Autómatas De Pila

Luis R. Sánchez 15-0589Pedro Román Infante 15-0298

DS

Page 3: Automata de Pila y Maquina de Turing No Deterministas

¿Qué es un Autómata de Pila?

Brena, R. (2003). Autómatas y Lenguajes (ed., Vol., pp.). Monterrey, México

Page 4: Automata de Pila y Maquina de Turing No Deterministas

Autómata de PilaLa pila funciona de manera que el ultimo carácter que se almacena en ella es el primero en salir (“LIFO” por las siglas en ingles), como si empiláramos platos uno encima de otro, y naturalmente el primero que quitaremos es el último que hemos colocado.

q

S

Brena, R. (2003). Autómatas y Lenguajes (ed., Vol., pp.). Monterrey, México

Page 5: Automata de Pila y Maquina de Turing No Deterministas

Autómata de PilaCaracterísticas de unAl igual que los AF, los AP tienen estados finales, que permiten distinguir cuando una palabra de entrada es aceptada. De hecho, para que una palabra de entrada sea aceptada en un AP se deben cumplir todas las condiciones siguientes:

1. La palabra de entrada se debe haber agotado (consumido totalmente).

2. El AP se debe encontrar en un estado final.

3. La pila debe estar vacía.

Brena, R. (2003). Autómatas y Lenguajes (ed., Vol., pp.). Monterrey, México

Page 6: Automata de Pila y Maquina de Turing No Deterministas

Al iniciar la operación de un Autómata de Pila, 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. Al final de su operación, para aceptar una palabra, la pila debe estar nuevamente vacía.

Brena, R. (2003). Autómatas y Lenguajes (ed., Vol., pp.). Monterrey, México

Page 7: Automata de Pila y Maquina de Turing No Deterministas

Ahora describiremos el funcionamiento de los AP. Si tenemos una transición de la forma ((p, u, β), (q, γ)) ∆, el AP hace lo siguiente: ∈ Estando en el estado p, consume u de la entrada; Saca β de la pila; Llega a un estado q; Mete γ en la pila

Brena, R. (2003). Autómatas y Lenguajes (ed., Vol., pp.). Monterrey, México

B

Page 8: Automata de Pila y Maquina de Turing No Deterministas

Puede verse que las transiciones se definen como una relación, no como una función, por lo que de entrada se les formaliza como autómatas no deterministas.

Brena, R. (2003). Autómatas y Lenguajes (ed., Vol., pp.). Monterrey, México

Page 9: Automata de Pila y Maquina de Turing No Deterministas

¿Cuando los AP son Deterministas?Para calificar a un autómata con pila como determinista deben darse dos circunstancias:

• En primer lugar 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

• Segundo, en los AP deterministas no debe existir transición posible con lectura de símbolo si puede hacerse sin ella, ni al contrario.

Brena, R. (2003). Autómatas y Lenguajes (ed., Vol., pp.). Monterrey, México

?¿

Page 10: Automata de Pila y Maquina de Turing No Deterministas

A la hora de diseñar un AP tenemos que repartir lo que requiere ser “recordado” entre los estados y la pila. Distintos diseños para un mismo problema pueden tomar decisiones diferentes en cuanto a que recuerda cada cual.

Diseñando un Autómata de Pila

Brena, R. (2003). Autómatas y Lenguajes (ed., Vol., pp.). Monterrey, México

Page 11: Automata de Pila y Maquina de Turing No Deterministas

Ejemplo - Diseñar un AP que acepte exactamente el lenguaje con palabras de la forma , para cualquier numero natural n. Una idea que surge inmediatamente es la de utilizar la pila como “contador” para recordar la cantidad de a’s que se consumen, y luego confrontar con la cantidad de b’s. Una primera versión de este diseño utiliza un solo estado q, con transiciones a/ε/a y b/a/ε de q a sı mismo, como en la figura 5.2(a).

Brena, R. (2003). Autómatas y Lenguajes (ed., Vol., pp.). Monterrey, México

Page 12: Automata de Pila y Maquina de Turing No Deterministas

Para verificar el funcionamiento del autómata, podemos simular su ejecución, listando las situaciones sucesivas en que se encuentra, mediante una tabla que llamaremos “traza de ejecución”. Las columnas de una traza de ejecución para un AP son: el estado en que se encuentra el autómata, lo que falta por leer de la palabra de entrada, y el contenido de la pila.

Por ejemplo, la traza de ejecución del AP del ´ultimo ejemplo, para la palabra aabb, se muestra a continuación:

Brena, R. (2003). Autómatas y Lenguajes (ed., Vol., pp.). Monterrey, México

Page 13: Automata de Pila y Maquina de Turing No Deterministas

Tomar en Cuenta…Conviene en este punto recordar que en un autómata no determinista una palabra es aceptada cuando existe un calculo que permite aceptarla, independientemente de que un calculo en particular se vaya por un camino erróneo.

Lo importante es, pues, que exista un calculo que acepte la palabra en cuestión.

Brena, R. (2003). Autómatas y Lenguajes (ed., Vol., pp.). Monterrey, México

Page 14: Automata de Pila y Maquina de Turing No Deterministas

EJERCICIOS

L = { anbn | n ≥ 0}L = { anb2n | n > 0}L = { a2nbn | n ≥ 0}L = { a2nbn | n > 0}

Chocolates a Participantes:

Diseñar un Autómata a Pila para los siguientes lenguajes:

Page 15: Automata de Pila y Maquina de Turing No Deterministas

S

q3

q2q4 D

Page 16: Automata de Pila y Maquina de Turing No Deterministas

Maquina de TuringLa maquina de Turing (abreviado MT) tiene, como los autómatas que hemos visto antes, 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 “t”).

La cinta no es infinita hacia la izquierda, por lo que hay un cuadro de la cinta que es el extremo izquierdo, como en la figura.

Brena, R. (2003). Autómatas y Lenguajes (ed., Vol., pp.). Monterrey, México

Page 17: Automata de Pila y Maquina de Turing No Deterministas

Operación de la Maquina de TuringLa operación de la MT consta de los siguientes pasos: 1. Lee un carácter en la cinta 2. Efectúa una transición de estado 3. Realiza una acción en la cinta

Las acciones que puede ejecutar en la cinta la MT pueden ser: Escribe un símbolo en la cinta, o Mueve la cabeza a la izquierda o a la derecha Estas dos acciones son excluyentes, es decir, se hace una o la otra, pero no ambas a la vez.

Brena, R. (2003). Autómatas y Lenguajes (ed., Vol., pp.). Monterrey, México

Page 18: Automata de Pila y Maquina de Turing No Deterministas

Funcionamiento de una MT

La palabra de entrada en la MT está escrita inicialmente en la cinta, como es habitual en nuestros autómatas, pero iniciando a partir de la segunda posición de la cinta, siendo el primer cuadro un carácter blanco. Como la cinta es infinita, inicialmente toda la parte de la cinta a la derecha de la palabra de entrada está llena del carácter blanco (t).

Por definición, al iniciar la operación de la MT, la cabeza lectora está posicionada en el carácter blanco a la izquierda de la palabra de entrada, el cual es el cuadro más a la izquierda de la cinta. Decimos que en la MT se llega al “final de un cálculo” cuando se alcanza un estado especial llamado Halt en el control finito, como resultado de una transición.

12

Brena, R. (2003). Autómatas y Lenguajes (ed., Vol., pp.). Monterrey, México

Page 19: Automata de Pila y Maquina de Turing No Deterministas

Así, en la MT no hay estados finales

Page 20: Automata de Pila y Maquina de Turing No Deterministas

Ha habido diversos intentos de encontrar otros modelos de maquinas u otros formalismos que sean mas poderosos que las MT, en el mismo sentido que las MT son mas poderosas que los AF y los AP. (Decimos que una tipo de maquina MA es mas poderoso que un tipo MB cuando el conjunto de lenguajes aceptados por alguna maquina en MB es un subconjunto propio de los aceptados por MA).

Por ejemplo, independientemente de Turing, Emil Post propuso aun otro modelo de maquina abstracta, basada en la idea de un diagrama de flujo.

También se han tratado de hacer “extensiones” a la MT, para hacerla mas poderosa. Por ejemplo, se propusieron MT no deterministas. Sin embargo, todos los intentos han sido infructuosos al encontrarse que dichas extensiones son equivalentes en poder de calculo a la MT original

Page 21: Automata de Pila y Maquina de Turing No Deterministas

MT No Deterministas

En el caso de que exista al menos un par (estado, símbolo) con más de una posible combinación de actuaciones se dirá que se trata de una máquina de Turing no determinista.

Brena, R. (2003). Autómatas y Lenguajes (ed., Vol., pp.). Monterrey, México

Page 22: Automata de Pila y Maquina de Turing No Deterministas

¿Cómo sabe una máquina no determinista qué acción tomar de las varias posibles?

Hay dos formas de verlo: una es decir que la máquina es "el mejor adivino posible", esto es, que siempre elige la transición que finalmente la llevará a un estado final de aceptación. La otra es imaginarse que la máquina se "clona", bifurcándose en varias copias, cada una de las cuales sigue una de las posibles transiciones.

Brena, R. (2003). Autómatas y Lenguajes (ed., Vol., pp.). Monterrey, México

Page 23: Automata de Pila y Maquina de Turing No Deterministas

La capacidad de cómputo de ambas versiones es equivalente; se puede demostrar que dada una máquina de Turing no determinista existe otra máquina de Turing determinista equivalente, en el sentido de que reconoce el mismo lenguaje, y viceversa.

Mientras que una máquina determinista sigue un único "camino computacional", una máquina no determinista tiene un "árbol computacional". Si cualquiera de las ramas del árbol finaliza en un estado de aceptación, se dice que la máquina acepta la entrada.

Page 24: Automata de Pila y Maquina de Turing No Deterministas

EJERCICIOSDiseñar una Máquina de Turing que calcule el complemento a 1 de un número binario. (Es decir, que sustituya los 0’s por 1’s y los 1’s por 0’s).

Construir una máquina que verifique si el numero de 0s en una palabra es par:

Chocolates a Participantes:

Page 25: Automata de Pila y Maquina de Turing No Deterministas

VIDEOS AP

Page 26: Automata de Pila y Maquina de Turing No Deterministas

VIDEOS MT

Page 27: Automata de Pila y Maquina de Turing No Deterministas

Autómatas De Pila

Luis R. Sánchez 15-0589Pedro Román Infante 15-0298

DS