Máquinas de Turing 1
Motivación Nuestra meta, en este curso, es analizar problemas y clasificarlos de acuerdo a su complejidad. 2
Motivación Nos hacemos preguntas como: Cuánto tiempo tarda en computarse algo? 3
Motivación Para poder resolver estas cuestiones debemos definir formalmente un modelo de computación. 4
Introducción Objetivos: Introducir el modelo de computación denominado Máquina de Turing. Resumen: Máquinas de Turing deterministas (MTD) Máquinas de Turing con varias cintas (MTVC) Máquinas de Turing no deterministas (MTND) La tesis de Church-Turing 5
Esquema de una MT Aquí hay una b! cabeza: lee/escribe movimientos: izda/dcha a cinta infinita 6
SIP 128-129 Definición formal de la MT Una máquina de Turing determinista es una tupla formada por varios objetos. 7
Definición formal de la MT 1. Q un conjunto finito de estados. 8
Definición formal de la MT 2. Σ - El alfabeto de entrada: un conjunto finito de símbolos que no contiene al símbolo blanco. 9
Definición formal de la MT 3. Γ - el alfabeto de cinta, tal que: Σ Γ y en símbolo _ está en Γ. 10
Definición formal de la MT 4. δ:q Γ Q Γ {I,D} la función de transición. q 0 q 0 a 11
Definición formal de la MT 5. q 0 Q el estado inicial 12
Definición formal de la MT 6. q si Q el estado aceptador. 13
Definición formal de la MT 7. q no Q el estado no aceptador. q no q si. 14
Definición formal de la MT Resumen 1. Q el conjunto de estados. 2. Σ - el alfabeto de entrada. 3. Γ - el alfabeto de cinta. 4. δ:q Γ Q Γ {I,D} la función de transición. 5. q 0 Q el estado inicial. 6. q si Q el estado aceptador. 7. q no Q el estado que rechaza. 15
Ejecución de un MTD La configuración inicial estado inicial q 0 cabeza: en la casilla más a la izda La entrada: a partir de la casilla más a la izda 16
Ejecución de un MTD Ejemplo δ(q 0,a)=(q 0,b,D) q 0 q 0 b Nota: La cabeza no se puede mover más a la izda de esta casilla! 17
Ejecución de un MTD La configuración aceptadora q si Si la ejecución alcanza el estado aceptador, para. 18
Ejecución de un MTD La configuración rechazadora q no Si la ejecución alcanza el estado que rechaza, también para. Nota: La máquina podría ciclar y no alcanzar ninguno de los estados aceptador y rechazador! 19
Lenguaje aceptado por una MT Una MT acepta su entrada si, partiendo de la configuración inicial, durante el cómputo alcanza la configuración aceptadora. El conjunto de entradas aceptadas por un MT se denomina su lenguaje. 20
Configuraciones Cuántas configuraciones distintas puede alcanzar una MT que use N casillas? Γ N N Q El contenido de la cinta La posición de la cabeza El estado 21
Construcción de una MTD para un lenguaje L = { a n b n c n n 0 } Ejemplos: Miembros de L: No miembros de L: aaabbbccc aaabbcccc 22
La máquina de Turing determinista 1. Q = {q 0,q 1,q 2,q 3,q 4,q sit,q no } 2. Σ = {a,b,c} 3. Γ = {a,b,c,_,x,y,z} 4. δ especificada mediante diagrama. 5. q 0 Q el estado inicial. 6. q si Q el estado aceptador. 7. q no Q el estado que rechaza. 23
La función de transición _ _, D q ac q 0 _ _, D a a, D Y Y, D a X,D q 1 X X, D Y Y, D q 4 b Y,D q 3 q 2 c Z,I b b, D Z Z, D b b, I a a, I Y Y, I Z Z, I Las transiciones a estado q no no se especifican. Y Y, D Z Z, D 24
Lenguaje aceptado {a n b n c n n 0 } a a, D Y Y, D a X,D q 1 b Y,D b b, D Z Z, D q 2 _ _, D q si q 0 Y Y, D _ _, D X X, D q 4 q 3 c Z,I Z Z, I b b, I Y Y, I a a, I Y Y, D Z Z, D Xa Yb Zc... 25
Modelos equivalentes Las máquinas de Turing deterministas tienen mucho poder de computación. Podemos simular con ellas otros modelos, aparentemente más poderosos, con un coste polinómico. A continuación vemos un ejemplo. 26
Máquinas de Turing con varias cintas La entrada se escribe en la primera cinta SIP 136-138 a a b a b b _... b b b b b... b a a b a... 27
Máquinas de Turing con varias cintas 1. Q el conjunto de estados. 2. Σ - el alfabeto de entrada. 3. Γ - el alfabeto de cinta. 4. δ:q Γ k Q (Γ {I,D}) k la función de transición, donde k (el número de cintas) es una constante. 5. q 0 Q el estado inicial. 6. q si Q el estado aceptador. 7. q no Q el estado que rechaza. 28
Robustez del modelo Las máquinas de Turing con varias cintas son polinómicamente equivalentes (en cuanto a tiempo) a las que tienen una sola cinta. Podemos afirmar algo mucho más importante sobre la robustez del modelo de máquina de Turing: 29
La Tesis de Church-Turing Noción (intuitiva) de de algoritmos Máquinasde Turing 30
Qué más? Definimos otro modelo de computación menos realista, que puede ser simulado por las MTDs. Sin embargo, con un coste exponencial de tiempo. 31
Máquinas de Turing no deterministas MTND 1. Q el conjunto de estados. 2. Σ - el alfabeto de entrada. 3. Γ - el alfabeto de cinta. 4. δ:q Γ P(Q Γ {I,D}) la función de transición. 5. q 0 Q el estado inicial. 6. q si Q el estado aceptador. 7. q no Q el estado que rechaza. Partes de P(A)={B B A} 32
Ejecución de un MTND cómputo determinista Árbol de cómputo no determinista tiempo. acepta si alguna rama alcanza la configuración aceptadora Nota: el tamaño de un árbol es exponencial en su profundidad 33
Descripción alternativa Una máquina de Turing no determinista adivina el camino correcto y luego comprueba que efectivamente es correcto. 34
Ejemplo Una MTND que decide si dos vértices de un grafo están conectados puede simplemente adivinar un camino entre ellos. A continuación necesita verificar que efectivamente el camino es válido (existe). 35
SIP 138-140 Simulación de una MTND por una MTD Describimos una MTD con 3-cintas que simula una MTND dada. 36
Simulación de una MTND por una MTD cinta de entrada... cinta simuladora... cinta de direcciones... 37
Direcciones 1 111 1 2 3 computación no determinista 1 1 2 1 1 2 1 1 2 1312 1 1 1 2 38
Simulación 1. Escribe 111 1 en la cinta de direcciones. 2. Copia la entrada en la cinta simuladora. 3. Simula la MTND: usa la elección dictada por la cinta de direcciones (si es válida). 4. Si se acepta acepta y termina. 5. Cambia la dirección por la siguiente en orden lexicográfico. Si no hay más rechaza. 6. Ir al paso 2. 39
Resumen Presentamos dos modelos de computación: la máquina de Turing determinista frente a la máquina de Turing no determinista. Simulamos las MTNDs por MTDs con un coste exponencial en tiempo. 40
Resumen La Tesis de Church-Turing: Las máquinas de Turing deterministas son equivalentes a nuestra idea intuitiva de algoritmo. Hay que tener en cuenta que normalmente describiremos los algoritmos en pseudocódigo y no con MTDs 41