Sie sind auf Seite 1von 16

Robn Pea 12-0914

Noel Gutirrez 12-0723


Lenguajes Regulares
Los lenguajes regulares se llaman as porque sus palabras contienen regularidades
o repeticiones de los mismos componentes, como por ejemplo en el lenguaje L1
siguiente:

L1 = {ab, abab, ababab, abababab, . . .}

Definicon.- Un lenguaje L es regular si y slo si se cumple al menos una de las
condiciones siguientes:

L es finito;

L es la unin o la concatenacin de otros lenguajes regulares R1 y R2, L = R1 [
R2 o L = R1R2 respectivamente.

L es la cerradura de Kleene de algun lenguaje regular, L = R.


Definicin.- Sea un alfabeto. El conjunto ER de las
expresiones regulares sobre contiene las cadenas en el
alfabeto [ {^, +, , , (, ), } que cumplen con lo
siguiente:

1. ^ y 2 ER
2. Si 2 , entonces 2 ER.
3. Si E1,E2 2 ER, entonces (E1+E2) 2 ER, (E1E2) 2
ER, (E1)
2 ER.
Las comillas enfatizan el hecho de que estamos
definiendo cadenas de texto, no expresiones matemticas 3.
Es la misma diferencia que hay entre el carcter ASCII 0,
que se puede teclear en una terminal, y el nmero 0, que
significa que se cuenta un conjunto sin ningn elemento.
Las ER son simplemente formulas cuyo propsito es
representar cada una de ellas un lenguaje. As, el
significado de una ER es simplemente el lenguaje que ella
representa.

Por ejemplo, la ER representa el conjunto vaco {}.

1. L() = ; (el conjunto vaco)
2. L(^) = {"}
3. L() = {}, 2 .
4. L((RS) ) = L(R)L(S),R, S 2 ER
5. L( (R+S) ) = L(R) [ L(S),R, S 2 ER
6. L( (R) ) = L(R),R 2 ER
Ejemplo.- Obtener una ER para el lenguaje en el alfabeto {a, b, c} en que las palabras contienen
exactamente una vez dos b contiguas. Por ejemplo, las palabras aabb, babba, pertenecen al lenguaje, pero no aaba,
abbba ni bbabb.

Para resolver este problema, expresamos primero la estructura de la ER de la manera
siguiente:

< contexto1 > bb < contexto2 >

Podemos ver que en esta expresin aparecen directamente las bb que deben estar en la ER, rodeadas por otras dos ER,
que son < contexto1 > y < contexto2 >. Ahora el problema es determinar que ER corresponden a < contexto1 > y <
contexto2 >, lo cual es un su problema del problema original. El lenguaje de < contexto1 > comprende a las palabras
que no tienen bb y adems no terminan en b. Esto es equivalente a decir que toda b esta seguida de una a o una c.

Esto quiere decir que la ER de este contexto va ser de la forma:
(. . . b(a + c) . . .)

donde los detalles que faltan estn representados por las . . .. Lo que falta por considerar
es que puede haber cualquier cantidad de as o cs en el < contexto1 >, por lo que dicho
contexto queda como:

(b(a + c) + a + c)

Similarmente se puede obtener la expresin para < contexto2 >, que es (a + c + (a + c)b),
por lo que finalmente la ER del problema es:
(b(a + c) + a + c)bb(a + c + (a + c)b)
1. R + S = S + R, (R + S) + T = R + (S + T), R + = + R = R, R + R = R
2. R ^ = ^ R = R, R = R = , (R S) T = R (S T)
3. R (S + T) = R S + R T, (S + T) R = S R + T R
4. R = R R = (R) = (^ + R), = ^ = "
5. R = ^ + RR
6. (R + S) = (R + S) = (RS) = (RS)R = R(SR) 6= R + S
7. RR = RR, R(SR) = (RS)R
8. (RS) = ^ + (R + S)S, (RS) = ^ + R(R + S)
9. R = SR + T ssi R = ST, R = RS + T ssi R = TS
Por ejemplo, el conjunto de todas las palabras formadas por as y
bs, que es el conjunto infinito {", a, b, ab, ba, aaa, aab, . . .},
puede ser representado mediante la cadena de caracteres {a,
b}, que es una palabra formada por caracteres del alfabeto
{a,b,{,},, , }. Como vemos en este ejemplo, una cadena de
caracteres de 6 caracteres puede representar todo un lenguaje
infinito.

Teorema.- El conjunto de los lenguajes en un alfabeto finito es
incontable.
Teorema de Kleene.- Un lenguaje es regular si y solo si es
aceptado por algn autmata finito.


Una posible solucin es el uso de las graficas de transicin. Estas ultimas son esencialmente AFN en
que las etiquetas de las flechas tienen expresiones regulares, en lugar de palabras. Las graficas de
transicin (GT) son por lo tanto quntuplos (K,,, s, F) en donde 2 K ER K.

Los AFN son un subconjunto propio de las GT, puesto que las palabras en las etiquetas de un AFN
pueden ser vistas como expresiones regulares que se representan as mismas.



Un procedimiento para hacerlo consiste en ir
eliminando gradualmente nodos de una GT,
que inicialmente es el AFN que se quiere
transformar, hasta que nicamente queden un
nodo inicial y un nodo nal.
1. El primer paso en este procedimiento
consiste en aadir al autmata nito un
nuevo estado inicial i, mientras que el
antiguo estado inicial q0 deja de ser inicial,
y un nuevo estado nal f, mientras que los
antiguos estados nales qi F dejan de ser
nales;
2. El segundo paso consiste en eliminar
nodos intermedios en la GT.
Una gramtica es un conjunto de reglas para
formar correctamente las frases de un lenguaje; as
tenemos la gramtica del espaol, del francs, etc

Una regla es una expresin de la forma , en
donde tanto como son cadenas de smbolos en
donde pueden aparecer tanto elementos del alfabeto
como unos nuevos smbolos, llamados variables.

Los smbolos que no son variables son constantes.
Formalizamos estas nociones con las siguientes
deniciones:

Denicin.- Una gramtica regular es un
cudruplo (V, , R, S) en donde:
V es un alfabeto de variables,
es un alfabeto de constantes,
R, el conjunto de reglas, es un subconjunto nito
de V (V ).
S, el smbolo inicial, es un elemento de V
Teorema.- La clase de los lenguajes generados
por alguna gramtica regular es exactamente
la de los lenguajes regulares.
Limitaciones de los lenguajes
regulares
Los AF estn limitados a los estados de que
disponen como nico medio para recordar la
serie de smbolos recibidos hasta un momento dado.
Teorema.- Si L es un lenguaje regular innito,
entonces existen cadenas x, y, z tales que
y 6= , y xynz L, para algn n 0.

Lo que este resultado establece es que,
suponiendo que cierto lenguaje es regular,
entonces forzosamente dicho lenguaje debe
contener palabras en que una subcadena se
repite cualquier nmero de veces.

Das könnte Ihnen auch gefallen