TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones a las cuestiones de examen del curso 2010/11 Febrero 11, 1ª semana 1. Indique cuál de las siguientes afirmaciones referentes a los operadores sobre símbolos *, y es FALSA: a) El operador * tiene precedencia sobre y b) El operador tiene la menor precedencia y es asociativo por la izquierda c) El operador NO es asociativo por la izquierda Solución: C. 2. Indique cuál de los siguientes lenguajes es independiente del contexto: a) L = anbmc2nd2n n > 0, m > 0 b) L = (ab)ncndm n > 0, m > 0, n m c) L = a2nbmcn n > 0, m 0, n es par y m es impar Solución: C. Es fácil diseñar un autómata de pila que acepte el lenguaje. En cuanto a los lenguajes A y B, una única pila no permite el recuento independiente de 3 exponentes. 3. Sea L1 = {aibjck} | ij o jk} y L2 el lenguaje generado por la siguiente gramática: S→AB, S→CD, A→aA, A→, B→bBc, B→E, B→cD, C→aCb, C→E, C→aA, D→cD, D→, E→bE, E→b. Indique cuál de las siguientes afirmaciones es cierta (donde denota la inclusión estricta): a) L1 = L2 b) L1 L2 c) L2 L1 Solución: A. El no terminal A genera cero o más a´s. D genera cero o más c´s. E genera cero o más b´s. B genera primero un número igual de b´s y c´s, luego produce bien uno o más b´s (via E) o uno o más c´s (via cD). Es decir, B genera cadenas en b*c* con un número diferente de b´s y c´s. Similarmente, C genera un número diferente de a´s y b´s, mientras que CD genera cadenas de a*b*c* con un número diferente de a´s y b´s. 4. Un hombre que viaja con un lobo, una cabra y un repollo desea cruzar un río. Dispone de una barca donde sólo caben él y una de sus posesiones a la vez. Si dejara solos al lobo y la cabra el lobo comería a la cabra, y si dejara solos a la cabra y al repollo la cabra comería el repollo. ¿Sería posible representar mediante un autómata todas las secuencias posibles de cruces del río mediante las cuales el hombre consigue pasar a la otra orilla con todas sus pertenencias? (l: el hombre cruza con el lobo; c: el hombre cruza con la cabra; r: el hombre cruza con el repollo; s: el hombre cruza sólo; 2 l’: el hombre regresa a la orilla de partida con el lobo; c’: el hombre regresa a la orilla de partida con la cabra; r’: el hombre regresa a la orilla de partida con el repollo; s’: el hombre regresa a la orilla de partida sólo.). a) Sí, siempre que el autómata NO fuese determinista b) Sí, y el autómata podría tener menos de 12 estados c) Sí, y el estado de inicio podría coincidir con el estado de aceptación Solución: B. He aquí un ejemplo de tal autómata: c s’ c’ s l c’ l’ r’ r c c c’ r’ r c’ l s c l’ s’ 5. Sean L1 el lenguaje generado por la gramática G1 (situada a la izquierda) y L2 el lenguaje generado por la gramática G2 (situada a la derecha). xABy xzS B yz B S A A B xAyzy xAy xzS yz A S S A A Indique cuál de las siguientes afirmaciones es cierta (donde denota la inclusión estricta): a) Las gramáticas son idénticas b) Las gramáticas son distintas, y L1 L2 c) Mediante G1 se pueden generar todas las cadenas de L2 Solución: C. Las gramáticas no son idénticas pero generan el mismo lenguaje. Para verlo, basta sustituir el no-terminal B por las secuencias que puede generar. 3 6. Dado un alfabeto , llamamos L1 al conjunto de lenguajes de aceptados por máquinas de Turing de varias cintas, y L2 al conjunto de lenguajes de estructurados por frases. ¿Cuál de las siguientes afirmaciones es verdadera? a) L1 L2 b) Depende de c) L1 = L2 Solución: C. Toda máquina de Turing de varias cintas es equivalente (en cuanto al lenguaje que reconoce) a una máquina de Turing determinista de una cinta. 7. Dado un lenguaje L estructurado por frases decidible, el complemento de L: a) Es estructurado por frases para todo L b) Nunca es estructurado por frases c) Dependiendo de L, podría o no ser estructurado por frases Solución: A. Ver las págs. 186ss del libro de texto. 8. Sea un autómata de pila con n estados, s símbolos en el alfabeto, g símbolos de pila y t transiciones. Se cumple que... a) t = n·(s+1)·(g+1) b) 0 t n2·(s+1)2·(g+1) c) 0 t n2·(s+1)· (g+1)2. Solución: C. El conjunto de transiciones de un autómata de pila no-determinista puede ser cualquier subconjunto de S ' ' S ' , donde S es el conjunto de estados, el alfabeto, el conjunto de símbolos de pila, ' y ' . 9. Indique cuál de las siguientes afirmaciones es FALSA: a) Todo lenguaje regular puede construirse a partir de un alfabeto utilizando las operaciones de unión finita, concatenación y estrella de Klenne b) Todo lenguaje independiente del contexto puede construirse a partir de un alfabeto utilizando las operaciones de unión finita, intersección, concatenación y estrella de Klenne c) Todo lenguaje finito puede construirse a partir de un alfabeto utilizando las operaciones de unión finita, concatenación e intersección Solución: B. Mediante las operaciones de unión finita, concatenación y estrella de Klenne se pueden construir sólo lenguajes regulares (aquellos que se representan mediante expresiones regulares). La intersección de dos lenguajes regulares siempre es regular. 4 10. Considere el alfabeto = {0,1}.¿Qué lenguaje reconoce el siguiente autómata?: 1 0 1 0 0 0 1 1 1 0 a) {0x | x {0,1}*} {x0 | x {0,1}*} b) {0x | x {0,1}*} c) {x0 | x {0,1}*} Solución A. El autómata reconoce el lenguaje de las cadenas que empiezan y terminan por cero. 11. Sea L el lenguaje representado por el autómata de la figura. Indique cuál de las siguientes opciones representa el mismo lenguaje: a) (a b) (a b) (aa)* b) (a b) (a b)* (aa)* c) S aR1, S bR1, R1 aR2, R1 bR2, R1 a, R1 b, R3 aR2, R3 a b a a a a b b a, b b b b a a a b Solución: A. 12. ¿Cuántas cadenas de longitud 6 representa la expresión regular x·(yz)·x·(xyz)*·x? a) Menos de 15 b) 15 c) Más de 15 Solución: C. Son las 233=18 cadenas representadas por la expresión regular x·(yz)·x·(xyz)·(xyz)·x. 13. Dado el alfabeto {x, y, z}, queremos construir una máquina de Turing que busque en su cinta la secuencia xy, la sustituya por zz y se detenga en cuanto haya realizado esta operación. ¿Qué valores de las etiquetas hacen correcta la siguiente solución? 5 a) Etiqueta1 = L Etiqueta2 = z b) Etiqueta1 = Lx Etiqueta2 = z c) Ningún valor puede hacer correcta la socución y Rx R z Etiq ue ta 1 Etiq ue ta 2 x Solución: C. Dada la cadena xzxy, la máquina se detiene tras leer los dos primeros símbolos. 14. Sea una máquina de Turing M con alfabeto . Cuando M examina una cadena x –L(M) ... a) se para en un estado de no aceptación. b) puede haber una terminación anormal. c) lee la cinta indefinidamente, sin detenerse nunca. Solución: B. Puede que la máquina no se detenga o que haya terminación anormal. La respuesta C sería valida si dijera “es posible que lea la cinta indefinidamente, sin detenerse nunca. 15. “Un lenguaje L regular se puede generar mediante una gramática expresada en forma normal de Chomsky.” a) Sí, siempre. b) Depende de L. c) No, nunca. Solución: B. Cierto sólo si L no contiene la cadena vacía. 16. Indique qué expresión representa el lenguaje generado por las reglas de reescritura: S S1 S1 x S1 y S1 xy S S2 S2 xS2 yy S2 xyy a) {xnym | m y n son enteros positivos tales que m = n o m > n, n 0, m 0} b) {xnym | m y n son enteros no negativos tales que m = n o m = 2n} c) {xnym | m y n son enteros positivos tales que m = n o m = 2n, n 0, m 0} Solución: C. 6 Febrero 11, 2ª semana 17. Indique cuál de las afirmaciones siguientes es FALSA: a) Un autómata finito determinista utilizado como reconocedor de lenguajes con al menos una cadena necesariamente tiene que tener al menos un estado de aceptación b) Dada una gramática regular G, siempre existe un autómata finito M tal que L(G) = L(M) y M tiene un único estado de aceptación c) Un autómata reconoce una cadena cuando alcanza un estado de aceptación durante su lectura Solución: C. Para que una cadena sea aceptada por un autómata finito o de pila es necesario que la lectura del último símbolo de la cadena le conduzca a un estado de aceptación. A es trivialmente verdadera. B es verdadera: dado un autómata finito, siempre es posible convertirlo en otro que tenga un único estado de aceptación y que acepte el mismo lenguaje (véase el problema 26 del libro de texto). 18. Un homomorfismo de cadenas es una función sobre cadenas que sustituye cada símbolo por una cadena determinada. Así, la función h(0) = ab, h(1) = es un homomorfismo que asigna, p.e, a la cadena 0011 la cadena abab. Indique cuál de las siguientes afirmaciones es falsa: a) Si L es un lenguaje regular de alfabeto y h es un homomorfismo sobre , entonces h(L) también es regular b) Si h(L) es un lenguaje no regular de alfabeto y h es un homomorfismo sobre , entonces L también es no regular c) Si h(L) es un lenguaje regular de alfabeto y h es un homomorfismo sobre , entonces L también es regular Solución: C. Supongamos que el homomorfismo h asigna la cadena a cualquier símbolo del alfabeto. En este caso, h(L) sería el lenguaje regular {} independientemente de L. A es verdadera: basta con ver que dada una expresión regular r que define L, entonces h(r) define h(L). En cuanto a la opción B, es obviamente verdadera pues, de otro modo, estaría en contradicción con la opción A. 19. Indique cuál de las siguientes opciones es cierta con respecto al lenguaje L = anbmcp m = n+p, n > 0, p 0 a) S AB, A aAb ab, B bBc genera L b) S AB, A aAbb abb, B cBc genera L c) No existe ninguna gramática generativa que genere L Solución: A. La gramática del apartado B genera el lenguaje L = amb2mc2n m >0, n 0 (por cada a se generan dos b’s; el número de c’s es arbitrario pero necesariamente par). 20. Indique cuál de las siguientes afirmaciones es falsa: 7 a) Para todo autómata finito existe una longitud mínima tal que las cadenas que reconoce el autómata siempre exceden dicha longitud b) Todo autómata definido para un alfabeto con n símbolos debe contener al menos n transiciones c) Sea n un número natural tal que n 2. Dados un alfabeto y un conjunto de símbolos de cinta, el número total de máquinas de Turing con n estados es finito Solución: B. A es cierta: las cadenas han de ser de longitud finita, luego siempre existirá una cadena de mínima longitud en el lenguaje. B es falsa: Un autómata no determinista no tiene por qué estar completamente definido (ver pág. 32 del libro de texto). C es verdadera 21. Dado el alfabeto Σ= {a, b}, indique cuál de las siguientes afirmaciones es falsa: a) La expresión regular b*(ab*ab*)* representa al lenguaje de las cadenas con un número par de letras a b) La expresión regular (b*ab*ab*a) * representa al lenguaje de las cadenas con un número múltiplo de 3 de letras a c) La expresión regular b*ab* (ab*ab*)* representa al lenguaje de las cadenas con un número impar de letras a Solución: B 22. La siguiente máquina de Turing entra en un bucle y no termina nunca sus cálculos cuando se inicia con la cadena yyxyxx. ¿Cuáles son los valores de etiqueta1 y etiqueta2? a) Etiqueta1 = x/R Etiqueta2 = y/R b) Etiqueta1 = x/R Etiqueta2 = x/R c) Etiqueta1 = y/R Etiqueta2 = x/R Etiqueta1 / x/R y/L Etiqueta2 y/R / y/x Solución: B. Basta anotar el estado y dibujar la cinta para cada transición. 23. Indique cuál de las tres afirmaciones siguientes es falsa: a) Para todo autómata finito no determinista M existe un autómata finito determinista M’ tal que L(M)=L(M’). 8 b) Para todo autómata de pila no determinista M existe un autómata de pila determinista M’ tal que L(M)=L(M’). c) Para toda máquina de Turing no determinista M existe una máquina de Turing determinista M’ tal que L(M)=L(M’). Solución: B. 24. Considere el lenguaje 2-menos(L) = w vw L y v = 2, v, w *, = a,b. Indique cuál de las siguientes afirmaciones es FALSA. a) Si L es un lenguaje regular entonces 2-menos(L) es regular b) Aunque L sea regular, es posible que 2-menos(L) no sea regular c) Aunque L no sea regular 2-menos(L) puede ser regular Solución: B. A es verdadera: el autómata finito que reconoce 2-menos(L) puede construirse fácilmente a partir del autómata que reconoce a L sin más que añadir un nuevo estado de inicio con arcos etiquetados por hacia todos los estados alcanzables mediante un camino de longitud 2 desde el estado inicial del autómata de partida. De ahí se deduce que B es falsa. C es verdadera: considere L el lenguaje cuyos dos primeros símbolos indican si la longitud total de la cadena es un número primo (p.e. aa indica que la longitud de la cadena es un número primo y bb que no es un número primo); en este caso: 2-menos(L) = *, lenguaje regular. 25. Indique cuál de los siguientes lenguajes NO es regular: a) L =anbm n+m > 5, n > 0, m 0 b) L =anbm m > 5n, n > 0 c) L =an n/10 es un entero Solución: B. En el caso de los lenguajes A y C los lenguajes pueden representarse mediante las expresiones regulares {aaaaaaa*b* aaaaaa*bb* aaaaa*bbb* aaaa*bbbb* aaa*bbbbb* aa*bbbbbbb*} y {aaaaaaaaaa}*, respectivamente. La demostración de que el lenguaje B no es regular es análoga a demostración de que no lo es el lenguaje {anbn}. 26. Indique cuál de los siguientes lenguajes es regular: a) {0 n | la raíz cuadrada de n es un número entero}, = {0,1} b) {0 n | la raíz cuadrada de n es un número entero}, = {0} c) El conjunto de 0´s y 1´s, comenzando por 1, tal que cuando se interpreta como un entero, dicho entero es un número primo menor que 300 Solución: C. El lenguaje de la opción C es un lenguaje finito y por tanto regular. El lenguaje {0 n | la raíz cuadrada de n es un número entero} no es regular, independientemente del alfabeto considerado, ya que no cumple el lema de bombeo. 2 Consideremos w = 0 n , w =xyz. Bombeando la subcadena y obtenemos la cadena xyyz, cuya longitud varía entre n2 + 1 y 2n2. El siguiente cuadrado perfecto después de n2 es (n+1)2= n2+ 1+2n y, para todo número natural n, n2+ 1+2n > 2n2. 9 27. ¿Cuál es el número máximo de transiciones para un autómata de pila con n estados, s símbolos en el alfabeto y g símbolos de pila? a) n2·(s+1)2·g b) n2·(s+1)·(g+1)2 c) n2·(s+1)2·(g+1) Solución: B. El conjunto de transiciones de un autómata de pila no-determinista es un subconjunto de S ( { ( { S ( { . 28. En un cierto autómata de pila determinista con ={x, y} existe una transición (i, , , j, x). ¿Cuántas transiciones —en total— deben partir del estado i? a) Una b) Tres c) Más de tres Solución: A. Está claro que, por ser determinista, la transición (i, , , , ) excluye (i, x, , , ), (i, y, , , ), (i, , x, , ), (i, , y, , ), (i, x, x, , ), (i, x, y, , ), (i, y, x, , ) e (i, y, y, , ), es decir, no hay más que una transición desde el estado i. 29. Dado el alfabeto {x, y, z}, queremos construir una máquina de Turing que busque en su cinta la secuencia xy, la sustituya por zz y se detenga en cuanto haya realizado esta operación. ¿Qué valores de las etiquetas hacen correcta la siguiente solución? a) Etiqueta1 = y/z Etiqueta2 = z/L b) Etiqueta1 = y/R Etiqueta2 = z/z c) Ningún valor de las etiquetas hace correcta la solución ¬x/R x/R x/R /R z/R Etiqueta1 Etiqueta2 ¬z/R x/z ¬x/R Solución: A. La máquina se encuentra en el segundo estado si y sólo si el último símbolo leído es x. En el primer estado se encuentra cuando todavía no ha aparecido una x, o cuando después de una x apareció otro carácter distinto de y. 30. ¿Cuáles son las cadenas que acepta el siguiente autómata vaciando su pila? 10 x ;x y, x; a) Cadenas en las que, al ser leídas de izquierda a derecha, el número de y’s nunca supera al de x’s leídas. b) Las cadenas con más x’s que y’s c) Cadenas en las que, al ser leídas de izquierda a derecha, el número de y’s nunca supera al de x’s leídas y, en total, el número de x’s es igual al de y’s. Solución: C. 31. Indique cuál es el tipo de autómata más sencillo (menos general) capaz de reconocer el lenguaje xny3n, donde n es un número natural. a) Un autómata de pila determinista. b) Un autómata de pila no determinista. c) Una máquina de Turing. Solución: A. Construir el autómata, cuidando que sea no determinista. Es decir, utilizar una transición y,x; en vez de ,;. 32. Dado un lenguaje L estructurado por frases, el complemento de L es estructurado por frases. a) Es estructurado por frases para todo L b) Nunca es estructurado por frases c) Dependiendo de L, podría o no ser estructurado por frases Solución: C. Ver las págs. 186ss del libro de texto. Septiembre, original 33. Indique cuál de los siguientes lenguajes no es independiente del contexto: a) El conjunto de cadenas de ceros y unos tales que en ninguno de sus prefijos el número de ceros excede al número de unos en más de dos, ni el número de unos excede al número de ceros en más de dos b) El conjunto de cadenas de ceros, unos y doses tales que el cero no es el carácter que ocurre con más frecuencia en la cadena c) El conjunto de cadenas de ceros, unos y doses tales que el número de ceros es mayor que la suma del número de unos y doses 11 Solución: B. El lenguaje de la opción A es independiente del contexto: podría reconocerlo un autómata de pila que comenzase sus operaciones guardando dos 1's en la pila; a partir de entonces metería un 1 en la pila por cada 1 leído y sacaría un 1 de la pila por cada 0 leído, y una cadena sería rechazada en cuanto se leyese un 0 con la pila vacía. El diseño de un autómata de pila que reconozca el lenguaje de la opción C es igualmente sencillo. En cuanto al lenguaje de la opción B, es fácil ver que se requeriría el recuento independiente de ceros, unos y doses, operación que no puede hacerse con una única pila. 34. Considere la gramática G = {S AA, A AAA, A a, A bA, A Ab}. Indique cuál de las siguientes afirmaciones es verdadera: a) Existen al menos seis derivaciones distintas para la cadena babbab b) Sólo existe una forma posible de derivar la cadena a partir de la gramática c) Existen exactamente cuatro derivaciones distintas. Solución: A. Existen muchas derivaciones posibles. Así p.e., la aplicación de reglas permite obtener la expresión bAbA al menos de cuatro formas distintas: S AA bAA bAbA (aplicando la 5ª regla a la primera A) S AA bAA bAbA (aplicando la 4ª regla a la segunda A) S AbA (aplicando las reglas 4ª o 5ª ) bAbA De la expresión bAbA se puede derivar de dos formas distintas bAbbA, y de ésta se puede derivar babbab de varias formas. 35. La estrella de Kleene de un lenguaje independiente de contexto, ¿es siempre un lenguaje independiente de contexto? a) Sí, siempre b) No, nunca c) Depende de los casos Solución: A. Partiendo de una gramática independiente de contexto que genere L, renombramos S como S’, y añadimos las reglas SS’S y S. La gramática obtenida es independiente del contexto y genera el lenguaje L*. 36. Indique cuál de las siguientes operaciones no puede realizar una máquina de Turing: a) La función f : f (x) = 0 si x es impar; f(x) indeterminado si x es par b) Decidir el lenguaje de las matrices mn ; m, n N y m número primo c) Decidir el lenguaje intersección de dos lenguajes indecidibles Solución: C. La función de la opción A es claramente una función computable; no requiere más que discernir entre números pares e impares. Decidir el lenguaje de la opción B, por su parte, sólo requiere dictaminar si m es un número primo, problema que también tiene solución algorítmica. Finalmente, la intersección de dos lenguajes indecidibles puede ser indecidible (por ejemplo, la intersección de dos lenguaje L y L’ indecidibles tales que L = L´, es un lenguaje indecidible), y una máquina de Turing no puede decidir un lenguaje indecidible. 12 37. Sean L = {aibjck | i<j o bien j<k} y L’ el generado por la gramática SXbC, SAYc, XaXb, XXb, X, CCc, C, AAa, A,YbYc, YYc, Y . Indique cuál de las siguientes relaciones es cierta (Nota: el símbolo denota inclusión estricta): a) L=L’ b) L’ L c) L L’ Solución: A. 38. Indique la opción en que figuren expresiones regulares equivalentes entre sí: a) (x*y)* , x*(yx*)*y b) (x*y)*, x*(yx*)*y c) (xz y) · (zz)* · (zy · (xy)* · (xz y) · (zz)*)* , (xy)* · (xz y) · (zz)* · (zy · (xy)* · (xz y) · (zz)*)* Solución: B. 39. Indique cuál de las siguientes opciones NO describe un lenguaje: a) El conjunto de las palabras del diccionario de la Real Academia Española b) Los números racionales escritos en notación decimal c) El conjunto de los programas sintácticamente válidos escritos en C Solución: B. Un lenguaje se define como un conjunto de cadenas formadas por los símbolos de un alfabeto. Algunos números racionales (p.e., 1/3) son cadenas de longitud infinita. 40. Sea h: {a,b}* {1,0}* tal que h(w) es la cadena resultante de sustituir en w cada símbolo a por la subcadena 01 y cada símbolo b por la subcadena 10. Sean L1 lenguaje generado por la expresión regular (ba)* y L2 el lenguaje generado por la expresión regular (00 1)*. Indique cuál de las siguientes afirmaciones es FALSA: a) h(L1) = L2 b) h(L1) L2 y h(L1) L2 c) Si w L1 h(w) L2 Solución: A. Las cadenas de L2 con un número impar de símbolos no son imagen mediante h de ninguna cadena de L1. Como las cadenas de L1 responden al patrón w=(ba)n, h(w) = (1001)n L2. Si w (ba)*, entonces: a) si w empieza por a, h(w) empieza por 01 y (00 1)* b) si w termina por b, h(w) termina por 10 y (00 1)*, c) si w contiene la subcadena aa entonces h(w) contiene la subcadena 0101 y (00 1)*, d) si w contiene la subcadena bb entonces h(w) contiene la subcadena 1010 y (00 1)*. 41. Indique cuál de los siguientes lenguajes es independiente del contexto: a) L = {an× n| n 0} b) L = {www | w {a,b}*} 13 c) L = {ambncp | m n o bien n p o bien m p } Solución: C. El lenguaje de la opción C puede verse fácilmente como unión de lenguajes independientes del contexto. Los dos primeros lenguajes no verifican el lema de bombeo para lenguajes independientes del contexto. 42. Considere el alfabeto = {0, 1} y los dos autómatas de la figura, e indique cuál de las siguientes afirmaciones es FALSA 0 1 0 1 2 0 1 1 1 0 2 0 0 1 1 0 a) Los dos autómatas reconocen el mismo lenguaje b) Uno de los dos autómatas es determinista c) Ninguno de los diagramas está completo (falta el estado de captación global)) Solución: C. Los dos autómatas reconocen el lenguaje de las cadenas del alfabeto S = {0, 1} terminadas en la subcadena 01. El segundo puede obtenerse aplicando al primero el procedimiento de obtención de autómatas finitos deterministas a partir de no deterministas descrito en el libro de texto de la asignatura. El segundo diagrama está completo (desde cada estado existe una transición explícita por cada símbolo del alfabeto). 43. Indique cuál de las siguientes afirmaciones es FALSA: a) Una gramática formal estructurada por frases siempre puede describirse mediante reglas de reescritura b) Derivar una cadena de una gramática formal es aplicar reglas sustituyendo el lado izquierdo por el derecho hasta llegar a una secuencia de símbolos terminales c) Se dice que L es el lenguaje generado por la gramática G cuando todas las cadenas de L pueden derivarse de G Solución: C. Un lenguaje es generado por una gramática cuando todas sus cadenas y SOLAMENTE sus cadenas pueden derivarse de dicha gramática. Por ejemplo, la gramática: S xSy S no genera el lenguaje L = {xy}, a pesar de que todas las cadenas de L pueden derivarse de ella. L es sólo un subconjunto del lenguaje generado. 44. Sea L = {anbncn} un lenguaje del alfabeto = {a, b, c}. Considere la máquina de Turing de la figura, cuyos símbolos de cinta son a,b, c, d y . Indique cuál de las siguientes afirmaciones es verdadera:: 14 R a dR c, b,c b,d a,d d dR c dL b a, R a) La máquina decide el lenguaje L b) La máquina reconoce el lenguaje L* c) La máquina reconoce el lenguaje L Solución: B. 45. Sean L y L’ los lenguajes reconocidos, respectivamente, por los autómatas situados en la izquierda y derecha de la siguiente figura. Sea L’’ el lenguaje del alfabeto = 0,1 cuyas cadenas tienen igual número de ceros que de unos, y tales que en cada prefijo la diferencia entre el número de ceros y el número de unos sea a lo sumo de una unidad. Indique cuál de las siguientes relaciones es verdadera: 0 1 1 0 1 0 0 1 0 0 1 1 0 1 1 a) L = L’ b) L’ = L’’ c) L = L’’ Solución: C. L’ incluye a 0*, que no incluyen L ni L’’ 46. Indique cuál de las siguientes afirmaciones es FALSA : a) Para toda gramática cuyas reglas contienen símbolos inaccesibles (símbolos terminales o no terminales que no aparecen en ninguna derivación del símbolo inicial) existe otra gramática que genera el mismo lenguaje y NO contiene símbolos inaccesibles b) Para toda gramática cuyas reglas contienen símbolos muertos (símbolos no terminales de los que no se deriva ninguna cadena de símbolos terminales) existe otra gramática equivalente que genera el mismo lenguaje y NO contiene símbolos muertos 0 15 c) Para toda gramática cuyas reglas incluyen reglas existe otra gramática que genera el mismo lenguaje y NO contiene reglas ; en algunos casos, dicha gramática necesariamente incluirá algún símbolo inaccesible o muerto. Solución: C. Para obtener las reglas de una gramática sin símbolos muertos ni inaccesibles basta con eliminar las reglas que contengan dichos símbolos. Toda gramática que genere la cadena necesariamente incluye una regla . 47. Sean A, B y C lenguajes de un alfabeto. Indique cuál de las siguientes relaciones puede ser falsa: a) A(B C) = AB AC b) A(i I Bi ) = (i I ABi) c) A(BC) = AB AC Solución: C. Considere A = a, ab, B = b y C = . Tenga en cuenta que la concatenación de cualquier conjunto con el conjunto vacío es el conjunto vacío. 48. Sea Σ un alfabeto. Indique cuál de las siguientes afirmaciones es FALSA: a) Σ* siempre es un conjunto mayor que cualquiera de sus subconjuntos propios (Sea A un subconjunto de B tal que A ≠ B. Estonces se dice que A es un subconjunto propio de B) b) La intersección de Σ* con uno de sus subconjuntos propios puede ser infinita contable c) El complementario de la intersección de Σ* con uno de sus subconjuntos propios puede ser un conjunto finito Solución: A. Un conjunto infinito puede tener igual cardinalidad que uno de sus subconjuntos propios. Septiembre, reserva 49. Considere el lenguaje formado por las cadenas de ceros y unos que cumplen una de las siguientes condiciones: 1) terminan en 010 y tienen en algún lugar la subcadena 011; 2) terminan en 101 y tienen en algún lugar la subcadena 100. Indique cuál de las siguientes afirmaciones es FALSA: a) Existe un autómata no determinista con menos de 20 estados que reconoce el lenguaje b) No existe ningún autómata determinista que reconozca el lenguaje c) Existe un autómata no determinista con menos de 40 arcos que reconoce el lenguaje 16 Solución: B. El autómata de la figura es no determinista, tiene menos de 20 estados (y por tanto menos de 40 arcos) y reconoce el lenguaje. La potencia de reconocimiento de lenguajes de los autómatas finitos no deterministas y los deterministas es idéntica, y por tanto la opción B es FALSA. 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 0 1 50. Sea el alfabeto {x, y}. ¿Cuántas cadenas contiene el lenguaje aceptado por la máquina de Turing R? a) Ninguna b) Varias (un número finito mayor que uno) c) Infinitas Solución: C. El lenguaje que acepta es *. 51. Sean = {a, b}y L := {w * | w comienza por la subcadena ba y contiene un número par de a’s}. a) Existe un autómata finito determinista con 5 estados que reconoce L b) Existe un autómata finito determinista que reconoce L, pero necesariamente tiene más de 6 estados c) No existe un autómata finito determinista que reconozca L; ya que no se trata de un lenguaje regular Solución: A. a b b b b a a a 52. Dada la gramática S aS; SaSbS; S. Indique cuál de las siguientes afirmaciones es FALSA: a) Cualquier cadena generada por la gramática contiene una subcadena no vacía donde el número de letras a es igual al número de letras b b) Para cualquier prefijo de una cadena generada por la gramática se verifica que el número de letras a es mayor o igual al número de letras b. Prefijo de una cadena w es toda cadena no vacía x para la que existe una cadena u tal que w = xu. c) El lenguaje generado por la gramática es estructurado por frases 17 Solución: A. La cadena a , generada por la gramática, no cumple esta condición. 53. Indique cuál de los siguientes lenguajes no es independiente del contexto: a) L L’, L’ = {0n1n | n 0} b) L = {aibjck | k= min(i,j)} c) L = {wax | w, x {0,1}*, wR (es decir, la inversa de la cadena w) subcadena de x} Solución: B. No cumple el lema de bombeo. Las gramáticas independientes del contexto que generam A y C son, respectivamente, SE10E, S0A, SB1, EE0, EE1, E, A0A1, A0A, A, B0B1, BB1, B ; y SS0, SS1, SA, A0A0, A1A1, AB, BB0, BB1, B#. 54. Sea L el lenguaje del alfabeto = {a, b} cuyas cadenas tienen igual número de a’s que de b’s. Considere la máquina de Turing de la figura, cuyos símbolos de cinta son a,b, d y . Indique cuál de las siguientes afirmaciones es FALSA: d a,d R a dR b dL b R dR b,d a a) La máquina de Turing de la figura decide el lenguaje L b) La máquina de Turing de la figura reconoce el lenguaje L c) La máquina de Turing de la figura nunca tiene una terminación anormal Solución: A. La máquina reconoce, pero NO decide el lenguaje. 55. Indique cuál de las siguientes afirmaciones es FALSA: a) Para todo lenguaje L de un alfabeto , L *, existe un lenguaje L’, L L’, que NO es decidible b) Sea f una función computable definida para todo w *, f: * *. Entonces, el lenguaje L ={ (x,y) tal que f(x) = y} es decidible c) Un lenguaje cofinito (un lenguaje es cofinito si y sólo si su complementario contiene un número finito de cadenas) siempre es regular Solución: A. Siendo L = * - {a} (a ), los únicos lenguajes que contienen a L son * y el propio L, ambos decidibles. Es fácil diseñar una máquina de Turing que decida el lenguaje definido en la opción B; tal máquina computaría la función f en una primera cinta y compararía el resultado con y, que se almacenaría durante la computación en una segunda cinta. C es verdadero porque todo lenguaje finito es regular, y todo lenguaje regular tiene un complementario también regular. 18 56. Sean el alfabeto = {0, 1} y el autómata de la figura: 0 0 1 2 0 1 1 0 0 1 3 0 a) El autómata puede procesar la cadena 00101 de 4 formas distintas b) Sólo existe un modo en que el autómata puede procesar la cadena 00101 c) Al procesar la cadena 00101, el último estado visitado es siempre el estado 3 o bien el estado 2 Solución: A. El autómata puede procesar la cadena 00101 de 4 formas distintas, correspondientes a las siguientes secuencias de estados: {0,1,3,3,3,3}, {0,0,1,2,3,3}, {0,0,0,0,1,2}, {0,0,0,0,0,0}. 57. Indique cuál de las siguientes afirmaciones es FALSA: a) Cada regla de una gramática independiente del contexto puede aplicarse sin importar el contexto donde se encuentre el símbolo no terminal que reescribe b) En todo lenguaje independiente del contexto que contiene un número infinito de cadenas existe una cadena de la forma svuwt, donde s,v,u,w y t son subcadenas, v, u y w no vacías, y svnunwnt está en el lenguaje para cada n N+ c) Toda gramática independiente del contexto que no genere la cadena vacía puede expresarse en la forma normal de Chomsky Solución: B. P.e, el lenguaje xnzyn es independiente del contexto y no verifica esta condición. Sí verifica, por el contrario, el lema de bombeo, de enunciado ligeramente distinto: “en todo lenguaje independiente del contexto que contiene un número infinito de cadenas existe una cadena de la forma svuwt, donde s,v,u,w y t son subcadenas, por lo menos una de v y w no vacía, y svnuwnt está en el lenguaje para cada n N+. 58. Considere el lenguaje {01j} tal que existe un k para el que j= k! ; k! = k (k-1) (k2)… 1) a) Es regular b) Es independiente del contexto, no regular c) Es estructurado por frases, no independiente del contexto Solución: C. No verifica el lema de bombeo. 59. Considere las gramáticas G1 = {S aS, S aA, S a, A aB, A bS, B aB, B bB, C aA, C bC} y G2 = {S aS, S aA, S a, A bS}. Sean L1 y L2 los 19 lenguajes generados respectivamente por G1 y G2; entonces (Nota: el símbolo denota la relación de inclusión estricta): a) L1 L2 b) L2 L1 c) L1 = L2 Solución: C. Las reglas que implican a los no terminales B y C no generan ninguna cadena. 60. La unión de un lenguaje independiente de contexto con un lenguaje estructurado por frases y no independiente de contexto: a) Es estructurado por frases pero nunca es independiente del contexto b) Es independiente del contexto pero nunca es regular c) Puede ser regular Solución: C. Escogemos un lenguaje L1 independiente del contexto tal que su complementario, c(L1), no sea independiente del contexto. Como L1 es estructurado por frases decidible, c(L1) es estructurado por frases. La unión de L1 y c(L1) es *, que es regular. 61. Indique cuál de las siguientes definiciones es INCORRECTA : a) Una gramática describe la estructura de un lenguaje proporcionando las reglas que determinan las combinaciones válidas de los símbolos del alfabeto b) Una expresión regular describe las cadenas pertenecientes a un lenguaje regular c) Un autómata finito determinista es aquel cuya función de transición de estados debe estar definida para cada estado y símbolo del alfabeto. Solución: C. Además, para cada símbolo de entrada debe existir un único estado al que el autómata puede llegar partiendo del actual. 62. Indique cuál de las siguientes afirmaciones es FALSA : a) El lema de bombeo para los lenguajes regulares sirve para demostrar que un lenguaje L NO es regular b) El lema de bombeo para los lenguajes regulares sirve para demostrar que un lenguaje L es regular c) Los lenguajes regulares cumplen el lema de bombeo para los lenguajes independientes del contexto Solución: B. 63. Sean L el lenguaje reconocido por el autómata de la figura y L’ el lenguaje generado por la expresión regular b(0 1)* (b bb) (b bb). Indique cuál de las siguientes afirmaciones es verdadera (nota: el símbolo denota inclusión estricta): 20 b 0 b b 1 a) L = L’ b) L L’ c) El autómata es determinista Solución: A. 64. Indique cuál es el tipo de autómata más sencillo (menos general) capaz de reconocer el n 3n lenguaje x y , donde n es un número natural. a) Un autómata de pila determinista. b) Un autómata de pila no determinista. c) Una máquina de Turing. Solución: A. Constrúyase el autómata, cuidando que sea no determinista. Es decir, utilizando una transición y,x;λ en vez de λ,λ;λ.