martes, 29 de abril de 2008

Resumen semana 28/4 al 2/5

Durante el comienzo de esta semana colgamos las tareas que teníamos que entregar para el día 28 en el blog.Después nos pusimos manos a la obra con la tarea que nos quedaba pendiente para el día 2 de mayo.El martes acabamos con esta tarea ya que no nos supuso mucho calentamiento de cabeza. Ahora solo nos falta subirla al blog y comentarla un poco para que se sepa cual es la idea de nuestro diseño.

Resumen semana 21/4 al 25/4

Esta semana hemos quedado el martes para empezar con las máquinas que teníamos que entregar el 28 de abril. Ese mismo día las acabamos y por lo tanto dedicamos el jueves para probarlas un poco y ver si tenían algún fallo. Al ver que todo iva bien y que todo parecía correcto las dejamos preparadas para subirlas al blog.Por último las subimos al blog el día 28 que era el día límite para subirlas.
Como conclusión tenemos que decir que las MT's que se propusieron para el día 28 de abril nos parecieron bastante más sencillas que las que hicimos en tareas anteriores.

lunes, 28 de abril de 2008

MT's para cadenas que incrementan el número de 0's

Importante: Las MT's solo aceptarán cadenas del tipo 00100100010000. Es decir, solo cadenas que comiencen y acaben por 0 y que solo tengan un 1 como separador. Por tanto, las cadenas del tipo: 1001000, 0010001,001000100,000110000, no serán aceptadas.

MT
normal(Con marcaje de símbolos)
Inicialmente el cabezal se encuentra en el primer 0.
Idea:
La idea es ir comparando los bloques de 0's mediante el marcaje de símbolos. Así pues vamos marcando un cero antes del separador y un cero después del separador, hasta que no hay más ceros por marcar en alguna de las partes del separador.Si nos quedamos sin ceros que marcar en la parte derecha del separador entonces la cadena no se acepta porque el número de ceros es decreciente. Si por el contrario nos quedamos sin ceros que marcar en las dos partes o en la parte derecha del marcador la cadena si que se aceptará porque el numero de ceros no se reduce o es creciente.




MT modificada(multicabezal)
Hemos elegido una MT multicabezal porque es la modificación que nos da una solución mas rápida a la hora de comparar el tamaño de cada bloque de 0´s.
Inicialmente el primer cabezal esta en el primer 0 y el segundo cabezal esta después del primer separador, es decir, después del primer 1.
Idea: La idea es ir recorriendo la cadena de izquierda a derecha comparando el número de 0's que lee el primer cabezal respecto del segundo.Si el número de 0's que lee el primer cabezal es igual que el del segundo o menor la cadena se aceptará, pero si es mayor entonces la cadena no se aceptará.

MT's contadoras de bloques de 0's

Importante:Las dos máquinas solo aceptan cadenas del tipo 00100100100, es decir, bloques de 0's separados por un 1 solo. Además las cadenas empezarán y terminarán con un 0. Las MT's no aceptarán cadenas del tipo: 100100, 001100100, 001001 ...


MT
normal
El cabezal se encuentra inicialmente encima del primer 0.
Idea:La idea de esta máquina es que vallamos recorriendo la cadena de izquierda a derecha y por cada bloque de ceros que vamos encontrando nos vamos al final de la cadena y escribimos un cero después del primer blanco que encontramos. Cada bloque de 0's que queda contado se borra de la cadena. Los 0's tienen que estar separados siempre por un 1, menos en ultimo bloque de 0's que tiene un blanco detrás y no un 1.






MT modificada (multicinta)

Hemos elegido una máquina multicinta de 2 cintas porque en este caso resulta más fácil trabajar con una cinta y ir escribiendo los resultados en otra cinta.
Idea:El funcionamiento en este caso es sencillo, le pasamos una cadena en la cinta de entrada y vamos escribiendo un 0 en la cinta de salida por cada bloque de 0's que vamos encontrando en la cinta de entrada.Los cabezales inicialmente están encima del primer 0 en la cinta de entrada y encima de un blanco en la cinta de salida.

