Máquinas de Turing y Ejem.

También podría gustarte

Está en la página 1de 41

Complexity

D.Moshkovitz
1
Mquinas de Turing
Complexity
D.Moshkovitz
2
Motivacin
Nuestra meta, en este curso, es
analizar problemas y clasificarlos de
acuerdo a su complejidad .
Complexity
D.Moshkovitz
3
Motivacin
Nos hacemos preguntas como: Cunto
tiempo tarda en computarse algo?
Complexity
D.Moshkovitz
4
Motivacin
Para poder resolver estas cuestiones
debemos definir formalmente un
modelo de computacin.
Complexity
D.Moshkovitz
5
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
6
Esquema de una MT
cabeza: lee/escribe
cinta infinita
movimientos: izda/dcha
Aqu hay
una b!
a
Complexity
D.Moshkovitz
7
Definicin formal de la MT
Una mquina de Turing determinista es
una tupla formada por varios objetos.
SIP 128-129
Complexity
D.Moshkovitz
8
1. Q un conjunto finito de estados.
Definicin formal de la MT
Complexity
D.Moshkovitz
9
2. - El alfabeto de entrada: un
conjunto finito de smbolos que no
contiene al smbolo blanco.
Definicin formal de la MT
Complexity
D.Moshkovitz
10
3. - el alfabeto de cinta, tal que:
y en smbolo _ est en .
Definicin formal de la MT
Complexity
D.Moshkovitz
11
4. :QQ{I,D} la funcin de
transicin.
q
0
a
q
0
Definicin formal de la MT
Complexity
D.Moshkovitz
12
5. q
0
Q el estado inicial
Definicin formal de la MT
Complexity
D.Moshkovitz
13
6. q
si
Q el estado aceptador.
Definicin formal de la MT
Complexity
D.Moshkovitz
14
7. q
no
Q el estado no aceptador.
q
no
q
si
.
Definicin formal de la MT
Complexity
D.Moshkovitz
15
1. Q el conjunto de estados.
2. - el alfabeto de entrada.
3. - el alfabeto de cinta.
4. :QQ{I,D} la funcin de
transicin.
5. q
0
Q el estado inicial.
6. q
si
Q el estado aceptador.
7. q
no
Q el estado que rechaza.
Definicin formal de la MT
Resumen
Complexity
D.Moshkovitz
16
Ejecucin de un MTD
La configuracin inicial
q
0 cabeza: en la casilla
ms a la izda
La entrada: a partir de
la casilla ms a la izda
estado inicial
Complexity
D.Moshkovitz
17
q
0
(q
0
,a)=(q
0
,b,D)
q
0
b
Nota: La cabeza no se puede mover
ms a la izda de esta casilla!
Ejecucin de un MTD
Ejemplo
Complexity
D.Moshkovitz
18
q
si
Si la ejecucin alcanza el estado
aceptador, para.
Ejecucin de un MTD
La configuracin aceptadora
Complexity
D.Moshkovitz
19
q
no
Si la ejecucin alcanza el estado que
rechaza, tambin para.
Nota: La mquina podra ciclar y
no alcanzar ninguno de los estados
aceptador y rechazador!
Ejecucin de un MTD
La configuracin rechazadora
Complexity
D.Moshkovitz
20
Lenguaje aceptado por una MT
Una MT acepta su entrada si, partiendo de
la configuracin inicial, durante el cmputo
alcanza la configuracin aceptadora.
El conjunto de entradas aceptadas por un
MT se denomina su lenguaje.
Complexity
D.Moshkovitz
21
Configuraciones
Cuntas configuraciones
distintas puede alcanzar una
MT que use N casillas?
||
N

|Q|

