1. Máquinas que comen máquinas
Toiterateishuman,torecursedivine.—
L.PeterDeutsch
Ivan Meza
2. Máquinas de Turing
Es una tupla (Q, Σ, Γ, , B, A, δ)q0
conjunto finito de estados
alfabeto de cadenas reconocidas
alfabeto de cinta,
estado inicial
Símbolo de espacio en blanco pero
estados finales
función de transición
Q
Σ
Γ Σ ⊂ Γ
q0
B B ∈ Γ B ∉ Σ
A
δ
Q × Γ → Q × Γ × {der, izq}
3. Jerarquía de Chomsky
Lenguaje Gramática Máquina Ejemplo
Recursivamente
enumerables
Tipo 0
( )
Máquina de
Turing
??
Dependiente del
contexto
Tipo 1
( )
Autómata de
doble
pila/lineal con
fronteras
Independiente
del contexto
Tipo 2
( )
Autómata de
pila
Regular Tipo 3
( )
Autómata
finito
α → β
αV β → αγβ
ww, a
n
b
n
c
n
V → α
w ,w
r
a
n
b
n
V → aA|ϵ
w, a
∗
5. Si existe una máquina de Turing para el lenguaje, se trata de
un lenguaje recursivamente enumerable
6. Con autómatas finitos, autómatas de pilas, autómatas de
doble pila y autómatas con frontera lineal, son máquinas
aceptoras: verdadero o falso
Entonces las MT contienen máquinas aceptoras
7. Codificación de una cadena
δ( , ) = ( , , )qi Xj qk Xl Dm
Asignar a cada estado , a cada símbolo de y cada dirección un
entero
Codificar cada entrada de la MT como
Separar cada codificación con doble uno ( )
Q Γ
0
i
10
j
10
k
10
l
10
m
11
10. It is possible to invent a single machine which can be used to
compute any computable sequence. If this machine is
supplied with a tape on the beginning of which is written the
S.D ["standard description" of an action table] of some
computing machine , then will compute the same
sequence as .
U
M U
M
Turing, 1936
11. Es posible inventar una máquina que pueda ser usada para
computar cualquier secuencia computable. Si esta máquina
se le provee con una cinta en la que al principio se le
escribe la descripción estándar de una tabla de acción de
alguna máquina , entonces computará la misma
secuencia que
U
M U
M
12. MTU: Máquina de Turing que puede
simular una MT arbitraria
Mu
24. Lenguajes aceptados por máquinas aceptoras: recusivos o
decidibles
¿Las máquinas de Turing son las máquinas aceptoras?
Sabemos que las máquinas Turing tiene un límite
30. Sabemos que hay MT que son decidibles: verdadero y falso
Sabemos que hay otras MT: complemento de Mu
Sabemos que hay problemas para los cuales no existe MT, Ld
32. Máquina H
Para
No para
w
MTU
M
M Verdadero
Falso
Dado un par podemos saber si la máquina va a pararM, w
Depende de , entonces es RE, por lo tanto el no parar es la
tercera opción
Mu
34. Es posible definir la siguiente máquina a partir de ella
Para
H'
M
H Para
No para
35. Para
H'
H'
H Para
No para
Sí para con , también lo hace , pero por definición se
queda en un ciclo
Sí se cicla con , también lo hace con , pero por definición
se para
H
′
H
′
H
H
′
H
′
H
36. Opciones de una máquina de Turing
¿Cuándo se acepta? Llega a estado aceptor
¿Cuándo se rechaza? Llega a estado del que no hay transición
dado el estado de la cinta
¿Otra opción? Quedarse en un ciclo infinito
38. Modelo teórico: instantáneo
Aceptar (T) Llega a estado aceptor
Rechazar (F) Se queda en estado no
aceptor
Loop infinito Rechazó o loopinfinito?
39. Modelo práctico: tiempo
Aceptar (T) En algún momento llega a estado aceptor
Rechazar (F) En algún momento llega a estado no
aceptor
Loop infinito No termina nunca
Ante problemas muy, muy difíciles, no sabemos si sigue
procesando o está en un loop infinito
40. Ejemplo de problema muy muy difícil
De un conjunto de números enteros de tamaño ¿existe una
combinación del subconjuntos de ellos que sume ?
N
C
¿Cómo se diseña la MT?
42. ¿Por qué mi programa tiene un loop?
Por diseño, loops son importantes desde lenguajes
regulares
¿Por qué mi programa tiene un
loop infinito?
Un error
Por diseño, interfaz gráfica, satélites, switches,
robots
43. Hecho de la computación: los loops son básicos en la
computación
Pero nos meten en problemas rápidamente
44. Jerarquía de Chomsky extendida*
Lenguaje Gramática Máquina Ejemplo
No RE -- --
RE/Rec Tipo 0
( )
Máquina de
Turing
,
Dependiente
del contexto
Tipo 1
( )
Autómata de
doble pila/lineal
con fronteras
Independiente
del contexto
Tipo 2
( )
Autómata de
pila
Regular Tipo 3
( )
Autómata finito
Ld
α → β
mw mmi
αV β → αγβ
ww, a
n
b
n
c
n
V → α
w ,w
r
a
n
b
n
V → aA|ϵ
w, a
∗
45. ivanvladimir@gmail.com ivanvladimir.github.io ivanvladimir
Máquinas de Turing o máquinas con cola by is
licensed under a
.
Creado a partir de la obra en
.
Ivan V. Meza Ruiz
Creative Commons Reconocimiento 4.0
Internacional License
http://turing.iimas.unam.mx/~ivanvladimir/slides/lfya/mt.html