TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata...

21
TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones a las cuestiones de examen del curso 2007/08 Febrero 08, 1ª semana 1. 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 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). 2. Indique cuál de los siguientes lenguajes NO es regular: a) L ={a n b m n+m > 5, n > 0, m 0} b) L ={a n b m m > 5n, n > 0} c) L ={a n 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 {a n b n }. 3. Sean L 1 y L 2 los lenguajes aceptados, respectivamente, por los autómatas de las figuras 1) y 2). Indique cuál de las siguientes afirmaciones es cierta: a) L 1 = L 2 , uno de los dos autómatas es determinista y el otro no lo es. b) L 1 = L 2 , si consideramos que uno de los diagramas está incompleto. c) L 1 L 2 a a b a b b b b a b a a b b F ig. 1 F ig. 2 b

Transcript of TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata...

Page 1: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

TEORÍA DE AUTÓMATAS I

Informática de Sistemas

Soluciones a las cuestiones de examen del curso 2007/08

Febrero 08, 1ª semana

1. 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 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).

2. 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}.

3. Sean L1 y L2 los lenguajes aceptados, respectivamente, por los autómatas de las figuras 1) y 2). Indique cuál de las siguientes afirmaciones es cierta:

a) L1 = L2, uno de los dos autómatas es determinista y el otro no lo es.

b) L1 = L2, si consideramos que uno de los diagramas está incompleto.

c) L1 ≠ L2

a

a

b

a

b

b b

b

a

b

a

a

b b

Fig . 1 F ig. 2

b

Page 2: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

2

Solución: C. El autómata de la figura 2 no acepta la cadena abb, mientras que el de la figura 1) sí la acepta.

4. Indique cuál de las siguientes gramáticas genera el lenguaje L = {amb2mc2n ⏐ m >0, n ≥ 0}

a) S → AB, A → aAb | ab, B → bBc | λ

b) S → AB, A → aAbb | abb, B → cBc | λ

c) Las dos gramáticas anteriores generan el lenguaje L

Solución: B. La gramática del apartado A genera el lenguaje L = {anbmcp ⏐m = n+p, n > 0, p ≥ 0}. A la vista de las reglas de la gramática B es evidente que genera el lenguaje indicado (por cada a se generan dos b’s; el número de c’s es arbitrario pero necesariamente par).

5. 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.

6. Indique cuál de las siguientes afirmaciones, referidas a la estrella de Kleene de un conjunto, es FALSA:

a) La estrella de Kleene de un alfabeto Σ, Σ *, es el lenguaje de todas las cadenas que se pueden formar con símbolos de Σ, incluyendo la cadena vacía.

b) x ∈ Σ * significa que x es una cadena formada con símbolos de Σ, o bien la cadena vacía

c) La estrella de Kleene de un conjunto siempre es un conjunto infinito

Solución: C. A y B son ciertas por definición. C es falsa, ya que si el conjunto es el conjunto vacío o el conjunto {λ}, la estrella de Kleene es {λ}.

Page 3: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

3

7. Sean L1, L2 y L3 los lenguajes reconocidos, respectivamente, por los autómatas de las figuras 1), 2) y 3). Indique cuál de las siguientes afirmaciones es verdadera.

a

a

b

b

F ig . 1

F ig . 2 a

a

b

b

Fig. 3

a) L3 = L1 ° L2

b) L3 = L1 ∪ L2

c) L3 ≠ L1 ≠ L2

Solución: C. El autómata de la figura 3 no reconoce al lenguaje concatenación, que sí reconoce el autómata:

a

a

b

b

λ

abba ∈ L3, abba ∉ L1 ° L2, abba ∉ L1 ∪ L2

8. Indique cuál de las siguientes afirmaciones sobre el lema de bombeo para lenguajes regulares es verdadera:

a) No lo cumple el lenguaje de palíndronos de longitud par, pero lo cumple el lenguaje de palíndronos de longitud impar

b) Se refiere a lenguajes infinitos; de hecho, todo lenguaje finito lo cumple de forma trivial

c) Puede utilizarse para demostrar que un lenguaje es regular, pero no para demostrar que un lenguaje no es regular.

