2. Máquina de turing: ¿Qué
es?
Es un modelo matemático consistente en un autómata que
es capaz de “implementar cualquier problema matemático
expresado a través de un algoritmo”.
Destaca por su simplicidad pues manipula símbolos sobre
una tira de cinta siguiendo una serie de reglas.
Puede adaptarse para que simule la lógica de cualquier
algoritmo de computador, de ahí su enorme potencial y
valor.
3. Máquina de Turing:
sus partes
Una Máquina de Turing consta de:
● Una cinta infinita dividida en celdas
yuxtapuestas.
● Un cabezal capaz de leer y escribir
símbolos en la cinta y moverla de
celda en celda a derecha e
izquierda.
● Un registro de estado.
● Una tabla finita de instrucciones o
tabla de acción.
4. Detalles a tener en
cuenta
● La cinta es de longitud infinita hacia
la derecha llenándose los espacios
con el carácter blanco
● La cinta no es infinita hacia la
izquierda.
● La cabeza se mueve
bidireccionalmente, por lo que puede
pasar repetidas veces sobre un
mismo segmento de la cinta.
5. Máquina de Turing: Funcionamiento básico
Al comenzar a funcionar, la máquina se encuentra en el estado q0 y su cabeza lectora está en la
posición 1 de la cinta.
En cada instante la máquina se encuentra en un estado q y su cabeza lectora está en una posición p.
Si el símbolo en la posición p es a y δ(q, a) = (q ′ , b, X), entonces:
●La máquina escribe el símbolo b en la posición p de la cinta
●Cambia de estado desde q a q ′
●Mueve la cabeza lectora a la posición p − 1 si X es ←, y a la posición p + 1 si X es →. Si X es vacio,
entonces la cabeza lectora permanece en la posición p
6. Máquinas de Turing: Ejemplo
Queremos construir una máquina que verifique si
el número de 0s en una palabra es par: M = (Q,
Σ, Γ, q0, δ, F)
• Q = {q0, q1}
• Σ = {0, 1}
• Γ = {0, 1, ⊢, B}
• F = {q0}
δ es definida como:
●δ(q0, 0) = (q1, B,→)
●δ(q0, 1) = (q0, B,→)
●δ(q1, 0) = (q0, B,→)
●δ(q1, 1) = (q1, B,→)
9. Una máquina de Turing determinista
es aquella que para cada par
(estado actual, símbolo leído)
posible, existe a lo sumo una
posibilidad de ejecución.
Máquina de Turing
Determinista
Concepto
10. Máquina de Turing (Determinista):
(Q, Σ, Γ, q0, δ, F)
Máquina de Turing
Determinista
Definición Formal
11. Diseñar una Máquina de Turing que
obtenga el predecesor de un número
en codificación unaria.
Máquina de Turing
Determinista
Ejemplo
➔ Q= {q0, q1, q2}
➔ Σ= {1}
➔ Γ= {1,B, ⊢}
➔ F= q2
➔ δ definida por:
➔ δ(q0, 1) = (q0, 1, →)
➔ δ(q0, B) = (q1, B, ←)
➔ δ(q1, 1) = (q2, B, [ ])
12. Máquina de Turing Determinista
Ejemplo: Continuación
Supongamos que w = 111
13. Diseñar una Máquina de Turing que
calcule la paridad de un número
binario. Es decir, si el número de 1’s
de la cadena es par, se añade un 0
al final, y si es impar, se añade un 1.
Máquina de Turing
Determinista
Ejercicio
➔ Q= {q0, q1, q2}
➔ Σ= {0, 1}
➔ Γ= {0,1,B, ⊢}
➔ F= q3
➔ δ definida por:
δ(q0, 0) = (q0, 0, →)
δ(q0, 1) = (q1, 1, →)
δ(q0, B) = (q3, 0, →)
δ(q1, 0) = (q1, 0, →)
δ(q1, 1) = (q0,1, →)
δ(q1, B) = (q3,1, →)
14. Máquina de Turing Determinista
Ejercicio: Continuación
Supongamos que w = 01011
15. Diseñar una Máquina de Turing que
calcule el complemento a uno de un
número binario. Es decir, sustituye
los ceros por uno y viceversa.
Máquina de Turing
Determinista
Ejercicio
➔ Q= {q0, q1}
➔ Σ= {0, 1}
➔ Γ= {0,1,B, ⊢}
➔ F= q1
➔ δ definida por:
δ(q0, 0) = (q0, 1, →)
δ(q0, 1) = (q1, 0, →)
δ(q0, B) = (q1, B, [ ])
17. Maquina multicinta:
definición
La máquina de Turing multicinta tiene
varias cintas, cada una de las cuales tiene
su propia cabeza de lectura/escritura.
Las cabezas de lectura/escritura se
controlan independientemente.
La función de transición se modifica para
permitir la lectura, escritura y movimiento
de todas las cintas simultáneamente.
18. Máquina de Turing Multicinta: Funcionamiento
En cada instante la máquina se encuentra en un estado q y su cabeza lectora i se encuentra en la
posición pi.
Si el símbolo en la posición pi es ai y δ(q, a1, . . . , ak ) = (q′, b1, . . . , bk ,X1, . . . ,Xk ), entonces:
●La máquina escribe el símbolo bi en la posición pi de la i-esima cinta
●Cambia de estado desde q a q′
●Mueve la cabeza lectora de la i-esima cinta a la posición pi – 1 si Xi es ←, y a la posición pi + 1 si Xi es
→. Si Xi es vacío entonces la maquina no mueve la cabeza de la i-esima cinta
21. Una máquina de Turing determinista
es aquella que para al menos un par
(estado actual, símbolo leído), existe
más de una posible combinación de
actuaciones.
Máquina de Turing No
Determinista
Concepto
22. Máquina de Turing (No
Determinista):
(Q, Σ, Γ, q0, δ, F)
Máquina de Turing No
Determinista
Definición Formal
23. Máquina de Turing (No
Determinista):
f(q,a)={(p, b, →), (r, c, ←)}
Máquina de Turing No
Determinista
Simulación con
Determinista
Inicio
Camino 1
Camino 2