Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INAOE
Propedéutico 2020
1 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Capítulo 3
Expresiones y Lenguajes Regulares
2 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Outline I
1 Expresiones Regulares
Introducción
2 Los Operadores de las Expresiones Regulares
Ejemplos
3 Construyendo Expresiones Regulares
El Algebra
Ejemplos
4 Autómatas Finitos y Expresiones Regulares
De AFD’s a Expresiones Regulares
Convirtiendo un AFD a una ER
Convirtiendo AFD’s a ER por Eliminación de Estados
Ejemplo Eliminación de Estados
5 Convirtiendo una ER a un Autómata
6 Leyes Algebraicas para ERs
3 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Outline II
Identidades y Aniquiladores
Leyes Distributivas
Ley Idempotente
Cerraduras
4 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Expresiones Regulares
Introducción
Introducción
5 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Expresiones Regulares
Introducción
Introducción
6 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Expresiones Regulares
Introducción
Introducción
7 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Expresiones Regulares
Introducción
Introducción
8 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Expresiones Regulares
Introducción
Introducción
9 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Expresiones Regulares
Introducción
Introducción
10 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Los Operadores de las Expresiones Regulares
11 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Los Operadores de las Expresiones Regulares
Ejemplos
12 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Los Operadores de las Expresiones Regulares
Ejemplos
Cerradura Kleene φ
Sea L = φ, entonces
φ0 = f e g,
φ1 = φ,
φi = φ, i 1,
Luego
φ = feg
13 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Construyendo Expresiones Regulares
El Algebra
14 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Construyendo Expresiones Regulares
El Algebra
15 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Construyendo Expresiones Regulares
Ejemplos
16 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Construyendo Expresiones Regulares
Ejemplos
equivalentemente
(e + 1) (01) (e + 0)
17 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Construyendo Expresiones Regulares
Ejemplos
1 Estrella
2 Punto
3 Mas
Ejemplo 01 + 1 = 0(1) +1
18 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
Equivalencia entre AF y ER
19 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
De AFD’s a Expresiones Regulares
Equivalencia entre AF y ER I
Theorem
Si L = L(A) para algún AFD A, entonces existe una expresión
regular R tal que L(A) = L(R ).
20 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
De AFD’s a Expresiones Regulares
Equivalencia entre AF y ER II
21 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
De AFD’s a Expresiones Regulares
Equivalencia entre AF y ER IV
Rijk = Rijk 1
+ Rikk 1 (Rkk
k 1
) Rkjk 1
23 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
De AFD’s a Expresiones Regulares
Equivalencia entre AF y ER V
24 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
Convirtiendo un AFD a una ER
AFD a ER
Encuentre la expresión regular del AFD A donde
L(A) = fx0y j x 2 f1g y y 2 f0, 1g g
25 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
Reglas de Simpli…cación
1 (e + R ) = R
2 R + RS = RS
3 φR = Rφ = φ
4 φ+R = R +φ = R
26 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
AFD a ER (continuación)
27 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
AFD a ER (continuación)
28 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
AFD a ER (continuación)
29 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
Observaciones
30 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
Observaciones
31 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
Observaciones
32 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
Observaciones
33 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
Convirtiendo AFD’s a ER por Eliminación de Estados
por cada estado aceptado q elimine del autómata original todos los
estados excepto q0 y q.
35 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
Convirtiendo AFD’s a ER por Eliminación de Estados
que corresponde a la ER Eq = R .
36 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
Convirtiendo AFD’s a ER por Eliminación de Estados
37 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
Ejemplo Eliminación de Estados
38 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
Ejemplo Eliminación de Estados
Elimínanos el estado B
39 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
Ejemplo Eliminación de Estados
cuya ER es
(0 + 1) 1(0 + 1)(0 + 1)
40 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
Ejemplo Eliminación de Estados
41 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Autómatas Finitos y Expresiones Regulares
Ejemplo Eliminación de Estados
cuya ER es
(0 + 1) (0 + 1)
(0 + 1) 1(0 + 1)(0 + 1) + (0 + 1) (0 + 1)
42 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Convirtiendo una ER a un Autómata
ER a Autómata
Theorem
Para cada ER R que de…ne el lenguaje L(R ) se puede construir un
2 AFND A tal que L(A) = L(R ).
43 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Convirtiendo una ER a un Autómata
Demostración ER a Autómata I
Demostración. Supongamos que L(R ) es un lenguaje para la ER
R. Demostraremos que el L(E ) asociado a algún 2 AFND
coincide con L(R ) si se satisface las condiciones
1 2 AFND tiene un único estado aceptado
2 No hay arcos en el estado inicial.
3 No hay arcos fuera del estado aceptado.
Base: Autómatas para 2, φ, a
44 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Convirtiendo una ER a un Autómata
Demostración ER a Autómata II
45 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Convirtiendo una ER a un Autómata
46 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Convirtiendo una ER a un Autómata
Demostración ER a Autómata IV
47 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Convirtiendo una ER a un Autómata
Ejemplo ER a Autómata I
Convertir la ER (0 + 1) 1(0 + 1)
Suma 0 + 1
48 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Convirtiendo una ER a un Autómata
Ejemplo ER a Autómata II
Estrella (0 + 1)
49 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Convirtiendo una ER a un Autómata
50 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Leyes Algebraicas para ERs
La unión es conmutativa L + M = M + L
La unión es asociativa (L + M ) + N = L + (M + N )
Concatenación es asociativa (LM )N = L(MN )
La concatenación no es conmutativa LM 6= ML, ejemplo
01 6= 10
51 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Leyes Algebraicas para ERs
Identidades y Aniquiladores
Identidades y Aniquiladores
52 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Leyes Algebraicas para ERs
Leyes Distributivas
Identidades y Aniquiladores
53 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Leyes Algebraicas para ERs
Ley Idempotente
Idempotente
54 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Leyes Algebraicas para ERs
Cerraduras
Cerraduras
(L ) = L .
φ = f e g, f e g = f e g
L+ = LL = L L, L = L + e
55 / 56
Introducción a la Teoría de Autómatas, Lenguajes y Computación
Leyes Algebraicas para ERs
Cerraduras
Demostración Idempotente
Demostraremos que (L ) = L .
Demostración. Sea
!i
∞
[ ∞
[
w 2 (L ) , w 2 Lj
i =0 0 j =0
56 / 56