[Teórico] Homomorfismo + Automáta de 2 cintas

[Teórico] Homomorfismo + Automáta de 2 cintas

de Marianela Gissel Rodriguez Guerra -
Número de respuestas: 11

Buenas tardes! 

Quería preguntarles sobre estos 2 temas. Estuve mirando los videos y/o leyendo lo que publican de teórico pero no terminan de quedarme claro. 

Homomorfismo: no entiendo que hace esta operación con un lenguaje dado. Si pueden darme algún ejemplo o documento donde pueda explicar de otra forma que se espera como resultado cuando aplico un homomorfismo, les agradezco :) 

Automáta a 2 cintas: Estaba mirando el video subido con el práctico 5, y en el minuto 1:07:00 aprox. se expone un ejemplo de un lenguaje que entiendo hay 2 tiras que leer "medio que en paralelo" que cumplen: 2 |w1| = w2, y además un profe muestra su autómata. Mis preguntas de esto son: a) se empieza a consumir siempre del primer elemento del lado izquierdo? b) para decir que consumí la totalidad de las 2 tiras, debo haber recorrido todos los elementos de ambas tiras y terminar en un estado final, pero tengo que ¿haber llegado a ese estado final consumiendo el último elemento de tira de la izquierda? O ¿puedo terminar posicionada en el último elemento de la derecha?. c) ¿hay alguna forma de darme cuenta cuándo conviene moverme para un lado o para el otro? Es decir, ¿capaz tengo que encontrar primero una relación entre la cantidad de elementos de una tira con la otra? Lo que busco es darme cuenta "cuando pegar el salto" de un lado al otro. En el ejemplo se utilizó: abb si no recuerdo mal y creo que se terminó en la tira izquierda al final de la a. 

Bueno, espero se hayan entendido estas dudas y que me puedan ayudar a comprender mejor los 2 temas. 

Gracias! 

En respuesta a Marianela Gissel Rodriguez Guerra

Re: [Teórico] Homomorfismo + Automáta de 2 cintas

de Santiago Gongora -

Buenas tardes :D

Según el libro de referencia del curso (Hopcroft, Motwani, Ullman):

Un homomorfismo de cadenas es una función sobre cadenas que sustituye cada símbolo por una cadena determinada

Es decir que dado un lenguaje L se puede definir un homomorfismo h que cambie cada símbolo del alfabeto \Sigma por una tira cualquiera. Por ejemplo:
  • L = L(0^*1^0^*)
  • h(0) = a
  • h(1) = \epsilon
Entonces, si le aplicaramos h a cada una de las tiras de L, obtendríamos h(L) = L(a^*a^*)

Algo que tiene de maravilloso el homomorfismo es que si L es un lenguaje regular, entonces h(L) también será regular. Esto puede ser de utilidad en varios casos, como en los ejercicios de Verdadero o Falso del práctico 4, que también suelen aparecer en las evaluaciones :)


En otro mensaje respondo lo de dos cintas. Cualquier cosa consultá :D

En respuesta a Marianela Gissel Rodriguez Guerra

Re: [Teórico] Homomorfismo + Automáta de 2 cintas

de Santiago Gongora -

