Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Problema 1
Máquina de Turing que proporciona el complemento a 1 de un
número binario.
La MT tendrá escrita en la cinta un número de n cifras en binario.
Tiene que cambiar los 0's por 1's y viceversa.
Inicialmente, la cabeza de la MT señala la primera cifra del número.
Las otras casillas tienen el símbolo en blanco.
La cinta de la MT es
Problema 2
Diseñar una máquina de Turing que calcula el número
consecutivo de un número dado en binario.
Si el número es par, su último bit es 0. La máquina sólo tiene que
cambiar este 0 por un 1.
Si el número es impar, su último bit es 1. En este caso, se tiene que
cambiar por 0’s todos los 1’s seguidos que haya escritos de derecha a
izquierda hasta llegar al primer 0, que se cambia por un 1. Si no hay
ningún 0, entonces se tiene que añadir un 1 delante del número
(añadir un bit). Es decir, escribir un 1 en la casilla en blanco (B) a la
izquierda del número.
Vamos a considerar tres estados:
q0,q1,q2q0,q1,q2
Inicialmente, la MT está en el estado q0 con la cabeza
señalando la primera cifra del número.
La MT recorre todo el número para ver si es par o impar sin modificar
su cinta.
δ(q0,0)=(q0,0,R)δ(q0,0)=(q0,0,R)
δ(q0,1)=(q0,1,R)δ(q0,1)=(q0,1,R)
Notemos que, por ahora, la MT se detiene al llegar al primer
símbolo en blanco a la derecha del número.
La MT vuelve a la anterior casilla (último número). Si es un 0, lo
cambia por un 1 y pasa al estado final que es q2 . Para hacer esto
usaremos el estado q1 :
δ(q0,B)=(q1,B,L)δ(q0,B)=(q1,B,L)
δ(q1,0)=(q2,1,R)δ(q1,0)=(q2,1,R)
Si el número es impar, la MT no ha cambiado el último
número, pero está en el estado q1 . Tiene que cambiar todos
los 1's consecutivos que haya de derecha a izquierda.
δ(q1,1)=(q1,0,L)δ(q1,1)=(q1,0,L)
Por ahora, la MT se para cuando llega al primer 0 (de derecha
a izquierda) ó en un símbolo en blanco. Si es un 0, lo cambia
por un 1 y el proceso finaliza:
δ(q1,0)=(q2,1,L)δ(q1,0)=(q2,1,L)
Si lo que señala la cabeza es un blanco en vez de un 1, tiene
que cambiarlo por un 1 y finalizar el proceso.
δ(q1,B)=(q2,1,L)δ(q1,B)=(q2,1,L)
El diagrama de la máquina es:
Entrada: 0011; Resultado esperado: 0100.
Entrada: 111; Resultado esperado: 1000.
Entrada: 1; Resultado esperado: 10.