Solución: B. Se cumple de forma trivial en el caso de los lenguajes finitos: dado que siempre puede encontrarse una constante k mayor que cualquier cadena del lenguaje, claramente será cierto que “para toda cadena de la forma xyz ∈ L con |y| ≥ k, …" ya que no hay cadenas en L tal que |y| ≥ k. El lema de bombeo puede utilizarse para demostrar que un lenguaje no es regular, pero no para demostrar que un lenguaje es regular, ya que existen lenguajes que verifican el lema de bombeo y, sin embargo, no son regulares.

9. Sea un lenguaje L que puede expresarse como concatenació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

Page 4: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

4

a) G( S,T,V,R) donde R = R1 ∪ R2 ∪ S →S1S2 es siempre una gramática para L

b) G( S,T,V,R) donde R = R1 ∪ R2 ∪ S →S1S2 ∪ S → λ es siempre una gramática para L

c) La gramática G no puede deducirse a partir 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 posibles concatenaciones de cadenas derivadas de la gramática G1 con cadenas derivadas de la gramática G2. Así, p.e., L = {anbncmdm}. Gramáticas para {anbn} y {cmdm} son S1 → aS1b | λ y S2 → cS2d | λ respectivamente. Combinando estas dos gramáticas obtenemos una gramática para L: S → S1S2 S1 → aS1b | λ S2 → cS2d | λ .

10. Indique cuál de las siguientes afirmaciones es FALSA:

a) Los lenguajes regulares podrían ser aceptados por máquinas de Turing que siempre moviesen su cabeza a la izquierda.

b) En realidad una máquina de Turing que siempre mueve su cabeza a la izquierda se diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing entra en un estado de aceptación en cuanto concluye sus cálculos

c) Una máquina de Turing que siempre mueve su cabeza a la izquierda se diferencia de un autómata finito principalmente en que tiene poder de escribir en su cinta, y por tanto almacenar datos a modo de un autómata de pila y reconocer lenguajes independientes del contexto.

Solución:C. Una máquina de Turing que siempre moviese su cabeza hacia la izquierda podría utilizarse para realizar las funciones de un autómata finito: la cadena se registraría invertida en la cinta y la cabeza de lectura de la máquina se situaría inicialmente a la derecha del primer símbolo. Al moverse la cabeza sólo hacia la izquierda, aunque la máquina pudiera escribir símbolos en su cinta nunca podría leer estos símbolos, y por tanto es como si no tuviera capacidad para almacenarlos y no podría operar como un autómata de pila.

11. Sea L un lenguaje regular y L’ = {x | x∈ L y la longitud de x es un número par}. ¿Es L’ regular?

a) L’ es regular cualquiera que sea L.

b) L’ nunca es regular.

c) Depende de L.

Solución:A. Siempre podría expresarse como intersección de dos lenguajes regulares: el lenguaje L y el lenguaje de las cadenas de longitud par del alfabeto considerado.

Page 5: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

5

12. La concatenación de dos lenguajes de Σ es un subconjunto de

a) Σ∗

b) Σ×Σ

c) Σ∗×Σ∗

Solución: A. La concatenación de dos lenguajes es el lenguaje que resulta al concatenar las respectivas cadenas (la concatenación de dos cadenas es una nueva cadena) y por tanto pertenece a Σ∗. Σ×Σ es el conjunto de pares ordenados formados por dos símbolos de Σ, y Σ∗×Σ∗ es el conjunto de pares ordenados formados por dos cadenas de Σ∗

ByC

Bzx

B

.

13. El lenguaje generado por la siguiente gramática es…

S xAA xBA yB yBC xC xyz

→→→→→→→

λ

a) regular.

b) independiente del contexto (en sentido estricto).

c) estructurado por frases (en sentido estricto).

Solución: A. El lenguaje contiene exactamente 8 cadenas. Observe que no se pregunta por el tipo de gramática (que es independiente de contexto), sino por el tipo de lenguaje (que, además de ser independiente de contexto, es regular).

14. Indicar si la expresión regular (x ∪ y)·(x ∪ y)* representa el mismo lenguaje que acepta el siguiente autómata.

x x

y y

a) Verdadero

b) Falso

c) Depende del alfabeto

Solución: A. En ambos casos se trata del lenguaje formado por las cadenas que contienen un solo símbolo.

Page 6: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

6

15. Sea L un lenguaje generado por una gramática libre de contexto en forma normal de Chomsky. ¿Existe otra gramática en forma normal de Chomsky que genere el complemento de L?

