Anda di halaman 1dari 23

Mquina de Turing.

Una maquina de Turing se representa como:

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.

La funcin de transicin tiene el siguiente formato:


( qi,a)= (qj,b,I|D)

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)
-

Maquina de Turing para Sumar


Paso 1: - Abstraer la expresin numero + numero, quedando
3 + 2= 5 como 000100100000 ,donde cada numero se representa por
su cantidad con 0s, + con el primer 1, = con el segundo 1 y el
resultado con su cantidad de 0s.
4 + 1 = 5 equivale a 000010100000
5 + 3= 8 equivale a 000001000100000000
Se define el primer esquema de la maquina como sigue:

Estados
q0

Paso 2: - Razonar secuencialmente la solucin.


Si se observa los escenarios en las cadenas, el resultado es la copia de
los 0s que representan los nmeros al final de la cadena, por lo tanto, la
solucin radica en copiar los 0s despus del segundo 1 colocando
smbolos indicadores para facilitar el proceso.
El escenario inicial es el siguiente:
q0 0001001
a).- El primer paso en este proceso es marca el 0 que se va a copiar al
final, la marca tiene la intencin de sealar a la mquina dnde
detenerse en el regreso para buscar otro 0.
q0 0001001
q1 X0001001
Se denota en la mquina la accin.

Estado

q0

(q1,X,D)

b).- Obsrvese que el primer 0 se marca con X y la mquina cambia el


control a q1 cuya misin es avanzar hasta el final de la cinta de
entrada, por lo tanto, q1 tomar una decisin importante hasta que
alcance el final de la cinta a travs de B.
Estado

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

c).- En el momento en que q1 encuentra B la accin ser copiar 0 y


regresa hasta la marca X colocada en el inciso a) para seguir
copiando 0s.
Estado

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)

Se anota en la maquina el retorno del control q0, se restaura 0 y se avanza a


la derecha, el resto de los 0s ser transferido de la misma manera, quedando

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

f).- Una vez que q0 encuentra 1 el primer nmero u operador izquierdo ya


sta copiado o sumado, el siguiente paso ser transferir el siguiente
nmero. EL proceso es el mismo, la nica diferencia estar dada por
nuevos estados para realizar el proceso.
Estado

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)

q3 tomar el mismo rol que q0, la diferencia es que q0 trabaja con el


primer nmero y q3 con el segundo nmero.

q0 0001001000
q3 0001001000

g).- Se repite el proceso de q0 pero con nuevos estados.


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)

(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

j).- Hacia atrs hasta Y con q5.

(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)

k).- Concluir el proceso de copiado del prime 0 del segundo nmero.

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)

Se contina el seguimiento de una cinta hasta concluir la suma de todos los


0s del segundo nmero.
q4 00010Y10000
q4 00010Y10000
q4 00010Y10000
q4 00010Y10000
q4 00010Y10000
q4 00010Y10000B
q5 00010Y100000
q5 00010Y100000
q5 00010Y100000
q5 00010Y100000
q5 00010Y100000
q5 00010Y100000
q5 000100100000

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

b).- Construir una mquina de Turing para dividir, quedando:


4 / 2= 2 equivale a 0000100100
6 /2 = 3 equivale a 0000001001000

Anda mungkin juga menyukai