TEORÍA DE AUTÓMATAS I Informática de Sistemas

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