You are on page 1of 5

Captulo 4: Propiedades de los lenguajes regulares

4.1 Cmo demostrar que un lenguaje no es regular


4.1.1 El lema de bombeo para los lenguajes regulares
4.1.2 Aplicaciones del lema de bombeo
4.2 Propiedades de clausura de los lenguajes regulares
4.2.1 Clausura de lenguajes regulares para las operaciones booleanas
4.2.2 Reflexin
4.2.3 Homomorfismo

Captulo 4: Propiedades de los lenguajes regulares

4.1 Cmo demostrar que un lenguaje no es regular

La clase de lenguajes conocida como lenguajes regulares tiene como mnimo cuatro descripciones diferentes: los
lenguajes aceptados por los AFD, los AFN y los AFN-E; tambin son los lenguajes definidos por las expresiones regulares.
No todo lenguaje es un lenguaje regular. El "lema de bombeo", nos va a permitir demostrar que determinados lenguajes no
son regulares.

4.1.1 El lema de bombeo para los lenguajes regulares

Teorema 4.1. (El lema de bombeo para lenguajes regulares) Sea L un lenguaje regular infinito. Existe entonces una
constante n (que depende de L, equivale al nmero de estados del AFD) tal que para toda cadena w perteneciente a L con |
w| n, podemos descomponer w en tres cadenas, w = xyz, tales que:
1. y .
2. |xy| n.
3. Para todo k 0, la cadena xykz tambin pertenece a L.

Siempre podemos hallar una cadena no vaca y no demasiado alejada del principio de w que pueda "bombearse", es decir,
si se repite y cualquier nmero de veces, o se borra (el caso en que k = 0), la cadena resultante tambin pertenece al
lenguaje L.

Ejemplo 4.2. Demostremos que el lenguaje Leq que consta de todas las cadenas con un nmero igual de
ceros que de unos (en ningn orden en particular) no es un lenguaje regular. Supongamos que n es la
constante que existira si Leq fuera regular, de acuerdo con el lema de bombeo; seleccionamos w = 0n1n,
es decir, n ceros seguidos de n unos, una cadena que seguramente pertenece a Leq. Dividimos w en xyz.
Como y y |xy| n y dado que xy procede del principio de w, sabemos que x e y constan slo de
ceros. El lema de bombeo nos dice que xz pertenece a Leq, si Leq es regular. Esta conclusin
corresponde al caso en que k = 0 en el lema de bombeo. Sin embargo, xz tiene n unos, ya que todos los
unos de w estn en z. Pero xz tambin tiene menos de n ceros, porque hemos perdido los ceros de y.
Puesto que y , sabemos que no puede haber ms de n - l ceros entre x y z. Por tanto, despus de
suponer que Leq es un lenguaje regular, hemos demostrado un hecho que sabemos que es falso, que xz
pertenece a Leq. Tenemos una demostracin por reduccin al absurdo del hecho de que Leq no es
regular.
Ejemplo 4.3. Vamos a demostrar que el lenguaje Lpr, que consta de todas las cadenas de unos cuya longitud es un nmero
primo no es un lenguaje regular. Supongamos que lo fuera. Entonces existira una constante n que satisfara las condiciones
del lema de bombeo. Consideremos un nmero primo p n + 2; que debe existir ya que hay un nmero infinito de primos.
Sea w = 1p.

Por el lema de bombeo, podemos dividir w = xyz tal que y y |xy| n. Sea |y| = m. Entonces |xz| = p-m. Consideremos
ahora la cadena xyp-mz, que debe pertenecer a Lpr de acuerdo con el lema de bombeo, si Lpr es realmente regular. Sin
embargo: |xyp-mz| = |xz| + (p - m)|y| = (p - m) + (p - m)m = (p m)(1 + m).

|xyp-mz| no es primo, ya que tiene dos factores y ninguno es igual a 1, puesto que 1 + m > 1, ya que y implica que m
1, y el otro factor, p - m >1, ya que hemos elegido p n + 2, con lo que p n 2 y m n puesto que m = |y| |xy| n, con
lo que p - m 2.

