Soluciones Septiembre 2023
Soluciones Septiembre 2023
Soluciones Septiembre 2023
2023
Autómatas, Gramáticas y Lenguajes
(1◦ curso)
• Tipo B:
(1).c (2).d (3).c (4).b (5).d (6).b (7).b (8).c (9).d (10).a
• Tipo C:
(1).a (2).c (3).d (4).c (5).b (6).b (7).b (8).d (9).c (10).d
Nacional-UE Reserva
• Tipo A:
(1).b (2).c (3).d (4).b (5).d (6).c (7).a (8).d (9).d (10).c
• Tipo E:
(1).d (2).c (3).c (4).d (5).d (6).b (7).b (8).d (9).c (10).a
1
Nacional Original
1 Dado el alfabeto Σ = {a, b, c}, sea L el lenguaje representado por la siguiente expresión
regular (abc∗ +cac∗ ) y sea L(G) el lenguaje que deriva la gramática G definida de la siguiente
manera:
G = ({S, A, B, C}, Σ, S, P )
S → aA
A → bB
B → cC
C → cC
C→ǫ
(a). L ⊂ L(G)
(b). L(G) ⊂ L
(c). L = L(G)
2 Dado el alfabeto Σ = {a, b, c}, sea L(G) el lenguaje que deriva la gramática G definida
de la siguiente manera:
G = ({S, B, C}, Σ, S, P )
2
S → cBbC
B → cB
B→ǫ
C → aC
C → cC
C→ǫ
3 Dado el alfabeto Σ = {a, b, c}, sea L el lenguaje que representa la expresión regular
ba∗ ccb∗ y sea L(M) el lenguaje que acepta M, el autómata definido de la siguiente manera:
M = ({p, q, r, s, t}, Σ, δ, p, t)
p b q a r c s c
t b
3
(a). L = L(M)
(b). L ⊂ L(M)
(c). L(M) ⊂ L
y sea L2 el lenguaje representado por la siguiente expresión regular: aa∗ bb∗ cc∗
Indicar cuál de las siguientes afirmaciones es verdadera:
5 Dado el alfabeto Σ = {a, b, c}, sea L(G) el lenguaje que deriva la gramática G definida
de la siguiente manera:
G = ({S, A, B}, Σ, S, P )
4
S → aSb
S→A
A → bBc
B → bBc
B→ǫ
Indicar cuál de las siguientes afirmaciones es verdadera:
(a). G es una gramática regular.
(b). L(G) se puede representar mediante la expresión regular: a∗ bb∗ cc∗ b∗
(c). L(G) = {an bm cm bn : n ≥ 0 , m > 0}
(d). Ninguna de las anteriores afirmaciones es verdadera.
Solución: C. La primera producción deriva cadenas que empiezan por un número de a’s y
terminan por el mismo número de b’s. Además, la segunda producción indica que ese
número puede ser cero puesto que S deriva también en el no terminal A. El no terminal A
deriva cadenas que empiezan y terminan por el mismo número de b’s y c’s respectivamente.
Como A siempre deriva al menos u símbolo b y un símbolo c entonces, ese número debe ser
mayor o igual que 1 (mayor estricto que 0).
6 Dado el alfabeto Σ = {0, 1}, sea L(M) el lenguaje que acepta M, el autómata definido de
la siguiente manera:
M = ({q0 , q1 , q2 , q3 , q4 }, Σ, Γ, δ, q0 , Z0 , {q4 })
donde Γ = {0, 1, Z0} es el conjunto de símbolos de pila y la función de transición δ se
define mediante el siguiente diagrama de transiciones (nota: la pila se encuentra
inicialmente vacía):
0, ǫ; 0 1, 1; ǫ
0, ǫ; 0
ǫ, ǫ; Z0 0, 0; ǫ ǫ, Z0 ; ǫ
q0 q1 q2 q3 q4
1, ǫ; 1
0, 0; ǫ
5
(a). M es un autómata a pila determinista.
7 Dado el alfabeto Σ = {a, b}, sea L(M) el lenguaje que acepta M el autómata definido de
la siguiente manera:
M = ({q0 , q1 , q2 , q3 , q4 }, Σ, Γ, δ, q0 , Z0 , {q4 })
a, ǫ; a b, a; ǫ
ǫ, ǫ; Z0 a, ǫ; a b, a; ǫ ǫ, Z0 ; ǫ
q0 q1 q2 q3 q4
a, a; ǫ
6
Solución: C. L(M) = {an w : donde w es una subcadena que empieza por el símbolo b y
que cumple que |w| = n, n > 0. La opción A es por tanto, falsa. La opción B es falsa
porque M rechaza esa cadena. La opción C es verdadera porque M acepta esa cadena.
8 Dado el alfabeto Σ = {a, b, c}, sean L y L(M) los lenguajes definidos a continuación:
L = {an bm cn+m : n ≥ 0 y m ≥ 0}
a, ǫ; a b, ǫ; a c, a; ǫ
ǫ, ǫ; Z0 a, ǫ; a b, ǫ; a c, a; ǫ
p q r s t
etiqueta1 ǫ, Z0 ; ǫ
etiqueta2
u
Indicar qué valores deben tomar las etiquetas etiqueta1 y etiqueta2 para que se cumpla que
L = L(M):
7
número de a’s y el número de b’s leídas. Los valores de la etiqueta deben cubrir los casos en
los que n o m sean igual a 0 (en el caso en que ambos sean igual a 0, se trataría de la cadena
vacía, por lo que el estado inicial es de aceptación).
9 Dado el alfabeto Σ = {0, 1}, sea L(M) el lenguaje que acepta la máquina de Turing M
definida de la siguiente manera:
M = ({q0 , q1 , q2 , q3 , qf }, {0, 1}, {0, 1, X, Y, B}, δ, q0, B, {qf })
donde δ se define mediante la siguiente tabla de transiciones:
0 1 B X Y
→ q0 (q2 , X, R) (q1 , X, R) (qf , B, R) − (q0 , Y, R)
q1 (q3 , Y, L) (q1 , 1, R) − − (q1 , Y, R)
q2 (q2 , 0, R) (q3 , Y, L) − − (q2 , Y, R)
q3 (q3 , 0, L) (q3 , 1, L) − (q0 , X, R) (q3 , Y, L)
qf∗ − − − − −
Indicar cuál de las siguientes afirmaciones es verdadera:
(a). 01101 ∈ L(M)
(b). 010101 ∈ L(M)
(c). 111 ∈ L(M)
(d). Ninguna de las anteriores afirmaciones es verdadera.
Solución: B. L(M) acepta el lenguaje formado por las cadenas con el mismo número de
ceros y unos. Comprobando el funcionamiento de la máquina con cada una de las cadenas
se comprueba que la opción B es la verdadera.
10 Dado el alfabeto Σ = {a, b}, sea L el lenguaje definido de la siguiente manera:
L = {an bn cn : n ≥ 0}
Indicar cuál de las siguientes afirmaciones es verdadera:
(a). L es regular.
(b). L es independiente del contexto no regular.
(c). L es recursivamente enumerable no independiente del contexto.
(d). Ninguna de las anteriores afirmaciones es verdadera.
Solución: C. Se ha visto en la asignatura que el lenguaje L es un ejemplo de un lenguaje
recursivamente enumerable no independiente del contexto.
8
Reserva
11 Dado el alfabeto Σ = {w, x, y, z}, sea L(M) el lenguaje que acepta M el autómata
definido de la siguiente manera:
M = ({q0 , q1 , q2 , q3 , q4 , q5 , q6 , q7 , q8 }, Σ, Γ, δ, q0 , Z0 , {q8 })
12 Dado el alfabeto Σ = {a, b, c}, sea L(G) el lenguaje que acepta la gramática G definida
de la siguiente manera:
G = ({S, A, B}, Σ, S, P )
S → aSb
S→A
A → bcB
B → bcB
B → bc
9
Indicar cuál de las siguientes afirmaciones es verdadera:
Solución: D. La gramática G deriva cadenas que empiezan por cero o más a’s y terminan
por el mismo número de b’s. El no terminar A por su parte deriva dos o más repeticiones de
la subcadena bc. Por tanto, el lenguaje L(G) se puede definir de la siguiente manera:
L(G) = {an (bc)m bn : n ≥ 0, m ≥ 2}
13 Dado el alfabeto Σ = {a, b}, sea L(M) el lenguaje que acepta M el autómata definido
de la siguiente manera:
L = {w1 abw2 : donde w1 y w2 son cadenas no vacías formadas con los símbolos de Σ
y |w1 | = |w2 |}
(a). L(M) se puede representar mediante la expresión regular (a + b)∗ ab(a + b)∗
(c). L(M) = L
10
Solución: C. L(M) es un lenguaje independiente del contexto no regular por lo que la
opción A es falsa (además, hay cadenas que genera la expresión regular que no acepta el
autómata como, por ejemplo, la cadena ab). La opción B es falsa puesto que en el estado q2
hay un punto de no determinismo (por ejemplo, en el caso en que en la entrada venga un
símbolo a). La opción C es verdadera, se puede ver que toda cadena perteneciente a L
pertenece a L(M) y viceversa.
14 Dado el alfabeto Σ = {a}, sea L(G) el lenguaje que deriva la gramática G definida de la
siguiente manera:
G = ({S, A}, Σ, S, P )
S → aSa
S→A
A → aAa
A → aa
Solución: D. La opción A es falsa puesto que las producciones de G no cumplen con las
restricciones de las gramáticas regulares. La opción B es falsa puesto que no aceptan las
mismas cadenas, por ejemplo, la expresión regular genera la cadena a que no puede ser
derivada por la gramática. La opción C es falsa puesto que la gramática deriva cadenas con
un número par de a’s que es un lenguaje regular.
11
(a). L es regular.
b, a; ǫ
a, ǫ; a
ǫ, ǫ; Z0 a, ǫ; a b, a; ǫ ǫ, Z0 ; ǫ
p q r s t u
a, ǫ; a
(a). L es regular.
12
Solución: C. Es necesaria más de una pila para aceptar el lenguaje (no cumple el lema de
bombeo).
17 Sean L1 y L2 dos lenguajes independientes del contexto no regulares. Indicar cuál de las
siguientes afirmaciones es verdadera:
Solución: D.
18 Dado el alfabeto Σ = {a, b, c}, sea L(M) el lenguaje que acepta M, el autómata
definido de la siguiente manera
(a). L(M) se puede representar mediante la siguiente expresión regular: (a + b)∗ c(a + b)∗
(b). L(M) se puede representar mediante la siguiente expresión regular: (ab)∗ c(a + b)∗
13
Solución: C. Las opciones A y B son falsas falsa puesto que, por ejemplo, la cadena c
pertenece a los lenguajes de esas expresiones regulares y el autómata no la acepta. La
opción C es verdadera puesto que esa expresión regular es equivalente al autómata.
19 Dado el alfabeto Σ = {a, b, c}, sea L(M) el lenguaje que acepta M, el autómata
definido de la siguiente manera
(a). M es determinista.
(c). L(M) se puede representar mediante la expresión regular: (ab)∗ ac(a + b)∗
20 Dado el alfabeto Σ = {a, b, c}, sea L(M) el lenguaje que acepta M, el autómata
definido de la siguiente manera
14
a
b c
p a q r s
c b
G = ({S, A, B, C}, Σ, S, P )
S → aA
A → aA
A → bB
A → cB
B → cC
C → bB
C→ǫ
15