Professional Documents
Culture Documents
Clase 1E
bS | a
A
B
Queremos determinar si la hilera abbb pertenece al lenguaje generado por esta gramtica.
Construimos el rbol de derivacin:
S
Derivamos S en aB aB
Derivamos B en bS abS
Ahora derivamos S en bA abbA
Y por ltimo derivamos A en b abbb
Con lo cual concluimos que abbb pertenece al lenguaje. Obsrvese que el mtodo que
hemos utilizado no es formal, ya que las derivaciones que utilizamos se eligen para tratar de
que aparezcan los caracteres que estamos buscando. Por ejemplo, si en la primera
derivacin hubiramos tomado S bA nunca hubiramos podido derivar la hilera buscada.
Si queremos ver si la hilera baba pertenece al mismo lenguaje, podemos proceder como
dijimos, pero teniendo en cuenta que la hilera empieza con b.
S
Derivamos S en bA bA
Derivamos A en aA baA
Pero ahora encontramos que A slo tiene una derivacin en b, con lo que aparecera la
hilera bab, Es evidente que no es posible derivar la hilera baba desde el smbolo distinguido.
Por eso decimos que la hilera baba no pertenece al lenguaje generado por la gramtica de
ms arriba.
Ms adelante vamos a ver mtodos formales que permiten realizar esta tarea.
Ejercicios propuestos
1.- Dada la gramtica definida por las siguientes producciones, donde S es el smbolo
distinguido:
0P0 | 1Q
0Q | 1
S
1S | 0
P
Q
Indique si las siguientes hileras pertenecen o no al lenguaje generado por esta gramtica
a.- 0010 b.- 0000 c.- 11010
2.- Dada la gramtica definida por las siguientes producciones, donde S es el smbolo
distinguido:
aAb | aBbb | ab | abb
aAb | ab
S
aBbb | abb
A
B
1
Universidad Nacional de La Matanza Mg. Ing. Diego Basso
Autmatas y Lenguajes Formales Lic. Hugo M. Castro
Indique si las siguientes hileras pertenecen o no al lenguaje generado por esta gramtica
a.- aabbb b.- aaabbb c.- aabbbb d.- aaabbbbb
3.- Dada la gramtica definida por las siguientes producciones, donde S es el smbolo
distinguido:
Ha | bJb | Gb
Gab | ba
S
Ja | bG | a
G
aS | b
H
J
Indique si las siguientes hileras pertenecen o no al lenguaje generado por esta gramtica
a.- ababaa b.- bababb c.- baababb
lenguajes sin restricciones o no restringidos. Sus producciones son del tipo:
donde tanto como son una combinacin de smbolos del vocabulario de no
terminales y terminales.
Ejemplo: aBCc ABab
Las restricciones que tienen estas gramticas son:
debe contener por lo menos un smbolo no terminal
no puede contener la hilera vaca ().
Puede ocurrir que la parte derecha de la produccin:
contenga Ej.: BC A AbC
contenga menor cantidad de smbolos que la parte izquierda Ej.: AbC aB
Encontrndonos, en ambos casos, ante la situacin en que la parte derecha es ms corta
que la izquierda. Las producciones en que ocurre esto se denominan reglas borradoras ya
que la longitud de la hilera puede decrecer en cada uno de los pasos de derivacin. En
consecuencia, a este tipo de gramticas se las denomina gramtica decreciente.
Nota: La excepcin a esta regla es que la produccin S no hace a la gramtica
decreciente si y slo si S es el smbolo distinguido de la gramtica. En este caso, la
produccin S indicar que la hilera vaca pertenece al lenguaje.
Una gramtica puede tener producciones de distinto tipo. No obstante, si la gramtica tiene
al menos una produccin que es borradora de smbolos, diremos que toda la gramtica es
decreciente y por lo tanto ser de tipo 0.
2
Universidad Nacional de La Matanza Mg. Ing. Diego Basso
Autmatas y Lenguajes Formales Lic. Hugo M. Castro
Son gramticas que tienen producciones del tipo:
A donde A es un smbolo no terminal y es una combinacin de smbolos terminales y
no terminales.
Ejemplo: B aAH
Obsrvese que una gramtica de este tipo siempre debe tener un solo smbolo no terminal
en la parte izquierda, mientras que en la parte derecha puede tener cualquier combinacin
de smbolos terminales y no terminales.
Un lenguaje generado por una gramtica de tipo 2 se denomina lenguaje independiente del
contexto
aS | a | b
B
A es una gramtica regular a derecha
Una gramtica con las siguientes producciones (donde S es el smbolo distinguido)
Ha | Jb | a
Ja | b
S
Sb | Ha
H
J es una gramtica regular a izquierda
Nota: Sea una gramtica que tiene las siguientes producciones (S es el smbolo distinguido)
0A | B1 | 0
A1 | 0B
S
1S | 1
A
B
Obsrvese que la gramtica tiene producciones regulares a derecha y regulares a izquierda.
Esta gramtica es de tipo 2.
3
Universidad Nacional de La Matanza Mg. Ing. Diego Basso
Autmatas y Lenguajes Formales Lic. Hugo M. Castro
Ejercicios propuestos
Para las gramticas que tienen las producciones indicadas, donde S es el smbolo
distinguido, indique de qu tipo es cada una.
1.- S xG | yH | x |
xH | y
yS | x
G
H
2.- S AbC
AB aB
C b
B aS | C
3.- S Ba | Cb | b
B Ca | b
C bS | a
4.- S 1B
ABC 0C
AC 01B
0A 11C
5.- S Aa | Bb
B Sb | a
A Ba | b
3. Gramticas equivalentes
Se dice que dos gramticas son equivalentes si generan el mismo lenguaje. Vamos a ver las
operaciones que se pueden llevar a cabo sobre una gramtica para generar una gramtica
equivalente. En los ejemplos que siguen vamos a considerar que el smbolo distinguido en
cada gramtica son los indicados en negrita.
1.- Se pueden cambiar en forma coherente los smbolos no terminales.
Ejemplo: S abB | baA
bB | bS | a
aA | aS | b
A
B es una gramtica equivalente a
X abQ | baP
P bQ | bX | a
Q aP | aX | b
Se puede ver que ambas gramticas generan el mismo lenguaje.
2.- Se puede reemplazar un smbolo no terminal por su derivacin en otra produccin
S
aB
B cA es equivalente a S acA
3.- Se puede reemplazar un smbolo terminal por un smbolo no terminal que deriva en ese
smbolo terminal:
S bC | a S bC | X
a
es equivalente a
X
4
Universidad Nacional de La Matanza Mg. Ing. Diego Basso
Autmatas y Lenguajes Formales Lic. Hugo M. Castro
aB | bA | b
A
B
Esta ltima gramtica es regular a derecha. Vamos a comprobar si es equivalente a la
original. Derivamos una hilera con la gramtica decreciente:
S
bB
bbA
bb
Y ahora derivamos la misma hilera (bb) con la gramtica regular
S
bB
bb porque ahora B deriva en b
Ejercicios propuestos
Para cada una de las gramticas siguientes, donde S es el smbolo distinguido, halle una
gramtica equivalente que no sea decreciente.
bA | aB | a
aBb | bAa |
1.- S
A
B aS | bA | a
2.- S 0M
P 11N | 1P |
M N0P | N11
N0|1
S 0A0 | 1B1
A B | 11A
3.-
B 0|
5
Universidad Nacional de La Matanza Mg. Ing. Diego Basso
Autmatas y Lenguajes Formales Lic. Hugo M. Castro
Gramticas equivalentes
bA | aB | a | b
aBb | bAa | ba
1.- S
aS | bA | a | b
A
B
S 0M
P 11N | 1P | 1
2.-
M N0P | N11 | N0
N0|1
S 0A0 | 1B1 | 11 | 00
A B | 11A | 11
3.-
B 0