Sobre tus dudas de el autómata de dos cintas:

  • a) ¿se empieza a consumir siempre del primer elemento del lado izquierdo?
    • No. Se puede empezar a consumir desde la cinta que ustedes quieran. De qué lado comiencen dependerá de las características de las relaciones entre una cinta y la otra. Por ejemplo, si el lenguaje a reconocer es \{(a^k,a^pb^k): p>0 \wedge k>0\} va a convenir empezar del lado derecho porque cantidad p de a's no tiene relación con lo que está del otro lado de la cinta. Luego de consumir esas a's, se puede empezar a controlar que la cantidad de b's de la derecha es igual a la de las a's de la izquierda.
  • b) para decir que consumí la totalidad de las 2 tiras, debo haber recorrido todos los elementos de ambas tiras y terminar en un estado final, pero tengo que ¿haber llegado a ese estado final consumiendo el último elemento de tira de la izquierda? O ¿puedo terminar posicionada en el último elemento de la derecha?
    • Ojo con el arranque de la pregunta. Uno puede decir que consumió la totalidad de las dos tiras y no llegar a un estado final. Es válido: es el caso en el que el par de tiras no es aceptado.
    • No existe una restricción sobre de qué lado leer el último símbolo. Puede que el último símbolo leído sea de la izquierda o de la derecha. Esto es igual tanto para el caso donde el último símbolo leído lleva a un estado final como para el caso donde no lo hace (lleva a un estado no final).
  • c) ¿hay alguna forma de darme cuenta cuándo conviene moverme para un lado o para el otro?
    • Es difícil listar una serie de recetas para resolver los ejercicios, pero seguramente a medida que empieces a hacer varios vas a notar patrones.
    • En el ejemplo que puse en la respuesta de la pregunta a), podría haber primero arrancado por la izquierda y leer el primer símbolo, para luego consumir todas las a's del lado derecho hasta que consiga el símbolo "b" que corresponde al que leí en primer lugar de la cinta izquierda; luego seguiria consumiendo un símbolo de cada lado.
    • Otros ejemplos pueden ser cuando hay que controlar que un patrón se repite en un lado una cantidad múltiplo de las veces que aparece en el otro lado, como por ejemplo  \{(a^{3k},b^k): k>0\}. En ese caso vas a querer leer primero 3 a's del lado izquierdo para luego leer la b que le corresponde del lado derecho; o quizás hacer al revés: primero leer la b del lado derecho y luego buscar las 3 a's que corresponden del lado izquierdo. 
Cualquier duda a las órdenes :)

Saludos,
Santi
En respuesta a Santiago Gongora

Re: [Teórico] Homomorfismo + Automáta de 2 cintas

de Marianela Gissel Rodriguez Guerra -
Esta respuesta de Aut. 2 cintas creo que la voy a ir procesando a medida que haga ejercicios.
Muchas gracias por las 2 explicaciones :)
En respuesta a Marianela Gissel Rodriguez Guerra

Re: [Teórico] Homomorfismo + Automáta de 2 cintas

de Santiago Gongora -
Dale :)

A medida de que vayas haciendo más y más ejercicios vas a ver que vas a notar rápidamente los patrones.

Cualquier cosa a las órdenes.

Santi
En respuesta a Santiago Gongora

Re: [Teórico] Homomorfismo + Automáta de 2 cintas

de Marianela Gissel Rodriguez Guerra -
Perdón que molesto de nuevo con este tema Santi.

Mirando ejercicios de estos autómatas (justo enganché uno en Youtube) , se me generó la duda de si está permitido usar transiciones épsilon para modelar el problema.

¿Eso se puede?

Gracias.
En respuesta a Marianela Gissel Rodriguez Guerra

Re: [Teórico] Homomorfismo + Automáta de 2 cintas

de Santiago Gongora -
¡No es molestia! Pregunten nomás, estamos para eso :)

El modelo de autómata de dos cintas que damos en el curso no admite transiciones épsilon y además debe ser determinista (dado un estado y un símbolo de entrada, solo se puede hacer la transición a un único estado).

Saludos,
Santi


En respuesta a Santiago Gongora

Re: [Teórico] Homomorfismo + Automáta de 2 cintas

de Damian Alberto Castro Martirena -
Buenas, es posible que un automata corra de izquierda a derecha y el otro de derecha a izquierda? o ambos tienen que recorrer en el mismo sentido?
En respuesta a Damian Alberto Castro Martirena

Re: [Teórico] Homomorfismo + Automáta de 2 cintas

de Diego Garat -
hola:

¿a qué te referís con "ambos"? un AFD-2C es un autómata único (no dos autómatas). un autómata de dos cintas lee en ambas cintas "a lo occidental", de izquierda a derecha, sin excepciones.

saludos,
d.-