Tema 5: Expresiones Regulares -...
Transcript of Tema 5: Expresiones Regulares -...
![Page 1: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/1.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Tema 5: Expresiones Regulares
U.D. Computacion
DSIC - UPV
3 de marzo de 2011
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 1 / 40
![Page 2: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/2.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Indice
Definiciones
Propiedades
Construcciones sobre expresiones regulares
Sıntesis de automatas finitos
Analisis de automatas finitos
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 2 / 40
![Page 3: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/3.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Definiciones
Inductivamente, una expresion regular sobre Σ se define:
∅ denota el lenguaje vacioλ denota el lenguaje {λ}∀a ∈ Σ, a denota el lenguaje {a}Si r y s son expresiones regulares que denotan Lr y Ls :
(r) denota el lenguaje Lr
r + s denota el lenguaje Lr ∪ Ls
rs denota el lenguaje LrLs
(r)∗ denota el lenguaje L∗r
Solo son expresiones regulares las construidas de esta forma
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 3 / 40
![Page 4: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/4.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Propiedades
Sean α, β y γ expresiones regulares
1 α + (β + γ) = (α + β) + γ2 α(βγ) = (αβ)γ3 α + β = β + α4 α(β + γ) = (αβ) + (αγ)5 (α + β)γ = (αγ) + (βγ)6 αλ = λα = α7 α + ∅ = ∅ + α = α8 α∅ = ∅α = ∅9 λ∗ = λ10 ∅∗ = λ11 α∗ = λ + αα∗
12 (α∗ + β∗)∗ = (α∗β∗)∗ = (α + β)∗
13 (αβ)∗α = α(βα)∗
14 (α∗β)∗α∗ = (α + β)∗
15 (α∗β)∗ = (α + β)∗β + λ
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 4 / 40
![Page 5: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/5.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Construcciones
Homomorfismo
Reverso
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 5 / 40
![Page 6: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/6.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Construcciones
HomomorfismoDada una expresion regular α y un homomorfismoh : Σα → ∆, para obtener una expresion regular parah(L(α)), basta sustituir cada sımbolo a de α por h(a)
Por ejemplo, considerando α = a(bb∗ + (aa)∗)∗b y elhomomorfismo: h(a) = 0 y h(b) = 11, la expresion regularpara h(L(α)) serıa:
0(11(11)∗ + (00)∗)∗11
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 6 / 40
![Page 7: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/7.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Construcciones
ReversoDada una expresion regular α, para obtener una expresionregular αr tal que L(αr ) = (L(α))r , aplicamosrecursivamente las siguientes reglas:
Si α = ∅, α = λ o α = a ∈ Σ, entonces αr = αSi α = β + γ, entonces αr = βr + γr
Si α = βγ, entonces αr = γrβr
Si α = β∗, entonces αr = (βr )∗
Por ejemplo, considerando α = a(b(a + b)∗ + (bba)∗)∗b,la expresion regular para (L(α))r serıa:
αr = b((a + b)∗b + (abb)∗)∗a
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 7 / 40
![Page 8: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/8.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Sıntesis de AFs a partir de ERs
Algoritmo de Brzozowski
Automata de Posicion
Automata Follow
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 8 / 40
![Page 9: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/9.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Calculo de Derivadas
Reglas para el calculo de las derivadasRespecto a sımbolos (a, b ∈ Σ, r , s E.R.)
1 a−1∅ = ∅
2 a−1
λ = ∅
3 a−1
b =
(
∅ si a 6= b
λ si a = b
4 a−1(r + s) = a
−1r + a
−1s
5 a−1(rs) =
(
(a−1r)s si λ 6∈ r
(a−1r)s + a
−1s si λ ∈ r
6 a−1
r∗ = (a−1
r)r∗
Respecto a cadenas (a ∈ Σ, x ∈ Σ∗)
1 λ−1
r = r
2 (xa)−1r = a
−1(x−1r)
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 9 / 40
![Page 10: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/10.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Algoritmo de Brzozowski
Entrada: α expresion regular sobre ΣSalida: AFD mınimo para L(α)Metodo:
Q = {α}; q0 = α; F = ∅; δ = ∅;if λ ∈ L(α) then
F = F ∪ {α}end if
activos = {α}while activos 6= {} do
β = First(activos)activos = Rest(activos)for all a ∈ Σ do
β′ = a−1β
if 6 ∃r ∈ Q : L(r) = L(β′) then
Q = Q ∪ {β′}δ = δ ∪ {(β, a, β′)}activos = activos ∪ {β′}if λ ∈ L(β′) then
F = F ∪ {β′}end if
end if
end for
end while
Return (Q, Σ, δ, q0, F )Fin Metodo
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 10 / 40
![Page 11: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/11.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Algoritmo de Brzozowski. Ejemplo
Consideremos α = (a + b)∗bb(a + b)∗:
q0 = α = (a+b)∗bb(a+b)∗; λ 6∈ L(q0) por lo tanto F = ∅a−1q0 = q0
b−1q0 = (a + b)∗bb(a + b)∗ + b(a + b)∗ = q1; λ 6∈ L(q1)por lo tanto F = ∅.a−1q1 = q0
b−1q1 = (a + b)∗bb(a + b)∗ + b(a + b)∗ + (a + b)∗ =(a + b)∗ = q2; λ ∈ L(q2) por lo tanto F = {q2}.a−1q2 = b−1q2 = q2
a
b
b
a
a,b
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 11 / 40
![Page 12: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/12.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Automata de Posicion
Automata local. Lenguaje Local
Expresion regular linearizada
AFD para una expresion regular linearizada
Automata de posicion
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 12 / 40
![Page 13: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/13.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Automata local. Lenguaje Local
El AFD A = (Q,Σ, δ, q0,F ) es local si y solo si paracualquier a ∈ Σ el conjunto {δ(q, a) : q ∈ Q} posee a losumo un elemento
Si ademas no existe ningun arco que alcance q0, elautomata es local estandar
Un lenguaje es local si y solo si es reconocido por unautomata local estandar
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 13 / 40
![Page 14: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/14.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Expresion regular linearizada
Sea α una expresion regular y sea n el numero de sımbolosen α excluyendo parentesis y sımbolos de operacion. Laexpresion linearizada de α (denotada por α) se obtienecolocando un subındice j ∈ {1, . . . , n} a cada sımbolo deα indicando su posicion.p.e.: Siendo
α = (a + b)(a∗ + ba∗ + b∗)∗
la version linearizada es
α = (a1 + b2)(a∗
3 + b4a∗
5 + b∗
6)∗
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 14 / 40
![Page 15: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/15.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Expresion regular linearizada
Si Σα y Σα son los alfabetos de α y α respectivamente, yh : Σ∗
α → Σ∗
α es un homomorfismo que borra lossubındices, entonces:
h(L(α)) = L(α)
Por lo tanto, puede obtenerse un automata finito paraL(α) construyendo un automata para L(α) yposteriormente eliminando los subındices de este automata(automata de posicion)
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 15 / 40
![Page 16: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/16.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
AFD para una expresion regular linearizada
Toda expresion regular linearizada denota un lenguajelocal (reconocido por un AF local estandar)Puede verse por induccion sobre la estructura de lasexpresiones regulares.
Casos base:
λ ∅
a
a
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 16 / 40
![Page 17: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/17.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
AFD para una expresion regular linearizada
Expresiones compuestas:Sean α y β expresiones regulares linearizadas, y seanA(α) = (Q1,Σ1, δ1, q1,F1) y A(β) = (Q2,Σ2, δ2, q2,F2),con Σ1 ∩ Σ2 = ∅, automatas locales que aceptan L(α) yL(β) respectivamente:
q1
a1
an
......
(α)
q2
b1
bm
......
(β)
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 17 / 40
![Page 18: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/18.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
AFD para una expresion regular linearizada
Union (α + β):
Q = (Q1 − {q1}) ∪ (Q2 − {q2}) ∪ {q0}, q0 /∈ Q1 ∪ Q2.δ = {(q, a, q′) ∈ δ1 ∪ δ2 : q /∈ {q1, q2}} ∪ {(q0, a, q) :(q1, a, q) ∈ δ1 ∨ (q2, a, q) ∈ δ2},
F =
{
F1 ∪ F2 si q1 /∈ F1 ∧ q2 /∈ F2
(F1 − {q1}) ∪ (F2 − {q2}) ∪ {q0} en otro caso.
q1
a1
an
......
q2
b1
bm
......
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 18 / 40
![Page 19: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/19.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
AFD para una expresion regular linearizada
Union (α + β):
Q = (Q1 − {q1}) ∪ (Q2 − {q2}) ∪ {q0}, q0 /∈ Q1 ∪ Q2.δ = {(q, a, q′) ∈ δ1 ∪ δ2 : q /∈ {q1, q2}} ∪ {(q0, a, q) :(q1, a, q) ∈ δ1 ∨ (q2, a, q) ∈ δ2},
F =
{
F1 ∪ F2 si q1 /∈ F1 ∧ q2 /∈ F2
(F1 − {q1}) ∪ (F2 − {q2}) ∪ {q0} en otro caso.
q0
q1
a1
an
......
q2
b1
bm
......
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 19 / 40
![Page 20: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/20.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
AFD para una expresion regular linearizada
Union (α + β):
Q = (Q1 − {q1}) ∪ (Q2 − {q2}) ∪ {q0}, q0 /∈ Q1 ∪ Q2.δ = {(q, a, q′) ∈ δ1 ∪ δ2 : q /∈ {q1, q2}} ∪ {(q0, a, q) :(q1, a, q) ∈ δ1 ∨ (q2, a, q) ∈ δ2},
F =
{
F1 ∪ F2 si q1 /∈ F1 ∧ q2 /∈ F2
(F1 − {q1}) ∪ (F2 − {q2}) ∪ {q0} en otro caso.
q0
......
......
a1
an
b1
bm
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 20 / 40
![Page 21: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/21.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
AFD para una expresion regular linearizada
Producto (α · β) (q2 6∈ F2):
Q = (Q1 ∪ Q2) − {q2}),δ = δ1 ∪ {(q, a, q′) ∈ δ2 : q 6= q2} ∪ {(q, a, q′) : q ∈F1 ∧ (q2, a, q
′) ∈ δ2},q0 = q1
F = F2
q1
a1
an
......
q2
b1
bm
......
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 21 / 40
![Page 22: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/22.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
AFD para una expresion regular linearizada
Producto (α · β) (q2 6∈ F2):
Q = (Q1 ∪ Q2) − {q2}),δ = δ1 ∪ {(q, a, q′) ∈ δ2 : q 6= q2} ∪ {(q, a, q′) : q ∈F1 ∧ (q2, a, q
′) ∈ δ2},q0 = q1
F = F2
q1
a1
an
......
q2
b1
bm
......
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 22 / 40
![Page 23: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/23.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
AFD para una expresion regular linearizada
Producto (α · β) (q2 6∈ F2):
Q = (Q1 ∪ Q2) − {q2}),δ = δ1 ∪ {(q, a, q′) ∈ δ2 : q 6= q2} ∪ {(q, a, q′) : q ∈F1 ∧ (q2, a, q
′) ∈ δ2},q0 = q1
F = F2
q1
a1
an
......
......
b1
bmb1bm
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 23 / 40
![Page 24: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/24.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
AFD para una expresion regular linearizada
Producto (α · β) (q2 ∈ F2):
Q = (Q1 ∪ Q2) − {q2}),δ = δ1 ∪ {(q, a, q′) ∈ δ2 : q 6= q2} ∪ {(q, a, q′) : q ∈F1 ∧ (q2, a, q
′) ∈ δ2},q0 = q1
F = F1 ∪ (F2 − {q2})
q1
a1
an
......
q2
b1
bm
......
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 24 / 40
![Page 25: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/25.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
AFD para una expresion regular linearizada
Producto (α · β) (q2 ∈ F2):
Q = (Q1 ∪ Q2) − {q2}),δ = δ1 ∪ {(q, a, q′) ∈ δ2 : q 6= q2} ∪ {(q, a, q′) : q ∈F1 ∧ (q2, a, q
′) ∈ δ2},q0 = q1
F = F1 ∪ (F2 − {q2})
q1
a1
an
......
q2
b1
bm
......
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 25 / 40
![Page 26: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/26.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
AFD para una expresion regular linearizada
Producto (α · β) (q2 ∈ F2):
Q = (Q1 ∪ Q2) − {q2}),δ = δ1 ∪ {(q, a, q′) ∈ δ2 : q 6= q2} ∪ {(q, a, q′) : q ∈F1 ∧ (q2, a, q
′) ∈ δ2},q0 = q1
F = F1 ∪ (F2 − {q2})
q1
a1
an
......
......
b1
bmb1bm
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 26 / 40
![Page 27: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/27.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
AFD para una expresion regular linearizada
Clausura (α∗):
δ′ = δ ∪ {(q, a, q′) : q ∈ F ∧ (q0, a, q′) ∈ δ}
F = F1 ∪ {q1})
q1
a1
an
......
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 27 / 40
![Page 28: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/28.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
AFD para una expresion regular linearizada
Clausura (α∗):
δ′ = δ ∪ {(q, a, q′) : q ∈ F ∧ (q0, a, q′) ∈ δ}
F = F1 ∪ {q1})
q1
a1
an
......
an
a1
a1
an
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 28 / 40
![Page 29: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/29.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
AFD para una expresion regular linearizada.
Ejemplo
Sea α = (a + b)(a∗ + ba∗ + b∗)∗. Entoncesα = (a1 + b2)(a
∗
3 + b4a∗
5 + b∗
6)∗
a1
b2
a1 + b2
a3
a3
a∗3
b4 a5
a5
b4a∗
5
b4 a5
a5a3
b6
a3
b6
a∗3 + b4a∗
5 + b6
b4a5
a5
a3
b6
a3
b6
(a∗3 + b4a∗
5 + b6)∗
a3
a3
a3
b4
b4
b4b4
b6
b6
b6
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 29 / 40
![Page 30: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/30.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Automata de posicion. Algoritmo
1: Entrada: α expresion regular sobre Σ2: Salida: AFD para L(α)3: Metodo:
4: Obtener α version linearizada de α5: Obtener A un Automata local estandar para α6: Apos = h(A), donde h es un homomorfismo de borrado de
los subındices.7: Return Apos
8: Fin Metodo
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 30 / 40
![Page 31: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/31.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Automata de posicion. Ejemplo
Dada α = (a + b)(a∗ + ba∗ + b∗)∗ y su version linearizadaα = (a1 + b2)(a
∗
3 + b4a∗
5 + b∗
6)∗, el automata local estandar
para α es:
a1
b2
a3
b4b6
a3 b4
b6
a3
b4
b6a3
b4
b6
a3
b4
a5
b6
a3
a5
b4
b6
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 31 / 40
![Page 32: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/32.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Automata de Posicion. Ejemplo
y el automata de posicion para α = (a + b)(a∗ + ba∗ + b∗)∗ es:
a
b
a
bb
a b
b
a
b
ba
b
b
a
b
a
b
a
a
b
b
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 32 / 40
![Page 33: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/33.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Automata Follow
Relacion follow
Automata follow
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 33 / 40
![Page 34: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/34.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Automata Follow
El automata follow de una expresion regular α se proponecomo el automata cociente del automata de posicion porla siguiente relacion:
p ≡f q ⇔
{
p, q ∈ F o bien p, q ∈ Q − F
follow(p) = follow(q)
donde follow(p) = {q ∈ Q : ∃a ∈ Σ, δ(p, a) = q}
El automata cociente resultante es una reduccion parcialdel automata de posicion.
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 34 / 40
![Page 35: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/35.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Automata Follow
Recordamos el automata de posicion paraα = (a + b)(a∗ + ba∗ + b∗)∗:
q0
q1
q2
q3
q6
q4 q5
a
b
a
bb
a b
b
a
b
ba
b
b
a
b
a
b
a
a
b
b
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 35 / 40
![Page 36: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/36.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Automata Follow
Las clases de equivalencia son: {q0}, {q1, q2, q3, q6}, {q4, q5},con lo que el automata follow para α queda:
{q0} {q1, q2, q3, q6} {q4, q5}a, b
a, b a, b
b
a, b
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 36 / 40
![Page 37: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/37.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Analisis de automatas finitos
Sistemas de ecuaciones en expresiones regulares
Lema de Arden
Analisis de automatas finitos
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 37 / 40
![Page 38: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/38.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Sistemas de ecuaciones en expresiones regulares.
Lema de Arden
Ecuacion en expresiones regulares: Ecuacion lineal dondevariables y coeficientes toman la forma de expresionesregulares.
X = rX + s
Lema de Arden: Sea X = rX + s una ecuacion enexpresiones regulares. X = r∗s es una solucion para laecuacion. Es unica si λ 6∈ r
demostramos que r∗s es solucion:
rX + s =X=r∗s
rr∗s + s = (rr∗ + λ)s =rr∗+λ=r∗
r∗s
Si λ ∈ r existen infinitas soluciones: ∀t ⊆ Σ∗, r∗(s + t) essolucion:
X =rX + s = rr∗(s + t) + s = rr∗s + rr∗t + s =
=(rr∗ + λ)s + rr∗t =rr∗+λ=r∗
r∗s + r∗t =X=r∗(s+t)
X
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 38 / 40
![Page 39: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/39.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Sistemas de ecuaciones en expresiones regulares
Dado un sistema de ecuaciones en expresiones regulares:
X1 = r11X1 + r12X2+ . . . + r1nXn + s1X2 = r11X1 + r12X2+ . . . + r1nXn + s2
. . .Xn = r11X1 + r12X2+ . . . + r1nXn + s3
la resolucion viene tras aplicar el metodo de Gaussutilizando el Lemma de Arden para reducir.
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 39 / 40
![Page 40: Tema 5: Expresiones Regulares - users.dsic.upv.esusers.dsic.upv.es/~acano/2-DOCENCIA.sm/nTAL_tema5.pdf · Tema 5: Expresiones Regulares U.D. Computacio´n Definiciones Propiedades](https://reader031.fdocument.pub/reader031/viewer/2022021720/5b87b70b7f8b9aaf728bfb4a/html5/thumbnails/40.jpg)
Tema 5:
Expresiones
Regulares
U.D.Computacion
Definiciones
Propiedades
Construcciones
Sıntesis deAFs a partirde ERs
Algoritmo deBrzozowski
Automata deposicion
AutomataFollow
Analisis deAFs. Lema deArden
Analisis de AFs. Algoritmo
1: Entrada: Automata finito A = (Q,Σ, δ, q1,F ) conQ = {q1, q2, . . . , qn}
2: Salida: Expresion regular para L(A)3: Metodo:
4: Por cada estado qi introducir una variable Xi
5: Si qi ∈ F entonces en la parte derecha de la i -esimaecuacion aparece el termino λ
6: Si qj ∈ δ(qi , a) entonces en la parte derecha de la i -esimaecuacion aparece el termino aXj , con a ∈ Σ ∪ {λ}
7: Resolver el sistema de ecuaciones en expresiones regularesutilizando el Lema de Arden para reducir
8: Devolver la expresion regular asociada al estado inicial9: Fin Metodo
U.D. Computacion (DSIC - UPV) Tema 5: Expresiones Regulares 3 de marzo de 2011 40 / 40