viernes, 14 de mayo de 2010

Puntos extras- Maquina de turing

Primero converti el numero que nos daban que en mi caso era el 43 de decimal a numero binario.
Esto fue lo que realize:
Primero busque de las potencias de 2 el numero que fuera menor al 43 que en este caso era el 32 que es la potencia de 2^5 y lo reste al 43 y como si se pudo restar puse un 1 despues me quedo 11 lo cheque con la potencia 2^4= 16 como es mayor al 11 no podemos restar por lo que ponemos un 0, continuamos con la potencia de 2^3=8 esta si es menor al 11 asi que lo restamos y ponemos un 1 y nos queda 3, le seguimos con la potencia de 2^2=4 como es mayor ponemos de nuevo un 0 y nos vamos con la otra potencia que es 2^1=2 es menor lo restamos ponemos un 1 y nos queda 1 seguimos con la otra potencia 2^0=1 también se puede restar asi que ponemos otro 1 y nos queda cero y terminamos.
Esto nos quedaria: 43 en decimal = 101011 en binario.
En caso de querer checar que este bien sumamos todas las potencias de las que nos alla dado 1.

A continuación les mostrare la ejecucion de la maquina de turing:

Primero tenemos que añadir un 0 al numero binario que habiamos encontrado y acomodarlo empezando con una flecha de inicio que empezara con s y avanza una casilla y si hay un 0 o 1 pondra otro s y recorrera otra casilla y esto lo hara asta llegar a un vacio.













Despues de llegar al vacio lo que hara la maquina es que regresara una casilla, pondremos un t y si tenemos 1 en esa casilla cambiara por un 0 y regresara otra casilla imprimira si y se detiene la maquina.







¿Qué es la salida de la máquina en decimal?
La salida de la maquina seria 0101010= 44 en decimal

¿Qué hace la máquina, Qué complejidad asintótica tiene en términos de computación y memoria?
lo que hace es que le suma 1, y en caso de la complejidad pues realiza 11 transiciones por lo que determinariamos que puede ser de complejidad P.

Bueno por mi parte es todo espero que todo este bien y en caso de que algo no este correcto me digan por favor en un comentario para checarlo.

1 comentario:


Ejemplo de una maquina turing

Diagrama de flujo

Diagrama de flujo
representacion grafica de un algoritmo

Numeros Binarios

* Cada entero positivo se puede expresar como la

suma de selectas potencias de dos



*Cada potencia aparece por máximo una vez



* La presencia de una potencia se indica con el

dígito uno, su ausencia con el dígito cero



* La potencia cero se ubica en el extremo derecho

de la cadena binaria



EJEMPLO:

5612 convertido a numero binario

quedaria asi:

1010111101100



13503 convertido a numero binario

quedaria asi:

11010010111111

Se preguntaran que es lo que hice bueno hay les van los pasos para realizar este cambio:
1. Buscamos el multiplo de 2 que este mas cerca de nuestro numero, pero sin pasarse por ejemplo en el 5612 el multiplo mayor que utilizamos fue el 12 que seria 4096.
2. Despues restamos primero el multiplo de dos que tengamos mayor y asi susecivamente vamos restando de lo que nos queda el sig. multiplo y cada que restemos ponemos un "1" y en caso de que un numero no lo podamos restar porque es menor lo brincamos pero en nuestro numero binario pondriamos un "0" y asi hasta llegar a cero.
3. Luego comprobamos sumando todos los multiplos de 2 que restamos y nos debe de dar el mismo resultado.

Ejemplo: 5612
el multiplo con el que empezariamos seria el de 12- 4096 se lo restamos al 5612 y en este caso pondriamos en nuestro numero binario un "1" lo que nos de lo restamos al siguiente y asi sucesivamente.