Teoría de Autómtas y Lenguajes Formales Preparo P1-2010 Dr Eric Jeltsch F. 1. “Todo autómata finito determinista de n estados, cuyo alfabeto Σ contiene m símbolos debe tener m×n transiciones.” a) Verdadero b) Falso Solución: A. De cada estado debe partir una transición por cada símbolo. 2. Queremos construir un autómata finito M tal que L(M)={xmynzp | m, n y p son enteros no negativos}. ¿Es correcta la siguiente solución? a) Correcta b) Incorrecta x y y z y z Solución: B. No admite la cadena yz. 3. Dado el alfabeto {x, z}, queremos construir un autómata finito M tal que L(M) sea el lenguaje formado por las cadenas que contienen al menos una z, y cada z está inmediatamente precedida y seguida por una x. ¿Es correcta la siguiente solución? x x z x x x a) Sí b) No Solución: B. El autómata no acepta la cadena xzxzx . 4. La expresión regular (xz ∪ y) · (zz)* · (zy · (xy)* · (xz ∪ y) · (zz)*)*, ¿representa el mismo lenguaje que reconoce el siguiente autómata? a) Verdadero b) Falso z x z y y Solución: B. La expresión regular no representa la cadena xyy . Una expresión regular equivalente al autómata sería (xy)* · (xz ∪ y) · (zz)* · (zy · (xy)* · (xz ∪ y) · (zz)*)*. 5. “Todo autómata finito de n estados, cuyo alfabeto Σ contiene m símbolos debe tener m×n transiciones.” a) Verdadero b) Falso 2 Solución: B. En los autómatas no deterministas el número de transiciones puede ser mayor o menor. 6. ¿Son equivalentes este autómata y esta gramática? a) Sí b) No x y y y z z S → xS S → yA S → zB A → yA A → yB B → zB B → λ Solución: B. La gramática no genera la cadena vacía. 7. Señale la expresión regular que representa el lenguaje que acepta el siguiente autómata. y x x y x y a) (xy*x ∪ yy*x ∪ y ∪ x) b) (xy*x ∪ yy*x ∪ yy* ∪ xx*) c) (xy*x ∪ yy*x) d) Ninguna de las anteriores Solución: D. 3 8. Indique cuál de las siguientes afirmaciones es verdadera con respecto al autómata de la figura: λ, x; λ x,λ; x x, x; λ y,λ; y y, y; λ λ, y; λ a) Es determinista. b) Es no determinista (en sentido estricto) c) Es no determinista (en sentido estricto) sólo si el alfabeto de la máquina incluye más símbolos que x e y d) Ninguna de las afirmaciones anteriores es cierta Solución: B. Para la cadena xx, después de la transición x,λ;x existen dos posibilidades: λ,x;λ y x,x;λ. 9. Indique cuál de las siguientes expresiones regulares caracteriza al lenguaje reconocido por el autómata de la figura: x z y a) x*∪yz* b) x*∪ yz*∪ x*y c) x*yz* d) Ninguna de las anteriores Solución: D. 10. Indique cómo caracterizaría las cadenas que genera la siguiente gramática: S → S1 S1 → x S1 y S1 → xy S → S2 S2 → xS2 yy S2 → xy a) xy*(xy*)* b) {xnym : m y n son enteros positivos tales que m = n o m = 2n} c) x* (yy)*∪ (xy)* d) Ninguna de las caracterizaciones anteriores es válida Solución: D. L(G) = {xnym : m y n son enteros positivos tales que m = n o m = 2n–1}. 11. Indentifique cuál de las siguientes afirmaciones es cierta con respecto a los lenguajes L(G1) y L(G2): 4 S S X G1 = Y X Y → X → → Y xXy → xxYy λ → → → S X X G2 = Y X Y λ X → Y → xXy → xxYy λ λ → → a) L(G1) ⊂ L(G2) b) L(G2) ⊂ L(G1) c) L(G2) = L(G1) d) Ninguna de las afirmaciones anteriores es cierta Solución: A. L(G1) = {xnyn}∪{x2nyn}, mientras que L(G2) = {xnym | m≤n≤2m} = L(G2), de modo que L(G1) ⊂ L(G2) 12. Dados los autómatas M1 y M2, indicar cuál de las siguientes afirmaciones es verdadera: a) M1 y M2 son equivalentes. M2 es determinista. b) M1 y M2 son equivalentes. M2 es no determinista. c) M1 y M2 no son equivalentes. M2 es determinista. d) M1 y M2 no son equivalentes. M2 es no determinista. M1 M2 x y x x x x y y y y Solución: D. No son equivalentes porque M1 no acepta la cadena xyxy. M2 es no determinista porque para la cadena xy existen dos posibilidades. 13. Decidir si es verdadera o falsa la siguiente afirmación: “Para cada autómata finito no determinista existe una gramática regular que genera el mismo lenguaje.” a) Verdadera. b) Falsa. Solución: A. Porque todo autómata finito no determinista es equivalente a un autómata finito determinista. 14. Sea L un lenguaje regular y L’ = {x | x∈ L y x-1∈ L}; es decir, L’ es el subconjunto de L formado por aquellas cadenas cuya inversa también está en L. ¿Es L’ regular? a) Sí. b) No. -1 Solución: A. Sea L el lenguaje (regular) formado al invertir cada cadena de L. La condición “x∈ L y x-1∈ L” es equivalente a “x∈ L y x∈ L-1” y por tanto L’ es la intersección de dos lenguajes regulares. 5 15. Construir una expresión regular que denote el lenguaje L = { wÎ{a,b,c}* :|w|a ≠ 1}. Es imprescindible incluir brevemente el razonamiento utilizado. Solución: L puede definirse como la unión de dos lenguajes L = L1 union L2 con L1 = {wÎ{a,b,c}* : |w|a = 0} y L2 = { wÎ{a,b,c}* : |w|a > 1}. Donde (buc)* denota L1 y (aubuc)*. a .(aubuc)*. a .(aubuc)* denota L2, por tanto una solución es : (buc)* union (aubuc)*. a .(aubuc)*. a .(aubuc)*. 16. Sobre el alfabeto sigma = {a, b} se define L como el lenguaje compuesto por las palabras que contienen dos a’s separadas por un número impar de símbolos. El siguiente autómata finito no determinista M reconoce dicho lenguaje L. Se pide, a) obtener (a partir de M) un AFD que acepte L. b) Minimizar el AFD obtenido. 6 7 Problema nº16. Sean Σ1={a,b}, Σ2={0,1}, L={ w∈Σ1* | w=a2nbn, con n>0}. Defina una sustitución * s : Σ1 → 2Σ2 , de tal manera que s(L) ∈ 000 (000)* Sol. s(a)={0}, s(b)={0}. Nótese que s(L) ={ w∈Σ2* | w=03n, con n>0}= 000 (000)* Considere el siguiente autómata finito no determinista M, sobre el alfabeto {a, b} que reconoce el lenguaje (ab union aba)*.Se pide que aplique los algoritmos correspondientes con el fin de construir un autómata N que reconozca el lenguaje complementario de L(M). 8 Minimizar el siguiente Autómata Finito Determinista (AFD) 9 Hallar una expresión regular que defina el lenguaje reconocido por el siguiente AFD. Dada G = (V, ∑, S, P) , V = {S, A} , ∑ = {0,1} , S = S , P = {S → 0S|0A, A → 1A | 1}. Se pide, 10 a Describaa en forma conjuntistaa los elemen a) ntos o cadeenas que soon generadaas por esta gram mática. b Clasificaar según la jerarquía b) j dee Chomsky. Sol: Para P determ minar cuáll es el lengguaje generrado por una gramátiica se tienee que calcuular cuales son las caadenas que pueden derrivarse a partir de su símbolo in nicial. Por ejemplo, , es decir, se puede peensar en ap plicar primero n vecess la produccción , obtenién ndose , tras lo cu ual se aplicca la produccción , sienddo el resulta ado , trras la cual se p puede applicar vaarias vecces la produccióón , Si se s aplica m vecess y ya, por p últimoo, , se lleg ga a . Po or lo tanto el e lenguaje generado por p la gram mática del appartado a) es el siguiennte: Indiccar si la sigguiente afirm mación es verdadera v o falsa: “Todo autómatta finito deffinido para un alfabetoo Σ con n sím mbolos debe contener al a menos n transiciones t s.” c) Verdadera. b) Falsa. Solución: B. El E conjunto de transiciiones de un n autómata no-determ minista pued de ser cualqquier subconnjunto de S × Σ × S , inncluso el co onjunto vacíío. El núúmero mínim mo de estaddos de un auutómata finiito no determ minista es d) uno. e) dos. f) no haay número mínimo. m g) depennde del alfaabeto sobre el que está definido. Solución: A. Indiccar si la exppresión reguular (x ∪ y)·(x ∪ y)* reepresenta el mismo lengguaje que acepta a el sigguiente autóómata. x x y y h) Verddadero. Solución: A. b) Falsoo. Sea L1 = {xnym | 1 < n ≤ m ≤ 2n } y L2 el lenguajje generadoo por la siguuiente gram mática. Se cuumple que… … 11 S → A A → xAy A → B B → xByy B → λ i) L1 = L2 j) L1 ⊂ L2 k) L1 ⊃ L2 l) Ninguna de las anteriores Solución: B. La gramática genera cualquier cadena xnym aplicando 2n−m veces la segunda regla y m−n veces la cuarta; por tanto, L1 ⊆ L2. Sin embargo, las cadenas λ, xy y xyy no pertenecen a L1, por lo que L1 ≠ L2. Para el alfabeto {x, y}, ¿cuántos autómatas finitos deterministas de dos estados existen? m) Menos de 50 b) 50 o más Solución: B. Hay tantos autómatas como opciones para las siguientes cuestiones: si el estado inicial es de aceptación o no; id. estado final; si la transición para x desde el estado inicial se dirige al estado inicial o al final; id. para y; id. para x y para y desde el estado final. Es decir, hay seis decisiones binarias, por lo que el número de autómatas es 26 = 64. El lenguaje {(xyz)n| n ≥ 0}, sobre el alfabeto ∑={x, y, z} es regular? Solución: A. Es muy fácil construir un autómata finito o una gramática regular. Para demostrarlo, basta construir un autómata finito o bien una gramática regular, como la siguiente: S→ xM, M→ yN, N→ zS, S→ λ.