viernes, 25 de abril de 2008

MT multicabezal Contador de 0's separados por 1's

Entrada: B0010010000100000B
Salida: B0000B


Los 2 cabezales empiezan en el 0 de la izquierda. Primero se mueve el 1º de ellos hasta llegar a la ultima B, que cambia por una Y. En ese momento se mueve el 2º cabezal aun en el primer 0 y cada 0 que encuentra lo cambia por una B hasta que llega al 1, también lo cambia por una B, y entonces el 1er cabezal escribe un 0 detras de la Y. Asi cada vez que encuentre un 1 hasta llegar a la Y cambiando ésta por una B.



Multicabezal ( 2 cabezales)

f(q0, 0, 0) = ( q0, {0,Z}, {0,R})
f(q0, 0, 1) = ( q0, {0,Z}, {1,R})
f(q0, 0, B) = ( q1, {0,Z}, {Y,R})
f(q1, 0, B) = ( q1, {B,R}, {B,Z})
f(q1, 1, B) = ( q1, {B,R}, {0,R})
f(q0, 0, B) = ( q2(final), {B,R}, {0,R})
f(q2)(final)

MT simple Contador de grupos de 0's separados por 1's


Entrada: B0010010000100000B

Salida: B0000B

Empezamos en el primer 0 de la izquierda.






jueves, 17 de abril de 2008

MT Divisores multicabezal

Entrada: B$000000000$B
Salida: B$000000000$000101B
Voy a usar 3 cabezales que empezaran en el primer 0, uno recorrera el numero original, el otro los divisores posibles y el ultimo escribira los divisores correctos.

f(q0,0,0,0)=(q0,{0,z},{0,L},{0,R})
f(q0,0,$,0)=(q0,{0,z},{$,L},{0,R})
f(q0,0,B,0)=(q0,{0,z},{B,z},{0,R})
f(q0,0,B,$)=(q0,{0,z},{B,z},{$,R})
f(q0,0,B,B)=(q1,{0,z},{B,z},{B,z})
f(q1,0,B,B)=(q2,{Y,R},{B,z},{B,z})
f(q1,$,B,B)=(q3,{$,L},{B,z},{B,z})
f(q2,0,B,B)=(q1,{Y,R},{0,L},{B,z})
f(q2,$,B,B)=(q3,{$,L},{B,z},{B,z})
f(q3,Y,B,B)=(q3,{0,L},{B,z},{B,z})
f(q3,$,B,B)=(q4,{$,R},{B,R},{B,z})
f(q4,0,0,B)=(q4,{Y,R},{Y,R},{B,z})
f(q4,0,$,B)=(q5,{0,Z},{$,L},{B,z})
f(q4,$,0,B)=(q6,{$,L},{0,L},{B,z})
f(q4,$,$,B)=(q8,{$,z},{$,L},{B,z})
f(q5,0,Y,B)=(q5,{0,z},{0,L},{B,z})
f(q5,0,B,B)=(q4,{0,z},{B,R},{B,z})
f(q6,Y,Y,B)=(q6,{0,L},{0,L},{B,z})
f(q6,Y,B,B)=(q6,{0,L},{B,z},{B,z})
f(q6,$,B,B)=(q7,{$,R},{B,R},{B,z})
f(q7,0,0,B)=(q10,{0,z},{B,R},{B,z})
f(q8,$,Y,B)=(q8,{$,z},{Y,L},{0,R})
f(q8,$,B,B)=(q9,{$,z},{B,R},{1,R})
f(q9,$,Y,B)=(q9,{$,z},{Y,R},{B,z})
f(q9,$,$,B)=(q6,{$,L},{$,L},{B,z})
f(q10,0,$,B)=(q11(final),{0,z},{$,z},{B,z})
f(q10,0,0,B)=(q4,{0,z},{0,z},{B,z})
f(q11)(final)

miércoles, 16 de abril de 2008

Resumen Semanal:

Semana 2

Esta semana quedamos para hacer la maquina de Turing de los divisores. Quedamos el miercoles que nos viene bien ese dia y pusimos las ideas en comun.En principio es dia quedaron un poco confusas las ideas ya que nos enganchabamos en un momento de la maquina.Despues de 3 horas decidimos quedar para el dia siguiente aver si aclarabamos ya la idea final.Quedamos en la biblioteca y estuvimos de 11 a 2 madurando la idea hasta que por fin dimos con la buena.Ya solo nos faltaba pasarlo a estados y ya lo tendriamos.Fuimos a casa de Alexis esa misma tarde y en dos horitas lo tuvimos hecho.Creo que quedo bastante bien ya que creemos que la idea fue buena como hacerlo.
Resumen semanal:

Semana 1

Con retraso pero ya llega.
La primera semana tenemos que quedar pa realizar las maquinas de Turing de la multiplicacion, la division y el cuadrado.Estuvimos liados y hasta el miercoles no pudimos quedar.Quedamos ese miercoles despues de comer a las 3 y estuvimos pensando como hacerlas y empezamos a hacer diferentes pruebas de como hacerlos.Estuvims ese dia hasta las 6-6.30 y quedamos en quedar al dia siguiente para acabarlas.Al dia siguiente volvimos a quedar despues de comer los tres y las acabamos. Ese dia tb quedamos a las 3 hasta las 5.30 mas o menos.

martes, 15 de abril de 2008

MT Cuadrado N^2


Entrada: B00B

Salida: B0000B


Empezamos desde el 0 de la izquierda.





lunes, 14 de abril de 2008

MT Division y MT Multiplicacion

Division:

Dados 2 enteros n y m, obtener n%m y n/m
Entrada: B00010000000B
Salida: B0100B

Empezamos desde el 0 de la izquierda.


Multiplicacion:


Entrada: B001000B

Salida: B000000B

Empezamos desde el 0 de la izquierda