a) Sí, para todo G.

b) No, nunca.

c) Depende de G. Solución: B. El complemento de L contiene la cadena vacía.

16. Los palíndromos (palabras capicúas) del idioma castellano, tales como “a”, “y”, “dad”, “oso”, “erre”, etc., constituyen un

a) lenguaje regular.

b) lenguaje independiente del contexto (en sentido estricto).

c) lenguaje estructurado por frases (en sentido estricto). Solución: A. Es un lenguaje finito, y por tanto, regular.

Febrero 08, 2ª semana

17. 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.

18. 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. ¿Muestra el siguiente 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; 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í las muestra, pero el diagrama está incompleto

b) Sí las muestra, y el diagrama está completo

c) No las muestra

Solución: A. Para que estuviera completo habría de añadirse un estado de captación global.

Page 7: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

7

c’

c s

s’

c c’

s’

s

c’ c c’ c

l l’

rr’

r r’

ll’

19. Considere el autómata M = (Q, Σ, δ, q0, F), donde

Q = {q0,q1} es el conjunto de estados del autómata, Σ = {a,b} es el alfabeto, F = {q1} es el conjunto de estados de aceptación y δ(q0,a) = q1, δ(q0,b) = q0, δ(q1,a) = q1, δ(q1,b) = q0 es la función de transición.

Indique cuál de las siguientes afirmaciones es cierta: a) M es no determinista

b) M reconoce el lenguaje L = {wa | w ∈ {a,b}*}

c) La función δ no define un autómata finito correcto

Solución: B. El autómata descrito es sencillo:

q 0 q 1

b

a

a

b

20. Sean L1 = {0x | x ∈ {0,1}*} y L2 = {x0 | x ∈ {0,1}*}. Sea L el lenguaje reconocido por el autómata de la figura. Considere el alfabeto Σ = {0,1}.

0

1

1

0 0

1 0

1

0

1

Page 8: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

8

a) L = L1 ∩ L2

b) L = L1 ∪ L2

c) L es el lenguaje complementario de L1 en Σ *

Solución A. El autómata reconoce el lenguaje de las cadenas que empiezan y terminan por cero.

21. Indique cuál de las siguientes afirmaciones, relativas a la estrella de Kleene de un lenguaje L es verdadera:

a) El conjunto de cadenas que pueden formarse concatenando cualquier número de cadenas cada una de las cuales pertenece a L ∪ {λ}.

b) L* = {wn | n ≥ 0 y w ∈ L}

c) Para todo L que contenga al menos una cadena L* es infinito

Solución: A. C es falso ya que si L = {λ} L* = {λ}.

22. Considere la siguiente gramática e indique cuál de las siguientes afirmaciones es FALSA:

S → PVP, A → al, P → AN, A → el, V → ama, N → perro, V → odia, N → gato, N → ratón (cada palabra en minúsculas se considera un símbolo del alfabeto) a) Todas las frases generadas mediante la gramática son frases gramaticalmente correctas en castellano

b) Muchas de las frases generadas no son gramaticalmente correctas en castellano

c) El castellano no puede generarse mediante una gramática estructurada por frases de reglas sencillas como si de un lenguaje formal se tratase

Solución A. La gramática genera frases como: “el perro/gato/ratón odia el perro/gato/ratón” y “al perro/gato/ratón odia al perro/gato/ratón”, gramaticalmente incorrectas. Sólo los lenguajes formales se generan mediante gramáticas estructuradas por frases de reglas sencillas.

23. 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

Page 9: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

9

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

24. Indique cuál de las siguientes afirmaciones es verdadera:

a) Un autómata finito nunca puede meterse en un ciclo que se ejecute indefinidamente

b) Un autómata de pila determinista nunca puede meterse en un ciclo que se ejecute indefinidamente

c) Una máquina de Turing determinista puede meterse en un ciclo que se ejecute indefinidamente.

Solución:C. Si un autómata tiene transiciones lambda puede meterse en ciclos que se ejecuten indefinidamente sin leer ningún símbolo de la cadena de entrada. Es trivial ver que las máquinas de Turing pueden entrar en ciclos de ejecución infinitos.

25. Indique cuál de las siguientes afirmaciones es verdadera:

a) Con una única máquina de Turing pueden reconocerse tres lenguajes: el lenguaje de las cadenas que acepta, el lenguaje de las cadenas que rechaza y el lenguaje de las cadenas que llevan a la máquina a un bucle de ejecución infinita.

b) Es posible diseñar una máquina de Turing de tres cintas que reconozca tres lenguajes.

c) Con una única máquina de Turing, ya sea de una o varias cintas, determinista o no determinista, sólo es posible reconocer un lenguaje

Solución: B. En realidad, con una única máquina de Turing, ya sea de una o varias cintas, determinista o no determinista, es posible reconocer un número indefinido de lenguajes (imagine, p.e., una máquina formada componiendo varias máquinas de Turing Mi que reconocen respectivos lenguajes Li mediante mensajes de aceptación que identifican al lenguaje). Las cadenas que llevan a la máquina a un bucle de ejecución infinita no pueden ser reconocidas, ya que es imposible determinar si la ejecución va a terminar o no en algún momento (es el problema de los lenguajes no decidibles).

Page 10: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

10

26. Indique cuál de las siguientes afirmaciones, referidas a la máquina de Turing de la figura es FALSA:

a;Δ ,R

b;b,R

a;a,R

Δ ;a ,L b;b,L

a;a ,L

Δ ;Δ ,R b;a,R

Δ ;Δ ,R

a;a,L

Δ ;Δ ,L a;b,R

b;a, R

a;b ,R b;b,L

a) La máquina implementa la función f(anbm) = ambn, n>0, m>0.

b) Si la máquina se arranca con la cabeza de lectura apuntando al primer símbolo empezando por la izquierda de aabbbb la máquina se detiene con la cabeza de lectura apuntando al primer símbolo empezando por la izquierda de aaaabb.

c) La máquina llega a un estado de parada sea cual sea la configuración inicial de cinta.

Solución: C. Si la máquina se arranca, p.e., con una configuración de cinta baΔΔ..., la máquina termina anormalmente.

27. El lenguaje xmynzp, donde m, n y p son enteros no negativos tales que m+n=p, es...

a) regular.

b) independiente del contexto (en sentido estricto).

c) estructurado por frases (en sentido estricto).

Solución: B. Es fácil construir el correspondiente autómata.

28. Un lenguaje generado por una gramática independiente de contexto…

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.

Page 11: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

11

29. Sea L1 = {xnym | 1 < n ≤ m ≤ 2n } y L2 el lenguaje generado por la siguiente gramática. Se cumple que…

S AA xAA BB xBB

→→→→→ λ

y

yy

a) L1 = L2

b) L1 ⊂ L2

c) L1 ⊃ L2

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.

30. El resultado de concatenar dos lenguajes independientes de contexto, ¿es siempre un lenguaje independiente de contexto?

a) Sí, siempre

b) No, nunca

c) Depende de los casos Solución: A.

31. 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.

32. 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 Σ*.

Septiembre 08, original

Page 12: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

12

33. Indique cuál de las siguientes equivalencias entre expresiones regulares es incorrecta:

a) 1* ∪ 1*0(λ∪ 0∪1)*φ = 1*

b) 1*0 ∪ 1*0(λ∪0∪1)* (λ∪0∪1) = 1*0(0∪1)*

c) 1* ∪ 1*0(λ∪ 0∪1)*φ = 1*(λ∪ 0)

Solución: C.

34. Sean r y s expresiones regulares. Indique cuál de las siguientes igualdades NO siempre se verifica:

a) (r∪ s)* = (r*s*)*

b) r* = r*r*

c) r∪sr=(r∪s)r

Solución: C. Sean r = a, s = b. La cadena aa es generada por (a∪b)a y no por a∪ba

35. 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. Consideremos w = , w =xyz. Bombeando la subcadena y obtenemos la cadena xyyz, cuya longitud varía entre n

2

0n

2 + 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.

36. 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.

Page 13: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

13

37. Sean L1 y L2 los lenguajes generados, respectivamente, por la gramática S→A1B, A→ 0A, A → λ, B→0B, B→1B, B→λ. y la expresión regular 0*1(0∪1)*. 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.

