Está en la página 1de 7

UNIVERSIDAD NACIONAL DE LA MATANZA

Autmatas y Lenguajes Formales

Clase 1E

Esta clase comprende los siguientes temas:

Pertenencia de una hilera a un lenguaje


Jerarqua de gramticas de Chomsky
Gramticas equivalentes
Respuestas a los ejercicios de la clase 1E
Universidad Nacional de La Matanza Mg. Ing. Diego Basso
Autmatas y Lenguajes Formales Lic. Hugo M. Castro

1. Pertenencia de una hilera a un lenguaje


Uno de los principales problemas que debe resolver el estudio de lenguajes formales es
determinar si una cierta hilera pertenece o no al lenguaje generado por una gramtica dada.
El mtodo que vamos a analizar es el de ver si la hilera en cuestin se puede derivar desde
el smbolo distinguido de la gramtica a travs del rbol de derivacin.
Ejemplo:
Sea la gramtica definida por las siguientes producciones, en la cual S es el smbolo
distinguido.
aB | bA
aA | b
S

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

2. Jerarqua de gramticas de Chomsky


El lingista Noam Chomsky clasific en 1956 las gramticas en cuatro grandes tipos: tipo 0
o Sin restricciones, tipo 1 o Sensibles al contexto, tipo 2 o Independientes del contexto y tipo
3 o regulares.
Cada uno de estos tipos abarca a todos los que le siguen. As, las de tipo 0 engloban las de
tipo 1,2 y 3; las de tipo 1 comprende las de tipo 2 y 3 y as sucesivamente.
La clasificacin tiene en cuenta la forma de sus producciones. Toda gramtica tiene el tipo
que corresponde a la produccin del tipo del menor nmero que esa gramtica contiene.
Una gramtica que tiene todas sus producciones menos una de tipo 3 y una de tipo 2 es una
gramtica de tipo 2.

 Gramticas de tipo 0 o Sin restricciones


Son las gramticas ms generales, las cuales no poseen ningn tipo de restriccin sobre
sus producciones. Los lenguajes representados por estas gramticas reciben el nombre de


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

 Gramticas de tipo 1 o Sensibles al contexto


Son gramticas que tienen producciones del tipo:
A

donde A es un smbolo no terminal, y es una combinacin de
smbolos terminales, no terminales (o la hilera vaca ) y es una combinacin de smbolos
terminales o no terminales.
Es decir, se permite la derivacin del no terminal A en el lado izquierdo de la produccin, por
, slo en el contexto de y . Adems se debe cumplir que |A| ||, es decir que la
longitud del lado derecho de la produccin debe ser mayor o igual al del lado izquierdo.
Ejemplos: bCc bBc
aaBc aabBc Esto significa que B deriva en bB en el contexto de aa y c.
Esto significa que C deriva en B en el contexto de b y c.

Cb Bb Esto significa que C deriva en B en el contexto de b.


Un lenguaje generado por una gramtica de tipo 1 se denomina lenguaje sensible al
contexto

 Gramticas de tipo 2 o independientes del contexto


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

 Gramticas de tipo 3 o Regulares


Estas gramticas tienen producciones en las que el lado izquierdo tiene un solo smbolo no
terminal y en el lado derecho tiene:
Un smbolo terminal
Un smbolo no terminal y un smbolo terminal
En este ltimo caso distinguimos entre gramticas regulares a derecha (en las que el
smbolo no terminal est a la derecha del smbolo terminal) y regulares a izquierda (en las
que el smbolo no terminal est a la izquierda del smbolo terminal).
Una gramtica con las siguientes producciones (donde S es el smbolo distinguido)
aB | a
bA | b
S

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

 Equivalencia entre gramticas de diferente tipo


Un punto importante a considerar es la equivalencia de gramticas de diferente tipo. En
particular el hallar una gramtica equivalente a una gramtica decreciente que sea de tipo 2
o 3.
Veamos un ejemplo:
Consideremos la siguiente gramtica, donde S es el smbolo distinguido
aA | bB | b
aS |
S
A
B aB | bA
Esta gramtica podra ser regular a derecha si no fuera por la derivacin en . Nos
proponemos crear una nueva gramtica que sea equivalente a la dada pero regular a
derecha.
a.- Agregamos donde aparece A una produccin en la que A derive en .
aA | bB | b | a
aS |
S
A
B aB | bA | b
b.- Suprimimos la produccin en la que A deriva en .
aA | bB | b | a
aS
S

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

Vemos que ambas gramticas son equivalentes

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

Respuestas a los ejercicios de la clase 1E

Pertenencia de una hilera a un lenguaje


1.- b y c pertenecen, a no pertenece
2.- b y c pertenecen, a y d no pertenecen
3.- Las tres hileras pertenecen

Jerarqua de gramticas de Chomsky


1.- Tipo 3 - Regular a derecha
2.- Tipo 1 - Sensible al contexto
3.- Tipo 2 Independiente del contexto
4.- Tipo 0 - Sin restricciones
5.- Tipo 3 Regular a izquierda

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

Tenga en cuenta que cuando se reemplaza B por , a la derivacin A



B se le agrega
A , con lo cual la gramtica resultante es tambin decreciente y se requiere un paso
ms para hallar una gramtica no decreciente.