Está en la página 1de 5

UNIVERSIDAD NACIONAL DE LA MATANZA

Autmatas y Lenguajes Formales

Clase 2E

Esta clase comprende los siguientes temas:

Operaciones sobre Lenguajes


Revisin de Jerarqua de Lenguajes de Chomsky
Revisin de Gramticas Equivalentes
Algoritmo T
Respuestas a los ejercicios de la clase 2E
Universidad Nacional de La Matanza Mg. Ing. Diego Basso
Autmatas y Lenguajes Formales Lic. Hugo M. Castro

1. Operaciones sobre Lenguajes

Como se mencion anteriormente, un lenguaje es un conjunto de hileras vlidas formadas a


partir de un alfabeto . Vamos a considerar algunas operaciones que se pueden realizar
entre lenguajes y que permiten obtener otros nuevos.
Sean L1 y L2 lenguajes definidos sobre un alfabeto:

La unin L1 L2 L1 | L2 consiste en todas aquellas hileras que estn contenidas ya sea


en L1 o en L2.
La concatenacin L1.L2 consiste de todas aquellas hileras de la forma vw donde v es
una hilera de L1 y w es una hilera de L2.
La interseccin L1 L2 consiste en todas aquellas hileras que estn contenidas tanto en
L1 como en L2.
El complemento L1 consiste en todas aquellas hileras vlidas sobre el alfabeto de L1 que
no estn ya contenidas en L1.
La intercalacin L1 * L2 consiste de todas aquellas hileras que pueden ser escritas de la
forma v1w1v2w2 ... vnwn tales que la concatenacin v1...vn est en L1, y la concatenacin
w1...wn est en L2.
La estrella L1* (clausura de Kleene del lenguaje L1) consiste de todas aquellas hileras
que pueden ser escritas de la forma w1w2... wn donde todo wi se encuentra en L1 y n 0.
(Ntese que esta definicin incluye a la hilera vaca en cualquier L*).
La clausura positiva L1+ consiste de todas aquellas hileras que pueden ser escritas de la
forma w1w2... wn donde todo wi se encuentra en L1 y n > 0. Difiere de la clausura de
Kleene ya que contiene a la hilera vaca si y slo si L1 contiene a .

Una pregunta que se hace tpicamente sobre un determinado lenguaje formal L es cun
difcil es decidir si una hilera w pertenece o no a ese lenguaje. Este tema es del dominio de
la teora de la computabilidad y la teora de la complejidad computacional, como veremos
ms adelante.

2. Revisin de Jerarqua de Lenguajes y Gramticas Equivalentes

1. Determinar el tipo de las siguientes gramticas en la jerarqua de Chomsky.


a) S aA b) S aAb | Ba |
A bB | aA | a aAbC aAbB | aabC
B BCc AaCc | BaAbc
C Ca | a
c) S Cx | Cy | By | Ax | x | y d) S abc | aBSc
A Ax | Cx | x Ba aB
B By | yA Bb bb
C xA

2. Dada la gramtica definida por las siguientes producciones, donde S es el smbolo


distinguido, determine si la gramtica es decreciente. En caso que lo sea, escriba una
gramtica equivalente que no lo sea y determine su tipo.
S AaB | Cbb | B
A Aa | cD
B a | Ba |
C Sa | a | abB
D aaA | bB
1
Universidad Nacional de La Matanza Mg. Ing. Diego Basso
Autmatas y Lenguajes Formales Lic. Hugo M. Castro

3. Dada la gramtica definida por las siguientes producciones, donde S es el smbolo


distinguido, indique de qu tipo es y defina el lenguaje generado. Aplique el algoritmo T
para verificar si las hileras aaab, abba, abb y aba pertenecen o no al lenguaje.

S aS | aA
A bA | b

4. Dada la gramtica definida por las siguientes producciones, donde S es el smbolo


distinguido, indique de qu tipo es y defina el lenguaje generado. Aplique el algoritmo T
para verificar si las hileras ccc, cdd, ccdd y cdcd pertenecen o no al lenguaje
S cA
A d | cA | Bd
B Bd | d

2
Universidad Nacional de La Matanza Mg. Ing. Diego Basso
Autmatas y Lenguajes Formales Lic. Hugo M. Castro

Respuestas a los ejercicios de la clase 2E

1. a) Tipo 0. Podra ser de tipo 3 pero tiene una produccin decreciente B


b) Tipo 1. En las producciones 4, 5, 6 y 7 se mantiene el contexto. Las restantes
producciones seran vlidas en una gramtica de tipo 2.
c) Tipo 2. Hay producciones regulares mezcladas a izquierda y a derecha.
d) Tipo 0. La produccin Ba aB no mantiene el contexto.

2. Gramtica equivalente de tipo 2.


S AaB | Cbb | B | Aa |
A Aa | cD
B a | Ba
C Sa | a | abB | ab
D aaA | bB | b

3. Gramtica de tipo 3.

S aS | aA
A bA | b

Se muestran algunas hileras vlidas del lenguaje generadas por la gramtica:

S aA ab
S aS aaA aab
S aS aaS aaaS . an S an aA an+1 b
S aA abA abbA abbbA . a bn A a bn b a bm+1

El lenguaje generado se puede definir como: L (G) = {W, W = an+1 bm+1, con n, m0}

Aplicacin del Algoritmo T

T0 = {S}
T1 = {T0, aS, aA}
T2 = {T1, aaS, aaA, abA, ab}
T3 = {T2, aaaS, aaaA, aabA, aab, abbA, abb}
T4 = {T3, aaaaS, aaaaA, aaabA, aaab, aabbA, aabb, abbbA, abbb}

A partir de T5 las hileras tienen una longitud mayor a 4 caracteres.

Podemos concluir que:

aaab pertenece al lenguaje


abba no pertenece al lenguaje
abb pertenece al lenguaje
aba no pertenece al lenguaje

4. La gramtica es de tipo 2.
En ocasiones, analizar la semntica de las producciones que definen la gramtica puede
resultar ms factible que intentar encontrar las hileras del lenguaje asociado y, a partir de
ellas, obtener su ley de formacin. As, por ejemplo, analizando las producciones que
definen esta gramtica se pueden obtener las siguientes conclusiones:

3
Universidad Nacional de La Matanza Mg. Ing. Diego Basso
Autmatas y Lenguajes Formales Lic. Hugo M. Castro

S cA toda hilera comienza con c


A cA agrega n cantidad de c a la hilera
A d | Bd la hilera finaliza con d
B Bd | d agrega m cantidad de d a la hilera

A partir de este anlisis se puede determinar que las hileras del lenguaje generado por la
gramtica se ajustan a:

L (G) = { W, W = cn dm, donde n,m 1}

Aplicacin del Algoritmo T

S cA
A d | cA | Bd
B Bd | d

T0 = {S}
T1 = {T0, cA}
T2 = {T1, cd, ccA, cBd}
T3 = {T2, ccd, cccA, ccBd, cBdd, cdd}
T4 = {T3, cccd, ccccA, cccBd, ccBdd, ccdd, cBddd, cddd}

A partir de T5 las hileras tienen una longitud mayor a 4 caracteres.

Podemos concluir que:

ccc no pertenece al lenguaje


cdd pertenece al lenguaje
ccdd pertenece al lenguaje
cdcd no pertenece al lenguaje