Академический Документы
Профессиональный Документы
Культура Документы
+
(* + * + * +)
Producciones:
S ->
S -> A
A -> cAd
A -> cd
Cadenas generadas:
,cd,ccdd,cccddd,
Lenguaje Descrito:
*
+
(* + * + * +)
S ->
S -> A
A -> Ad
A -> cA
A -> c
A -> d
Cadenas generadas:
,c,d,cc,cd,cccddd,ccccdddd,
Lenguaje Descrito:
*
+
(* + * + * +)
Producciones:
S -> cA
S -> A
A -> d
A -> cA
A -> Bd
B -> d
B -> Bd
Cadenas generadas:
cd,cdd,cdd,ccdd,cccddd,
Lenguaje Descrito:
*
+
(*+ * + * +)
S ->
S -> A
A -> AcA
A -> c
Cadenas generadas:
{c,ccc,ccccc,ccccccc,.}
Lenguaje Descrito:
*
+
23. Sean los lenguajes siguientes, describir sus gramticas
regulares.
*
+
(*+ * + )
P1:
S -> 1B
S -> 0A
B -> 0C
B -> 0
B -> 1C
C -> 0
* ()
+
(* + * + )
P1:
S -> c
S -> A
A -> 0A
A -> 1A
A -> cB
B -> 0B
B -> 1B
B ->
*
()
+
(* + * + )
P1:
S -> c
S -> A
A -> 0A
A -> 1A
A -> cB
B -> 0B
B -> 1B
B ->
*
+
(*+ * + +)
P1:
S -> 1A
A -> 0A
A -> 0
24 A partir de la gramtica dada por:
S aE , E A | B , A aA | B , B bB | b
derive las cadenas ab, ab
3
, aa
3
b. Es posible derivar abab?
25 Obtener una gramtica regular para los siguientes lenguajes:
(a) a*b a
(b) a*b b*a
(c) (a*b b*a)*
26 La gramtica regular dada por: S bA | aB |
A abaS
B babS
Genera un lenguaje regular. Encuentre un autmata finito y una expresin regular para
este lenguaje.
27 Obtenga una gramtica regular que genere el lenguaje consistente en una o mas copias del
patrn xy.
28 Muestre que es posible modificar la gramtica que se presenta a continuacin para formar
una gramtica regular, sin cambiar el lenguaje que genera.
S yX | aB | ; X xxX ; X yY ; Y
29 Dibuje el diagrama de transiciones para los autmatas finitos que aceptan los lenguajes
generados por las gramticas regulares que se presentan a continuacin. Describa el lenguaje
que acepta cada uno.
S | xX | yY
Y yY |
X xX |
S abA | B | baB |
A bS | b
B aS
S abA | bbB | ccV |
A bC | cX
B ab
C | cS
V aV | cX
X bV | aaX
(a) (b) (c)
30 Obtenga la gramtica regular que genera el lenguaje aceptado por cada uno de los siguientes
autmatas finitos.
(a) (b)
(c) (d)
31 En la definicin de gramtica regular, se dijo que si en el lado derecho de una produccin hay
un smbolo no terminal, entonces este debe estar ubicado en el extremo derecho. Esto
corresponde a la generacin de cadenas de izquierda a derecha y por tal razn este tipo de
gramticas son llamadas gramticas regulares por la derecha. Existen tambin las gramticas
regulares por la izquierda, cuyas cadenas son generadas por la derecha, es decir, las
producciones son de la forma:
A Bw
Donde A y B son smbolos no terminales y w es una cadena perteneciente a E*.
(a) Obtenga una gramtica regular por la izquierda para el lenguaje {a
n
baa | n > 0}.
(b) Obtenga las gramticas regulares por la izquierda y por la derecha para el lenguaje
dado por:
{w e {a,b,c}* | w termina en b y toda c va seguida por una a}
32 Puede una cadena como abBAdBc (donde A y B son smbolos no terminales) ser derivada
desde el smbolo inicial S en una gramtica regular por la derecha? Explique.
GRAMATICAS INDEPENDIENTES DEL CONTEXTO, RBOLES DE DERIVACIN, AMBIGUEDAD Y
FORMAS CANNICAS PARA LAS GIC.
a,b
q0
a
a
b
b
q3
b
a q1
q2
q2 q3
q0 q1
a b
a b
a
b
a
b
q0 q1
a,b
a
b,c
c
q1 q0 q2 q3
a
a
b
b a,b
a,b
33 Dada la gramtica independiente del contexto: S AA ; A AAA | a | bA | Ab
Obtenga la derivacin para la cadena b
2
aba
2
ba.
34 La gramtica G independiente del contexto dada por: S aSb | aSa | bSa | bSb | , no
es una gramtica regular, aunque L(G) es un lenguaje regular. Obtenga una gramtica regular G
tal que L(G) = L(G).
35 Obtenga una gramtica independiente del contexto para cada uno de los siguientes lenguajes
independientes de contexto?
(a) {a
m
b
n
| m > n}
(b) {w e {a,b}* | w tiene el doble de as que de bs}
(c) {a
m
b
n
| n s m s 2n}
(d) {a
m
b
n
c
p
d
q
| m+n > p+q}
36. Sea la gramtica independiente del contexto dada por:
S aA ; S bT ; T aa
Encuentre el rbol de derivacin para las cadenas aaabaa, aabaa y abaa.
Es posible derivar la cadena aaaba?
37 Sea la GIC dada por: R a | b | c | c | | | (R - R) | (R R) | R*
donde E = {a,b,c,(,),c,|,-,*}.
Realice paso a paso 4 derivaciones distintas para la cadena ((a b)* - c) y encuentre el
correspondiente rbol de derivacin. Es esta una gramtica ambigua?
38 Demuestre que la siguiente gramtica es ambigua
S bA | aB ; A a | aS | bAA ; B b | bS | aBB
39. Para la gramtica del ejercicio 38, encuentre una gramtica no ambigua que genere el mismo
lenguaje.
40 Obtenga una gramtica equivalente (que genere el mismo lenguaje), simplificando la
gramtica siguiente:
S Aa | B | D ; B b ; A aA | bA | B ; C abd
41 A partir de la gramtica presentada a continuacin (donde S es el smbolo inicial), obtenga
una gramtica simplificada que genere el mismo lenguaje.
Z S |
S Cbh | D
A aaC
B Sf | ggg
C cA | d | C
D E | SABC
E be
42 Simplifique la siguiente gramtica y obtenga el conjunto de smbolos no terminales
anulables.
S A | AA | AAA
A ABa | ACa | a
B ABa | Ab |
C Cab | CC
D CD | Cd | Cea
E b
43 Convierta las siguientes gramticas en la forma normal de Chomsky
(a) S AB | CA
A a
B BC | AB
C aB | b
(b) S aAb | cHB | CH
A dBH | eeC
B ff | D
C gFB | ah
D y
E jF
F deGGG | cF
G kF
H Hlm
44 Eliminar todas las producciones unitarias de la siguiente gramtica independiente del
contexto.
S CB | D
A bbC
B Sc | ddd
C eA | f | C
D E | SABC
E gh
45 Dado el autmata de la figura
Escribir todas las reglas de la gramtica equivalente asociadas a la transicin
S(p,y;x)=(q,y)
46 Para cada uno de los siguientes lenguajes dar una gramtica general que los genere:
47 Sean G1 = (N,T,P1,S) y G2 = (N,T,P2,S) gramticas generales.
Demostrar las siguientes armaciones:
Concatenacin: Existe una gramtica general G tal que L(G) = L(G1)L(G2), i.e. tal que el lenguaje
que genera se obtiene mediante concatenacin de cadenas de L(G1) con cadenas de L(G2).
Interseccin: Existe una gramtica general G tal que el lenguaje que genera es L(G1) L(G2).
Unin: Existe una gramtica general G tal que el lenguaje que genera es L(G1) L(G2).
48 Considere la siguiente gramtica libre de contexto:
S S S + | S S * | a
y la cadena aa + a*.
a) Proporcione una derivacin por la izquierda para la cadena.
b) Proporcione una derivacin por la derecha para la cadena.
c) Proporcione un rbol de anlisis sintctico para la cadena.
d) La gramtica es ambigua o no? Justifique su respuesta.
e) Describa el lenguaje generado por esta gramtica.
49 Disee gramticas para los siguientes lenguajes:
a) El conjunto de todas las cadenas de 0s y 1s, de tal forma que justo antes de cada 0 vaya por lo
menos un 1.
b) El conjunto de todas las cadenas de 0s y 1s que sean palndromos; es decir, que la cadena se lea
igual al derecho y al revs.
c) El conjunto de todas las cadenas de 0s y 1s con un nmero igual de 0s y 1s.
d) El conjunto de todas las cadenas de 0s y 1s con un nmero desigual de 0s y 1s.
e) El conjunto de todas las cadenas de 0s y 1s en donde 011 no aparece como una subcadena.
f) El conjunto de todas las cadenas de 0s y 1s de la forma xy, en donde x sea diferente de y, y x y y
tienen la misma longitud.
50. Construye gramticas regulares lineales a la derecha que generen cada uno
de los siguientes lenguajes sobre el alfabeto terminal E = {a, b, c}
a) { x eE* : |x|a mod 2 = 0 }
b) { x eE* : x empieza por a y contiene la subpalabra bbb }
c) { x eE* : x no contiene tres b's consecutivas }
d) { x eE* : |x|a + |x|b mod 3 = 0 }
e) { x eE* : x contiene las subpalabras aa, bb y cc }
f) { x eE* : x no contiene las subpalabras aba ni aca }
g) { x eE* : cada aparicin de a en x es precedida de b o seguida de c }
h) { x eE* : x no contiene ninguna aparicin de la subcadena aa despus de la
ltima aparicin del smbolo c }
i) { x eE* : x contiene dos as separadas por un nmero impar de smbolos }
j) { x eE* : x contiene la subpalabra ab pero no contiene la subpalabra aba }
De entre ellas, di cuales son regulares y cuales son lineales.
51. (Ejercicio especial) Sea G=(N, E, P, S) una gramtica lineal a la derecha, con
N={S,A,B} y E = {a ,b }, y sean las siguientes palabras: S, A, AB, c, aaA, abaS, bbab,
aSba, Baaab, abAS, abBAbSb.
a ) Cules de ellas podran ser formas sentenciales de G?
b ) Describe la estructura general de una forma sentencial de G.
c ) Demuestra por induccin que las formas sentenciales de G no pueden ser
distintas de lo descrito en el apartado anterior.
52. (Ejercicio especial) Una Gramtica cuasi-regular a la derecha se define como
una gramtica G = (N, E, P, S), donde las reglas de P responden a alguna de las 3
siguientes formas: A c, A aB, A a, con A,BeN, aeE. Considera el siguiente
algoritmo:
Entrada: G = (N, E, P, S) gramtica cuasi-regular a la derecha
Salida: INCOGNITA
Procedimiento: Construir INCOGNITA = ( N1, E, o, S, F) donde
N1 = N {Z}
F = {Z} {A: A ce P }
Beo(A,a) AaBeP
Zeo(A,a) AaeP
a) Aplica el algoritmo a la gramtica siguiente: G=({S,A,B}, {a,b,c}, P, S) siendo P
el conjunto de producciones S aA | aB A bA | b B cB | c
53 Dada la expresin regular r = (a + b + c)(b * +c *) + ab *
Construir una gramtica regular equivalente.
54 una gramtica para los mltiplos de 8, escritos en forma binaria. (Algoritmo y datos de
entrada).
55 Dada la expresin regular r = (a + bc)(ab + c)
*
+ ca
*
c
*
Hallar
a) una gramtica cuyo lenguaje sea r
56 Construir una gramtica para los mltiplos de 8, escritos en forma decimal.
57 Dada la expresin regular r = (01
*
0)
*
+ (01)
*
a) Hallar una gramtica equivalente.
58 Buscar una expresin regular para el lenguaje de la gramtica
A:= 0A / 0B / 0D / 0
B:= 1C / 1D /1
C:= 1B / 0D / 0
59. Dada la expresin regular r=(ab+bb*)*+a*(b+ab) sobre el alfabeto ={a,b}
Construir una gramtica limpia para dicho lenguaje
60 Para la siguiente gramtica regular G =({0,1}, {A, B, C, D}, A, P), siendo P las reglas
A := 0B | 1C |
B := 0B |
C ::= 1C | 0D
D ::= 0A | 0B |
Se pide:
Encontrar una expresin regular mediante la aplicacin de la resolucin del Teorema de
Anlisis de Kleene.
Dar el conjunto de cadenas de longitud menor que 4 generadas por G.
61 Dada la gramtica:
S:=MN
M:=aMc / ac
N.=bNc /M /
Obtener una equivalente bien formada
Obtener una equivalente en forma normal de Chomsky
62 Dadas las gramticas regulares G1 y G2 con los siguientes conjuntos de producciones:
P1 = { S -> a A, A -> b A | }
P2 = {S -> a S | b A, A -> b A | }
y los lenguajes regulares L1 = L(G1) = {a bn | n 0} y L2 = L (G2) = {a^nb^m | n 0, m 1}
generados por G1 y G2, respectivamente, obtn gramticas regulares que permitan generar
los siguientes lenguajes:
L1 L2
L1 L2
L1*
L1