maquina de turing - enzo y bolivar - teoria de automatas

10
Máquina de Turing Enzo Casamassima (14-0696) Bolivar Garcia (14-0233)

Upload: enzo

Post on 04-Aug-2015

103 views

Category:

Engineering


11 download

TRANSCRIPT

Máquina de TuringEnzo Casamassima (14-0696)Bolivar Garcia (14-0233)

Definición• Una máquina de Turing es un dispositivo que manipula símbolos

sobre una tira de cinta de acuerdo a una tabla de reglas. A pesar de su simplicidad, una máquina de Turing puede ser adaptada para simular la lógica de cualquier algoritmo de computador y es particularmente útil en la explicación de las funciones de una CPU dentro de un computador.

• La máquina de Turing fue descrita por Alan Turing como una «máquina automática» en 1936 en la revista Proceedings of the London Mathematical Society,1 La máquina de Turing no está diseñada como una tecnología de computación práctica, sino como un dispositivo hipotético que representa una máquina de computación.

Definición formal• Una máquina de Turing es una séptupla M= (Γ,Σ, •,Q,q0,f,F) donde :

1. Γ es el alfabeto de símbolos de la cinta

2. Σ ⊂ Γ es el alfabeto de símbolos de entrada

3. • ∈ Γ es el símbolo blanco que no pertenece a Σ

4. Q es un conjunto finito de estados

5. q0 ∈ Q es el estado inicial

6. F ⊆ Q es el conjunto de estados finales

7. f es una función de transición parcial f: Q×Γ → Q×Γ×{L,R}

Funcionamiento• La máquina de Turing modela matemáticamente a una máquina

que opera sobre una cinta. En esta cinta hay símbolos que la máquina puede leer y escribir, uno a la vez. La operación está completamente determinada por un conjunto finito de instrucciones elementales como, por ejemplo: "en el estado 43, si el símbolo visto es 0, escribe un 1; Si el símbolo visto es 1, cambia al estado 28 y muévete un espacio a la derecha; en el estado 28, si el símbolo visto es 0, escribe un 1 y cambia al estado 6; etc".

Funcionamiento

• Turing definió también las posibles acciones que podía realizar la máquina:• Escribir un símbolo en la celda

activa (P).

• Borrar símbolo de la celda activa (E).

• Mover la cinta una posición hacia la izquierda (L).

• Mover la cinta una posición hacia la derecha (R).

• Finalmente, en cada paso puede producirse un cambio en la configuración.

Tipos de máquina de Turing• Máquina de Turing con cinta infinita a ambos lados: Esta

modificación se denota al igual que una MT sencilla, lo que la hace diferente es que la cinta es infinita tanto por la derecha como por la izquierda.

• Máquina de Turing con cinta multipista: Es aquella que mediante la cual cada celda de la cinta de una máquina sencilla se divide en subceldas. Cada celda es así capaz de contener varios símbolos de la cinta. Por ejemplo, la cinta de la figura tiene cada celda subdividida en tres subceldas.

• Se dice que esta cinta tiene múltiples pistas puesto que cada celda de esta máquina de Turing contiene múltiples caracteres, el contenido de las celdas de la cinta puede ser representado mediante n-tuplas ordenadas

Tipos de máquina de Turing• Máquina de Turing multicinta: Una MT con más de una

cinta consiste de un control finito con k cabezales lectores/escritores y k cintas. Cada cinta es infinita en ambos sentidos. La MT define su movimiento dependiendo del símbolo que está leyendo cada uno de sus cabezales, da reglas de sustitución para cada uno de los símbolos y dirección de movimiento para cada uno de los cabezales. Inicialmente la MT empieza con la entrada en la primera cinta y el resto de las cintas en blanco.• Máquina de Turing multidimensional: Una MT

multidimensional es aquella cuya cinta puede verse como extendiéndose infinitamente en más de una dirección, el ejemplo más básico sería el de una máquina bidimensional cuya cinta se extendería infinitamente hacia arriba, abajo, derecha e izquierda.

• En la modificación bidimensional de MT que se muestra en la figura también se agregan dos nuevos movimientos del cabezal {U,D} (es decir arriba y abajo). De esta forma la definición de los movimientos que realiza el cabezal será {L,R,U,D}.

Tipos de máquina de Turing• Máquina de Turing universal: es una máquina de Turing que

puede simular una máquina de Turing arbitraria en la entrada arbitraria. La máquina universal esencialmente logra esto mediante la lectura de tanto la descripción de la máquina a ser simulada como también la entrada misma de su propia cinta

Máquina de Turing determinista y no determinista• La entrada de una máquina de Turing viene determinada por el

estado actual y el símbolo leído, un par (estado, símbolo), siendo el cambio de estado, la escritura de un nuevo símbolo y el movimiento del cabezal, las acciones a tomar en función de una entrada. En el caso de que para cada par (estado, símbolo) posible exista a lo sumo una posibilidad de ejecución, se dirá que es una máquina de Turing determinista, mientras que 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.

• Un algoritmo no determinista es un algoritmo que con la misma entrada ofrece muchos posibles resultados. No se puede saber de antemano cuál será el resultado de la ejecución de un algoritmo no determinista.

Problema de la parada (halting problem)• El problema de la parada o problema de la detención para

Máquinas de Turing consiste en lo siguiente: dada una Máquina de Turing M y una palabra w, determinar si M terminará en un número finito de pasos cuando es ejecutada usando w como dato de entrada.

• Lo que se afirma es que no existe una manera automática computable de saber si todos los programas del mundo terminan. No se niega que exista la prueba para programas concretos. De hecho, la construcción de pruebas para programas concretos es un paso obligatorio para demostrar su correctitud.

• Al ejecutar un programa, este puede terminar después de un número finito de pasos o puede nunca terminar. En la práctica, este último caso se manifiesta como programas que se quedan "trabados" o que entran a un bucle infinito. Por esta razón sería de gran utilidad resolver la siguiente pregunta en la práctica: