Está en la página 1de 52

Expresiones

Regulares
Operadores y
Operandos

Expresiones Regulares

Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Leopoldo Altamirano, Eduardo Morales


INAOE

Verano, 2011

(INAOE)

Verano, 2011

1 / 52

Contenido
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

1 Expresiones Regulares

2 Operadores y Operandos

3 Equivalencia de Lenguajes de FA y Lenguajes RE

4 Leyes Algebraicas de las Expresiones Regulares

(INAOE)

Verano, 2011

2 / 52

Expresiones Regulares

Expresiones Regulares
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Es un equivalente algebraico para un automata.


Utilizado en muchos lugares como un lenguaje para

describir patrones en texto que son sencillos pero muy


utiles.

Pueden definir exactamente los mismos lenguajes que

los automatas
pueden describir: Lenguajes regulares
Ofrecen algo que los automatas

no: Manera declarativa


de expresar las cadenas que queremos aceptar

(INAOE)

Verano, 2011

3 / 52

Expresiones Regulares

Expresiones Regulares
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Ejemplos de sus usos


Comandos de busqueda,

e.g., grep de UNIX


Sistemas de formateo de texto: Usan notacion
de tipo
regular para describir patrones
expresion
Convierte la expresion
regular a un DFA o un NFA y

simula el automata
en el archivo de busqueda

Generadores de analizadores-lexicos.

Como Lex o Flex.


Los analizadores lexicos

son parte de un compilador.

Dividen el programa fuente en unidades logicas


(tokens). Tokens como while, numeros,

signos (+, , <,


etc.)
Produce un DFA que reconoce el token

(INAOE)

Verano, 2011

4 / 52

Expresiones Regulares

Expresiones Regulares
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Las expresiones regulares denotan lenguajes. Por

regular: 01 + 10 denota todas


ejemplo, la expresion
las cadenas que son o un 0 seguido de cualquier
cantidad de 1s o un 1 seguida de cualquier cantidad de
0s.
Operaciones de los lenguajes:
1
2
3

(INAOE)

Si L y M son dos lenguajes, su union


se denota
Union:
por L M
La concatenacion
es: LM o L.M
Concatenacion:
Cerradura (o cerradura de Kleene): Si L es un lenguaje
su cerradura se denota por: L .

Verano, 2011

5 / 52

Operadores y Operandos

Expresiones Regulares
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

regular, entonces L(E ) denota el


Si E es una expresion
lenguaje que define E . Las expresiones se construyen de la
manera siguiente:
1

(INAOE)

Las constantes y son expresiones regulares que


representan a los lenguaje L() = {} y L() =
respectivamente
regular
Si a es un smbolo, entonces es una expresion
que representan al lenguaje: L(a) = {a}

Verano, 2011

6 / 52

Operadores y Operandos

Operandos
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Si E y F son expresiones regulares, entonces E + F


lo es denotando la union
de L(E ) y L(F ).
tambien
L(E + F ) = L(E ) L(F ).

Si E y F son expresiones regulares, entonces EF


lo es denotando la concatenacion
de L(E ) y
tambien
L(F ). L(EF ) = L(E )L(F ).
regular, entonces E tambien
lo
Si E es una expresion
es y denota la cerradura de L(E ). Osea
L(E ) = (L(E ))
regular, entonces (E ) tambien
lo
Si E es una expresion
es. Formalmente: L((E )) = L(E ).

(INAOE)

Verano, 2011

7 / 52

Operadores y Operandos

Precedencia
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

1
2

(INAOE)

El asterisco de la cerradura tiene la mayor precedencia


sigue en precedencia a la cerradura, el
Concatenacion
es asociativa y se
operador dot. Concatenacion
sugiere agrupar desde la izquierda (i.e. 012 se agrupa
(01)2).
(operador +) tiene la siguiente precedencia,
La union
es asociativa.
tambien

Los parentesis
pueden ser utilizados para alterar el
agrupamiento

Verano, 2011

8 / 52

Operadores y Operandos

Ejemplos
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE

L(001) = 001.

Leyes
Algebraicas
de las
Expresiones
Regulares

L((0(0 + 1)) ) = el conjunto de cadenas de 0s y 1s, de

L(0 + 10 ) = {0, 1, 10, 100, 1000, . . .}.

impar
longitud par, de tal manera que cada posicion
tenga un 0.
Expresion
regular de cadenas que alterna 0s y 1s:
1
2

(INAOE)

1)
(01) + (10) + 0(10) + 1(01) (opcion
2)
( + 1)(01) ( + 0) (opcion

Verano, 2011

9 / 52

Operadores y Operandos

Ejemplos
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

(INAOE)

regular para el conjunto de


Encuentra la expresion
cadenas sobre el alfabeto {a, b, c} que tiene al menos
una a y al menos una b
regular para el conjunto de
Encuentra la expresion
cadenas de 0s y 1s tal que cada par de 0s adyacentes
aparece antes de cualquier par de 1s adyacentes

Verano, 2011

10 / 52

Operadores y Operandos

Soluciones
Expresiones
Regulares
Operadores y
Operandos

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


Osea, cuando la primera a esta antes que la primera b
o cuando la primera b esta antes de la primera a

(10 + 0) ( + 1)(01 + 1) ( + 1)
(10 + 0) ( + 1) es el conjunto de cadenas que no
tienen dos 1s adyacentes. La segunda parte es el
conjunto de cadenas que no tienen dos 0s adyacentes.
De hecho + 1 lo podramos eliminar porque se puede
obtener el 1 de lo que sigue, por lo que podemos
simplificarlo a: (10 + 0) (01 + 1) ( + 1)

Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

(INAOE)

Verano, 2011

11 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

Equivalencia de Lenguajes de FA y
Lenguajes RE

Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Se mostrara que un NFA con transiciones- puede

aceptar el lenguaje de una RE.


Despues,
se mostrara que un RE puede describir el
funciona
lenguaje de un DFA (la misma construccion
para un NFA).
Los lenguajes aceptados por DFA, NFA, -NFA, RE son

llamados lenguajes regulares.

(INAOE)

Verano, 2011

12 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

De DFAs a Expresiones Regulares


Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Teorema 3.4: Si L = L(A) para algun


DFA A, entonces
regular R tal que L = L(R).
existe una expresion
Prueba: Suponiendo que A tiene estados {1, 2, . . . , n}, n
de RE que
finito. Tratemos de construir una coleccion
describan progresivamente conjuntos de rutas del diagrama
de transiciones de A
(k )

Rij

es el nombre de la RE cuyo lenguaje es el


conjunto de cadenas w .

w es la etiqueta de la ruta del estado i al estado j de A.

Esta ruta no tiene estado intermedio mayor a k. Los


estados inicial y terminal no son intermedios, i y/o j
pueden ser igual o menores que k

(INAOE)

Verano, 2011

13 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

De DFAs a Expresiones Regulares


Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

(k )

Para construir Rij

inductiva de
se utiliza una definicion

k = 0 hasta k = n

BASE: k = 0, implica que no hay estados intermedios.

dos clases de rutas cumplen con esta condicion:

Solo
1
2

Un arco del nodo (estado) i al nodo j


Una ruta de longitud 0 con un solo nodo i

Si i 6= j, solo el caso 1 es posible.

(INAOE)

Verano, 2011

14 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

De DFAs a Expresiones Regulares


Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Examinar el DFA A y encontrar los smbolos de entrada a tal


del estado i al estado j con el
que hay una transicion
smbolo a
(0)

Si no hay smbolo a, entonces Rij

= .
(0)

Si hay solo
un smbolo a, entonces Rij

= a.

Si hay varios smbolos a1 , a2 , . . . , ak , entonces


(0)

Rij

(INAOE)

= a1 + a2 + . . . + ak .

Verano, 2011

15 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

De DFAs a Expresiones Regulares


Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

se permiten rutas de longitud 0 y ciclos del


Si i = j, solo
mismo.
estado i a el
La ruta de longitud 0 se representa con
(0)

Si no hay smbolo a, entonces Rij

= .
(0)

Si hay solo
un smbolo a, entonces Rij

= + a.

Si hay varios smbolos a1 , a2 , . . . , ak , entonces


(0)

Rij

(INAOE)

= + a1 + a2 + . . . + ak .

Verano, 2011

16 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

De DFAs a Expresiones Regulares


Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

INDUCCION:
Suponemos que hay una ruta del estado i al
estado j que no pasa por ningun
estado mayor que k.
Se consideran 2 casos.
1

La ruta no pasa por el estado k: La etiqueta de la ruta


(k 1)
esta en el lenguaje Rij
.

La ruta pasa por el estado k al menos una vez:


Se divide la ruta en varias partes, una division
cada que

se pasa por el estado k


Primero del estado i al estado k , despues,
varios pasos

del estado k a s mismo, finalmente, del estado k al


estado j.

Las etiquetas de estas rutas se representan con la RE:


(k 1)
(k 1)
(k 1)
Rik
(Rkk ) Rkj

(INAOE)

Verano, 2011

17 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

De DFAs a Expresiones Regulares


Expresiones
Regulares
Operadores y
Operandos

Si combinamos las expresiones de las rutas de los dos


(k )

Leyes
Algebraicas
de las
Expresiones
Regulares

(k 1)

(k 1)

(k 1)

(k 1)

tipos: Rij = Rij


+ Rik
(Rkk ) Rkj
para todas
las etiquetas de las rutas del estado i al j que no pasan
por estados mayores que k.

Equivalencia
de Lenguajes
de FA y
Lenguajes RE

(n)

Eventualmente tendremos Rij .


Asumimos que 1 es el estado inicial. El estado de

puede ser un conjunto de estados La


aceptacion
regular para el lenguaje del automata

expresion
es la
(n)
de todas las expresiones R1j tal que j es
suma (union)

un estado de aceptacion.

(INAOE)

Verano, 2011

18 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

Ejemplo
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE

Un DFA que acepta todas las cadenas que tienen al menos


un 0

Leyes
Algebraicas
de las
Expresiones
Regulares

(INAOE)

Verano, 2011

19 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

Ejemplo
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

(0)

Inicialmente sustituimos para la base: (i) Rij


(0)
Rij
(0)
R11
(0)
R12
(0)
R21
(0)
R22

(INAOE)

= + a y (iii)

(0)
Rij

= , (ii)

= + a1 + a2 + . . . + ak

=+1
=0
=
= ( + 0 + 1)

Verano, 2011

20 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

Ejemplo
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Ahora para el paso de induccion:


(1)
(0)
(0)
(0)
(0)
Rij = Rij + Ri1 (R11 ) R1j
directa
Por sustitucion
(1)
R11 = + 1 + ( + 1)( + 1) ( + 1)
(1)
R12 = 0 + ( + 1)( + 1) 0
(1)
R21 = + ( + 1) ( + 1)
(1)
R22 = + 0 + 1 + ( + 1) 0

(INAOE)

Simplificado
1
1 0

+0+1

Verano, 2011

21 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

Ejemplo
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

(2)

Rij

(2)
R11
(2)
R12
(2)
R21
(2)
R22

(INAOE)

(1)

= Rij
=
=
=
=

(1)

(1)

(1)

+ Ri2 (R22 ) R2j


directa
Por sustitucion

1 + 1 0( + 0 + 1)
1 0 + 1 0( + 0 + 1) ( + 0 + 1)
+ ( + 0 + 1)( + 0 + 1)
+ 0 + 1 + ( + 0 + 1)( + 0 + 1)
( + 0 + 1)

Simplificado
1
1 0(0 + 1)

(0 + 1)

Verano, 2011

22 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

de la RE final
Construccion
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

de todas las expresiones donde el primer estado es el


Union

estado inicial y el segundo el estado de aceptacion


Estado inicial: 1
Estado final: 2
(2)

Solo
necesitamos R12
1 0(0 + 1)

para NFA y -NFA pero su


Este metodo
funciona tambien
es muy costosa, hasta en el orden de 4n
construccion
smbolos.

(INAOE)

Verano, 2011

23 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

Ejemplo
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

de un DFA:
Dada la tabla de transicion
0
1
q1 q2 q1
q2 q3 q1
q3 q3 q2
(0)

a) Dar todas las expresiones regulares para Rij

(1)

b) Dar todas las expresiones regulares para Rij

(INAOE)

Verano, 2011

24 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

de un DFA a una RE por


Conversion
de Estados
Eliminacion

Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Evita duplicar trabajo en algunos puntos del teorema

anterior
Ahora utilizaremos automatas

tener RE
que podran

como etiquetas.
El lenguaje del automata

de todas las rutas


es la union

que van del estado inicial a un estado de aceptacion.


Concatenando los lenguajes de las RE que van a traves

de la ruta.
En la siguiente figura se muestra un automata

al cual se

va a eliminar el estado s.

(INAOE)

Verano, 2011

25 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

de un DFA a una RE por


Conversion
de Estados
Eliminacion

Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

(INAOE)

Verano, 2011

26 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

de un DFA a una RE por


Conversion
de Estados
Eliminacion

Expresiones
Regulares
Operadores y
Operandos

Se eliminan todos los arcos que incluyen a s

Equivalencia
de Lenguajes
de FA y
Lenguajes RE

Se introduce, para cada predecesor qi de s y cada

Leyes
Algebraicas
de las
Expresiones
Regulares

sucesor pj de s, una RE que representa todas las rutas


hacen un loop en s
que inician en qi , van a s, quizas
veces, y finalmente van a pj .
cero o mas
La expresion
para estas rutas es Qi S Pj .
Esta expresion
se suma (con el operador union)
al arco

que va de qi a pj .
Si este arco no existe, se anade

primero uno con la RE

El automata

de la eliminacion
de s
resultante despues

es el siguiente:
(INAOE)

Verano, 2011

27 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

de un DFA a una RE por


Conversion
de Estados
Eliminacion

Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

(INAOE)

Verano, 2011

28 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

Estrategia para construir el automata


Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

(INAOE)

q, aplicar el proceso
Para cada estado de aceptacion
para producir un automata

de reduccion
equivalente
con RE como etiquetas en los arcos. Eliminar todos los
estados excepto q y el estado inicial q0 .

Si q 6= q0 , se genera un automata
con 2 estados como
el siguiente, una forma de describir la RE de este

automata
es (R + SU T ) SU

Verano, 2011

29 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

Estrategia para construir el automata


Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Si el estado inicial tambien


es un estado de aceptacion,

se debe hacer una eliminacion


de estados del
tambien

automata
original que elimine todos los estados menos

el inicial y dejamos un automata


como el siguiente:

(INAOE)

Verano, 2011

30 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

Estrategia para construir el automata


Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

La RE final es la suma (union)


de todas las expresiones

derivadas del automata


reducido para cada estado de
por las reglas 2 y 3.
aceptacion

(INAOE)

Verano, 2011

31 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

Ejemplo
Expresiones
Regulares
Operadores y
Operandos

Para el siguiente NFA que acepta cadenas de 0s y 1s de


manera que tienen un 1 dos o tres posiciones antes del final.

Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

(INAOE)

Verano, 2011

32 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

Convirtiendo una RE a un Automata


Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Teorema 3.7: Todo lenguaje definido por una RE tambien

esta definido por un automata


finito.
regular R.
Prueba: Suponemos L = L(R) para la expresion
Mostramos que L = L(E ) para algun
-NFA E con:

1 Exactamente un estado de aceptacion


2

Sin arcos que lleguen al estado inicial

Sin arcos que salgan del estado de aceptacion

(INAOE)

Verano, 2011

33 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

Convirtiendo una RE a un Automata


Expresiones
Regulares
Operadores y
Operandos

Base: cumpliendo las condiciones 1, 2, y 3.

Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

(INAOE)

Verano, 2011

34 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

Convirtiendo una RE a un Automata


Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE

Induccion:
a)

Leyes
Algebraicas
de las
Expresiones
Regulares

(INAOE)

Verano, 2011

35 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

Convirtiendo una RE a un Automata


Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

b)

(INAOE)

Verano, 2011

36 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

Convirtiendo una RE a un Automata


Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE

c)

Leyes
Algebraicas
de las
Expresiones
Regulares

(INAOE)

Verano, 2011

37 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

Convirtiendo una RE a un Automata


Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

d)

(INAOE)

Verano, 2011

38 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

Ejemplo
Expresiones
Regulares

Convertir la RE (0 + 1) 1(0 + 1) a un -NFA.

Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

(INAOE)

Verano, 2011

39 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

Ejemplo
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

de un DFA:
Dada la siguiente tabla de transicion
0
1
q1 q2 q1
q2 q3 q1
q3 q3 q2
(0)

Dar las expresiones regulares para Rij

(1)

Dar las expresiones regulares para Rij

y simplificar las

expresiones
Construir el diagrama de transicion
para el DFA y dar la

regular de su lenguaje eliminando el estado


expresion
q2

(INAOE)

Verano, 2011

40 / 52

Equivalencia de Lenguajes de FA y Lenguajes RE

Ejemplo
Expresiones
Regulares

regular a un NFA con


Convierte la siguiente expresion

transiciones : 01

Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

(INAOE)

Verano, 2011

41 / 52

Leyes Algebraicas de las Expresiones Regulares

Asociatividad y Conmutatividad
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Existen un conjunto de leyes algebracas que se pueden


utilizar para las expresiones regulares:
Ley conmutativa para la union:
L+M =M +L
Ley asociativa para la union:
(L + M) + N = L + (M + N)
Ley asociativa para la concatenacion:
(LM)N = L(MN)

no es conmutativa, es decir
NOTA: La concatenacion
LM 6= ML

(INAOE)

Verano, 2011

42 / 52

Leyes Algebraicas de las Expresiones Regulares

Identidades y Aniquiladores
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Una identidad para un operador es un valor tal que

cuando el operador se aplica a la identidad y a algun

otro valor, el resultado es el otro valor.


0 es la identidad para la adicion:
0 + x = x + 0 = x.
1 es la identidad para la multiplicacion:

1x =x 1=x

(INAOE)

Verano, 2011

43 / 52

Leyes Algebraicas de las Expresiones Regulares

Identidades y Aniquiladores
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Un aniquilador para un operador es un valor tal que

cuando el operador se aplica al aniquilador y algun


otro
valor, el resultado es el aniquilador.
0 es el aniquilador para la multiplicacion:

0x =x 0=0
No hay aniquilador para la suma

(INAOE)

Verano, 2011

44 / 52

Leyes Algebraicas de las Expresiones Regulares

Identidades y Aniquiladores
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

es la identidad para la union:


+L=L+=L
es la identidad para la concatenacion:
L = L = L
es el aniquilador para la concatenacion:
L = L =

NOTA: Estas leyes las utilizamos para hacer simplificaciones

(INAOE)

Verano, 2011

45 / 52

Leyes Algebraicas de las Expresiones Regulares

Leyes Distributivas
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Como la concatenacion
no es conmutativa, tenemos

dos formas de la ley distributiva para la concatenacion:


Ley Distributiva Izquierda para la concatenacion
sobre
L(M + N) = LM + LN
union:
Ley Distributiva Derecha para la concatenacion
sobre
(M + N)L = ML + NL
union:

(INAOE)

Verano, 2011

46 / 52

Leyes Algebraicas de las Expresiones Regulares

Ley de Idempotencia
Expresiones
Regulares
Operadores y
Operandos

Se dice que un operador es idempotente (idempotent)

Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

si el resultado de aplicarlo a dos argumentos con el


mismo valor es el mismo valor
En general la suma no es idempotente: x + x 6= x

(aunque para algunos valores s aplica como 0 + 0 = 0)


En general la multiplicacion
tampoco es idempotente:
x x 6= x
La union
e interseccion
son ejemplos comunes de
operadores idempotentes. Ley idempotente para la
L+L =L
union:

(INAOE)

Verano, 2011

47 / 52

Leyes Algebraicas de las Expresiones Regulares

Leyes que involucran la cerradura


Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

(L ) = L (Idempotencia para la cerradura)


=
=
L+ = LL = L L, L+ se define como L + LL + LLL + . . .
L = + L + LL + LLL + . . .
LL = L + LL + LLL + LLLL + . . .
L = L+ +
L? = + L

(INAOE)

Verano, 2011

48 / 52

Leyes Algebraicas de las Expresiones Regulares

Descubriendo leyes para RE


Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Se puede proponer una variedad infinita de leyes para

RE
Se reduce a probar la igualdad de dos lenguajes

especficos
Ejemplo: probar que (L + M) = (L M )
Para esto, probamos que las cadenas que estan
en

estan
en (L M ) , y
(L + M) tambien
Probamos que las cadenas que estan
en (L M )
estan
en (L + M)
tambien

(INAOE)

Verano, 2011

49 / 52

Leyes Algebraicas de las Expresiones Regulares

Descubriendo leyes para RE


Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Cualquier RE con variables se puede ver como una RE

concreta sin variables, viendo cada variable como si


fuera un smbolo diferente
La expresion
(L + M) se puede ver como (a + b) .
Utilizamos esta forma como una gua para concluir
sobre los lenguajes.
Podemos analizar el lenguaje que nos describe:

(a + b)
Y analizar el lenguaje que nos describe: (a b )

(INAOE)

Verano, 2011

50 / 52

Leyes Algebraicas de las Expresiones Regulares

Pasos de Prueba
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Para probar una Ley Algebraica para una RE:


PASOS:
1

Convertir E y F a RE concretas C y D,
respectivamente, reemplazando cada variable por un
smbolo concreto.

Probar si L(C) = L(D). Si es cierto, entonces E = F es


una ley verdadera y si no, la ley es falsa.

Ejemplo: L = L L

(INAOE)

Verano, 2011

51 / 52

Leyes Algebraicas de las Expresiones Regulares

Ejemplos
Expresiones
Regulares
Operadores y
Operandos
Equivalencia
de Lenguajes
de FA y
Lenguajes RE
Leyes
Algebraicas
de las
Expresiones
Regulares

Probar que se cumple o no se sumple:


R+S =S+R
(R ) = R
(R + S) = R + S
S(RS + S) R = RR S(RR S)

(INAOE)

Verano, 2011

52 / 52

También podría gustarte