Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MT I Imp
MT I Imp
IIC3242
IIC3242
M
aquinas de Turing
1 / 42
Complejidad Computacional
Tiempo
Espacio
...
IIC3242
M
aquinas de Turing
2 / 42
Problemas de decision
Ejemplo: w = 01101.
IIC3242
M
aquinas de Turing
3 / 42
Problemas de decision
Problema de decision asociado a un lenguaje L: Dado w ,
decidir si w L.
Ejemplo
Podemos ver SAT como un problema de decision. Suponga que
P = {p, q}:
I
IIC3242
= {p, q, , , , , , (, )}
Algunas palabras de representan f
ormulas, mientras que
otras tales como y pq q no representan
formulas.
SAT = {w | w representa una f
ormula y w es
satisfacible}.
M
aquinas de Turing
4 / 42
Ejercicio
Muestre que L = {w {0, 1} | w es un palndromo} puede ser
resuelto eficientemente.
Cuando decimos que L es un problema difcil?
I
IIC3242
M
aquinas de Turing
5 / 42
Maquinas de Turing
IIC3242
M
aquinas de Turing
6 / 42
Maquinas de Turing
Por que creemos que las m
aquinas de Turing son una buena
formalizacion del concepto de algoritmo?
I
Porque todos los otros intentos por formalizar este concepto fueron
reducidos a las maquinas de Turing.
I
IIC3242
M
aquinas de Turing
7 / 42
q0 Q es el estado inicial.
IIC3242
M
aquinas de Turing
8 / 42
Supuesto
I
I
IIC3242
M
aquinas de Turing
9 / 42
Al comenzar a funcionar, la m
aquina se encuentra en el estado q0
y su cabeza lectora est
a en la posicion 1 de la cinta.
En cada instante la m
aquina se encuentra en un estado q y su
cabeza lectora esta en una posicion p.
I Si el s
mbolo en la posicion p es a y (q, a) = (q 0 , b, X ),
entonces:
I
I
I
IIC3242
M
aquinas de Turing
10 / 42
Definicion
Lenguaje aceptado por una m
aquina de Turing M:
L(M) = {w | M acepta w }.
IIC3242
M
aquinas de Turing
11 / 42
Q = {q0 , q1 }.
= {0, 1}.
= {0, 1, `, B}.
F = {q0 }.
es definida como:
(q0 , 0) = (q1 , B, D)
(q0 , 1) = (q0 , B, D)
(q1 , 0) = (q0 , B, D)
(q1 , 1) = (q1 , B, D)
IIC3242
M
aquinas de Turing
12 / 42
Inicio:
. . .
. . .
. . .
q0
Paso 1:
q1
Paso 2:
q0
IIC3242
M
aquinas de Turing
13 / 42
Paso 3:
. . .
. . .
. . .
q1
Paso 4:
q1
Paso 5:
q0
IIC3242
M
aquinas de Turing
14 / 42
Ejemplo
Para la maquina M mostrada en las transparencias anteriores:
L(M) = {w {0, 1} | w contiene un n
umero par de smbolos 0}.
Ejercicio
Construya una maquina de Turing que acepte el lenguaje
L = {w {0, 1} | w es un palndromo}.
IIC3242
M
aquinas de Turing
15 / 42
Complejidad de un algoritmo
IIC3242
tiempo M (w ): N
umero de pasos ejecutados por M con entrada
w .
M
aquinas de Turing
16 / 42
Complejidad de un algoritmo
Definicion
El tiempo de funcionamiento de una MT M en el peor caso es
definido por la funcion tM :
tM (n) = max{ tiempo M (w ) | w y |w | = n }.
Ejercicio
Construya una maquina de Turing que funcione en tiempo O(n2 ) y
acepte el lenguaje L = {w {0, 1} | w es un palndromo}.
IIC3242
M
aquinas de Turing
17 / 42
q0 Q es el estado inicial.
IIC3242
M
aquinas de Turing
18 / 42
IIC3242
M
aquinas de Turing
19 / 42
Al comenzar, la m
aquina se encuentra en el estado q0 , y cada
cabeza lectora est
a en la posicion 1 de su cinta.
En cada instante la m
aquina se encuentra en un estado q y su
cabeza lectora i se encuentra en la posici
on pi .
I Si el s
mbolo en la posicion pi es ai y (q, a1 , . . . , ak ) =
(q 0 , b1 , . . . , bk , X1 , . . . , Xk ), entonces:
I
I
I
IIC3242
M
aquinas de Turing
20 / 42
tiempo M (w ): N
umero de pasos ejecutados por M con entrada
w .
IIC3242
M
aquinas de Turing
21 / 42
Ejercicio
Construya una MT M con dos cintas que funcione en tiempo O(n)
y acepte el lenguaje L = {w {0, 1} | w es un palndromo}.
Soluci
on: Definimos M = (Q, , , q0 , , F ) de la siguiente forma:
IIC3242
Q = {q0 , qc , qr , qv , qa }
= {0, 1}
= {0, 1, B, `}
F = {qa }
M
aquinas de Turing
22 / 42
(q0 , B, B)
(q0 , 0, B)
(q0 , 1, B)
(qc , 0, B)
(qc , 1, B)
(qc , B, B)
(qr , 0, 0)
(qr , 0, 1)
IIC3242
M
aquinas de Turing
(qa , B, B, N, N)
(qc , 0, 0, D, D)
(qc , 1, 1, D, D)
(qc , 0, 0, D, D)
(qc , 1, 1, D, D)
(qr , B, B, I , I )
(qr , 0, 0, I , N)
(qr , 0, 1, I , N)
(qr , 1, 0)
(qr , 1, 1)
(qr , `, 0)
(qr , `, 1)
(qv , 0, 0)
(qv , 1, 1)
(qv , B, `)
(qr , 1, 0, I , N)
(qr , 1, 1, I , N)
(qv , `, 0, D, N)
(qv , `, 1, D, N)
(qv , 0, 0, D, I )
(qv , 1, 1, D, I )
(qa , B, `, N, N)
23 / 42
Es posible aceptar m
as lenguajes si se usa cintas adicionales?
Teorema
Si un lenguaje L es aceptado por una MT M1 con k cintas,
entonces L es aceptado por una MT M2 con una cinta.
Ejercicio
Demuestre el teorema.
I
IIC3242
M
aquinas de Turing
24 / 42
Es posible aceptar m
as r
apido si se usa cintas adicionales?
Teorema
Si un lenguaje L es aceptado por una MT M1 con k cintas en
tiempo O(t(n)), entonces L es aceptado por una MT M2 con una
cinta en tiempo O(t(n)2 ).
Ejercicio
Demuestre el teorema.
I
IIC3242
M
aquinas de Turing
25 / 42
Proposicion
Sea M una MT con una cinta. Si L = L(M), entonces M funciona
en tiempo (n2 ).
Demostraci
on: Suponga que L = L(M), donde M es una MT con
una cinta.
I
IIC3242
M
aquinas de Turing
26 / 42
Ln = {w # 2 w r | w {0, 1} 4 }.
Notese que Ln L.
Sea w Ln y n4 i 3n
4 . Entonces Ci (w ) es la secuencia de
estados [q1 , . . ., qk ] en que se encuentra M despues de moverse
entre las posiciones i e i + 1 (en cualquiera de las dos direcciones)
en la ejecucion que tiene a w como entrada.
I
IIC3242
C (w ) = {Ci (w ) |
M
aquinas de Turing
n
4
3n
4 }.
27 / 42
M
aquinas de Turing
28 / 42
Sn = {sw | w Ln }.
IIC3242
M
aquinas de Turing
|Q|i
|Q|m+1 1
.
|Q| 1
29 / 42
|Q|m+1 1
|Q|1
24 .
Por que?
IIC3242
M
aquinas de Turing
n
2
secuencias de estados de
30 / 42