1. Cap¶
³tulo 6
M¶quinas de Turing
a
En 1936, Allan Turing public¶ el primer estudio sobre un modelo de m¶quina
o a
abstracta. El quer¶ una noci¶n matem¶tica precisa del concepto informal
³a o a
de "algoritmo". Su resultado fue el siguiente: cualquier algoritmo puede ser
representado por un conjunto de instrucciones sobre una m¶quina de Turing.
a
Corolario: Hay problemas bien formulados, para los cuales no existe so-
luci¶n algor¶
o ³tmica.
a1 a2 ... ai ... an # #
CONTROL
FINITO
P
De¯nition 7 Una m¶quina de Turing MT es una tupla M = (Q; ; ¡; ±; q0 ; #; F )
a
donde
Q = conjunto de estados
¡ = conjunto de s¶mbolos de la cinta
³
# = caracter especial
P
= subconjunto de ¡ no conteniendo #; son los s¶mbolos de entrada.
³
± : Q £ ¡ ! Q £ ¡ £ fL; R; ;g
q0 = Estado inicial
F µ Q = conjunto de estados ¯nales.
# es un caracter de separaci¶n o vac¶ (blanco). Inicialmente en los
o ³o
primeros n posiciones de la cinta est¶n a1 :::an ; con la entrada. El resto de la
a
cinta tiene s¶
³mbolos #:
Teor¶ de la Computaci¶n
³a o Maricela Quintana
75
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a
2. Al leer un s¶mbolo ai ; la MT puede:
³
1) cambiar de estado
2) Escribir un s¶
³mbolo en la cinta (en lugar de ai )
3) Mover la cabeza hacia la derecha (L) o la izquierda (R):
ID = descripci¶n instant¶nea = ®1 q ®2 = a1 a2 :::ai¡1 qa1 :::an
o a
. # &
contenido de la estado contenido de la cinta hasta
cinta hasta antes actual el # m¶s hacia la derecha.
a
de la cabeza lectora
"Movimiento" x1 x2 ::xi¡1 qxi ::xn ` x1 ::xi¡2 pxi¡1 yxi+1 :xn si
±(q; xi ) = (p; y; L)
L(M ) = lenguaje aceptado por la M T M
P ¤
= fw j w 2 ¤ ; q0 w ` ®1 p®2 para alg¶n p 2 F y ®1 ; ®2 2 ¡¤ g
u
Otra suposici¶n: L(M ) es aceptado por M T si M se detiene.
o
Ejemplo
M T para aceptar L = f0n 1n j n > 1g
² Inicialmente la cinta contiene 0n 1n seguido de un n¶ mero in¯nito de
u
blancos.
1) M lee el # m¶s signi¯cativo y lo reemplaza por una x:
a
2) Se mueve hasta el 1 m¶s signi¯cativo y lo reemplaza por y:
a
3) El ciclo se repite:
{ Si al buscar un 1, M encuentra # ) M para sin aceptar.
{ Si al buscar un 0 ya no hay, M busca si hay 10 s ) M acepta si
ya no hay.
P
Q = fq0 ; q1 ; q2 ; q3 ; q4 g; = f0; 1g; ¡ = f0; 1; x; y; #g; F = fq4 g
q0 = substituci¶n de 0 por x
o
q1 = b¶ squeda de 1;substituci¶n por y
u o
q2 = b¶ squeda de 0
u
q3 = b¶ squeda de 10 s para ver si se acepta
u
Teor¶ de la Computaci¶n
³a o Maricela Quintana
76
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a
3. CAP¶ ¶
³TULO 6. MAQUINAS DE TURING
0 / 0, R 0 / 0, L
0 / x, R 1/y,L
q0 q1 q y / y, L
2
y / y, R
x / x, R
# / #, R
y / y, R q3 q4
y / y, R
q0 0011 ` xq1 011 ` x0q1 11 ` xq2 0y1 ` q2 x0y1 ` xq0 0y1 ` xxq1 y1 `
xxyq1 1 ` xxq2 yy ` xq2 xyy ` xxq0 yy ` xxyq3 y ` xxyyq3 ` xxyy#q4
6.1 Construcci¶n modular de m¶quinas de Tu-
o a
ring
Para combinar diagramas de transici¶n de M T hay que:
o
1. Eliminar las caracter¶
³sticas de inicio de los estados de todas las m¶qui-
a
nas compuestas excepto de la inicial.
2. Eliminar la caracter¶
³stica de detenci¶n de los estados de parada e in-
o
troducir uno nuevo.
3. Para cada uno de los antiguos estados de parada p y cada x en ¡:
(a) Si la m¶quina compuesta debe detenerse al llegar a p con el s¶
a ³mbolo
actual x, dibujar un arco con etiqueta x=x de p al nuevo estado
de parada.
(b) Si al llegar al estado p con el s¶³mbolo actual x; la m¶quina de-
P a
be transferir el control a la m¶quina M = (S; ; ¡; ±; t; #; h) y
a
dibujar un arco x=z de p al estado q de M donde ±(t; x) = (q; z)
Teor¶ de la Computaci¶n
³a o Maricela Quintana
77
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a
4. ¶ ¶
6.1. CONSTRUCCION MODULAR DE MAQUINAS DE TURING
Ejemplo
M T A : Mover la cabeza de lectura una posici¶n a la derecha (R).
o
x / x, R
s t
y / y, R
# / #, R
M T B : Encontrar la primera x a la derecha de la celda actual (Rx ).
# / #, R
# / #, R
x / x, R x /x n
l m
y / y, R y / y, R
Teor¶ de la Computaci¶n
³a o Maricela Quintana
78
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a
5. CAP¶ ¶
³TULO 6. MAQUINAS DE TURING
M T C : Encontrar la primera y a la derecha de la celda (Ry ).
# / #, R
# / #, R
x / x, R y/y
p q
r
y / y, R
x / x, R
Usando las m¶quinas anteriores se puede construir una m¶quina que en-
a a
cuentre la segunda ocurrencia del s¶
³mbolo distinto de # que se encuentre a
la derecha de la celda actual.
x
B
A
y
C
x
x /x
x ≡
Abreviaturas: y
≡ ¬α
z
x , y ,z ,w
w ≡
Símbolo genérico que
x ,y ,z w representa a los 3.
}
A B ≡ AB
6.1.1 M¶quinas elementales
a
² R: M¶quina que se mueve una celda a la derecha
a
Teor¶ de la Computaci¶n
³a o Maricela Quintana
79
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a
6. ¶ ¶
6.1. CONSTRUCCION MODULAR DE MAQUINAS DE TURING
² Y : M¶quina que escribe el s¶
a ³mbolo y en la celda actual
² L: M¶quina que se mueve una celda a la izquierda
a
² Rx : M¶quina que recorre la cinta a la derecha de su posici¶n actual
a o
para buscar el s¶
³mbolo x
¬
x
R
² Rqx: Detenerse cuando se encuentre un s¶
³mbolo 6= x
x
R
² La m¶quina Lx hace esa b¶ squeda hacia la izquierda
a u
² M¶quinas de desplazamiento. SR transforma #xyyqxx# a ##xyqyx#,
a
desplazando hacia la derecha la cadena de s¶
³mbolos no blancos a la de-
recha de la celda actual.
x,y w x,y σ
#L } L } σ
RσL
# #
R R # R #w
#xyy x x# ` #x y y#x# ` # x yy#x# `# xxy#x# ` ##xy y x#
" " " " "
De la misma manera SL desplaza hacia la izquierda la cadena de s¶
³mbo-
los no blancos a la derecha de la celda actual.
Teor¶ de la Computaci¶n
³a o Maricela Quintana
80
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a
8. ¶
6.3. MAQUINAS DE TURING COMO ACEPTADORAS DE LENGUAJE
1 / #, R
# / #, L
0 / 0, R 1 / 1, R 0 / #, R
0 / 0, L 1 / #, L
0 / #, R 1 / 1, R 0 / 1, L
q0 q1 q2 q3 q4 q5 1 / #, R
# / #, R 1 / 1, L
0 / 0, L # / #, R
# / #, R
q6
² M cambia un cero por un blanco (q0 ).
² Cuando M busca un cero a la derecha y encuentra un blanco, entonces
ya acab¶ de restar. Se pasa entonces a q4 y empieza a cambiar los 1's
o
por #:
² Cuando M quiere en q0 remplazar un 0 por # y no hay, entonces hay
que hacer el resultado nulo (q5 ).
6.3 M¶quinas de Turing como aceptadoras de
a
lenguaje
Al igual que con los AP, una MT puede aceptar un lenguaje de dos maneras:
llegando a un estado ¯nal S escribiendo algo especial en la cinta (por ejemplo
s¶ o deteni¶ndose. Normalmente se supone que una M¶quina de Turing
³), e a
acepta las cadenas s¶lo con detenerse.
o
Las M¶quinas de Turing aceptan lenguajes formales que pueden ser ge-
a
nerados por una gram¶tica de tipo 0: recursivamente enumerables (r.e.). Las
a
MT son los reconocedores de lenguaje m¶s poderosos que existen.
a
Dentro de algunos lenguajes r.e. existen algunos strings para los cu¶les
a
no hay MT que pueda determinar que NO est¶n en el lenguaje. Sin embargo,
a
consideramos que siempre pueden determinar que SI pertenecen al lenguaje.
El subconjunto de lenguajes r.e. para los cuales hay MTs que siempre pueden
determinar si un string est¶ o no est¶ en el lenguaje, se llama lenguajes
a a
reursivos. Un ejemplo de lenguajes recursivos son los LLC.
Teor¶ de la Computaci¶n
³a o Maricela Quintana
82
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a
9. CAP¶ ¶
³TULO 6. MAQUINAS DE TURING
Theorem 7 Todo lenguaje aceptado por una MT es formal.
Demostraci¶n
o
P
Supongamos que la MT M = (Q; ; ¡; ±; q0 ; #; F ) imprime # y # cuando
acepte el lenguaje L(G). Podemos construir una gram¶tica G = (V; T; P; S)
a
donde:
V = P [; ; ]; Y ) [ Q [ ¡
(S;
T =
Las producciones est¶n dadas por:
a
S ! [h#y#] donde h es el estado ¯nal de M
#] ! ##] Para ampliar la longitud de la cadena anterior a la
longitud deseada
8± (p; x) = (q; y; ;) Transici¶n a la inversa [#zqy#] ) [#zpx#]
o
qy ! px
8±(p; x) = (q; x; R) [#xqyz#] ) [#pxyz#]
xq ! px
8±(p; x) = (q; x; L)
[#xqyx#] ) [#ypx##]
8s¶³mbolo y 2 ¡
qyx ! ypx
[¿ # ! "
eliminaci¶n de no terminales auxiliares, donde
o
##] ! #]
¿ =estado inicial de M
#] ! "
Ejemplo
La siguiente M T acepta fxm y n j m; n ¸ 0g :
x/R y/R
#/L #/R #/Y y/L
τ / p q s t h
#/R y/R x/# #/L
y/#
r
Teor¶ de la Computaci¶n
³a o Maricela Quintana
83
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a
10. ¶
6.3. MAQUINAS DE TURING COMO ACEPTADORAS DE LENGUAJE
La gram¶tica correspondiente es:
a
S ! [h#y#]
#] ! ##]; [¿ # ! "
##] ! #]; #] ! "
r# ! qx j qy por ±(q; x) = (r; #); ±(q; y) = (r; #)
tY ! S# ±(S; #) = (t; Y )
#= ! ¿ # ±(¿; #) = (=; #; R)
x= ! =x ±(=; x) = (=; x; R)
yp ! =y j py ±(=; y) = (p; y; R); ±(p; y) = (p; y; R)
#S ! q# ±(q; #) = (S; #; R)
q## ! #p#j#r# por ±(p; #) = (q; #; L); ±(r; #) = (q; #; L)
qx# ! xp#jxr#
qy# ! yp#jyr#
qY # ! Y p#jY r#
h#Y ! #tY por ±(t; Y ) = (h; Y; L)
hxY ! xtY
hyY ! ytY
hY Y ! Y tY
Ej: S ) [h#y#] ) [h#y###] ) [#ty###] ) [#S####] )
[q#####] ) [#r####] ) [#qx###] ) [#xr###] ) [#xqx##] )
[#xxr##] ) [#xxqy#] ) [#xxyp#] ) [#xx=y#] ) [#=xxy#] ) [¿ #xxy#] )
[xxy#] ) xxy
Theorem 8 Todo lenguaje formal es aceptado por una m¶quina de Turing:
a
1. Utilizar cinta 1 para almacenar cadena de entrada.
2. Escribir el s¶
³mbolo inicial de la gram¶tica en cinta 2.
a
3. Aplicar repetidamente y de manera no determinista las reglas de escri-
tura de la gram¶tica a la cinta 2.
a
4. Si el contenido de la cinta 2 se convierte en una cadena con s¶lo ter-
o
minales, compararla con el contenido de la cinta 1. Si son iguales )
detenerse, aceptar, en caso contrario no aceptar.
Teor¶ de la Computaci¶n
³a o Maricela Quintana
84
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a
11. CAP¶ ¶
³TULO 6. MAQUINAS DE TURING
6.4 Equivalencia de m¶quinas de Turing
a
Theorem 9 Si L es reconocido por una m¶quina de Turing M1 con varias
a
cintas, es reconocido por una m¶quina de Turing M2 .
a
Prueba
MT con varias cintas:
A1 Am
.
.
.
Z1 Zm
Control
Finito
Simulaci¶n M1 :
o
1. Se guarda en la cinta de M2 el contenido de todas las cintas, as¶ como
³
la posici¶n de cada una de las cabezas.
o
2. M2 se mueve hacia la derecha para revisar el contenido de las cabezas
de M1 .
3. Al llegar a la ultima, se tiene toda la informaci¶n necesaria para ver el
¶ o
siguiente paso de M1 :
4. M2 se mueve hacia la izquierda para mover la posici¶n de todas las
o
cabezas al lugar indicado.
Problema: Lentitud de simulaci¶n
o
Theorem 10 Si L es reconocido por una m¶quina de Turing no determinista
a
M1 , entonces L es aceptada por una MT determinista M2 .
Prueba
Supondremos que M2 es una MT de tres cintas. La primera cinta guarda
la entrada al algoritmo. Para recorrer el ¶rbol de ejecuci¶n de M1 :
a o
Teor¶ de la Computaci¶n
³a o Maricela Quintana
85
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a
12. ¶
6.5. HIPOTESIS DE CHURCH
1. Para todas las secuencias 1:::r generadas en la cinta 2, se simula M1 en
la cinta 3
2. Si M1 acepta ) M2 acepta.
3. Si ninguna selecci¶n de opciones de M1 lleva a acepta r ) M2 no acepta
o
6.5 Hip¶tesis de Church
o
Las funciones computables por una M¶quina de Turing son las funciones
a
recursivas parciales. Nadie ha podido encontrar una funci¶n parcial que sea
o
computable pero no recursiva parcial.
½
V1 ; V2 ; :::; Vn cuando MT se detiene
F (W1 ; W2 ; :::; Wn ) =
no de¯nida
6.6 M¶quina de Turing Universal
a
Una m¶quina de Turing Universal es una MT que recibe como entrada la
a
codi¯caci¶n M de cualquier MT y una entrada w, y que genera el mismo
o
resultado que la MT M . En otras palabras, una MTU es un simulador de
cualquier MT.
6.6.1 Codi¯caci¶n de MT
o
Primero codi¯camos los simbolos del P alfabeto y s¶
³mbolos especiales:
x1 = 0 x4 ; x5 2 = s¶³mbolos del alfabeto
x2 = 1
x3 = #
as¶ como los movimientos posibles de la MT:
³
D1 = L , D2 = R, D3 = nada
Entonces una transici¶n ±(qi ; xj ) = (qk ; xe ; Dm ) puede ser codi¯cada de
o
la siguiente manera:
0i 10j 10k 10` 10mP
y una MT M = (Q; ; ¡; ±; q; #; fq2 g) puede codi¯carse en binario como
sigue:
111 c¶digo
o 11 c¶digo .....
o 11 c¶digo 111
o
transici¶n 1
o transici¶n 2
o ultima transici¶n
¶ o
Teor¶ de la Computaci¶n
³a o Maricela Quintana
86
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a
13. CAP¶ ¶
³TULO 6. MAQUINAS DE TURING
Una M T seguida de un string w ser¶ denotada por la concatenaci¶n de
a o
0 0
los dos strings: < M ; w >, donde M representa la codi¯caci¶n binaria de
o
M.
6.6.2 Lenguaje Universal
De¯namos el siguiente lenguaje aceptado por una MTU:
Lu = f< M 0 ; w >j M acepta wg ½ (0 + 1)¤
Preguntar si w 2 L(M ) es equivalente a preguntar si < M`; w >2 Lu .
Theorem 11 Lu es recursivamente enumerable (r:e:), o dicho de otro modo,
existe una MTU que acepta este lenguaje y siempre puede aceptar un string
si ¶ste pertenece a L(M ): La MTU no necesariamente para en todas las
e
entradas.
Prueba
La siguiente m¶quina multicintas Mu puede funcionar como MTU:
a
qi = 0 i
Estado de
M 3
Simulación de
la cinta de M 2
Entrada
<M,w>
1
Mu contiene en la cinta 1 la codi¯caci¶n < M; w > y hace lo siguiente:
o
1. Inicializa la cinta 2 con w, la cinta 3 con 01 = q1 :
2. Si la cinta 3 contiene qf , entonces pararse y aceptar.
Teor¶ de la Computaci¶n
³a o Maricela Quintana
87
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a
14. 6.7. TEOR¶ DE LA DECIBILIDAD
IA
3. Sea xj el siguiente s¶mbolo de w en la cinta 2 y 0i el estado en la cinta
³
3: Buscar en la cinta 1 la transici¶n ±(qi ; xj ) si no existe, pararse y no
o
aceptar
4. En caso contrario, moverse al estado dado (modi¯car la cinta 3), escribir
el string de salida en la cinta 2, y moverse (seg¶ n lo especi¯cado) en la
u
cinta 2. Regresar al paso 3.
6.7 Teor¶ de la decibilidad
³a
Un problema decidible es aqu¶l para el cual existe un algoritmo que siempre
e
para en todas las instancias de entrada respondiendo a¯rmativa o negati-
vamente a la pregunta >acepta la m¶quina de Turing una entrada w? Los
a
lenguajes que representan a los algoritmos decidibles son llamados recursi-
vos. Note que los problemas que s¶lo tienen una instancia son trivialmente
o
resolubles. Si la MT no para en todas las instancias, se dice que el lenguaje
que acepta es recursivamente enumerable (r.e.) y se dice que el problema es
indecidible.
El concepto de decibilidad se llama computabilidad cuando hablamos de
MTs como m¶quinas que calculan funciones enteras. Hablamos entonces de
a
problemas computables o no computables.
6.7.1 Un lenguaje no recursivamente enumerable
P
Sea un conjunto de strings de ¤ = (0 + 1)¤ =< wi ; Mj >. Considere uan
tabla in¯nita donde el elemento i; j vale uno si el string wi es aceptado por
Mj (wi 2 L(Mj )) :
j
1 2 3 4 . . .
1 0 1 1 0 . . .
i 2 1 1 0 0 . . .
3 0 0 1 0 . . .
4 0 1 0 1 . . .
.
.
.
Teor¶ de la Computaci¶n
³a o Maricela Quintana
88
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a
15. CAP¶ ¶
³TULO 6. MAQUINAS DE TURING
Esta tabla contiene todas las posibles m¶quinas de turing existentes. Sea
a
Ld = fwi j wi 2 L(Mi )g el lenguaje que representa los ceros de la diagonal
=
de la tabla anterior. No existe ninguna M T que acepte Ld , por lo que este
lenguaje no es r.e.
Prueba
No existe una Mj tal que L(Mj ) = Ld . Por contradicci¶n, suponemos
o
que Mj acepta Ld ) L(Mj ) = Ld .
² Si la entrada j; j de la tabla = 0 ) wj 2 Ld
,! wj 2 L(Mj ) ^ wj 2 Ld ) L(Mj ) 6= Ld
=
² Si la entrada j; j de la tabla = 1 ) wj 2 Ld
=
,! wj 2 L(Mj ) ^ wj 2 Ld ) L(Mj ) 6= Ld
=
Corolario: Ld no es un lenguaje r:e ) no es recursivo.
6.7.2 Propiedades de lenguajes recursivos y recursiva-
mente enumerables
El complemento de un lenguaje recursivo es recursivo.
Sí
W Sí
W
No No
Teor¶ de la Computaci¶n
³a o Maricela Quintana
89
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a
16. 6.7. TEOR¶ DE LA DECIBILIDAD
IA
La uni¶n de dos lenguajes recursivos es un lenguaje recursivo.
o
Sí
Sí
Sí
M1 start M2 No
No
No
La uni¶n de dos lenguajes recursivamente enumerables es r:e :
o
M1 Sí Sí
W
M2 Sí
Teor¶ de la Computaci¶n
³a o Maricela Quintana
90
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a
17. CAP¶ ¶
³TULO 6. MAQUINAS DE TURING
Si L y L son enumerables recursivamente ) L y L es recursivo.
M
M1 Sí Sí
W
M2 Sí No
6.7.3 Un lenguaje no recursivo
Theorem 12 Lu , el lenguaje aceptado por la MTU no es recursivo. Dicho
en otras palabras, la pregunta w 2 L(M ) no es decidible en el caso general.
Prueba
Sea A2 un algoritmo para reconocer Lu. Entonces Ld = fwi jwi 2 L(Mi )g
ser¶ aceptado por la siguiente m¶quina:
³a a
Sí Sí
<Mi, Wi> A2
Wi=W Conversión Algoritmo para No No
Lu
Algoritmo para Ld
Pero como Ld no es r.e entonces no es recursivo y por lo tanto Ld no
es recursivo, por lo que la ¯gura anterior no puede existir, pues no hay
algoritmo que pare en todas las instancias de Ld . Entonces, forzosamente no
hay algoritmo para Lu , por lo que Lu no es recursivo.
Teor¶ de la Computaci¶n
³a o Maricela Quintana
91
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a
18. 6.7. TEOR¶ DE LA DECIBILIDAD
IA
6.7.4 El problema de la terminaci¶n
o
No puede construirse ning¶n algoritmo que, dado cualquier programa R y
u
una entrada X, determine si R termina correctamente con X.
Demostraci¶n por contradicci¶n
o o
1. Supongamos que existe un programa Q que acepta otro programa y
una entrada y decide si dicho programa termina o no.
2. Construir un nuevo programa S que reciba como entrada un programa
W , el cual es a la vez programa y entrada a Q. Si Q regresa verdadero,
S entra a un ciclo in¯nito. En caso contrario termina.
program S(W );
var FOREVER:boolean;
function Q(R,x):boolean;
begin
/* CODIGO MARAVILLOSO */
end
begin
FOREVER:= FALSE;
if Q(W; W ) then
repeat FOREVER:= false until FOREVER;
else writeln(El programa termina);
end
3. Meter a S como entrada el programa S. <S se equivoca!, por lo que
llegamos a una contradicci¶n.
o
Teor¶ de la Computaci¶n
³a o Maricela Quintana
92
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a
19. CAP¶ ¶
³TULO 6. MAQUINAS DE TURING
6.7.5 Otros problemas no decidibles
Problema: Es L(M)6= 0?
> Se puede construir una M T que al aceptar el c¶digo de la M T M
o
respondia si (o no) esta M T acepta alg¶n
u
string ?
Lne = f< M >j L(M ) 6= ;g
r:e no recursivo
( y su complemento Le = f< M >j L(M ) = ;g)
no r:e
Prueba
1) M = MT que reconoce c¶digos de MT `S que aceptan conjuntos no
o
vac¶
³os.
Sí
Generación <Mi,x>
W<Mi> M uj Sí
entradas No
x
Generaci¶n entradas en orden conocido = f0; 1; 01:::::g
o
Pasos:
j = 1; 2:: )(strinbg i; j) = f(1; 1); (1; 2); (2; 1); (1; 3); (2; 2):::g
i + j est¶ en aumento
a
j
Mu a m¶quinas de Turing limitada a j pasos.
a
2) Le es no r:e debido al tema 3 (si fuera r:e)
) Lne ser¶ recursivo
³a
Otro ejemplo (ver libro blanco)
Lr = f< M >j L(M ) es recursivo por reducci¶n de Lr a Lug
o
Teor¶ de la Computaci¶n
³a o Maricela Quintana
93
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a
20. 6.7. TEOR¶ DE LA DECIBILIDAD
IA
<M,w> Sí Sí
M´
A Mr
Máquina que no acepta
M `= traducción de M, w
Máquina
por reducci¶n de Lr o Lu
o
Lnr no es r:e
Otros: No se puede decidir:
Demostrar
-M acepta w(w)
-Si el lenguaje aceptado por una MT es vac¶ o recursivo
³o
-Si el lenguaje aceptado es (¯nito, in¯nito , regular, libre de contexto,
tiene un n¶mero par de strings.
u
Decidibles
-<Si el lenguaje aceptado por una MT es r:e!
-Muchas propiedades de LRsyLLc : vac¶ in¯nito, M acepta w.
¶ ³o,
Teorema de Rice
-L es una propiedad trivial si L es vac¶ ¶ si L tiene todos los r:e`s:
³o o
1) Ninguna propiedad no trivial Lde los P lenguajes r:e es decidible.
propiedad: conjunto de lenguajes r:e en = (0 + 1)¤
(Un conjunto L tiene una propiedadL si L es un elemento de L )= Lp
)No hay algoritmos para esas preguntas.
#Algoritmos contables, in¯nito$ #Problemas incontables, in¯nito
2) L L es r:e ssi L satisface:
² Si L = L y L ½ L` para alg¶n r:e L` ) L` ½ L
u
² Si L es un lenguaje in¯nito ½ L ) hay un subconjunto de L ½ L
Teor¶ de la Computaci¶n
³a o Maricela Quintana
94
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a
21. CAP¶ ¶
³TULO 6. MAQUINAS DE TURING
² El conjunto de lenguajes ¯nitos en L es enumerable.
Example 1 Las siguientes propiedades de r:e`s no son r:e`s:
-L = ; g 1) es violado
P
-L = ¤ g2) es violado
-L recursivo g 1) es violado
-L no es recursivo g1) es violado
Teor¶ de la Computaci¶n
³a o Maricela Quintana
95
ITESM-CEM Dept. C.C. Jes¶s S¶nchez
u a