lunes, 21 de abril de 2008

Resumen semana 14/4 al 18/4

Quedamos el martes y el jueves y corregimos las MT's de nuestros compañeros del grupo 7. Primero probamos las MT's y al ver que tenían algunos fallos nos pusimos manos a la obra. Cogimos el estado donde se producía el fallo y fuimos arreglando transiciones hasta que las MT's funcionasen correctamente.
Cuando conseguimos que las máquinas hiciesen lo que se les pedía las subimos a nuestro blog y dejamos marcado que es lo que habíamos modificado.

jueves, 17 de abril de 2008

Correcciones de las MT's del grupo07


MT para n-cuadrado.
En esta MT nosotros cambiaríamos en el estado q2, cuando encuentre un cero hará la transición a qi0 , escribirá una X y moverá el cabezal a la derecha, y no a la izquierda como pone en la tabla del blog del grupo07.Si mueve a la izquierda hay un momento en que la máquina deja de funcionar.
La tabla quedaría como en la imagen, la única transición que se ha corregido es la que está en rojo.






MT para multiplicación.
En esta MT hemos añadido o modificado las transiciones que están en rojo y hemos añadido el estado qi6.




MT para división.
En esta MT estamos intentando encontrar la forma de corregirla sin cambiar mucho la tabla pero parece algo complicado.Cuando dividimos 5 entre 2 llega un momento en que se pasa al estado q2 y se esta leyendo un 1, ese caso no se contempla en la tabla por lo que la máquina no sigue funcionando.Para que siga funcionando le hemos añadido una serie de estados que creemos que hacen que la máquina devuelva la cadena que se pedía.

domingo, 13 de abril de 2008

Resumen semanal (07/04 a 13/04)

El trabajo semanal ha estado distribuido de la siguiente forma:

-Lunes: El lunes estuvimos analizando las ideas acerca de como realizar la Mt de divisores, y empezamos a construir .Este día fue uno de los más relajados ya que casi no hicimos nada.

-Martes:Estuvimos desarrollando la MT de divisores sin modificaciones, fue bastante costoso pues es una MT que requiere muchos estados tal y como se puede observar en nuestra tabla de transiciones. Después del duro trabajo realizado ese día parecía que la MT funcionaba correctamente, aunque faltaba revisarla otra vez antes de colgarla en el blog.

-Jueves: El jueves volvimos a quedar para realizar la MT con multicinta. En principio queríamos hacerla con 3 cintas, pero como nos surgieron algunos problemas que no supimos solucionar optamos por la multicinta de dos cintas. En esta máquina tendríamos una cinta de entrada y de trabajo y otra cinta de salida donde escribiríamos los divisores. El día fue bastante duro por los problemas surgidos con la MT de 3 cintas, aunque al final conseguimos realizar la máquina y lo mejor es que parecía que funcionaba bastante bien.

-Domingo: El domingo le dimos los últimos retoques a las MT´s y las subimos al blog.


Esto ha sido todo por esta semana.

MT división, n-cuadrado y multiplicación

En todas las MT´s el cabezal se encuentra en el primer cero.


MT para multiplicación
Cadena de entrada:B0^n10^mB
Cadena de salida:B0^nxmB



MT para n-cuadrado

Cadena de entrada:B0^nB
Cadena de salida:B0^n^2B


MT para la división
Cadena de entrada:B0^n10^mB
Cadena de salida:B0^n%m10^n/mB

MT divisores N con multicinta



Se le pasan dos cadenas 1 la de trabajo que sera del tipo B0^NB y otra la de salida que solo tiene blancos.El cabezal esta en el primer cero en la primera cadena.El formato de la cadena de salida es Bdiv^N1B

Divisores con MT normal



MT para los divisores de N

Al inicio el cabezal se encuentra en el primer cero.
Cadena de entrada:B0^NB
Ejemplo:B0000B

Cadena de salida:B0^N$divN1
Ejemplo:B0000$010010000B