Formato de Entrada : BQ0Q00N10M10P…10ZB
Formato de Salida : B0..0B
Q0 : Posicionamos un cabezal al inicio de la cadena y el siguiente después del separador.
Q1 : Vamos recorriendo la cadena comprobando si la parte que recorre el 2º cabezal es mayor que la que recorre el 1º cabezal.
Q2 : Estado final.
Seleccionamos una maquina multicabezal puesto que para la idea que teníamos para resolver el problema era la que mejor se acoplaba al diseño anterior.
Nota : igual que el anterior comprobará si la cadena es mayor estricta.
4 comentarios:
Hemos probado con la cadena de entrada B00101000B y llegamos al estado final,esta cadena no debería ser aceptada.
No entendemos por qué el primer cabezal se mantiene fijo en el primer símbolo mientras que el segundo va recorriendo la cadena hasta llegar al segundo separador, una vez ahí empieza a comparar la primera secuencia con la tercera ¿y qué pasa con la segunda secuencia?
Una pequeña corrección , ambos cabezales están en el 1º momento en la misma posición inicial; lo que hace el estado Q0 es posicionar el 2º cabezal en el inicio del siguiente.
Descripciones instantáneas
BQoQo00101000B---BQo0Qo0101000B---BQo00Qo101000B----BQ1001Q101000B---BBQ1010Q11000B--> Aquí llegamos a un estado con entrada Q1(0,1) con lo cual no aceptará la cadena.
Descripciones instantáneas:
BQoQo00101000B---BQo0Qo0101000B---
BQo00Qo101000B----BQ1001Q101000B---
BBQ1010Q11000B---> Aquí llegamos a un estado con entrada Q1(0,1) con lo cual no aceptará la cadena.
Ok, la máquina funciona correctamente. Habiamos hecho las correcciones con el cabezal 1 en el primer símbolo de la primera secuencia y el cabezal 2 en el primer símbolo de la segunda secuencia.
Publicar un comentario