TEORÍA DE AUTÓMATAS I Informática de Sistemas Febrero 09, 1ª semana

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