
con la entrada siendo la representación binaria del numero decimal 37
Para resolver este problema primero hay que convertir el numero decimal en bianrio, para convertirlo existen varias maneras, asi que usaré una de las más fáciles:
37/2 = 18, residuo 1
18/2 = 9, residuo 0
9/2 = 4, residuo 1
4/2 = 2, residuo 0
2/2 = 1, residuo 0
1/2 = 0, residuo 1
Nuestro numero binario serían los residuos de todas las divisiones. Nuestro número binario sería: 100101
Empezamos:

por nuestras condiciones se queda el estado s, se pone un 0 y se mueve a la derecha

ahora se queda el estado s, se pone un 1 y se mueve a la derecha

se repite una condición anterior, se queda en s, se pone un 0 y se mueve a la derecha

estado s, se pone un 0, se mueve a la derecha

estado s, se pone un 1, se mueve a la derecha

estado s, se pone un 0, se mueve a la derecha

estado s, se pone un 1, se mueve a la derecha

ahora cambió, ahora es un estado t, se pone un 0 y se mueve a la izquierda

finalmente queda en Si, se pone un 1 y termina.
el numero binario que queda es 01001110
ahora hay que convertir este numero binario en decimal
(0*2^0)+(1*2^1)+(1*2^2)+(1*2^3)+(0*2^4)+(0*2^5)+(1*2^6)+(0*2^7)
= (2^1)+(2^2)+(2^3)+(2^6)
= 2+4+8+64
= 78
Lo que hace esta maquina de turing es multiplicar el numero por 2 y le suma 4.
La complejidad sería O(n).
Muy buena la explicacion resolvi la duda que me habia quedado al ver otro blog en donde pense que la entrada debia ser 00101 pero ya veo que es 100101 debido al residuo de 1/2 xD.
ResponderEliminar