[2012] [Segundo Parcial] [Ejercicio 2] Maquina de Turing agrupando estados "extra"?

[2012] [Segundo Parcial] [Ejercicio 2] Maquina de Turing agrupando estados "extra"?

de Martin Pacheco -
Número de respuestas: 3

El lenguaje es: L2 = { w#w'#1^n, con w y w' ∈ {0,1}*, con |w|=|w'| y n = cantidad de símbolos diferentes en las mismas posiciones entre w y w'}

La solucion del parcial oficial tiene la maquina de turing que agrego mas abajo como MT1.

Mi duda es si puedo omitir los estados q4 y q5 y saltar directamente al estado q7, y ademas que q7 tambien tenga los lazos que tiene q8 (y elimino q8).

Lo que tengo que hacer para que esto funcione, es que para marcar los ya leidos, en lugar de usar solo una X, uso mas letras.
En la tira w uso A (A mayuscula) para los ya leidos, en la tira w' uso B y en los ya leidos de los 1's del final uso C.

Todo esto para simplificar a un estado único para el retorno al comienzo de la tira, ya que controlé que la tira fuese correcta "en la ida" entonces no necesito hacerlo "en la vuelta".

Dejo adjuntado en una segunda imagen MT2, que es modificacion de MT1 (la original, de la solucion del parcial) con todas las modificaciones que comento y mi pregunta es si está "igual de bien" este automata.


MT1:



MT2:


En respuesta a Martin Pacheco

Re: [Segundo Parcial 2012] Ej 2 - Maquina de Turing agrupando estados "extra"?

de Diego Garat -

hola:

los ejercicios en esta asignatura tienen múltiples soluciones, todas igual de válidas. sería imposible analizar todas las variantes y validar una por una.


tu MT en particular tiene un defecto: no es determinista. aunque existe el modelo no determinista de MT, no se los ve en el curso, y por lo tanto tu solución sería incorrecta. de todas formas, en tu caso, es un detalle fácil de arreglar.


saludos,

d.-



En respuesta a Diego Garat

Re: [Segundo Parcial 2012] Ej 2 - Maquina de Turing agrupando estados "extra"?

de Martin Pacheco -

En realidad modifiqué mal la imagen. Acabo de ver el no determinismo que se da en el estado 7.

El lazo A,A,I no debería estar.

La pregunta no venía tanto para que me verifiquen si todo el automata estaba correcto sino si está correcto hacer cosas del estilo:

Unificar los "retornos en la cinta" en un solo estado, como lo es el estado 7 en mi diagrama, en lugar de crear estados extras para hacer una verificacion de que haya solo cierta cantidad de #'s , partiendo de la base de que "en la ida" ya fue verificado eso.

En un comienzo me parece muy razonable hacer esto, pero por ahí tiene alguna desventaja/motivo para el cual no hacerlo que no estoy viendo.

En respuesta a Martin Pacheco

Re: [Segundo Parcial 2012] Ej 2 - Maquina de Turing agrupando estados "extra"?

de Diego Garat -

hola:

como decía en el mensaje anterior, las soluciones no son únicas y, como en la programación, cada uno tiene su forma de resolver los problemas; controlar antes o después, o marcar con distintas letras, a veces simplifica la solución, otras  veces no, y muchas veces la elección de una u otra forma es una cuestión de estilo (o de costumbre).

en cualquiera de los casos, lo importante es que la máquina funcione bien: todas las tiras y nada más que las tiras del lenguaje deben ser reconocidas por tu autómata. si es así, no importa cuándo se hace el control.


saludos,

d.-