38. Sea L1 = {an bn cm dm | n ≥1, m ≥1} ∪ {an bm cm dn | n ≥1, m ≥1} y L2 el lenguaje generado por la gramática S→AB, S→ C, A → aAb, A→ab, B→cBd, B→cd, C→aCd, C→aDd, D→bDc, D→bc. 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.

39. Indique cuál de las siguientes afirmaciones es falsa:

a) Para todo autómata finito existe una longitud máxima tal que las cadenas que acepta el autómata nunca exceden dicha longitud

b) Todo autómata determinista 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. El número total de máquinas de Turing con n estados es infinito

Solución: A. Las cadenas han de ser de longitud finita, pero en general no existe una longitud máxima. B es verdadera: Un autómata determinista debe estar completamente definido (ver pág. 32 del libro de texto). C es falsa: es finito cuando fijamos el alfabeto y el conjunto de símbolos de cinta; sin estas restricciones, el número es infinito. (Esta observación es importante para la demostración del teorema 3.5.).

40. Indique cuál de las siguientes afirmaciones es verdadera:

a) Una máquina de Turing universal es aquélla capaz de decidir cualquier lenguaje.

b) El problema de la parada consiste en decidir si una cadena de unos y ceros es la versión codificada de una máquina de Turing autoterminante.

c) Una máquina de Turing universal es aquélla capaz de implementar cualquier función.

Solución: B. A y C son falsas: ver la pág. 184 del libro de texto.

Page 14: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

14

41. Considere la máquina de Turing de la figura e indique cuál de las siguientes afirmaciones es falsa:

x/R

x/R x/R y/R

z/R

¬z/R

z/R

¬x/R

¬x/R

a) La máquina es determinista

b) La máquina se detiene si y sólo encuentra en la cinta la secuencia xyxz

c) La máquina nunca tiene una terminación anormal

Solución: B. La máquina no se detiene al leer la cadena xyxxyxz

42. 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) 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, •, •), (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.

43. 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).

44. Indique cuál de las siguientes afirmaciones es falsa:

a) La unión de un número finito de lenguajes estructurados por frases es un lenguaje estructurado por frases

b) El complementario de la concatenación de dos lenguajes estructurados por frases es igual a la concatenación de los complementarios de ambos; es decir, ∀L1, ∀L2, c(L1· L2) = c(L1)·c(L2)

c) Un lenguaje definido a partir de un alfabeto que contiene un solo símbolo puede no ser estructurado por frases

Solución: B. Contraejemplo: L1={xy}, L2={z}. Por un lado, xyz∉c(L1·L2) —porque xyz∈L1·L2— y, por otro, xyz∈c(L1)·c(L2) —porque x∈ c(L1) e yz∈c(L2)—. A es verdadera: la unión de dos lenguajes estructurados por frases es un lenguaje

Page 15: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

15

estructurado por frases. Esto puede demostrarse mediante gramáticas, marcando cada terminal A de la i-ésima gramática como Ai y añadiendo una regla del tipo S→Si por cada gramática. También se podría demostrar este resultado mediante máquinas de Turing, de modo semejante a como se hizo en la fig. 1.27 (pág. 59) del libro de texto para la unión de lenguajes regulares. C es verdadera: el conjunto de lenguajes de Σ es no numerable (cada cadena puede hacerse corresponder con 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.

45. Sea n un número primo. El lenguaje formado por todas las cadenas cuya longitud es múltiplo de n es…

a) regular

b) independiente de contexto (en sentido estricto)

c) estructurado por frases (en sentido estricto)

Solución: A. Supongamos, por ejemplo, que n=3. Para cada símbolo x del alfabeto escribimos cuatro reglas: S→xS1, S1→xS2, S2→xS, S2→x. Podíamos demostrarlo también construyendo —en vez de una gramática regular— un autómata finito.

46. 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 0s y el número de 1s sea a lo sumo de una unidad. Indique para qué valor de etiqueta L es reconocido por el autómata de la figura:

0

0 1 0

etiqueta

0

1

1

a) Etiqueta = 1

b) Etiqueta = 0

c) Ningún valor de etiqueta hace que L sea reconocido por el autómata.

Solución: A.

47. Sea L el lenguaje de alfabeto Σ = {a,b,c} y cadenas de forma wcv, donde w y v son cadenas de a’s y b’s y w y v tienen la misma longitud pero v no es la cadena inversa de w. Dicho lenguaje coincide con el generado por la gramática

