Partimos de la misma idea que con la MT simple, salvo que con esta vez no buscaremos la mitad del numero a obener los divisores, ya que eso nos aumentaria considerablemente el numero de simbolos en el alfabeto de la cinta.
Para esta MT partimos con los cabezales puestos en posicion:
Bq0$000q0$q0B
F(q0, $, $, B)=(q1,{$,L},{$,L},{B,Z})
F(q0, B, 0, B)=(q7,{B,Z},{0,Z},{B,Z})
F(q0, 0, 0, B)=(q0,{0,R},{0,Z},{B,Z})
F(q0, $, 0, B)=(q3,{$,L},{0,Z},{B,Z})
F(q0, 0, $, B)=(q0,{0,R},{$,Z},{B,Z})
F(q1, B, 0, B)=(q1,{0,L},{0,L},{B,Z})
F(q1, B, $, B)=(q2,{B,R},{$,R},{B,Z})
F(q1, 0, 0, B)=(q3,{0,Z},{0,Z},{B,Z})
F(q2, $, $, B)=(q3,{$,L},{$,L},{B,Z})
F(q2, 0, 0, B)=(q2,{0,R},{0,R},{B,Z})
F(q2, $, 0, B)=(q2,{$,Z},{0,R},{B,Z})
F(q3, B, 0, B)=(q0,{B,R},{0,Z},{B,Z})
F(q3, B, $, B)=(q4,{B,R},{$,R},{B,Z})
F(q3, 0, 0, B)=(q3,{0,L},{0,L},{B,Z})
F(q3, 0, $, B)=(q5,{0,L},{$,Z},{B,Z})
F(q4, $, $, B)=(q5,{$,L},{$,Z},{1,R})
F(q4, 0, 0, B)=(q4,{0,R},{0,R},{0,R})
F(q4, $, 0, B)=(q4,{$,Z},{0,R},{B,Z})
F(q5, B, 0, B)=(q6,{B,R},{$,R},{B,Z})
F(q5, 0, $, B)=(q5,{0,L},{$,Z},{B,Z})
F(q6, 0, 0, B)=(q6,{0,Z},{0,R},{B,Z})
F(q6, 0, $, B)=(q0,{B,R},{$,Z},{B,Z})
F(q7)=Estado Final
Dentro de poco publicaremos ese tocho de arriba como tabla tambien.
Suscribirse a:
Enviar comentarios (Atom)
1 comentario:
Haciendo la traza con la cadena de entrada de ejemplo que habeis suministrado hay un error en el estado q5 cuando el cabezal 1 recorre todos los 0's hasta encontrarse un B, pero no hay ninguna transición para el estado q5 que trabaje con los simbolos B,$,B, Para ser mas correctos:
f(q5,B,$,B)=.... ¿?
Miradlo ;-)
Publicar un comentario