N
El contenido
de la cinta
El estado
La
posicin
de la
cabeza
Complexity
D.Moshkovitz
22
Construccin de una MTD para un
lenguaje
L = { a
n
b
n
c
n
| n0 }
aaabbbccc
aaabbbccc
Ejemplos:
Miembros de L:
No miembros de L: aaabbcccc
aaabbcccc
Complexity
D.Moshkovitz
23
La mquina de Turing
determinista
1. Q = {q
0
,q
1
,q
2
,q
3
,q
4
,q
sit
,q
no
}
2. = {a,b,c}
3. = {a,b,c,_,X,Y,Z}
4. especificada mediante diagrama.
5. q
0
Q el estado inicial.
6. q
si
Q el estado aceptador.
7. q
no
Q el estado que rechaza.
Complexity
D.Moshkovitz
24
La funcin de transicin
q
0
q
3
q
2
q
1
q
4
q
ac
aa, D
cZ,I
bY,D
bb, D
ZZ, I
XX, D
YY, D
ZZ, D
__, D
__, D
YY, D
aX,D
YY, D
ZZ, D
bb, I
aa, I
YY, I
q
0
q
3
q
2
q
1
q
4
q
ac
Las transiciones
a estado q
no
no se
especifican.
Complexity
D.Moshkovitz
25
Lenguaje aceptado
{ a
n
b
n
c
n
| n0 }
q
0
q
3
q
2
q
1
q
4
q
si
aX,D
aa, D
YY, D
cZ,I
bY,D
bb, D
ZZ, D
ZZ, I
bb, I
YY, I
aa, I
XX, D
YY, D
ZZ, D
__, D
__, D
YY, D
a b c _
. . .
q
0
q
3
q
0
q
1
X
q
2
q
1
Y Z
q
2
q
3
q
0
q
0
q
4
_
q
4
q
si
Complexity
D.Moshkovitz
26
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
27
Mquinas de Turing con varias cintas
_ b b a b a a
. . .
_ _ b b b b b
. . .
_ _ a b a a b
. . .
SIP 136-138
La entrada se escribe
en la primera cinta
Complexity
D.Moshkovitz
28
1. Q el conjunto de estados.
2. - el alfabeto de entrada.
3. - el alfabeto de cinta.
4. :Q
k
Q({I,D})
k
la funcin de
transicin, donde k (el nmero de cintas) es
una constante.
5. q
0
Q el estado inicial.
6. q
si
Q el estado aceptador.
7. q
no
Q el estado que rechaza.
Mquinas de Turing con varias cintas
Complexity
D.Moshkovitz
29
Robustez del modelo
Las mquinas de Turing con varias
cintas son polinmicamente
equivalentes (en cuanto a tiempo) a
las que tienen una sola cinta.
Podemos afirmar algo mucho ms
importante sobre la robustez del
modelo de mquina de Turing:
Complexity
D.Moshkovitz
30
La Tesis de Church-Turing
Nocin (intuitiva)
de algoritmos
Nocin (intuitiva)
de algoritmos
Mquinas de
Turing
Mquinas de
Turing

Complexity
D.Moshkovitz
31
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
32
Mquinas de Turing no
deterministas MTND
1. Q el conjunto de estados.
2. - el alfabeto de entrada.
3. - el alfabeto de cinta.
4. :QP(Q{I,D}) la funcin de
transicin.
5. q
0
Q el estado inicial.
6. q
si
Q el estado aceptador.
7. q
no
Q el estado que rechaza.
Partes de
P(A)={B | BA}
Complexity
D.Moshkovitz
33
Ejecucin de un MTND
.
.
.
cmputo
determinista
rbol de cmputo
no determinista
Nota: el tamao de un
rbol es exponencial
en su profundidad
tiempo
acepta si alguna
rama alcanza la
configuracin
aceptadora
Complexity
D.Moshkovitz
34
Descripcin alternativa
Una mquina de Turing no determinista
adivina el camino correcto y luego
comprueba que efectivamente es
correcto.
Complexity
D.Moshkovitz
35
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
36
Simulacin de una MTND por una MTD
Describimos una MTD con 3-cintas
que simula una MTND dada.
SIP 138-140
Complexity
D.Moshkovitz
37
. . .
. . .
. . .
cinta de entrada
cinta simuladora
cinta de direcciones
Simulacin de una MTND por una MTD
Complexity
D.Moshkovitz
38
Direcciones
computacin no
determinista
1
1
1 1
1
1 1
1
1
1
1
2
2
2
2
2
3
1312
111
Complexity
D.Moshkovitz
39
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
40
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
41
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 pseudo-
cdigo y no con MTDs

También podría gustarte