Introducci on a la Teor a de Aut omatas y Lengua jes Formales (TAL) 4 de julio de 1996 (Justique formalmente las respuestas) 1. Sea el la familia de lenguajes sobre = a; b formados por palabras que no son palndromos. > Es lenguaje cerrada respecto de union, complementario, concatenacion y homomorsmo ? (1 pto) Solucion Analizaremos cada operacion por separado Union es una familia cerrada bajo union. Si tomamos L1 y L2 pertenecientes a entonces ninguno de los dos lenguajes contienen palndromos. Por lo tanto en L1 L2 tampoco pueden haber palndromos ya que se forma con las palabras de L1 y de L2 . I. Cuestiones L f g L L L [ Complementario No es de cierre. Si tomamos cualquier lenguaje L , entonces la cadena abba = L, sin embargo abba L y, por lo tanto, L = ya que contiene palndromos. 2 L 2 2 2 L Concatenacion No es de cierre. Lo demostraremos con el siguiente contraejemplo. Sean los lenguajes de la familia , L1 = ab y L2 = ba . Entonces L1 L2 = abba que no pertenece a por contener un palndromo. L f g f g f g L Homomorsmo No es de cierre. Tomemos el homomorsmo h de forma que h(a) = a y h(b) = a. Entonces, tomando el lenguaje L1 = ab del apartado anterior tenemos que h(L) = aa que no pertenece a la familia. Observese que para cualquier lenguaje que tomemos el homomorsmo h anteriormente denido convierte todas las palabras en palndromos ya que estaran formadas solo por smbolos a. 2. > Son ciertas las siguientes armaciones ? f f (a) (b) (c) (d) (e) g g Si L es innito entonces L = . L1 L2 L1 para todo par de lenguajes L1 y L2 . Si L es nito entonces L = . Si L entonces L = . Si L1 L2 entonces L1 L L2 L. j j j j 6 2 (1.5 ptos) Solucion 1 (a) La armacion es falsa. Tomemos L = aa . Entonces L = aa (a + b) = a(a + b) = (a + b) . (b) La armacion es falsa. Tomemos L1 = a y L2 = . Entonces L1 L2 = y, por lo tanto, L1 L2 = 0 mientras que L1 = 1. (c) La armacion es falsa. Tomemos L = . Obviamente L es nito ya que solo contiene una cadena. En este caso se cumple que L = . (d) La armacion es cierta. Observese que si L entonces podemos expresar L como L0 (es decir, la cadena vaca union con el resto de cadenas de L). Entonces L = ( L0 ) = L0 como aplicacion de la distributividad de la concatenacion respecto de la union. Por ultimo, resulta obvio que L0 = . (e) La armacion es cierta. Tomemos x L1L. Evidentemente podemos factorizar x = uv con u L1 y v L. Es evidente que u L2 ya que L1 L2 y, por lo tanto x L2L. Por lo tanto, L1 L L2 L. 6 f g j j j ; ; j 2 f g [ [ [ [ 2 2 2 2 2 3. Dado el lenguaje L = a2 i 1 > Es regular ? i f j g (1.5 ptos) Solucion Tomemos la secuencia formada por las cadenas de la forma a2 y analicemos sus buenos nales: aa admite como buen nal aa a4 admite como buen nal a4 i a2 i admite como buen nal a2 i Observe que si j > i entonces 2j < 2j + 2i < 2j + 2j = 2j+1 . Por lo tanto, a2 no es un buen nal para a2 , luego el buen nal que hemos tomado para cada palabra de la serie, no lo es para las siguientes palabras de la serie. Por lo tanto, cada palabra de la serie constituye una clase de equivalencia de acuerdo con la relacion RL que, en este caso, es de ndice innito. En consecuencia, L no es regular. 4. Dado un AFD A, se dene L = xi yi i 0; x; y L(A) . > Es L regular ? (1 pto) Solucion No necesariamente. Tomemos A de forma que L(A) = a; b . As, podemos denir L como la union de los siguientes lenguajes L = a2i i 0 ai bi i 0 bi ai 2 i i 0 b i 0 . Si realizamos la interseccion L aa bb entonces obtenemos el lenguaje an bn n 1 que, como se ha visto en varios ejercicios, no es regular. Por lo tanto, L tampoco es regular. 5. Sea la relacion de equivalencia en a; b denida de la siguiente manera i j f j 2 g f f g[f f j j g g g[f j g[f \ g f xRy () x j ey g poseen los mismos segmentos de longitud 2 (a) > Es de ndice nito ? (b) > Es una congruencia por la derecha ? Solucion Solucionaremos cada apartado por separado 2 (1 punto) j (a) El conjunto de segmentos de longitud 2 sobre el alfabeto a; b esta formado por las cadenas aa; ab; ba; bb . Es facil ver que sobre estos cuatro elementos se pueden formar 24 posibles conjuntos que nos proporciona un total de 16 posibles conjuntos de segmentos que contenga una cadena cualquiera (algunos de esos subconjuntos no seran posibles como, por ejemplo, aa; bb ). Por lo tanto el numero de clases de equivalencia de la relacion R es nito, ya que esta acotado superiormente por 16. Es decir R es de ndice nito. (b) No es una congruencia por la derecha. Tomemos las cadenas x = aba e y = bab que estan relacionadas bajo R ya que poseen los mismos segmentos de longitud 2, es decir ab; ba . Si ahora tomamos la cadena z = a entonces xz = abaa tiene los segmentos ab; ba; aa y la cadena yz = baba los segmentos ab; ba . Por lo tanto, xz no se relaciona con yz y, por lo tanto, R no es congruencia por la derecha. f f f f g g g g f g f g II. Problemas 6. Sea la gramatica G denida por las reglas S bA ; A aS bS ; y sea A el automata de la gura. Sea h : 0; 1 a; b un homomorsmo denido como h(0) = bbb y h(1) = ba. Se pide obtener el AFD mnimo que acepte h 1 (L(G) L(A)). ! f g ! f j ! j j g \ a,b a b (2 ptos) Solucion En primer lugar obtenemos el siguiente AFD equivalente a la gramatica G a,b S A b A partir del automata del enunciado, obtenemos un AFD equivalente para L(A), tomaremos q0 como el estado inicial y q1 como el otro estado. La tabla de transiciones para el AFD es la siguiente a | p0 = fq0 g p1 = fq1 g p2 = fq0 ; q1 g b q1 g fq0 g fq0 ; q1 g f q0 ; q1 g q0 ; q1 g f f En la anterior tabla, los estados nales se corresponden con p1 y p2 . El AFD se muestra en la siguiente gura b p p 0 b a p 2 a,b 3 1 A partir del automata anterior y del automata de L(G) obtenemos el siguiente automata para L(A) L(G) \ b Sp 0 a,b Ap b Sp 1 a Ap 2 2 b Sobre el anterior automata aplicamos el homomorsmo inverso de h y obtenemos el automata que sigue 0 Ap Sp 0 0 1 1 0 Sp Ap 2 2 0 1 Es facil comprobar que el anterior automata, ademas de ser determinista, es mnimo. 7. Sea L el lenguaje denido por la expresion regular (a + ba)b. Se pide obtener el AFD mnimo y una expresion regular para L. (2 ptos) Solucion En primer lugar, calcularemos el conjunto de derivadas de la expresion regular con el fn de obtener un AFD mnimo 1 r = r = q0 a 1 r = r = q0 b 1 r = a(a + ba) b + = q1 (ba) 1 r = r = q0 (bb) 1 r = = q2 (bba) 1 r = q2 (bbb) 1 r = q2 En el anterior conjunto de derivadas, el unico estado nal es q1 ya que es la unica expresion que contiene . De acuerdo con las derivadas, obtenemos el siguiente AFD ; a q q 0 b q 1 2 b a a,b A partir del AFD anterior que es completo calculamos el automata para su lenguaje complementario a q q 0 b q 1 2 b a a,b 4 El anterior AFD ya es mnimo. Por ultimo planteamos el siguiente sistema de ecuaciones con el fn de obtener una expresion regular x0 = ax0 + bx1 + x1 = ax0 + bx2 x2 = (a + b)x2 + Resolvemos x2 = (a + b) y sustituimos en las otras dos ecuaciones x0 = ax0 + bx1 + x1 = ax0 + b(a + b) Sustituimos x1 en la ecuacion de x0 x0 = (a + ba)x0 + bb(a + b) + Por ultimo solucionamos x0 dando una expresion regular para L x0 = (a + ba) [bb(a + b) + ] 5