M=<Q,,,,q0,B,F>
Donde:
Q:- es el conjunto de estados.
:- Es el conjunto finito de smbolos de cinta admisibles.
:- Subconjunto de que incluye a B, es el conjunto de
smbolos de entrada.
:- Es la funcin de movimiento siguiente, una transformacin
de Q x a Q x x ( L,R) ( puede, sin embargo ,permanecer
indefinida para algunos argumentos)
q0:- Esta en Q, es el estado inicial.
B:- smbolo de , representa espacio en blanco y define el final.
F:- Que es un subconjunto de Q, es el conjunto de estados finales.
Donde:
qi:- es el estado con el smbolo .
a:- es la entrada que se genera en el estado
qj:- transicin.
b:- se escribe en la cinta el smbolo.
I.- movimiento a la Izquierda o atrs.
D.- movimiento a la Derecha o adelante.
Ejemplo:
Mquina de Turing que convierte los 0 (ceros)
en 1 (unos) y viceversa en una cadena de
entrada.
Q= { q0,q1}
= { 0,1,B}
= {0,1}
q0={ q0 }
F= {q1}
= ver tabla.
Estado
q0
(q0,1,D)
(q0,0,D)
(q1,B,I)
q1
Cadena: 00011
Ejemplo:
Mquina de Turing que reconoce cadenas con
pares de a e impares de b, en cero o la no
aparicin de algn smbolo se considera par.
Q= { qpp,qip,qpi,qii,qa}
= { a,b,B}
= {a,b}
q0={ qpp }
F= {qa}
= ver tabla.
Estado
qpp
(qip,a,D)
(qpi,b,D)
qip
(qpp,a,D)
(qii,b,D)
qpi
(qii,a,D)
(qpp,b,D)
qii
(qpi,a,D)
(qip,b,D)
qa
Cadena: aabaa
(qa,B,I)
-
Estados
q0
Estado
q0
(q1,X,D)
q0
(q1,X,D)
q1
(q1,0,D)
q1 X001001
q1 X001001
q1 X001001
q1 X001001
q1 X001001
1
(q1,1,D)
q1 X001001
q1 X001001B
q0
(q1,X,D)
q1
(q1,0,D)
(q1,1,D)
(q2,0,I)
q1 X001001B
q2 X0010010
d).- La mquina entrega el control a q2 para que ste realice el regreso
hasta la marca X .
Estado
q0
(q1,X,D)
q1
(q1,0,D)
(q1,1,D)
(q2,0,I)
q2
(q2,0,I)
(q2,1,I)
q2 X0010010
q2 X0010010
q2 X0010010
q2 X0010010
q2 X0010010
q2 X0010010
q2 X0010010
e).- q2 encuentra X, significa que se ha terminado la copia del primer 0, el
siguiente paso es seguir transfiriendo 0s de manera recursiva hasta
encontrar el smbolo 1, el cual indica el final del primer nmero.
Estado
q0
(q1,X,D)
q1
(q1,0,D)
(q1,1,D)
(q2,0,I)
q2
(q2,0,I)
(q2,1,I)
(q0,0,D)
q2 X0010010
q0 00010010
q1 0X010010
q1 0X010010
q1 0X010010
q1 0X010010
q1 0X010010
q1 0X010010
q1 0X010010B
q2 0X0100100
q2 0X0100100
q2 0X0100100
q2 0X0100100
q2 0X0100100
q2 0X0100100
q2 0X0100100
q0 000100100
q1 00X100100
q1 00X100100
q1 00X100100
q1 00X100100
q1 00X100100
q1 00X100100
q1 00X100100B
q2 00X1001000
q2 00X1001000
q2 00X1001000
q2 00X1001000
q2 00X1001000
q2 00X1001000
q2 00X1001000
q0 0001001000
q0
(q1,X,D)
(q3,1,D)
q1
(q1,0,D)
(q1,1,D)
q2
(q2,0,I)
(q2,1,I)
(q2,0,I)
(q0,0,D)
q0 0001001000
q3 0001001000
q0
(q1,X,D)
(q3,1,D)
q1
(q1,0,D)
(q1,1,D)
q2
(q2,0,I)
(q2,1,I)
q3
(q4,Y,D)
(q2,0,I)
q3 0001001000
q4 0001Y01000
h).- Se repite el proceso de avanzar hasta encontrar B.
(q0,0,D)
Estado
q0
(q1,X,D)
(q3,1,D)
q1
(q1,0,D)
(q1,1,D)
q2
(q2,0,I)
(q2,1,I)
q3
(q4,Y,D)
q4
(q4,0,D)
(q2,0,I)
(q0,0,D)
(q4,1,D)
q4 0001Y01000
q4 0001Y01000
q4 0001Y01000
q4 0001Y01000
q4 0001Y01000
q4 0001Y01000B
i).- Copiar 0 al final y regresar hasta Y con un nuevo estado.
Estado
q0
(q1,X,D)
(q3,1,D)
q1
(q1,0,D)
(q1,1,D)
q2
(q2,0,I)
(q2,1,I)
q3
(q4,Y,D)
q4
(q4,0,D)
q4 0001Y01000B
q5 0001Y010000
(q4,1,D)
(q2,0,I)
(q0,0,D)
(q5,0,I)
Estado
q0
(q1,X,D)
(q3,1,D)
q1
(q1,0,D)
(q1,1,D)
q2
(q2,0,I)
(q2,1,I)
q3
(q4,Y,D)
q4
(q4,0,D)
(q4,1,D)
q5
(q5,0,I)
(q5,1,I)
q5 0001Y010000
q5 0001Y010000
q5 0001Y010000
q5 0001Y010000
q5 0001Y010000
q5 0001Y010000
(q2,0,I)
(q0,0,D)
(q5,0,I)
Estado
q0
(q1,X,D)
(q3,1,D)
q1
(q1,0,D)
(q1,1,D)
q2
(q2,0,I)
(q2,1,I)
q3
(q4,Y,D)
q4
(q4,0,D)
(q4,1,D)
q5
(q5,0,I)
(q5,1,I)
q5 0001Y010000
q3 00010010000
(q2,0,I)
(q0,0,D)
(q5,0,I)
(q3,0,D)
l).- En este momento la suma concluye, por lo tanto q3 bajo 1 indica que
hay que enviar el control a un estado de aceptacin o de paro.
Estado
q0
(q1,X,D)
(q3,1,D)
q1
(q1,0,D)
(q1,1,D)
q2
(q2,0,I)
(q2,1,I)
q3
(q4,Y,D)
(q6,1,D)
q4
(q4,0,D)
(q4,1,D)
q5
(q5,0,I)
(q5,1,I)
q6
(q2,0,I)
(q0,0,D)
(q5,0,I)
(q3,0,D)
-
Conclusin.
Anotando el resultado final, la maquina queda.
Q= { q0,q1,q2,q3,q4,q5,q6 }
= { 0,1,B,X,Y }
= { 0,1 }
q0= { q0 }
F= { q6 }
= ver tabla.
Estado
q0
(q1,X,D)
(q3,1,D)
q1
(q1,0,D)
(q1,1,D)
q2
(q2,0,I)
(q2,1,I)
q3
(q4,Y,D)
(q6,1,D)
q4
(q4,0,D)
(q4,1,D)
q5
(q5,0,I)
(q5,1,I)
q6
(q2,0,I)
(q0,0,D)
(q5,0,I)
(q3,0,D)
-
Ejercicios.
a).- Construir una mquina de Turing para restar, quedando:
4 2= 2 equivale a 0000100100
5 1 =4 equivale a 000001010000