Turing? Cmo se define el lenguaje aceptado por una mquina de Turing?
Modelos de Mquinas de Turing
Existen numerosos modelos de
Mquinas de Turing que se han probado equivalentes Definicin. Dos mquinas de Turing M1 y M2 son equivalentes sii L(M1)=L(M2) Definicin. Dos modelos de mquinas de Turing son equivalentes si para cada mquina de Turing de un modelo existe una mquina de Turing equivalente en el otro modelo. 2
Modelos de Mquinas de Turing
Teorema: El modelo estndar de mquina de Turing
visto es equivalente al modelo de mquina de Turing que comienza su computacin apuntando al ltimo smbolo del string de entrada.
Demostracin. Hay que probar 2 cosas: Para toda
mquina de Turing M del modelo estndar existe una mquina de Turing M equivalente que comienza con el cabezal apuntando al ltimo smbolo del string de entrada y viceverza, es decir, para toda mquina de Turing M del nuevo modelo existe una mquina de Turing M del modelo estndar equivalente. 3
Modelos de Mquinas de Turing
1) Vamos a probar que para toda mquina de Turing M del modelo estndar existe una mquina de Turing equivalente M que comienza con el cabezal apuntando al ltimo smbolo del string de entrada. Sea M = <Q, S, G, d, q0, F> una mquina de Turing arbitraria del modelo estndar. Construiremos M tal que L(M) sea igual a L(M) M = <Q, S, G, d, q0, F> con Q= Q {q0} y q0 Q 4
Modelos de Mquinas de Turing
Modelos de Mquinas de Turing
Modelos de Mquinas de Turing
Hay que probar L(M) = L(M) (Hay que demostrar igualdad entre conjuntos) i) L(M) L(M) ?
Sea w = s1.s2sn L(M) (si n = 0 entonces w=l)
q0s1.s2sn *M aqb, con q F y M se detiene. (por def. L(M)) Adems, para M se cumple que:
s1.s2 q0sn *M q0s1.s2sn *M aqb, con q F y M se detiene.
(por def. M b)
(por def. M a)
s1.s2 q0sn *M aqb, con q F y M se detiene. (por def. *)
w L(M) (por def. L(M)) Observe que tambin funciona para el caso en que w=l
Por lo tanto L(M) L(M)
7
Modelos de Mquinas de Turing
ii) L(M) L(M)? Vamos a probar por contrarecproca Sea w = s1.s2sn tal que w L(M) entonces por def. de L(M) se tienen dos casos: Caso A) M con input w se detiene en un estado no final. Caso B) M no se detiene con input w Caso A) q0s1.s2sn *M aqb,
y M se detiene con q F (por def. L(M))
Adems, para M se cumple que:
s1.s2 q0sn *M q0s1.s2sn *M aqb, y M se detiene con q F. (por def. M b)
(por def. M a)
s1.s2 q0sn *M aqb, y M se detiene con q F. (por def. *)
w L(M) (por def. L(M))
Observe que tambin funciona para el caso en que w=l
Modelos de Mquinas de Turing
Caso B) A partir de q0s1.s2sn M loopea (nunca se detiene) Adems, para M se cumple que:
s1.s2 q0sn *M q0s1.s2sn y a partir de aqu M loopea
(por def. M b)
(por def. M a)
A partir de s1.s2 q0sn M loopea.
w L(M) (por def. L(M)) Observe que tambin funciona para el caso en que w=l
Por lo tanto si w L(M) w L(M) (por casos A y B)
Por contrarecproca si w L(M) w L(M). Por lo tanto L(M) L(M). De i) y ii) L(M) = L(M) (como se pretenda demostrar) 9
Modelos de Mquinas de Turing
Modelo D-I-S (Derecha-Izquierda-Sin
movimiento) Mquina de Turing que admite transiciones sin movimiento del cabezal de la cinta. M = <Q, S, G, d, q0, F> con Q, S, G, q0, F definidos como en el modelo estndar (modelo D-I) y d: Q x G Q x G x {D, I, S} (S significa sin movimiento) 10
Modelos de Mquinas de Turing
Ejemplo: Construir una mquina de Turing que se posicione en el primer smbolo 1 del input de la cinta para luego saltar a una subrutina (S={0,1})