Hoja del cap tulo 3

Anuncio
Universidad Rey Juan Carlos
Curso 2009–2010
Teorı́a de Autómatas y Lenguajes Formales
Ingenierı́a Técnica en Informática de Sistemas
Hoja de Problemas 2
Gramáticas Formales
Nivel del ejercicio : (⋆) básico, (♣) medio, (♠) avanzado.
1. (⋆) Obtener las derivaciones de las palabras 002 y 0001 a partir de la siguiente
gramática :
G = ({A, B}, {0, 1, 2}, A, {A ::= 0B, A ::= 2, B ::= 0A, B ::= 1}) .
Obtener el lenguaje que genera.
2. (⋆) Obtener el lenguaje generado por la gramática :
G = ({S}, {a, b}, S, {S ::= aSbb | λ}) .
3. (⋆) Construir una gramática que genere el lenguaje L = {an bn+1 | n ≥ 0}.
4. (♣) Construir una gramática sobre el alfabeto Σ = {a, b} que genere el lenguaje
L = {w | na (w) y nb (w) son pares }.
5. (⋆) Indicar si las gramáticas con los siguientes conjuntos de producciones son equivalentes :
P1 = {S ::= aSb | λ},
P2 = {S ::= aAb | λ, A ::= aAb | λ}.
6. (⋆) Construir gramáticas para Σ = {a, b} que generen los lenguajes cuyo conjunto
de palabras sean :
(a) Todas las cadenas con una única a.
(b) Todas las cadenas con al menos la subcadena bbabbb.
(c) Todas las cadenas con no más de tres a′ s.
7. (⋆) Describir el lenguaje generado por la gramática cuyo conjunto de producciones
es
{S ::= aA | λ, A ::= bS}.
8. (⋆) Describir el lenguaje generado por la gramática cuyo conjunto de producciones
es
{S ::= Aa, A ::= B, B ::= Aa}.
9. (♣) Construir una gramática para cada uno de los siguientes lenguajes :
(a) L1 = {an bm | n ≥ 0, m > n}.
Página 1 de 3
Hoja de Problemas 2 (cont.)
(b) L2 = {an+2 bn | n ≥ 1}.
(c) L3 = {an bn−3 | n ≥ 3}.
(d) L1 L2 .
(e) L1 ∪ L2 .
(f) L32 .
(g) L∗1 .
(h) L4 = {abn a | n ≥ 1}.
10. (♣) Construir una gramática para cada uno de los siguientes lenguajes para Σ = {a} :
(a) L1 = {w | |w| mod 3 = 0}.
(b) L2 = {w | |w| mod 3 > 0}.
11. (♣) Dado un alfabeto Σ y una palabra w ∈ Σ∗ , se dice que w es un palı́ndromo si
se verifica que w−1 = w. Dado Σ2 := {0, 1}, construir una gramática que genere el
lenguaje de los palı́ndromos sobre Σ2 , Lpal (Σ2 ) := {w ∈ Σ∗2 | w−1 = w}.
12. (♣) Construir una grámatica que genere el lenguaje L = {ww | w ∈ {a, b}+ }.
13. (♣) Construir una grámatica que genere el lenguaje L = {www | w ∈ {a, b}+ }.
14. (♣) Sea Σ := {(, ), 0, 1}. Las expresiones con paréntesis bien balanceadas se definen
del siguiente modo :
• La palabra vacı́a está bien balanceada.
• 0 y 1 son palabras bien balanceadas.
• Si w ∈ Σ∗ es una palabra bien balanceada, entonces (w) es una palabra bien
balanceada.
• Si w, w′ ∈ Σ∗ son palabras bien balanceadas, entonces ww′ es una palabra bien
balanceada.
Construye una gramática que genere el lenguaje de las palabras bien balanceadas.
15. (⋆) ¿ Son equivalentes las gramáticas cuyas producciones son las siguientes?.
P1 = {S ::= aSb | ab | λ},
P2 = {S ::= aAb | ab, A ::= aAb | λ}.
16. (⋆) Demostrar si las gramáticas con las siguientes producciones son ambiguas :
{A ::= 1B | 11, B ::= 1},
{S ::= AB | aaB, A ::= a | Aa, B ::= b}.
Página 2 de 3
Hoja de Problemas 2 (cont.)
17. (⋆) Dada la siguiente gramática:
G = ({S}, {b}, S, P = {S ::= bbS, S ::= bb}) .
determinar si es de tipo 0, tipo 1, tipo 2 o tipo 3 y, en caso no sea de tipo 3, definir
una gramática de tipo 3 que genere el mismo lenguaje.
18. (⋆) Dada la siguiente gramática:
G = ({S}, {b, c}, S, P = {S ::= bSc, S ::= bc}) .
determinar si es de tipo 0, tipo 1, tipo 2 o tipo 3 y, en caso no sea de tipo 3, definir
una gramática de tipo 3 que genere el mismo lenguaje.
19. (♣) Construir una gramática sobre el alfabeto Σ = {a, b} que genere el lenguaje
L = {w | na (w) = nb (w)}.
20. (♣) Construir una gramática para el lenguaje construido sobre Σ = {a, b} donde
na (w) > nb (w).
21. (♣) Construir una grámatica que genere el lenguaje L = {ww−1 | w ∈ {a, b}+ }.
22. (♣) Construir una grámatica que genere el lenguaje L = {wcv | w, v ∈ {a, b}∗ , nab (w) =
nab (v)}.
Página 3 de 3
Descargar