TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones a las cuestiones de examen del curso 2009/2010 Febrero 10, 1ª semana 1. Considere la gramática de símbolos terminales {(, ), ;, 1, 2, 3}: S→ (A), A→A; E, A→E, E →1, E →2, E →3, E →S. La gramática genera listas de elementos que son números o a su vez listas, separados por el símbolo “;”. Indique cuál de las siguientes afirmaciones es verdadera: a) El lenguaje es regular b) El lenguaje es independiente de contexto (no regular) c) No existe una gramática equivalente en forma normal de Chomsky Solución: B. La gramática es independiente de contexto. (La A es falsa porque hace falta una pila para llevar cuenta del número de paréntesis. La C es falsa porque la gramática no genera la cadena vacía, y por eso existe una gramática en forma normal de Chomsky.) 2. Sea L el lenguaje representado por la expresión regular (x∪y) · (x∪y)* y L’ el lenguaje que reconoce el siguiente autómata: a) L ⊂ L’ b) L’ ⊂ L c) L = L’ Solución: C. En ambos casos se trata del lenguaje formado por las cadenas que contienen un solo símbolo. 3. Supongamos un lenguaje L aceptado por un autómata de pila M. Entonces, el autómata MC, obtenido al intercambiar en M estados de aceptación por estados de no 2 aceptación y viceversa: a) Acepta siempre el lenguaje LC, lenguaje complementario de L b) Sólo podemos asegurar que acepta LC si M es un autómata determinista c) Sólo podemos asegurar que acepta LC si M es un autómata finito Solución: B. Si M es determinista, está garantizado que el autómata MC aceptará las cadenas rechazadas por M y viceversa. Si M no es determinista podrán existir caminos en M que lleven a un estado de no aceptación a cadenas de L, y estas cadenas serían aceptadas por MC. 4. La unión de dos lenguajes decidibles (por máquinas de Turing), ¿es decidible? a) Sí, siempre b) No, nunca c) Depende de los casos Solución: A. Sea M1 la máquina que decide el primero y M2 la que decide el segundo. Podemos construir una máquina de Turing M (de dos cintas) que simule primero M1 sobre la primera cinta y luego M2 sobre la segunda; si el contenido de al menos una de las cintas es Y, la máquina M limpia la segunda cinta y escribe Y en la primera; si las dos cintas contienen N, la máquina M limpia la segunda cinta y se detiene. 5. Si L1 es el lenguaje representado por la expresión regular 1(00∪1)*((10) * ∪101) * y L2 el reconocido por el autómata de la figura, 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. 3 6. Dados dos lenguajes regulares, indique cuál de las siguientes afirmaciones es verdadera: a) Siempre es posible diseñar un algoritmo que determine si tienen alguna cadena en común b) Existe tal algoritmo sólo cuando alguno de los dos lenguajes es finito c) Existe tal algoritmo sólo cuando ambos lenguajes son finitos Solución: A. Siempre es posible diseñar un autómata finito que reconoce el lenguaje intersección de dos lenguajes regulares. 7. Sea L un lenguaje estructurado por frases decidible y c(L) el complementario de L. La concatenación de ambos, L · c(L) a) Siempre es decidible por máquinas de Turing b) Puede no serlo, porque el complementario de un lenguaje decidible puede no ser decidible c) Puede no serlo, porque la concatenación de dos lenguajes decidibles puede no ser decidible Solución: A. Si un lenguaje es decidible su complementario también lo es. La concatenación de dos lenguajes decidibles también es decidible. 8. Sea L1 el lenguaje generado por la expresión regular R = (b(aa*b) *a) * ∪ λ y L2 el reconocido por el autómata de la figura. Entonces: a) L1 ⊂ L2 b) L1 = L2 c) L2 ⊂ L1 Solución: A. Toda cadena generada por la expresión regular es aceptada por el autómata. Sin embargo el autómata acepta, p.e., la cadena baa, que no genera la expresión regular. 9. Dado el lenguaje L = {a,abb,ba,bbba,b,λ} indique cuántas cadenas de longitud estrictamente menor que 3 hay en L*: 4 a) 7 b) 8 c) 9 Solución: A. 10. Considere el lenguaje L definido por las siguientes condiciones: 1) b ∈ L y λ ∈ L; 2) Si x ∈ L entonces axb ∈ L y bxa ∈ L; 3) Si x,y ∈ L entonces xy ∈ L. Sea L’ = {w ∈ (a∪b)*| el número de letras b es mayor o igual que el número de letras a}. Indique cuál de las siguientes afirmaciones es verdadera (Nota: el símbolo ⊂ denota la inclusión estricta): a) L ⊂ L’ b) L’ ⊂ L c) L = L’ Solución: C. L y L’ coinciden. Es fácil ver que si una cadena pertenece al lenguaje L verifica las condiciones del lenguaje L’. Del mismo modo, toda cadena de L’ puede generarse mediante las reglas del lenguaje L. Las reglas de los apartados 1) y 2) garantizarían la generación de cadenas con mayor o igual número de letras b que a, pero con una cierta simetría con respecto a la posición central de la cadena (si en una posición dada se encontrara una a, en la posición simétrica se encontraría una b); al añadir la regla del apartado 3) se posibilita la generación de toda cadena de L’. 11. Indique cuál de las siguientes afirmaciones referidas a lenguajes del alfabeto ∑ = {0,1,2} es cierta: a) El lenguaje L = {11116k | k ≥ 0} no es regular b) No existe ningún autómata determinista que reconozca el lenguaje de las cadenas cuyos cinco últimos símbolos incluyen dos 1's y tres 2's c) El lenguaje consistente en las cadenas de caracteres tales que dos 0's están separados por 4i caracteres, para algún i ≥ 0, es un lenguaje regular Solución: C. Los lenguajes de las opciones A, B y C son regulares ; es fácil encontrar una expresión regular que los describe. 12. Cuál de las siguientes identidades entre expresiones regulares E y F no siempre se verifica: a) (E*)*=E* b) (E*F*)*=(E∪F)* c) (E∪F)*=E*∪F* Solución: C. 13. Indique cuál de las siguientes afirmaciones, referidas a la gramática, S → AB, A →A0B| 0B, B → BB|1|0 es cierta: 5 a) Toda cadena derivada de la gramática se obtiene mediante un único árbol de derivación b) La gramática no es estructurada por frases c) La gramática es independiente del contexto Solución: C. La opción A es falsa, ya que muchas cadenas, p.e. la 01010, pueden derivarse mediante diferentes árboles de derivación. La opción B es obviamente falsa, ya que toda gramática que puede expresarse en forma de reglas de reescritura es estructurada por frases. La gramática verifica además las características de una gramática independiente del contexto. 14. Sea el lenguaje L = {tctr | t ∈ (a ∪b)*, t ≠ λ} Con tr indicamos la cadena inversa de t. Definamos un tipo particular de autómatas de pila que tienen la particularidad de que su pila siempre contiene inicialmente un cierto símbolo z0. Considere el autómata ({q0, q1, q2, q3}, {a,b,c,$}, {a,b,c, z0}, T, q0, q3) , siendo T el conjunto: (q0, a, z0 ; q1, az0) (q0, b, z0 ; q1, bz0) (q1, a, λ ; q1, a) (q1, b, λ ; q1, b) (q1, c, λ ; q2, λ) (q2, a, a ; q2, λ) (q2, b, b ; q2, λ) (q2, $, z0 ; q3, λ) Asumiendo que el autómata siempre se arranca conteniendo en su pila el símbolo z0 indique cuál de las siguientes afirmaciones a él referidas es falsa: a) No siempre vacía su pila antes de llegar a un estado de aceptación b) Reconoce el lenguaje L, si asumimos que usa el símbolo $ como delimitador de la cadena de entrada c) El tipo de autómata definido tiene la misma potencia de reconocimiento de lenguajes que el autómata de pila convencional Solución: A. El autómata siempre vacía su pila antes de llegar a un estado de aceptación, ya que la única posibilidad de acceder al estado de aceptación es mediante la transición que saca de la pila el símbolo z0. Obviamente la potencia de reconocimiento de lenguajes de este tipo de autómata es idéntica a la de un autómata de pila convencional, ya que se reduce a un autómata convencional que comienza siempre sus operaciones introduciendo un símbolo z0 en la pila. 15. Indique cuál de las siguientes afirmaciones es falsa: 6 a) Es posible diseñar una máquina de Turing que calcule la función: f (n,m) = n – m; donde n y m son números enteros (positivos o negativos) b) Es posible diseñar una máquina de Turing que calcule la función: f (n) = n! (factorial) c) No es posible diseñar una máquina de Turing que calcule la función: f (n) = log2 n (logaritmo en base 2; suponiendo que el resultado es siempre un número entero) Solución: C. La tres funciones descritas son computables, y por tanto es posible diseñar una máquina de Turing que las compute. 16. Indique cuál de las siguientes afirmaciones es falsa con respecto al lenguaje L = {cnbm | (n ≥1) y (n = m)} ∪ {anbm | (n ≥1) y (n = 2m)}: a) Existe un autómata de pila determinista que lo reconoce b) Existe un autómata de pila no determinista que lo reconoce c) No existe ningún autómata de pila que vacíe su pila que lo reconozca Solución: C. Se trata de un lenguaje independiente del contexto, y para todo lenguaje independiente del contexto existen siempre un autómata de pila determinista que lo reconoce, un autómata de pila no determinista que lo reconoce, y un autómata de pila que vacía su pila que lo reconoce. Lo que en algunos casos no existe es un autómata de pila determinista y que vacía su pila que lo reconoce. Febrero 10, 2ª semana 17. Sea L un lenguaje generado por una gramática libre de contexto en forma normal de Chomsky (G). ¿Existe otra gramática en forma normal de Chomsky que genere el complemento de L? a) Sí, para toda gramática G b) No, nunca c) Existe si y sólo si L(G) es un lenguaje regular Solución: B. No, nunca porque el complementario de L contiene necesariamente la cadena vacía. 18. Indique cuál de las siguientes afirmaciones, relativas a los autómatas representados en la figura, es falsa: 7 a) El lenguaje aceptado por el autómata de la izquierda es (x*y º(x∪y)*) b) Ambos autómatas reconocen el mismo lenguaje c) El autómata de la izquierda acepta más cadenas que el de la derecha Solución: C. Es falso porque el lenguaje que aceptan ambos es (x*y º(x∪y)*). 19. Dado el alfabeto {x,y}, queremos construir un autómata de pila M tal que L(M) sea el lenguaje en cuyas cadenas hay tres x’s por cada dos y’s. ¿Es correcta la siguiente solución? (Se entiende que cada transición que inserta o lee varios símbolos en la pila representa en realidad varias transiciones consecutivas.) a) Sí b) No c) La figura no representa realmente un autómata de pila, ya que podría simplificarse en forma de un autómata finito Solución: B. El autómata no acepta la cadena xyyxx. 20. La máquina de Turing de la figura: 8 a) Desplaza una celda hacia la derecha a los símbolos contenidos en las celdas situadas entre la celda actual, y la primera celda en blanco que se encuentra a la izquierda de la celda actual b) Desplaza una celda hacia la derecha a todo símbolo distinto de ∆ que esté contenido en una celda situada a la izquierda de la celda actual c) Ninguna de las afirmaciones anteriores es cierta. Solución: A. Se trata de la máquina SR. 21. Indique cuál de las siguientes afirmaciones es verdadera: a) Si L es un lenguaje regular, entonces L* = (L*)* b) {λ}* ≠ {λ} c) Para todo lenguaje L, L* ≠ (L*)* Solución: A. 22. Indique cuál de las siguientes afirmaciones es verdadera: a) Nunca se puede afirmar con seguridad que un autómata finito no determinista acepta una cadena. b) Un autómata finito no determinista sólo puede utilizarse para aceptar lenguajes finitos c) Un autómata finito no determinista acepta una cadena cuando es posible que su análisis deje a la máquina en un estado de aceptación Solución: C. Un autómata finito no determinista acepta una cadena cuando es posible que su análisis deje a la máquina en un estado de aceptación 23. Indique cuál de las siguientes afirmaciones es verdadera: a) El número total de lenguajes no regulares es finito b) El número total de lenguajes no regulares es infinito contable c) El número total de lenguajes regulares es infinito Solución: C. El conjunto de los lenguajes regulares es infinito contable. Como el conjunto de todos los lenguajes posibles es infinito incontable, y este conjunto puede 9 verse como la unión del conjunto de los lenguajes regulares y el conjunto de los lenguajes no regulare, entonces el conjunto de los lenguajes no regulares es infinito incontable (de otro modo, la unión de dos conjuntos contables sería un conjunto contable) 24. Dado el alfabeto Σ = {0,1,λ, ∅, (, ),∪,º,*}, el lenguaje formado por las cadenas que constituyen expresiones regulares válidas (esto es, el conjunto de expresiones regulares del alfabeto {0,1}): a) Es un lenguaje regular b) Es un lenguaje independiente del contexto y no regular c) Es un lenguaje estructurado por frases y no independiente del contexto Solución: B. El requisito de incluir paréntesis compensados hace imposible que se trate de un lenguaje regular. 25. Sean dos lenguajes tales que L1 ⊂ L2 y L2 es independiente del contexto no determinista. ¿Es posible que L1 sea independiente del contexto? a) Sí, y puede ser determinista b) No c) Sólo puede ser independiente del contexto no determinista Solución: A. 26. En un cierto autómata de pila determinista existe una transición (i,λ,λ; j,x). El número total de transiciones que debe partir del estado i es: a) Una b) Dos c) Más de dos Solución: A. Está claro que por ser determinista, la transición (i, λ, λ, * ,*) excluye (i,x, λ, *, *), (i, λ, y, *,*), (i, x, y, *,*) y todas aquéllas en que contengan otros símbolos en vez de x e y, es decir, no hay más que una transición desde el estado i. 27. Indique cuál de las siguientes afirmaciones referidas a lenguajes del alfabeto ∑ = {0,1,2} es cierta: a) El lenguaje de las cadenas con a lo sumo una pareja de 0's consecutivos y a lo sumo una pareja de 1's consecutivos no es regular b) NO existe ningún autómata determinista que reconozca el lenguaje de las cadenas en las que toda pareja de 0's contiguos aparece antes de cualquier pareja de 1's contiguos c) El lenguaje de las cadenas equilibradas con igual número de 0's y de 1's tales que ningún prefijo de cualquiera de ellas posee más de dos 0's que 1's ni más de dos 1's que 0's es un lenguaje regular. Solución: C. Los tres lenguajes descritos son regulares. 10 28. Indique cuál de las siguientes afirmaciones es cierta: a) Si L es un lenguaje regular también lo es el lenguaje consistente en las inversas de las cadenas de L b) Sea L cualquier subconjunto de 0*; entonces, L* es un lenguaje regular c) El lenguaje de palabras que son prefijos (finitos) de la expansión decimal de 3.1,3.14,3.141,3.1415, etc. es un lenguaje regular : Solución: A. La opción B es falsa (así p.e., el lenguaje 0n, con n número primo, no es regular). La opción C es falsa, ya que se trata de un lenguaje no regular (no verifica el lema de bombeo de los lenguajes regulares ni de los lenguajes independientes del contexto). En cuanto a la opción A, si existe un autómata finito determinista que reconoce un lenguaje, bastará con intercambiar estado inicial por final e invertir el sentido de las transiciones para obtener un autómata finito que reconoce el lenguaje de las cadenas inversas. 29. Sean L y L’ los lenguajes generados, respectivamente, por las gramáticas: A → dA, A → dB, A → f, B → g y A → dA′, A → f, A′ → A, A′ → B, B → g Indique cuál de las siguientes relaciones es verdadera (donde ⊂ denota la relación de inclusión estricta): a) L = L’ b) L⊂L’ c) L’⊂L Solución: A. Es elemental transformar una gramática en la otra prescindiendo del no terminal A′. 30. Indique cuál de las siguientes afirmaciones es falsa: a) Es posible diseñar una máquina de Turing que calcule la función: f (n,m) = n–m; donde n y m son números enteros (positivos o negativos) b) Es posible diseñar una máquina de Turing que calcule la función: f (n) = n! (factorial) c) No es posible diseñar una máquina de Turing que calcule la función: f (n) = log2n (logaritmo en base 2; suponiendo que el resultado es siempre un número entero) Solución: C. La tres funciones descritas son computables, y por tanto es posible diseñar una máquina de Turing que las compute. 31. Sea L el lenguaje generado por la gramática: S→ Rc, R →aRbR, R →λ y L’ el lenguaje de las cadenas que cumplen simultáneamente: w = xc / x ∈(a ,b)*; |x|a = |x|b (esto significa que el número de letras a es igual al de letras b en la subcadena x); todo prefijo y de x verifica que: |y|a ≥ |y|b. Indique cuál de las siguientes relaciones es verdadera (donde ⊂ denota la relación de inclusión estricta): 11 a) L = L’ b) L⊂L’ c) L’⊂L Solución: A. 32. Sea L = {anbn | n ∈ N} y Lij = { aipbjq | p.q ∈ N}; donde i,j son dos números naturales fijos distintos de cero. El lenguaje intersección de ambos es: a) Regular b) Independiente del contexto no regular c) Estructurado por frases no independiente del contexto. Solución: B. Se trata del lenguaje Lij = { aipbjq | p = kj .q= ki, k ∈ N}. Septiembre 10, original 33. Sea un autómata finito M={S, Σ, δ, ι, F,}. Sean p,q ∈ S; a,b ∈ Σ. Indique cuál de las siguientes afirmaciones es verdadera: a) Si existe un símbolo a tal que δ(p,a) = δ(q,a), M no es determinista b) Si existe un estado p tal que δ(p,a) = δ(p,b), M no es determinista c) Si δ(ι,a) = δ(p,b), δ(ι,a) = δ(q,b) y δ(p,b) ≠ δ(q,b), M no es determinista Solución: C. Para que un autómata finito sea determinista δ ha de ser una función. 34. Indique cuál de las siguientes afirmaciones es falsa: a) Todo subconjunto de un lenguaje regular es regular b) Todo lenguaje regular tiene un subconjunto regular c) Todo lenguaje que no es regular contiene infinitos lenguajes regulares n n Solución: A. El lenguaje {x y | n≥0}, por ejemplo, es subconjunto de x*y* y no es regular. B es verdadera : el conjunto vacío es un lenguaje regular y es subconjunto de cualquier conjunto. C es verdadera, ya que todos los lenguajes que no son regulares son infinitos. 35. Sean L1, L2 y L3 tres lenguajes arbitrarios. Indique cuál de las siguientes afirmaciones es falsa: a) (L1 ∪ L2 ∪ L3)* = (L1*⋅ L2* ⋅ L3*)* b) L1 *( L1 ∪ L2 ∪ L3)* = (L1*⋅ L2* ∪ L3* L1 *)* L1 * c) La opción b) es verdadera sólo si L1, L2 y L3 son lenguajes regulares. Solución: C. Todas las expresiones coinciden con (α ∪ β ∪ γ)*, independientemente de las expresiones concretas de α, β y γ 12 36. Considere la gramática G1 = {S→ aS/ aA/ a, A→ aB/ bS, B→ aB/ bB, C→ aA/ bC}. Indique cuál de las siguientes gramáticas genera el mismo lenguaje: a) G = {S→ aS/ aA/ a, A→ bS} b) G = {S→ aA/ a, A→ aB, B→ aB/ bB, B→ b} c) G = {S→ aA/ a, A→ aC, C→ aA/ bC} Solución: A. Las reglas que implican a los no terminales B y C no generan ninguna cadena 37. Indique cuál de los siguientes lenguajes no es independiente del contexto: a) El conjunto de cadenas de ceros y unos que contienen dos ceros separados por un número finito de dígitos que es múltiplo de cuatro 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 Solución: B. El lenguaje de la opción A es regular. El diseño de un autómata de pila que reconozca el lenguaje de la opción C es 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. 38. Indique cuál de las siguientes afirmaciones es falsa: a) Todo lenguaje decidible es independiente del contexto b) Si L es un lenguaje decidible por máquinas de Turing, también lo es el lenguaje complementario de L c) Si L es decidible, también lo es el lenguaje formado por las cadenas inversas de L. n n n Solución: A. La opción A es falsa (contraejemplos: {x y z ), {ww | w ∈ {0,1}*). La veracidad de la opción B se deriva de la propia definición de lenguaje decidible. La opción c) es verdadera: si M es la máquina de Turing que reconoce L, es posible obtener una máquina que reconozca el lenguaje de las cadenas inversas de las cadenas de L sin más que preceder M de operaciones que inviertan la cadena de entrada. 39. Considere funciones f(L1) = L2, donde L1 y L2 son lenguajes con alfabeto Σ. Una función f se denomina regular si siempre que L2 es regular entonces también L1 es regular. Indique cuál de las siguientes funciones es regular: a) La función que invierte las cadenas de L1: f(L1) = L1I b) La función que añade a L1 las cadenas de Σ* : f(L) = L ∪ Σ* c) La función que conserva de L1 la cadena vacía y elimina el primer carácter de todo el resto de las cadenas Solución: A. En cuanto al caso C, es fácil encontrar un contraejemplo: Sea Σ = {0,1}. Si L1 es el lenguaje cuyas cadenas verifican que el primer símbolo es un símbolo 0 cuando la longitud de la cadena es un número primo, y 1 en caso contrario (un lenguaje no regular), L2 resulta ser {1,0}*, un lenguaje regular. La función de la opción B tampoco es regular: el lenguaje de las cadenas con n símbolos, donde n es un número primo, no 13 es regular, mientras que la unión de este lenguaje con el lenguaje Σ* es el lenguaje Σ*, que es regular (en general, un lenguaje regular puede tener subconjuntos no regulares). 40. 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) ⋅ (a⋅a)* b) (a ∪ b) ⋅(a ∪ b)* ⋅ (a⋅a)* 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 b a a Solución: A. 41. Indique cuál de las siguientes afirmaciones es falsa: a) La tesis de Turing no implica que los lenguajes más generales que existan sean los lenguajes estructurados por frases. b) Dada una máquina de Turing que reconoce un lenguaje L, no siempre es posible diseñar un algoritmo que dé una respuesta positiva si L tiene más de 100 cadenas c) La tesis de Turing no implica que los lenguajes más generales que existan sean los lenguajes no decidibles. Solución: B. Siempre podría diseñarse un algoritmo que, por ejemplo, fuese generando cadenas de longitud creciente, siguiendo el orden lexicográfico, comprobando si pertenecen al lenguaje e incrementando un contador cada vez que una cadena fuese identificada. La tesis de Turing implica que los lenguajes más generales que existan computables por una máquina de Turing son los estructurados por frases. 42. Indique cuál de las siguientes afirmaciones es falsa: a) Sea L={a, ab}. L puede ser aceptado por un autómata de pila determinista que siempre llegue a los estados de aceptación con pila vacía b) Si M es un autómata de pila determinista que siempre llega a los estados de aceptación con pila vacía, entonces L(M) puede ser aceptado por un autómata de pila no determinista c) Sea L = { w | w tiene 3k+1 b’s para algún k número natural}. L puede ser reconocido por un autómata de pila no determinista pero no puede ser reconocido por un autómata determinista. 14 Solución: C. A y B son ciertas: L es un lenguaje regular; y la potencia de reconocimiento de lenguajes de los autómatas no deterministas es mayor que la de los autómatas deterministas. C es falsa, ya que L es un lenguaje regular. 43. Indique cuál de las siguientes afirmaciones, relativas al lenguaje aceptado por el autómata de la figura, es verdadera: 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 0 1 a) Es el lenguaje formado por las cadenas de ceros y unos que cumplen una de las siguientes condiciones: 1) terminan en 010 y contienen una única vez la subcadena 011; 2) terminan en 101 y contienen una única vez la subcadena 100. b) Existe un autómata no determinista con más de 20 estados que reconoce el lenguaje c) No existe ningún autómata determinista que reconozca el lenguaje Solución: B. A es falsa. El lenguaje reconocido es 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. La potencia de reconocimiento de lenguajes de los autómatas finitos no deterministas y los deterministas es idéntica, y por tanto la C es falsa. 44. Para un alfabeto Σ no vacío, el conjunto de lenguajes finitos es… a) finito b) infinito contable (numerable) c) infinito no contable (no numerable) Solución: B. Porque es un subconjunto de los lenguajes regulares, que son contables. 45. Sea el alfabeto {x, y}. ¿Cuántas cadenas contiene el lenguaje aceptado por la máquina de Turing →R∆? a) Ninguna b) Infinitas incontables c) Infinitas contables 15 Solución: C. El lenguaje que acepta es Σ*. 46. 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 m×n ; 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. 47. 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:: a,d d ∆ R a ∆ dR c,∆ b,c b b,d ∆ dR c dL∆ 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. 48. Sean L = {aibjck | i<j o bien j<k} y L’ el generado por la gramática S→XbC, S→AYc, X→aXb, X→Xb, X→λ, C→Cc, C→λ, A→Aa, A→λ,Y→bYc, Y→Yc, 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. Septiembre 10, reserva 49. Queremos construir un autómata de pila que acepte el lenguaje xn+1yn. ¿Qué valores han de tener las etiquetas Etiqueta_1 y Etiqueta_2 para que la siguiente solución sea correcta? 16 Etiqueta_1 λ,λ;# y,z;λ λ,#;λ Etiqueta_2 a) Etiqueta_1= x,λ;z Etiqueta_2= λ,z; λ b) Etiqueta_1= x,λ;y Etiqueta_2= λ,λ; λ c) No existen valores de Etiqueta_1 y Etiqueta_2 que hagan correcta la solución Solución: A. 50. Dado un autómata finito definido para un alfabeto Σ con n símbolos, indique cuál de las siguientes afirmaciones es verdadera: a) Debe contener al menos n transiciones b) Puede no contener ninguna transición c) Puede contener cualquier número de transiciones distinto de cero Solución: B. El conjunto de transiciones de un autómata no-determinista puede ser cualquier subconjunto de S × Σ × S , incluso el conjunto vacío. 51. Sean Σ = {x} y L1 = {cadenas de longitud impar}. Queremos construir una máquina de Turing M tal que L(M) = L1. ¿Para qué valores de las etiquetas Etiqueta_1 y Etiqueta_2 es correcta la siguiente solución? Etiqueta_1 Etiqueta_2 ∆/ R ∆/ R a) Etiqueta_1 = x/R, Etiqueta_2 = x/R b) Etiqueta_1 = x/x Etiqueta_2 = x/R c) No existen valores para Etiqueta_1 y Etiqueta_2 que hagan correcta la solución Solución: C. Porque del estado de parada no puede salir ningun arco. 52. La afirmación: “Una máquina de Turing universal es capaz de decidir cualquier lenguaje independiente del contexto.” a) Es verdadera b) Es falsa c) Sólo es verdadera para lenguajes independientes del contexto reconocibles mediante autómatas de pila deterministas Solución: A. Todo lenguaje independiente del contexto es decidible mediante una máquina de Turing, que puede ser simulada mediante una máquina de Turing universal. 53. Un lenguaje generado por una gramática independiente de contexto… 17 a) es siempre regular b) nunca es regular c) depende de los casos Solución: C. Una gramática independiente del contexto puede generar lenguajes independientes del contexto regulares o no regulares. Es fácil encontrar ejemplos. 54. El resultado de concatenar dos lenguajes independientes de contexto, ¿es siempre independiente de contexto? a) Sí, siempre b) No, nunca c) Depende de los casos Solución: A. 55. Dados dos lenguajes independientes de contexto L1 y L2, ¿existe una gramática G tal que L(G) = L1 ∩ L2? a) Sí, siempre b) No, nunca c) Depende de los casos Solución: A. L1 y L2, por ser independientes de contexto, son estructurados por frases y en consecuencia su intersección también lo es. Todo lenguaje estructurado por frases es generado por una gramática. 56. Para todo autómata finito M (con uno o más estados de aceptación), ¿existe un autómata finito M’ con un solo estado de aceptación tal que L(M) = L(M’)? a) Sí, para todo M b) Si y sólo si los estados de aceptación de M no son origen de ninguna transición c) Depende del alfabeto considerado Solución: A. Siempre existe M’, aunque en algunos casos habrá de ser necesariamente NO determinista. Para construir M’a partir de M basta con: 1) elegir uno de los estados de aceptación de M como estado de aceptación de M’, 2) tender una transición lambda desde el resto de los estados de aceptación de M hacia dicho estado. 57. Sea el alfabeto {x, y}. ¿Cuántas cadenas contiene el lenguaje aceptado por la siguiente máquina de Turing? R ¬∆ a) Ninguna b) Una c) Varias (un número finito mayor que uno) R 18 Solución: B. Es la cadena vacía. 58. La intersección de dos lenguajes decidibles (por máquinas de Turing), ¿es decidible? a) Sí, siempre b) No, nunca c) Depende de los casos Solución: A. Sea M1 la máquina que decide el primero y M2 la que decide el segundo. Podemos construir una máquina de Turing M (de dos cintas) que simule primero M1 sobre la primera cinta y luego M2 sobre la segunda. Si el contenido de ambas cintas es Y, la máquina M limpia la segunda cinta y se detiene; si no, escribe N y se detiene. 59. Indique cuál de los siguientes lenguajes NO es regular: a) Σ = {a, b}, L = { w ∈ Σ * | ∀ i ≤ |w| : si a aparece en la posición i de w entonces b aparece en la posición i + 2} b) Σ = {0, 1, b, c}. Ln = { w ∈ Σ * | w = ubvbwcv con u,w ∈{0, 1, b}* y v ∈{0, 1}*, |v| ≤ n }, n ∈ N c) Σ = {a, b}, L = { w ∈ Σ * | el número de a’s en w dobla al número de b´s en w} Solución: C. 60. Indique cuál de las siguientes afirmaciones referidas al lenguaje L = {aibjck | i, j, k ≥0 | si i ≥1 entonces j = k} es FALSA: a) El lenguaje cumple el lema de bombeo para lenguajes regulares b) El lenguaje es regular c) El conjunto de cadenas del lenguaje es infinito contable Solución: B. El lenguaje NO es regular, a pesar de cumplir el lema de bombeo 61. Indique cuál de las siguientes relaciones es verdadera: a) 100 ∉ 0*(10)*1* b) 1001 ∈ 0*(1∪01)*0* c) 0101∈ (0*∪1*)(0*∪1*)(0*∪1*) Solución: A. 62. Sean L el lenguaje generado por la expresión regular (ab)*(a∪b)* y L’ el generado por la gramática S→aS, S→Sb, S→λ. 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: B. 19 63. 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. 64. Sean L el lenguaje de las cadenas capicúas de Σ = {a, b} y L’ el generado por la gramática S→aSa, S→bSb, S→aXb, S→bXa, X→aX, X→bX, X→λ. 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: B. La gramática genera el conjunto de cadenas NO capicúas