Академический Документы
Профессиональный Документы
Культура Документы
La Mquina de Turing
Mquina de Turing (1936)
Cabezal Lectura-Escritura
Unidad de Control
...... ......
Cabezal Lectura-Escritura
...... ......
Cabezal Lectura-Escritura
Tiempo 1
...... a b k c ......
Leer a
Escribir k
Moverse a la Izquierda
Tiempo 2
...... a f k c ......
Leer b
Escribir f
Moverse a la derecha
...... a b a c ......
cabezal
Cabezal comienza en la posicin ms a la izquierda
de la cadena de caracteres de entrada
La cadena de caracteres de entrada nunca es vaca
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II 8
Estados y Transiciones
Leer Escribir
Mover a la izquierda
q1 a b, L q2
Mover a la derecha
q1 a b, R q2
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II 9
Ejemplo:
Tiempo 1
...... a b a c ......
q1
estado actual
q1 a b, R q2
q1
Tiempo 2
...... a b b c ......
q2
q1 a b, R q2
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II 11
Ejemplo: Tiempo 1
...... a b a c ......
q1
Tiempo 2
...... a b b c ......
q2
q1 a b, L q2
q1
Tiempo 2
...... a b b c g ......
g, R q2
q1 q2
Permitido No Permitido
a b, R q2 a b, R q2
q1 q1
q3 a d, L q3
b d, L
No se permiten transiciones lambda
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II 14
Funcin de Transicin Parcial
...... a b a c ......
q1
a b, R q2 Permitido:
No hay transicin
q1 para el smbolo de
q3 entrada c
b d, L
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II 15
Detencin
...... a b a c ......
q1
a b, R q2
No hay transicin posible
q1
PARAR!!!
b d, L q3
q1 q2 Permitido
q1 q2 No Permitido
Si la mquina para en
Acepta Entrada
un estado no final
Si la mquina para en
un estado final
Rechaza Entrada o
Si la maquina entra en
un loop infinito
a a, R
, L
q0 q1
Tiempo 0 a a a
q0
a a, R
, L
q0 q1
Tiempo 1 a a a
q0
a a, R
, L
q0 q1
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II 22
Ejemplo Mquina de Turing
Tiempo 2 a a a
q0
a a, R
, L
q0 q1
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II 23
Ejemplo Mquina de Turing
Tiempo 3 a a a
q0
a a, R
, L
q0 q1
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II 24
Ejemplo Mquina de Turing
Tiempo 4 a a a
q1
a a, R Parar y Aceptar
, L
q0 q1
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II 25
Ejemplo de Rechazo
Tiempo 0 a b a
q0
a a, R
, L
q0 q1
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II 26
Ejemplo de Rechazo
Tiempo 0 a b a
q0
a a, R No hay transicin posible
Parar y Rechazar
, L
q0 q1
b b, L
a a, R
, L
q0 q1
Tiempo 0 a b a
q0
b b, L
a a, R
, L
q0 q1
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II 29
Ejemplo Loop Infinito
Tiempo 1 a b a
q0
b b, L
a a, R
, L
q0 q1
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II 30
Ejemplo Loop Infinito
Tiempo 2 a b a
q0
b b, L
a a, R
, L
q0 q1
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II 31
Tiempo 2 a b a
q0
a b a
loop infinito
Tiempo 3
q0
Tiempo 4 a b a
q0
Tiempo 5 a b a
q0
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II 32
Loop Infinito
q1 a b, R q2
(q1, a) (q2 , b, R)
q1 c d, L q2
(q1, c) (q2 , d , L)
Alfabeto de Alfabeto de
entrada salida
Estados
M (Q, , , , q0 , , F )
Funcin de Estados
transicin Estado finales
inicial blanco
c a b a
q1
Descripcin Instantnea: ca q1 ba
x a y b x a y b
q2 q0
x a y b x a y b
q2 q0
Tiempo 6 Tiempo 7
x x y b x x y b
q1 q1
q2 xayb x q0 ayb xx q1 yb xxy q1 b
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II 40
Creando un Lenguaje
Notacin equivalente: q2 xayb xxy q1 b
a a b b
q0
f (w)
w D f ( w) S
f ( x, y ) x y
Binario: 101
Unario: 11111
w f (w)
q0 w q f f ( w)
Partida 1 1 1 0 1 1
q0
estado inicial
El 0 es el limitador que
separa a los dos nmeros
Partida 1 1 1 0 1 1
q0 estado inicial
x y
Fin 1 1 1 1 0
qf estado final
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II 53
El 0 ayuda cuando se utiliza el
resultado para otras operaciones
x y
Fin 1 1 1 1 0
qf estado final
f ( x, y ) x y
1 1, R 1 1, R 1 1, L
0 1, R , L q 1 0, L
q0 q1 2 q3
, R
q4
q4
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II 56
Tiempo 0 1 1 0 1 1
q0
1 1, R 1 1, L
1 1, R
0 1, R q , L q2 1 0, L q3
q0 1
, R
q4
q0
1 1, R 1 1, R 1 1, L
q0 0 1, R , L 1 0, L
q1 q2 q3
, R
q4
q0
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II
q4 59
Tiempo 3 1 1 1 1 1
q1
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II
q4 60
Tiempo 4 1 1 1 1 1
q1
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II
q4 61
Tiempo 5 1 1 1 1 1
q1
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II
q4 62
Tiempo 6 1 1 1 1 1
q2
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II
q4 63
Tiempo 7 1 1 1 1 0
q3
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II
q4 64
Tiempo 8 1 1 1 1 0
q3
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II
q4 65
Tiempo 9 1 1 1 1 0
q3
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II
q4 66
Tiempo 10 1 1 1 1 0
q3
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II
q4 67
Tiempo 11 1 1 1 1 0
q3
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II
q4 68
Tiempo 12 1 1 1 1 0
q4
1 1, R 1 1, R 1 1, L
q0 0 1, R q1 , L q 1 0, L q3
2
, R
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II
q4 69
Otro Ejemplo
La funcin f ( x) 2 x es computable
x es entero
Mquina de Turing:
Caracteres de entrada: x unario
Caracteres de salida: xx unario
Partida 1 1 1
q0 estado inicial
2x
Fin 1 1 1 1 1
qf estado final
Semestre Otoo 2017 ICEE1012 Sistemas Digitales II 71
Pseudo cdigos de la Mquina de Turing para:
f ( x) 2 x
Remplazar cada 1 con $
Repetir:
Encontrar $ de ms a la derecha, remplazar con 1
Ir al extremo derecho, insertar 1
Hasta que no queden ms $
1 $, R 1 1, L 1 1, R
, L $ 1, R
q0 q1 q2
, R
1, L
q3
q0 q3
1 $, R 1 1, L 1 1, R
q0 , L q1 $ 1, R
q2
, R 1, L
q3
1 si x y
La funcin es f ( x, y )
computable
0 si x y
Entrada: x0 y
Output: 1 0
Repetir
x con un 1 de y
Hacer coincidir un 1 de
Hasta que todos los 1 de x y de y coincidan
Si un 1 de x no coincide,
borrar cinta, escribir 1 ( x y )
Si no,
borrar cinta, escribir 0 ( x y)
Mquina
Entrada de Salida
Turing
x, y
Sumar x y
x, y x y
Comparar
x y Borrar 0