Hemos comenzado asumiendo que el lenguaje en cuestin era regular y hemos llegado a una contradiccin demostrando
que no pertenece al lenguaje una cadena que el lema de bombeo exiga que perteneciera al lenguaje.

1
4.2 Propiedades de clausura de los lenguajes regulares

Las propiedades de clausura expresan la idea de que cuando uno o varios lenguajes son regulares, entonces determinados
lenguajes relacionados tambin lo son.

l. La unin de dos lenguajes regulares es regular.


2. La interseccin de dos lenguajes regulares es regular.
3. El complementario de un lenguaje regular es regular.
4. La diferencia de dos lenguajes regulares es regular.
5. La reflexin de un lenguaje regular es regular.
6. La clausura (operador *) de un lenguaje regular es regular.
7. La concatenacin de lenguajes regulares es regular.
8. Un homomorfismo (sustitucin de smbolos por cadenas) de un lenguaje regular es regular.
9. El homomorfismo inverso de un lenguaje regular es regular.

4.2.1 Clausura de lenguajes regulares para las operaciones booleanas

Las primeras propiedades de clausura son las tres operaciones booleanas: unin, interseccin y complementacin:

l. Sean L y M lenguajes del alfabeto L. Luego L U M es el lenguaje que contiene todas las cadenas que pertenecen a L, a
M o a ambos.

2. Sean L y M lenguajes del alfabeto L. Luego L M es el lenguaje que contiene todas las cadenas que pertenecen tanto
a L como a M.
3. Sea L un lenguaje del alfabeto . Entonces L , el lenguaje complementario de L, es el conjunto de las cadenas
pertenecientes a * que no pertenecen a L.

Los lenguajes regulares son cerrados para las tres operaciones booleanas.

+ Clausura para la unin

Teorema 4.4. Si L y M son lenguajes regulares, entonces tambin lo es L U M.


Dado que L y M son regulares, pueden representarse mediante expresiones regulares; por ejemplo, L = L(R) y M = L(S).
Entonces L U M = L(R + S) de acuerdo con la definicin del operador + para las expresiones regulares.

+ Clausura para operaciones regulares

La demostracin de que los lenguajes regulares son cerrados para la unin ha sido excepcionalmente fcil, gracias a que
la unin es una de las tres operaciones que definen las expresiones regulares. La misma idea del Teorema 4.4 se aplica a la
concatenacin as como a la clausura. Es decir:
Si L y M son lenguajes regulares, entonces tambin lo es LM.
Si L es un lenguaje regular, entonces tambin lo es L*.

+ Clausura para la complementacin

Teorema 4.5. Si L es un lenguaje regular con el alfabeto , entonces L = * - L tambin es un lenguaje regular.
Sea L = L(A) para un AFD A = (Q, , , q0, F). Entonces L = L(B), donde B es el AFD (Q, , , q0, Q - F). Es decir, B
es exactamente como A, pero los estados de aceptacin de A tienen que ser estados de no aceptacin de B, y viceversa.
Entonces w pertenece a L(B) si y slo si (q0, w) pertenece a Q - F, lo que ocurre si y slo si w no pertenece a L(A).

Partiendo de una expresin regular, podramos encontrar otra para el lenguaje complementario de la forma siguiente:
l. Convertir la expresin regular en un AFN-.
2. Convertir dicho AFN- en un AFD.
3. Complementar los estados de aceptacin de dicho AFD. (Los que son de aceptacin dejan de serlo y viceversa).
4. Convertir el AFD complementado en una expresin regular.

Ejemplo 4.6. Sea A el autmata que acepta todas y slo las cadenas formadas por 0s y ls que terminan en 01; en forma de
expresin regular, L(A) = (0 + 1)*01. El complementario de L(A) est formado por tanto por todas las cadenas de 0s y ls que
no terminan en 01. En la figura se observa que el autmata A y el autmata para {0, l} * - L(A) son iguales, pero con el
estado de aceptacin transformado en un estado de no aceptacin, y los estados de no aceptacin convertidos en los de
aceptacin.

