TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones a las cuestiones de examen del curso 2008/09 Febrero 09, 1ª semana 1.Sea la gramática G = (V,T,S,R), donde V es el conjunto de símbolos no terminales, T el conjunto de símbolos terminales, S el símbolo de inicio y R el conjunto de reglas. Sea A → αβγ ∈ R, con A∈ V y (α, β, γ) ∈ (V ∪ T)*. Si se extiende el conjunto V con un nuevo no terminal Z, se elimina la regla A → αβγ, y se añaden las reglas Z → β, A → αZγ resulta una gramática G’ tal que: a)G’ siempre genera el mismo lenguaje que G b)G’ genera el mismo lenguaje que G si y solo si β es un símbolo no terminal c)No es posible que G’ verifique las condiciones de la forma normal de Chomsky y G no las verifique. Solución: A. Independientemente de β las gramáticas generan siempre el mismo lenguaje. Para, p.e., α =λ β = CD, γ = F (donde C,D y F son símbolos no terminales), la regla A → CDF no verificaría las condiciones de la formal normal de Chomsky, que sí verificarían, por el contrario, las reglas Z → CD y A → ZF. 2.Sean L1 y L2 los lenguajes reconocidos, respectivamente, por los autómatas de las figuras 1 y 2. Sea Σ = {a,b}. Indique cuál de las siguientes afirmaciones es falsa: Fig. 1 a,b Fig. 2 a,b b b b a a a b b a a a b a a b a b a b b a)L1 es el lenguaje de las cadenas que contienen la subcadena abaab b)L1 y L2 son lenguajes complementarios c)L2 es el lenguaje de las cadenas que no contienen la subcadena abaaba Solución: C. La cadena abaab no contiene la subcadena abaaba, y sin embargo no es reconocida por el autómata de la figura 2. Los autómatas coinciden salvo en que tienen intercambiados los estados de aceptación y no aceptación, lo que significa que aceptan lenguajes complementarios, al tratarse de autómatas deterministas. 3.Sean R y S expresiones regulares. Indique cuál de las siguientes igualdades no siempre se verifica: 2 a)(R ∪S) ∪ R = R ∪ (S ∪ ∅) b)R λ = R ∅ c)R*= ∅* ∪ RR* Solución: B. R λ = R , mientras que R∅ = ∅. El resto de las relaciones puede demostrarse aplicando el álgebra de las expresiones regulares. 4.Sea L un lenguaje finito con 2781 cadenas cuya cadena más larga tiene 342 símbolos. Indique cuál de las siguientes afirmaciones es falsa: a)L podría tener un máximo de 342 cadenas w tales que no existe v en L con |w | =|v | b)Necesariamente existen en L cadenas con un mismo número de símbolos c)No existe ningún autómata de pila que reconozca L y contenga caminos cerrados (es decir, caminos que empiezan y terminan en el mismo estado) Solución: C. Las cadenas de L podrían tener 0, 1…y hasta 342 símbolos, luego podría haber hasta 342 cadenas con distinto número de símbolos y (2781-342) cadenas con idéntico número de símbolos. Necesariamente existen cadenas con idéntico número de símbolos. Al ser L un lenguaje finito es un lenguaje regular, y por tanto será posible diseñar autómatas de pila que reconozcan L. En particular estos autómatas podrán contener caminos cerrados cuyas transiciones sean transiciones lambda, o caminos cerrados que no sean accesibles, o no puedan recorrerse en el tránsito hacia ningún camino de aceptación (de otro modo dichos autómatas reconocerían lenguajes con cadenas de longitud no acotada). 5.Indique cuál de los siguientes lenguajes NO es regular: a)L = {w ∈ {a, b}*| abab es subcadena de w} b)L = {w ∈ {a, b}* | w∉{anbn}} c)El lenguaje consistente en las cadenas de caracteres tales que dos a´s están separadas por 4i símbolos para algún entero i ≥ 0. Solución: B. Si L fuera regular, su complementario también habría de serlo, y {anbn} no es un lenguaje regular. En los casos A y C es fácil diseñar expresiones regulares que representen a los correspondientes lenguajes. 6.Considere el autómata de la figura e indique cuál de las siguientes afirmaciones es falsa: a)El autómata no es determinista b)Existe un autómata sin transiciones lambda que reconoce el mismo lenguaje c)El autómata reconoce un lenguaje finito λ a λ b λ a λ a b Solución: C. Se trata de un autómata finito no determinista. Para todo autómata finito no determinista existe un autómata finito determinista (y por tanto sin transiciones lambda) 3 que reconoce el mismo lenguaje. El lenguaje reconocido tiene un número infinito de cadenas (reconoce, entre otras, cadenas de la forma an). 7.Dadas dos gramáticas independientes del contexto G1 y G2, indique cuál de las siguientes afirmaciones es falsa: a)Siempre existe una gramática independiente del contexto que genera L(G1) ∪L(G2) b)Siempre existe una gramática independiente del contexto que genera L(G1) L(G2) c)En algunos casos no existe ninguna gramática independiente del contexto que genere L(G1) * Solución: C. Dados dos lenguajes independientes del contexto, la unión y concatenación de dichos lenguaje también es un lenguaje independiente del contexto. La estrella de Kleene de un lenguaje independiente del contexto también es siempre es independiente del contexto. 8.Sean L el lenguaje generado por la gramática Q0 → aQ1, Q0 → bQ0, Q1 → aQ2, Q1 → bQ0, Q2 → aQ3, Q2 → bQ0, Q3 → aQ3, Q3 → bQ3, Q0 → a, Q0 → b, Q1 → a, Q1 → b, Q2 → b (donde Q0, Q1, Q2, y Q3 son símbolos no terminales), y L’ el lenguaje reconocido por el autómata de la figura. Indique cuál de las siguientes relaciones es cierta (donde ⊂ denota la inclusión estricta): a,b b b a a a b a)L = L’ b)L ⊂ L’ c)L’⊂ L Solución: B. La gramática genera el lenguaje de las cadenas que no contienen 3 a´s seguidas, mientras que el autómata acepta la cadena vacía, además de las cadenas anteriores. 9.Indique cuál de los siguientes lenguajes no verifica el lema de bombeo para los lenguajes regulares: a){anbm | |n-m | ≤ 3} b){a,b}* - {anbn} c){w ∈{a,b}* | |w| ≥7} Solución: A. Es fácil ver que el lenguaje de la opción B verifica el lema de bombeo (tómese por ejemplo la cadena aba: bombeando la subcadena b se obtienen cadenas abna, que también pertenecen al lenguaje). El lenguaje de la opción C necesariamente verifica el lema, ya que se trata de un lenguaje regular. 10.Indique cuál de las siguientes afirmaciones es verdadera: a)El número total de lenguajes no regulares es infinito contable b)El número total de lenguajes regulares es finito 4 c)Ninguna de las afirmaciones anteriores es cierta Solución: C. 11.Si iniciamos la máquina de Turing de la figura con la cadena ∆ yx ∆∆∆ ... , a)La máquina se detiene al cabo de un cierto número de operaciones, habiendo modificado el contenido de su cinta b)La máquina termina anormalmente c)La máquina entra en un bucle y no termina nunca R∆ L x, y } u # R ∆ R ∆ u L# u Solución: A. El nuevo contenido de la cinta es ∆ yx ∆ x ∆ ... 12.De entre las siguientes afirmaciones, señale la afirmación verdadera: a)Para cada autómata finito no determinista M existe una gramática en la forma normal de Chomsky que genera el lenguaje L(M), siempre que éste no contenga la cadena vacía b)Para todo autómata de pila determinista M que vacía su pila antes de aceptar una cadena existe una gramática regular que genera el lenguaje L(M). c)Las máquinas de Turing no deterministas son más potentes que las deterministas Solución: A. Porque todo autómata finito, no determinista o determinista, acepta un lenguaje regular, y todo lenguaje regular que no contenga la cadena vacía puede escribirse en la forma normal de Chomsky. 13.Dado un alfabeto Σ, llamamos L1 al conjunto de lenguajes de Σ aceptados por máquinas de Turing deterministas con una sola cinta, L2 al conjunto de lenguajes de Σ aceptados por máquinas de Turing deterministas con varias cintas y L3 al conjunto de lenguajes de Σ aceptados por máquinas de Turing no deterministas y con varias cintas. ¿Cuál de las siguientes afirmaciones es verdadera? a)L1 = L2 ⊂ L3 b)L1 = L2 = L3 c)L1 ⊂ L2 ⊂ L3 Solución: B. Toda máquina de Turing de una cinta no determinista es equivalente (en cuanto al lenguaje que acepta) a una máquina de Turing determinista de una cinta, y ésta es equivalente a su vez a una máquina de varias cintas. 14.Indique cuál de las siguientes afirmaciones es verdadera: a)Un autómata finito determinista M reconoce un lenguaje L(M) si acepta todas las cadenas de dicho lenguaje b)Un autómata finito determinista M reconoce un lenguaje L(M) si acepta exclusivamente la colección de cadenas de dicho lenguaje c)Un autómata finito determinista M reconoce un lenguaje L(M) si la colección de cadenas de dicho lenguaje es determinista 5 Solución: B. 15.Indique cuál de las siguientes afirmaciones es verdadera: a)La tesis de Turing implica que para todo lenguaje existe una máquina de Turing que lo acepta, ya sea el alfabeto finito o infinito. b)La tesis de Turing implica que los lenguajes más generales que existen son los lenguajes estructurados por frases. c)Las dos afirmaciones anteriores son falsas. Solución: C. Existen lenguajes no computables, que no son estructurados por frases y que ninguna máquina de Turing acepta. 16.Indicar cuál es el tipo de autómata más sencillo (menos potente) capaz de reconocer el lenguaje {xnymzn | n≥25, m≥50}. a)Un autómata finito b)Un autómata de pila determinista c)Un autómata de pila no determinista Solución: B. Es fácil construir el autómata. Febrero 09, 2ª semana 17.Sean L1 y L2 los lenguajes reconocidos, respectivamente, por los autómatas de las figuras 1 y 2. Sea el alfabeto Σ = {a,b}. Indique cuál de las siguientes afirmaciones es verdadera: Fig. 1 Fig. 2 a b a a a b b b a a b b,a b b,a a)Uno de los autómatas es determinista y el otro no lo es b)El autómata de la figura 1 tiene algún estado no accesible c)L1 acepta todas las cadenas que acepta L2 Solución: C. De hecho L1 = L2 = {λ ∪b)(aa*{λ ∪b)) *. Ambos autómatas son deterministas y todos los estados de ambos son accesibles. 18.Sean R, S y T expresiones regulares. Indique cuál de las siguientes afirmaciones no siempre es cierta: a) (R ∅) T = R (∅ T) b)si R = S* T entonces R = SR ∪ T c)R = RS ∪ T si y sólo si R = TS* Solución: C. B es cierta: Sustituyendo R por S* T resulta SS* T ∪ T = S* T ∪ T = S* T. Sin embargo, C es falsa, ya que para S = λ y T = ∅ se verifica R = RS ∪ T independientemente de R. 6 19.Considere la gramática S → AB, A → A0B | 0B, B → BB | 1 | 0, e indique cuál de las siguientes afirmaciones es verdadera con respecto a la cadena 010110: a)Existe una única derivación de la cadena mediante la gramática b)Existen al menos tres derivaciones distintas de la cadena mediante la gramática c)La cadena no pertenece al lenguaje generado por la gramática Solución: B. He aquí tres derivaciones distintas por la derecha: S ⇒AB ⇒ ABB ⇒ ABBB ⇒ ABB0 ⇒ AB10 ⇒ ABB10 ⇒ AB110 ⇒ A0110 ⇒ 0B0110 ⇒ 010110 S ⇒ AB ⇒ ABB ⇒ ABBB ⇒ ABB0 ⇒ AB10 ⇒ A110 ⇒ 0B110 ⇒ 0BB110 ⇒ 0B0110 ⇒ 010110 S ⇒AB⇒ ABB ⇒ AB0 ⇒ A10 ⇒ A0B10 ⇒ A0110 ⇒ 0B0110 ⇒ 010110 20.Indique en qué caso no puede afirmarse que L sea necesariamente un lenguaje regular: a)L ⊂ (11 ∪ 0)*(00 ∪ 1)* | la longitud de las cadenas de L es < 10000 y > 1000 y L no verifica el lema de bombeo. b)L = 01(((10)* ∪ 0))*1 c)L ⊂ (1 ∪ 0)* Solución: C. Todo lenguaje finito es regular (aunque ningún lenguaje finito verifica el lema de bombeo), y también es regular todo lenguaje generado por una expresión regular. El lenguaje de la opción C pudiera ser el lenguaje 0n1n, que no es regular. 21.Indique cuál de los siguientes lenguajes NO es regular: a)L = {w ∈ {a, b}* | ab y ba son subcadenas de w} b)L = {w ∈ {a, b}* | bbb no es subcadena de w} c)El lenguaje de cadenas que son prefijos (finitos) de la expansión decimal de π, es decir, L = {3.1, 3.14, 3.141, 3.1415…} Solución: C. Se trata de un lenguaje infinito que no verifica el lema de bombeo. En los casos A y B es fácil diseñar expresiones regulares que representen a los correspondientes lenguajes. 22.Indique cuáles de las siguientes relaciones entre lenguajes L1, L2 y L3 no siempre se cumple: a)L1 ∩ L2 = L2 ∩ L1 b)L1 (L2 ∪ L3) = L1L2 ∪ L1L3 c)L1 (L2 ∩ L3) = L1L2 ∩ L1L3 Solución: C. No se cumple para L1= {λ,a}, L2= { a} y L3= {λ} 23.Sean L el lenguaje generado por la gramática S → aA, S → bA, A → aB, A→ bB, A → a, B → aA, B → bA y L’ el lenguaje reconocido por el autómata de la figura. Indique cuál de las siguientes relaciones es cierta (donde ⊂ denota la inclusión estricta): 7 a a a b b b a a)L ⊂ L’ b)L’⊂ L c)L = L’ Solución: C. 24.Indique cuál de los siguientes lenguajes verifica el lema de bombeo para los lenguajes regulares: a){anbn}∩ {w ∈{a,b}* | |w| ≥7} b){a,b}* c){ anbn | n ≤ 7} Solución: B. 25.Considere la máquina de Turing de la figura e indique cuál de las siguientes afirmaciones es verdadera: a)La máquina decide el lenguaje de las cadenas de {a,b}que tienen longitud par b)La máquina decide el lenguaje de las cadenas de {a,b} con un mismo número de a’s que de b’s c)La máquina calcula en binario la longitud de una cadena dada Solución: A. a,b/R ∆ /R a,b/∆ ∆ /1 ∆ /R ∆ /0 ∆ /L ∆ /L ∆ /L ∆ /R a,b/∆ 1/R 26.Indique cuál de las siguientes afirmaciones es verdadera: a)Los lenguajes regulares no pueden ser decidibles b)Algunos lenguajes estructurados por frases decidibles son reconocidos por un autómata de pila c)Algunos lenguajes independientes del contexto no son decidibles 0/R 8 Solución: B. Ejemplo: L={xnyn}, por ser independiente de contexto, es estructurado por frases decidible. 27.Indique cuál de las siguientes afirmaciones es verdadera: a)Una gramática estructurada por frases que no genere la cadena vacía siempre puede expresarse en la forma normal de Chomsky b)Dado un alfabeto Σ, la gramática del lenguaje formado por todas las cadenas que contienen al menos tres símbolos del alfabeto siempre puede expresarse en forma normal de Chomsky c)Dado un lenguaje regular, siempre existe una gramática independiente de contexto en forma normal de Chomsky que lo genera Solución: B. El lenguaje constituido por todas las cadenas que contienen al menos tres símbolos del alfabeto es independiente del contexto y además no incluye la cadena vacía, por lo que la gramática que lo genera puede expresarse en la forma normal de Chomsky. Ningún lenguaje que contenga la cadena vacía puede expresarse en la forma normal de Chomsky. 28.Indique cuál de las siguientes afirmaciones es verdadera: a)El número total de autómatas de pila es infinito incontable b)El número total de máquinas de Turing es infinito incontable c)Ninguna de las afirmaciones anteriores es cierta Solución: C. 29.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. 30.Indique qué expresión regular caracteriza al lenguaje generado por la siguiente gramática: S → S1 S1 → x S 1 y S1 → xy S → S2 S2 → xS2 yy S2 → xy a)xy*(xy*)* b)Ninguna expresión regular puede caracterizar a la gramática 9 c)x* (yy)*∪ (xy)* Solución: B. L(G) = {xnym : m y n son enteros positivos tales que m = n o m = 2n–1}. Se trata de un lenguaje no regular. 31.Dado un alfabeto Σ no vacío, llamamos L1 al conjunto de lenguajes de Σ aceptados por máquinas de Turing de varias cintas, y L2 al conjunto de lenguajes de Σ decidibles. ¿Cuál de las siguientes afirmaciones es verdadera? a)L1 = L2 b)L2 ⊂ L1 c)Depende de Σ. Solución: B. L1 es el conjunto de lenguajes aceptables por máquinas de Turing. Sólo un subconjunto de estos lenguajes es decidible. 32.Sea un lenguaje L que puede expresarse como unión de dos lenguajes L1 y L2. Sean G1(S1,T1,V1,R1) y G2(S2,T2,V,R2), T1 ∩ T2 = ∅, (Vi : conjunto finito de símbolos básicos (terminales) Ti : " " " " que nombran construcciones del lenguaje (no terminales) Si : símbolo de inicio (∈T) Ri : conjunto finito de reglas de reescritura) entonces a)G( S,T,V,R) donde R = R1 ∪ R2 ∪ S → S1 | S2 es siempre una gramática para L b)G( S,T,V,R) donde R = R1 ∪ R2 ∪ S → S1 | S2 ∪ S → λ es siempre una gramática para L c)La gramática G no puede deducirse de las gramáticas G1 y G2 Solución: A. Es trivial demostrar que las cadenas derivadas de la gramática G consistirán en todas las cadenas derivadas de la gramática G1 más todas las cadenas derivadas de la gramática G2. Así, p.e., L = {z ∈ {a,b}* | z = xxR para algún x, o |z| is impar}. Gramáticas para L1 = {xxR | x ∈ {a,b}*} y L2 = {z ∈ {a,b}* | |z | es impar} son S1 → aS1a | bS1b | λ y S2 → XXS2 | XX → a | b respectivamente. Combinando estas dos gramáticas obtenemos una gramática para L: S → S1 | S2S1 → aS1a | bS1b | λS2 → XXS2 | XX → a | b Septiembre 09, original 33.Indique cuál de las siguientes afirmaciones es verdadera: a)En un autómata no determinista cada arco lleva asociado un factor perteneciente al intervalo [0,1] que indica la probabilidad de transición de un estado a otro. b)Para todo autómata de pila determinista M existe un autómata de pila M’ que vacía su pila antes de aceptar una cadena, tal que L(M)=L(M’) c)Cualquier lenguaje regular puede ser reconocido por un autómata de pila no determinista con un solo estado Solución: B. A es falsa; el no-determinismo de un autómata no tiene nada que ver con la 1 probabilidad. B es verdadera: Es el teorema 2.1 del libro de texto (pág. 80). Obsérvese que, aunque M sea determinista, M’ puede ser no determinista. C es falsa: basta ver que el estado único es necesariamente un estado de aceptación. 34.Indique cuál de las siguientes afirmaciones es verdadera: a)Se dice que hay terminación anormal cuando una máquina de Turing llega al estado de aceptación mientras la cinta aún contiene caracteres distintos del espacio en blanco b)Los lenguajes independientes del contexto son decidibles por máquinas de Turing c)Para todo lenguaje L definido a partir de un alfabeto Σ que contiene un solo símbolo existe necesariamente una máquina de Turing que lo reconoce Solución: B. A es falsa: ver la pág. 144 del libro de texto. B es verdadera: Ver las págs. 189-192 del libro de texto. C es falsa: El conjunto de lenguajes de Σ es no numerable (porque cada cadena corresponde a un número natural —el que indica su longitud— y el conjunto de partes de N es no numerable), mientras que el conjunto de lenguajes estructurados por frases es numerable. 35.¿Cuáles son las cadenas que acepta el siguiente autómata vaciando su pila? x, λ ; x y, x; λ a)Las cadenas con tantas x’s como y’s b)Las cadenas con más x’s que y’s c)Ninguna de las respuestas anteriores. Solución: 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. 36.Sea el alfabeto {0,1,2,3,4}. El lenguaje formado por todas las cadenas tales que la suma de sus símbolos vale 100 es un... a)lenguaje regular. b)lenguaje independiente del contexto, no regular. c)lenguaje estructurado por frases, no independiente del contexto. Solución: A. Dentro de este lenguaje, las cadenas que no contienen el 0 forman un subconjunto finito. Para cada una de esas cadenas podemos construir una expresión regular para considerar la posibilidad de que haya 0’s; por ejemplo, de 4323... pasaríamos a 0*40*30*20*30*... Uniendo todas estas expresiones regulares obtenemos la expresión regular que representa el lenguaje. Otra forma de demostrarlo consiste en construir un autómata finito para el sublenguaje finito y después añadir un bucle rotulado con 0 para cada estado. También se puede hacer un razonamiento similar basado en una gramática 1 regular. 37.Sean L el lenguaje que acepta el autómata de la figura (observe que una transición puede insertar más de un símbolo en la pila.), y L’ el lenguaje que genera la gramática situada a su derecha. (El símbolo ⊂ denota inclusión estricta). a)L = L’ b)L ⊂ L’ c)L⊄ L’ y L ≠ L’ λ ,S;xSx λ ,λ ;# λ ,λ ;S λ ,#;λ S → S → xSx y λ ,S;y Solución: C. El autómata sólo acepta la cadena vacía. Por tanto, no acepta ninguna cadena generada por el lenguaje, ni siquiera la cadena más corta: y. 38.Las siguientes gramáticas: S A A B B → → → → → xABy xzS B yz λ S S A A A → → → → → xAyzy xAy xzS yz λ a)Generan el mismo lenguaje b)Sólo una de ellas es estructurada por frases c)Ninguna de las dos es estructurada por frases. Solución: A. Basta sustituir el no-terminal B por las secuencias que puede generar. Ambas gramáticas son, obviamente, estructuradas por frases. 39.Sea G una gramática libre de contexto tal que sólo existe una regla para cada no terminal. ¿Es regular el lenguaje L(G)? a)Sí, para todo G. b)No, nunca. c)Depende de G. Solución: A. Porque L(G)contiene una sola cadena (o quizá ninguna, como es el caso de la gramática S→xS). 40.Sea el alfabeto {x, y}. ¿Cuántas cadenas contiene el lenguaje aceptado por la máquina de Turing →R∆? a)Ninguna 1 b)Varias (un número finito mayor que uno) c)Infinitas Solución: C. El lenguaje que acepta es Σ*. 41.Sean L1 el lenguaje formado por los palíndromos (palabras “capicúas”) del alfabeto { x, y, z} y L2 el lenguaje aceptado por la siguiente máquina de Turing (definida para el mismo alfabeto).(Los símbolos ⊂ y ⊃ indican inclusión estricta). R x,y,z } ω SL ¬∆ R∆ L ω ¬ω R ∆ L∆ a)L1 = L2 b)L1 ⊂ L2 c)L1 ⊃ L2 Solución: A. 42.Sea un autómata finito de n estados que acepta una cadena de longitud 2n. Indique cuál de las siguientes afirmaciones es falsa: a)Ha de aceptar necesariamente alguna cadena de longitud mayor que 3n b)Sólo puede aceptar cadenas de longitud múltiplo de 2n c)Puede aceptar un número infinito de cadenas Solución: B. Si acepta una cadena de longitud 2n significa que hay al menos un estado por el que el autómata ha pasado al menos dos veces al aceptar la cadena; es decir, el autómata contiene un bucle, por lo que ha de aceptar cadenas de longitud arbitrariamente grande (cf. teorema 1.2 del libro de texto), pero su longitud no es necesariamente múltiplo de 2n. 43.Indique cuál de las siguientes afirmaciones, referidas a las siguientes gramáticas, es verdadera: S S X G1 = Y X Y → → → → → → X Y xXy xxYy λ λ S X X G2 = Y X Y → → → → → → X Y xXy xxYy λ λ a)En L(G1) existen más cadenas de longitud menor que 1000 b)Es en L(G2) donde existen más cadenas de longitud menor que 1000 c)En ambos lenguajes existe exactamente el mismo número de cadenas de longitud menor que 1000 1 Solución: B. L(G1) = {xnyn}∪{x2nyn}, mientras que L(G2) = {xnym | m≤n≤2m}, de modo que L(G1) ⊂ L(G2); por tanto, todas las cadenas de L(G1) de longitud menor que 1000 pertenecen también a L(G2). En cambio, en el conjunto L(G2)−L(G1)={xnym | m<n<2m} hay muchas cadenas de longitud menor que 1000; por ejemplo, para m=300 hay 299 cadenas. 44.Indique cuál de los siguientes lenguajes es regular: a)Dado el alfabeto {0,1,2,3,4}, el lenguaje formado por todas las cadenas tales que la suma de sus símbolos vale 100 y tienen tantos unos como doses. b)El lenguaje {x n y m | n–m < 3} c)La intersección de los lenguajes {xnyn}y {x3my2n } Solución: A es regular: Sea L’ el lenguaje finito de las cadenas formadas a partir del alfabeto {1,2,3,4} según la condición del enunciado. Cada cadena de L es de la forma 0*a0*b0*c0*…0*, donde a, b, c… son símbolos de {1,2,3,4} y abc… es una cadena de L’. Por tanto, L viene dado por la unión de un número finito de expresiones regulares formadas a partir de cada una de las cadenas de L’. B no es regular: La demostración es análoga a la del teorema 1.2 del libro de texto (pág. 40): puesto que el lenguaje contiene infinitas cadenas de la forma x n y n , para algún n ha de contener cadenas de la forma x m y n con m arbitrariamente grande. C no es regular: es x6ny6n 45.Sean L el lenguaje que reconoce el siguiente autómata y L' el que genera la siguiente gramática. (Obsérvese que una transición puede insertar más de un símbolo en la pila.) a)L = L' b)L ≠ L' c)La figura no representa un autómata válido, ya que la transición inicial no puede ser nunca una transición λ λ ,S;xSx λ ,λ ;# λ ,λ ;S x,x;λ λ ,S;y λ ,#;λ y,y;λ Solución: A. Cf. págs. 85-90 del libro de texto. S → S → xSx y 1 46.Indique cuál de las siguientes afirmaciones es falsa: a)Existen 20000 o más máquinas de Turing [no deterministas] con una cinta, dos estados y alfabeto de cinta {x, ∆} b)Dado el alfabeto {x}, existen menos de 100 máquinas de Turing deterministas con una cinta, dos estados y alfabeto de cinta {x, ∆} c)Un autómata de pila con 3 símbolos en el alfabeto, 4 símbolos de pila y 7 estados tiene menos de 4000 transiciones Solución: C. A es verdadera: Cada transición viene determinada por el estado de partida (una sola opción, ya que desde el estado de parada no hay transiciones), estado de llegada (dos opciones), símbolo de cinta (dos opciones) y acción (cuatro opciones: escribir x, escribir ∆, desplazar a la derecha o desplazar a la izquierda); hay por tanto 1×2×2×4 = 16 transiciones posibles. Cada una de estas transiciones puede estar presente en el autómata o no, lo que da lugar a 216 = 65.536 máquinas diferentes. B es verdadera: La transición para x desde el estado inicial puede dirigirse al estado inicial o al de parada (dos opciones) y puede escribir x, escribir ∆, desplazarse a la derecha o desplazarse a la izquierda (cuatro opciones); por tanto, hay 2×4 = 8 opciones para esta transición. Para la transición correspondiente a ∆ hay otras 8 opciones, lo cual da lugar a un total de 8 ×8 = 64 autómatas. C es falsa: cada transición es un elemento de S × ( Σ ∪ {λ } ) × ( Γ ∪ {λ } ) × S × ( Γ ∪ {λ } ) ; por tanto, habrá 7×4×5×7×5 = 4.900 transiciones posibles. 47.Sea M un autómata de pila que contiene la transición (i, y, λ, j, λ); sea M’ el autómata resultante de sustituir dicha transición por ( i, y, x, j, x). ¿Cuál de las siguientes afirmaciones es cierta? a)L(M) = L(M’) b)L(M) ⊆ L(M’) c)L(M) ⊇ L(M’) Solución: C. El número de cadenas aceptadas puede disminuir, pero nunca puede aumentar. * * 48.Sea L un lenguaje sobre un alfabeto Σ. Definimos: Pref(L) = {w ∈ Σ | ∃ u ∈ Σ , w ° u ∈ L}. Es decir, Pref(L) es el conjunto de cadenas que son prefijo de alguna cadena de L. Por ejemplo, si L = {xyz}, Pref(L) = {λ, x, xy, xyz}. Indique cuál de las siguientes afirmaciones es falsa: a) Si L≠∅, entonces λ ∈ Pref(L) y L ⊆ Pref(L) * * b)Si L = ab a, entonces Pref(L) = {ab } ∪ {a} * c)Si L = ab a, entonces existe un autómata finito determinista que reconoce Pref(L) * * * Solución: B. La C es verdadera porque Pref{ab a} = λ ∪ ab ∪ ab a.