Professional Documents
Culture Documents
Complexity D.Moshkovitz
Motivacin
Nuestra meta, en este curso, es analizar problemas y clasificarlos de acuerdo a su complejidad .
Complexity D.Moshkovitz
Motivacin
Nos hacemos preguntas como: Cunto tiempo tarda en computarse algo?
Complexity D.Moshkovitz
Motivacin
Para poder resolver estas cuestiones debemos definir formalmente un modelo de computacin.
Complexity D.Moshkovitz
Introduccin
Objetivos: Introducir el modelo de computacin denominado Mquina de Turing. Resumen: Mquinas de Turing deterministas (MTD) Mquinas de Turing con varias cintas (MTVC) Mquinas de Turing no deterministas (MTND) La tesis de Church-Turing
Complexity D.Moshkovitz
Esquema de una MT
Aqu hay una b!
a cinta infinita
Complexity D.Moshkovitz
SIP 128-129
Definicin formal de la MT
Una mquina de Turing determinista es una tupla formada por varios objetos.
Complexity D.Moshkovitz
Definicin formal de la MT
1. Q un conjunto finito de estados.
Complexity D.Moshkovitz
Definicin formal de la MT
2. - El alfabeto de entrada: un conjunto finito de smbolos que no contiene al smbolo blanco.
Complexity D.Moshkovitz
Definicin formal de la MT
3. - el alfabeto de cinta, tal que: y en smbolo _ est en .
Complexity D.Moshkovitz
10
Definicin formal de la MT
4. :QQ{I,D} la funcin de transicin.
q0 q0
Complexity D.Moshkovitz
11
Definicin formal de la MT
5. q0Q el estado inicial
Complexity D.Moshkovitz
12
Definicin formal de la MT
6. qsiQ el estado aceptador.
Complexity D.Moshkovitz
13
Definicin formal de la MT
7. qnoQ el estado no aceptador. qnoqsi.
Complexity D.Moshkovitz
14
15
Ejecucin de un MTD
La configuracin inicial
estado inicial q0 cabeza: en la casilla ms a la izda
16
Ejecucin de un MTD
Ejemplo
(q0,a)=(q0,b,D) q0 q0
17
La configuracin aceptadora
qsi Si la ejecucin alcanza el estado aceptador, para.
Ejecucin de un MTD
Complexity D.Moshkovitz
18
La configuracin rechazadora
qno Si la ejecucin alcanza el estado que rechaza, tambin para.
Ejecucin de un MTD
Nota: La mquina podra ciclar y no alcanzar ninguno de los estados aceptador y rechazador!
Complexity D.Moshkovitz
19
Complexity D.Moshkovitz
20
Configuraciones
Cuntas configuraciones distintas puede alcanzar una MT que use N casillas?
||N N |Q|
El estado El contenido La de la cinta posicin de la cabeza
Complexity D.Moshkovitz
21
Complexity D.Moshkovitz
22
23
La funcin de transicin
aa, D YY, D aX,D __, D
q1
bY,D
bb, D ZZ, D
q0
q2
XX, D YY, D
cZ,I
qac
q3
__, D
q4
ZZ, I
YY, D ZZ, D
Complexity D.Moshkovitz
24
q1
bY,D
bb, D ZZ, D
q0
q2
cZ,I
XX, D YY, D
qsi
q3
__, D
q4
YY, D ZZ, D
X a
Y b
Z c
. . .
25
Complexity D.Moshkovitz
Modelos equivalentes
Las mquinas de Turing deterministas tienen mucho poder de computacin. Podemos simular con ellas otros modelos, aparentemente ms poderosos, con un coste polinmico. A continuacin vemos un ejemplo.
Complexity D.Moshkovitz
26
SIP 136-138
a b b
a b a
b b a
a b b
b b a
b _ _
_ _ _
...
...
...
Complexity D.Moshkovitz
27
28
29
La Tesis de Church-Turing
Nocin Nocin (intuitiva) (intuitiva) de de algoritmos algoritmos
Complexity D.Moshkovitz
30
Qu ms?
Definimos otro modelo de computacin menos realista, que puede ser simulado por las MTDs. Sin embargo, con un coste exponencial de tiempo.
Complexity D.Moshkovitz
31
32
Ejecucin de un MTND
cmputo determinista acepta si alguna rama alcanza la configuracin aceptadora Nota: el tamao de un rbol es exponencial en su profundidad
33
tiempo . . .
Complexity D.Moshkovitz
Descripcin alternativa
Una mquina de Turing no determinista adivina el camino correcto y luego comprueba que efectivamente es correcto.
Complexity D.Moshkovitz
34
Ejemplo
Una MTND que decide si dos vrtices de un grafo estn conectados puede simplemente adivinar un camino entre ellos. A continuacin necesita verificar que efectivamente el camino es vlido (existe).
Complexity D.Moshkovitz
35
SIP 138-140
Complexity D.Moshkovitz
36
cinta de direcciones
Complexity D.Moshkovitz
37
Direcciones
1 111 1 1 1 2 1 1 1 1 1 2 2 1 2
38
3 1
computacin no determinista
1312
Complexity D.Moshkovitz
Simulacin
1. Escribe 1111 en la cinta de direcciones. 2. Copia la entrada en la cinta simuladora. 3. Simula la MTND: usa la eleccin dictada por la cinta de direcciones (si es vlida). 4. Si se acepta acepta y termina. 5. Cambia la direccin por la siguiente en orden lexicogrfico. Si no hay ms rechaza. 6. Ir al paso 2.
Complexity D.Moshkovitz
39
Resumen
Presentamos dos modelos de computacin: la mquina de Turing determinista frente a la mquina de Turing no determinista. Simulamos las MTNDs por MTDs con un coste exponencial en tiempo.
Complexity D.Moshkovitz
40
Resumen
La Tesis de Church-Turing: Las mquinas de Turing deterministas son equivalentes a nuestra idea intuitiva de algoritmo. Hay que tener en cuenta que normalmente describiremos los algoritmos en pseudocdigo y no con MTDs
Complexity D.Moshkovitz
41