2
Ejemplo 4.7. Vamos a aplicar el Teorema 4.5 para demostrar que un cierto lenguaje no es regular. Consideremos el
lenguaje M formado por aquellas cadenas cuyo nmero de ceros y unos es distinto. Su complementario sera el lenguaje
formado por aquellas cadenas con mismo nmero de ceros que de unos, al que llamaremos L. M L y L M . Por el
lema de bombeo, vimos que L no es regular, y gracias al teorema 4.5 esto indica que M tampoco lo es.

+ Clausura para la interseccin

Una vez que disponemos de formas de realizar la complementacin y la unin, podemos obtener la interseccin de los
lenguajes L y M mediante la siguiente identidad: L M L M . En general, la interseccin de dos conjuntos es el
conjunto de elementos que no pertenecen al complementario de ninguno de los dos conjuntos. Esta es una de las leyes de
DeMorgan, cuya dual es L M L M .

Teorema 4.8. Si L y M son lenguajes regulares, entonces tambin lo es L M.


Sean L y M los lenguajes de los autmatas AL = (QL, , L, qL ,FL) y AM = (QM, , M, qM, FM). Para L M construiremos
un autmata A que simule tanto AL como AM. Los estados de A son parejas de estados, el primero de AL y el segundo de AM.
Para disear las transiciones de A, suponemos que ste se encuentra en el estado (p, q), donde p es el estado de AL y q es el
estado de AM. Si a es el smbolo de entrada, suponemos que AL ante la entrada a pasa al estado s. Supongamos tambin que
AM ante la entrada a hace una transicin al estado t. Luego el estado siguiente de A ser (s, t). De esta manera, A ha
simulado el efecto tanto de AL como de AM.

El estado inicial de A es la pareja formada por los estados iniciales de AL y AM. Puesto que queremos aceptar si y slo si
ambos autmatas aceptan, seleccionamos como estados de aceptacin de A a todas las parejas (p ,q) tales que p es un
estado de aceptacin de AL y q es un estado de aceptacin de AM. Formalmente, definimos:

Para ver por qu L(A) = L(AL) L(AM) , primero podemos fijamos que por induccin sobre |w| se demuestra que
((qL, qM), w) = (( (qL, w), ( (qM, w)). Pero A acepta w si y slo si ((qL, qM), w) es una pareja formada por estados de
aceptacin. Es decir, (qL, w) tiene que pertenecer a FL y (qM , w) tiene que pertenecer a FM. Dicho de otra manera, w es
aceptada por A si y slo si AL y AM la aceptan. Por tanto, A acepta la interseccin de L y M.

Ejemplo 4.9. Sean los autmatas (a) que solo acepta las cadenas que tienen al menos un cero, (b) que solo acepta las
cadenas que tienen al menos un uno, y (c) la interseccin de los dos.

El autmata (c) acepta la interseccin de los dos primeros lenguajes: aquellas cadenas que tienen tanto un 0 como un 1.
El estado pr slo representa la condicin inicial, en la que no tenemos ni 0 ni 1. El estado qr indica que slo tenemos un 0,
mientras que el estado ps representa la condicin de que slo hay un l. El estado de aceptacin qs representa la condicin
en la que se tiene tanto un 0 como un l.

+ Clausura para la diferencia

En trminos de lenguajes, L - M, la diferencia de L y M, es el conjunto de cadenas que pertenecen al lenguaje L pero no


al lenguaje M. Los lenguajes regulares tambin son cerrados para esta operacin.

Teorema 4.10. Si L y M son lenguajes regulares, entonces L - M tambin lo es.

3
Observe que L M L M . Por el Teorema 4.5, M es regular, y por el Teorema 4.8, L M es regular. Por tanto, L -
M es regular.

4.2.2 Reflexin

La reflexin de una cadena a1 a2...an es la cadena escrita en orden inverso, es decir, anan-1a1. Utilizamos wR para indicar
la cadena refleja de w. Luego, 0100R es 0010 y R = .

La reflexin de un lenguaje L, que se expresa como LR, es el lenguaje formado por las reflexiones de todas sus cadenas.

La reflexin es otra operacin para la que los lenguajes regulares son cerrados; es decir, si L es un lenguaje regular, LR
tambin lo es.

Dado un lenguaje L que es L(A) para un autmata finito, posiblemente no determinista y transiciones-, podemos
construir un autmata para LR de la forma siguiente:
l. Reflejamos todos los arcos del diagrama de transiciones de A.
2. Hacemos que el estado inicial de A sea el nico estado de aceptacin para el nuevo autmata.
3. Creamos un nuevo estado inicial p0 con transiciones sobre a todos los estados de aceptacin de A.

El resultado es un autmata que simula A "en sentido inverso" y que por tanto acepta una cadena w si y slo si A acepta
wR.

Teorema 4.11. Si L es un lenguaje regular, LR tambin lo es.


Supongamos que L est definido mediante la expresin regular E. La demostracin se hace por induccin estructural
sobre la construccin de E. Demostramos que existe otra expresin regular ER tal que L(ER) = (L(E))R; es decir, el lenguaje
de ER es la reflexin del lenguaje de E.

BASE. Si E es , o a, para algn smbolo a, entonces ER es igual que E. Es decir, sabemos que {}R = {}, R = y
{a}R = {a}.

PASO INDUCTIVO. Hay tres casos dependiendo de la forma de E.


l. E = E1 + E2. Luego ER = E1R + E2R.
2. E = E1E2. Entonces ER = E2RE1R.
3. E = E1*. Entonces ER = (E1R)*.
Ejemplo 4.12. Sea L un lenguaje definido mediante la expresin regular (0 + 1)0 *. Entonces LR es el lenguaje de (0 *)R(0 +
1)R = 0* (0 + 1).

4.2.3 Homomorfismo

Un homomorfismo de cadenas es una funcin sobre cadenas que sustituye cada smbolo por una cadena determinada.

Ejemplo 4.13. La funcin h definida por h(0) = ab y h(1) = es un homomorfismo. Dada cualquier cadena formada por
ceros y unos, todos los ceros se reemplazan por la cadena ab y todos los unos se reemplazan por la cadena vaca. Por
ejemplo, h aplicada a la cadena 0011 proporciona abab.

Formalmente, si h es un homomorfismo sobre el alfabeto y w = a1a2an es una cadena de smbolos perteneciente a L,


entonces h(w) = h(a1)h(a2)h(an).

Adems, podemos aplicar un homomorfismo a un lenguaje aplicndolo a cada una de las cadenas del lenguaje. Es decir,
si L es un lenguaje con un alfabeto y h es un homomorfismo sobre L, entonces h(L) = {h(w) | w pertenece a L}. Por
ejemplo, si L es el lenguaje de la expresin regular 10 *1, es decir, cualquier grupo de ceros rodeado por dos unos, entonces
h(L) es el lenguaje (ab)*.

Teorema 4.14. Si L es un lenguaje regular con el alfabeto y h es un homomorfismo sobre L, entonces h(L) tambin es
regular.

4.5 Resumen del Captulo 4

+ El lema de bombeo. Si un lenguaje infinito es regular, entonces toda cadena lo suficientemente larga del lenguaje tiene
una subcadena no vaca que puede ser "bombeada", es decir, repetida cualquier nmero de veces siempre y cuando las
cadenas resultantes pertenezcan tambin al lenguaje. Este hecho puede utilizarse para demostrar que muchos lenguajes no
son regulares. Cualquier lenguaje finito es regular.
4
+ Operaciones que conservan la regularidad. Existen muchas operaciones que, cuando se aplican a los lenguajes
regulares, proporcionan un lenguaje regular como resultado. Entre estas operaciones estn la unin, la concatenacin, la
clausura, la interseccin, la complementacin, la diferencia, la reflexin, el homomorfismo y el homomorfismo inverso.

You might also like