a) S → aSa, S→bSb, S→aRb, S→bRa, R→aRa, R→bRb, R→aRb, R→bRa, R→c.

b) S → aSa, S→bSb, S→aRb, S→bRa, R→aRb, R→bRa, R→c.

c) S → aSa, S→bSb, S→aRb, S→bRa, R→aRa, R→bRb, R→c.

Solución: A. Como w y v no pueden ser cadenas inversas, al menos debe existir un par de caracteres de w y v que ocupen posiciones simétricas con respecto al centro de la cadena y sean diferentes. Por tanto, toda cadena de L puede ser generada por la

Page 16: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

16

gramática, y toda cadena generada por la gramática pertenece a L. La respuesta B no es correcta porque esa gramática no genera la cadena aacab, y la C no es correcta porque la gramática no genera la cadena aacbb.

48. Se desea diseñar una máquina de Turing que multiplique por dos un número en base 10. Inicialmente el número se encontraría en la cinta (una cifra por casilla a partir de la segunda, en la primera casilla un carácter blanco, y el resto de la cinta también en blanco) y la cabeza de lectura señalaría a la primera cifra del número. Al detenerse la máquina, se habría sustituido el número por el resultado, y la cabeza lectora señalaría a la primera casilla de la cinta. Indique para qué valor de etiqueta la siguiente solución sería correcta:

Δ / Δ , L

0 / 0 , R 1 / 1 , R 2 / 2 , R 3 / 3 , R 4 / 4 , R

0 / 0 , L 1 / 2 , L 2 / 4 , L 3 / 6 , L 4 / 8 , L

5 / 0 , L 6 / 2 , L 7 / 4 , L 8 / 6 , L 9 / 8 , L

e t i q u e t a

5 / 1 , L 6 / 3 , L 7 / 5 , L 8 / 7 , L 9 / 9 , L

Δ / Δ , R Δ / 1 , L

5 / 5 , R 6 / 6 , R 7 / 7 , R 8 / 8 , R 9 / 9 , R

a) etiqueta = 0/1,L 1/3,L 2/5,L 3/7,L 4/9,L

b) etiqueta = 0/1,R 1/3,R 2/5,L 3/7,R 4/9,R

c) etiqueta = Δ/1,L

Solución: A.

Septiembre 08, reserva

49. Indique cuál de las siguientes equivalencias entre expresiones regulares es incorrecta:

a) λ∪ 0∪1∪(λ∪ 0∪1) (λ∪ 0∪1)* (λ∪ 0∪1) = (0∪1)*

b) φ ∪ (λ∪ 0∪1) (λ∪ 0∪1)*φ = φ

c) λ∪ 0∪1∪ (λ∪ 0∪1) (λ∪ 0∪1)* (λ∪ 0∪1) =0 (0∪1)*0

Solución: C.

Page 17: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

17

50. Sean r y s expresiones regulares. Indique cuál de las siguientes propiedades siempre se verifica:

a) (r*s*)* = (r∪s)*

b) (r∪s)* = r*∪s*

c) (rs∪r)*rs=(rr*s)*

Solución: A. Sean r=a, s=b. Caso B: La cadena ab es generada por la expresión (a∪b)* y no por a*∪b*. Caso C: λ es generada por la expresión (aa*b)* y no lo es por la expresión (ab∪a)*ab.

51. Sea L1 = {aibjck} | i≠j o j≠k} 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.

52. Sea L un lenguaje definido a partir de un alfabeto Σ que contiene un solo símbolo. ¿Cuál de las siguientes afirmaciones es cierta?

a) L es necesariamente un lenguaje regular.

b) L es necesariamente un lenguaje independiente de contexto, pero quizá no regular

c) Ninguna de las anteriores.

Solución: C. Contraejemplo: L puede ser el lenguaje formado por todas las cadenas cuya longitud es un número primo.

53. ¿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)2·(g+1).

c) n2·(s+1)·(g+1)2.

Solución: C. El conjunto de transiciones de un autómata de pila no-determinista es un subconjunto de S S× ∪ × ∪ × × ∪( { ( { ( {Σ Γ Γλ}) λ}) λ}) .

54. Sean L1 el lenguaje generado por la gramática situada a la izquierda y L2 el lenguaje generado por la gramática situada a la derecha.

Page 18: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

18

S xAA xAB yB

→→→→→ λ

ByzSBz

yzyAyzSz

S xAS xA xA yA

→→→→→ λ

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. Basta sustituir el no-terminal B por las secuencias que puede generar.

55. 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.

56. En un cierto autómata de pila determinista con Σ={x, y} existe una transición (i, x, λ, j, λ). ¿Cuántas transiciones —en total— deben partir del estado i?

a) Una.

b) Dos.

c) Dos o más.

Solución: C. Para que el autómata pueda leer una y de la cadena de entrada, hace falta que exista una transición de la forma (i, y, λ, •, •) o dos transiciones (i, y, x, •, •) e (i, y, y, •, •); es decir, son dos o tres en total.

57. Sean Σ = {x} y L = {cadenas de longitud impar}. Queremos construir una máquina de Turing M tal que L(M) = L. Indique qué valor de la variable etiqueta hace correcta la siguiente solución: x/R

Δ/R

x/R

etiqueta a) etiqueta = Δ/R

b) etiqueta = Δ/Δ

Page 19: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

19

c) Ningún valor de etiqueta hace correcta la solución

Solución: C. Porque del estado de parada no puede salir ningún arco.

58. 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 Σ*.

59. Indique cuál de las siguientes afirmaciones es falsa:

a) Una máquina de Turing puede aceptar una cadena de longitud infinita

b) El conjunto de lenguajes estructurados por frases es no numerable

c) Dada una gramática estructurada por frases, es posible que exista un autómata finito no determinista que acepte el mismo lenguaje

Solución: B. El conjunto de lenguajes estructurados por frases es numerable. A es verdadera: una máquina de Turing es capaz de aceptar una cadena sin leer todos sus símbolos. C es verdadera: toda gramática regular G es estructurada por frases y, a la vez, existe una autómata finito determinista que acepta el mismo lenguaje que G.

60. ¿Cuántas cadenas de longitud 6 representa la expresión regular x·(y∪z)·x·(x∪y∪z)*·x?

a) Menos de 10

b) 10

c) Más de 10

Solución: C. Son las 2×3×3=18 cadenas representadas por la expresión regular x·(y∪z)·x·(x∪y∪z)·(x∪y∪z)·x.

Page 20: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

20

61. Sean L el lenguaje generado por la expresión regular b(0 ∪1)* (b ∪ bb) ∪(b ∪ bb). Indique para qué valor de etiqueta L es reconocido por el autómata de la figura:

λ λ

b λ

λ etiqueta b

0 1

a) Etiqueta = λ

b) Etiqueta = b

c) Ningún valor de etiqueta hace que L sea reconocido por el autómata.

Solución: B.

62. Indique cuál de las siguientes afirmaciones es verdadera:

a) La unión de infinitos conjuntos NO regulares NO puede ser regular

b) La estrella de Kleene de un lenguaje NO regular puede ser regular

c) Un conjunto cuyo complementario sea finito puede NO ser regular

Solución: B. La unión de infinitos conjuntos no regulares puede ser regular ( la unión infinita de los lenguajes Lm= xnyn+m es un lenguaje regular). Un conjunto cuyo complementario sea finito (L) puede expresarse como diferencia entre dos conjuntos regulares (S*-L), y por tanto es regular. La estrella de Kleene de un lenguaje no regular puede ser regular (p.e. dado L = {xn, | n número primo}, L* es regular).

63. Indique cuál de las siguientes afirmaciones es falsa:

a) Sea L={a, ba}. 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) 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

c) 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) no puede ser aceptado por un autómata de pila no determinista

Solución: C. A y B son ciertas, ya que L es un lenguaje regular. C es falsa: para todo lenguaje reconocido por un autómata de pila determinista existe un autómata de pila determinista que lo reconoce y acepta.

Page 21: TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones … · diferencia de un autómata finito principalmente en el mecanismo de aceptación de cadenas: una máquina de Turing

21

64. Indique para qué valor de la variable etiqueta el autómata de la figura reconoce al lenguaje representado por la expresión regular 1·(00 ∪ 1)*((10)* ∪ 101)*

1

0 0

0 1

1

1 1

etiqueta

0 1

a) etiqueta = 0

b) etiqueta = 1

c) etiqueta = λ

Solución: B.