Tema 4: Operaciones sobre lenguajes regulares

Anuncio
Tema 4: Operaciones sobre lenguajes regulares
Departamento de Sistemas Informáticos y Computación
DSIC - UPV
http://www.dsic.upv.es
– p.1/19
Tema 4: Propiedades de los lenguajes regulares
• Lema de bombeo para lenguajes regulares.
• Propiedades de cierre
◦ Operaciones booleanas: Unión, Intersección,
Complementación
◦ Diferencia
◦ Reverso
◦ Concatenación y Clausura
◦ Homomorfismo y Homomorfismo Inverso
• Minimización de autómatas finitos.
DSIC - UPV
http://www.dsic.upv.es
– p.2/19
Lema de bombeo
• Sea L un lenguaje regular sobre Σ. Existe un número natural n
(dependiente del lenguaje L) tal que ∀x ∈ L si |x| ≥ n, existen
u, v, w ∈ Σ∗ tales que x = uvw y donde:
1. |uv| ≤ n
2. |v| ≥ 1
3. ∀i ≥ 0, uv i w ∈ L
• Condición necesaria (no suficiente) para que un lenguaje sea
regular
• Útil para demostrar ue un lenguaje no es regular
◦ Tomar n como el valor de la constante del lema de bombeo
◦ Escoger una palabra x tal que |x| ≥ n
◦ Considerar todas las posibles factorizaciones de x
◦ Mostrar que, para todas las factorizaciones posibles, puede
encontrarse un valor de i tal que uv i w 6∈ L
DSIC - UPV
http://www.dsic.upv.es
– p.3/19
Lema de bombeo
• Ejercicios:
◦ L1 = {0i 1i | i ≥ 0}
◦ L2 = {0n | n es primo}
◦ L3 = {w ∈ {0 + 1}∗ | |w|0 > |w|1 }
◦ L4 = {w ∈ {0 + 1}∗ | |w|0 = |w|1 }
◦ L5 = {0n 1m | n − m ≥ 0}
◦ L6 = {0i2 | i ≥ 1}
DSIC - UPV
http://www.dsic.upv.es
– p.4/19
Propiedades de cierre
• Un conjunto C es cerrado bajo una operación • sii:
∀x, y ∈ C ⇒ x • y ∈ C
• Cierre respecto a Intersección
Sean L1 , L2 ∈ L3 , entonces existen dos autómatas A1 , A2 tales
que L1 = L(A1 ), L2 = L(A2 ), donde
Ai = (Qi , Σ, δi , qi , Fi ), i = 1, 2
Construimos A = (Q, Σ, δ, q0 , F ) donde:
◦ Q = Q 1 × Q2
◦ q0 = [q1 , q2 ]
◦ F = F 1 × F2
◦ δ([p1 , p2 ], a) = [δ1 (p1 , a), δ2 (p2 , a)], ∀p1 ∈ Q1 , ∀p2 ∈ Q2 , ∀a ∈ Σ
DSIC - UPV
http://www.dsic.upv.es
– p.5/19
Propiedades de cierre
q1
a
b
q2
a
q1
a
b
a
q2
A1
q3
b
A2
L(A1 ) ∩ L(A2 )?
DSIC - UPV
http://www.dsic.upv.es
– p.6/19
Propiedades de cierre
• Cierre respecto a Unión
Sean L1 , L2 ∈ L3 , entonces existen dos autómatas completos
A2 , A2 tales que L1 = L(A1 ), L2 = L(A2 ) donde
Ai = (Qi , Σ, δi , qi , Fi ), i = 1, 2
Construimos A = (Q, Σ, δ, q0 , F ) donde:
◦ Q = Q 1 × Q2
◦ q0 = [q1 , q2 ]
◦ F = F 1 × Q2 ∪ Q 1 × F2
◦ δ([p1 , p2 ], a) = [δ1 (p1 , a), δ2 (p2 , a)], ∀p1 ∈ Q1 , ∀p2 ∈ Q2 , ∀a ∈ Σ
DSIC - UPV
http://www.dsic.upv.es
– p.7/19
Propiedades de cierre
0
0
q1
q2
1
q1
1
1
0
1
q3
0
0
q2
1
A2
A1
L(A1 ) ∪ L(A2 )?
DSIC - UPV
http://www.dsic.upv.es
– p.8/19
Propiedades de cierre
• Cierre respecto a Complementación
Sea L ∈ L3 , entonces existe un autómata completo A tal que
L = L(A) donde A = (Q, Σ, δ, q0 , F )
El autómata A0 = (Q, Σ, δ, q0 , Q − F ) acepta L
• Cierre respecto a Diferencia
Sean L1 , L2 ∈ L3 . Nótese que L1 − L2 = L1 ∩ L2
DSIC - UPV
http://www.dsic.upv.es
– p.9/19
Propiedades de cierre
• Cierre respecto a Reverso
Sean L1 ∈ L3 , entonces existe un autómata
A = (Q, Σ, δ, q0 , {qf }).
Si |F | > 1 puede modificarse el autómata para que posea un
único estado final.
Construimos A = (Q, Σ, δ 0 , qf , q0 ) donde:
q ∈ δ(p, a) ⇔ p ∈ δ 0 (q, a)
DSIC - UPV
http://www.dsic.upv.es
– p.10/19
Propiedades de cierre
• Cierre respecto a Concatenación
Sean L1 , L2 ∈ L3 , entonces existen dos autómatas A1 , A2 tales
que L1 = L(A1 ), L2 = L(A2 ) donde
Ai = (Qi , Σ, δi , qi , Fi ), (i = 1, 2) y tales que Q1 ∩ Q2 = ∅
Construimos A = (Q0 , Σ, δ 0 , q1 , F2 ) donde:
◦ Q0 = Q1 ∪ Q 2
◦ δ 0 = δ1 ∪ δ2 ∪ δ 00 donde q2 ∈ δ 00 (p, λ), ∀p ∈ F1
DSIC - UPV
http://www.dsic.upv.es
– p.11/19
Propiedades de cierre
• Cierre respecto a Clausura
Sea L ∈ L3 , entonces existe un autómata A tal que L = L(A)
donde A = (Q, Σ, δ0 , q0 , F )
Construimos A0 = (Q0 , Σ, δ 0 , qn , F 0 ) donde:
◦ Q0 = Q1 ∪ {qn }, qn 6∈ Q
◦ F 0 = F ∪ {qn }
◦ δ 0 (p, a) = δ(p, a), ∀p ∈ Q, ∀a ∈ Σ
◦ qn ∈ δ 0 (p, λ), ∀p ∈ F
◦ δ 0 (qn , λ) = {q0 }
DSIC - UPV
http://www.dsic.upv.es
– p.12/19
Propiedades de cierre
• Cierre bajo Homomorfismo
Sea h : Σ → ∆∗ y L1 ∈ L3 . Existe una expresión regular r1 tal
que L1 = L(r1 )
Construimos una expresión regular r resultado de sustituir cada
símbolo a ∈ Σ por su imagen h(a), utilizando parentesis para
mantener el orden de actuación de los operadores
• Cierre bajo Homomorfismo Inverso
Sea h : Σ → ∆∗ y L1 ∈ L3 , entonces existe un autómata A1 tal
que L1 = L(A1 ) y donde A = (Q, ∆, δ, q0 , F )
Construimos A0 = (Q, Σ, δ 0 , q0 , F ) donde:
(
◦ δ 0 (p, a) = δ(p, h(a)) si δ(p, h(a)) 6= ∅
∅
en otro caso
DSIC - UPV
http://www.dsic.upv.es
– p.13/19
Propiedades de cierre
q1
a
q2
b
a
a
q4
a


h(0) = aa
h(1) = b

h(2) = λ
b
q3
h−1 (L(A))?
DSIC - UPV
http://www.dsic.upv.es
– p.14/19
Minimización de autómatas finitos
• Un AFD A = (Q, Σ, δ, q0 , F ) es accesible si para todo q ∈ Q existe
una palabra x ∈ Σ∗ tal que δ(q0 , x) = q
• Sea A = (Q, Σ, δ, q0 , F ) un AFD completo y accesible. Definimos
la relación de indistiguibilidad ∼ en Q como:
∀q, q 0 ∈ Q :
(q ∼ q 0 ⇔ ∀x ∈ Σ∗ (δ(q, x) ∈ F ⇔ δ(q 0 , x) ∈ F ))
• Sea A = (Q, Σ, δ, q0 , F ) un AFD completo y accesible y sea la
relación de indistiguibilidad ∼. Se define el autómata cociente
A/ ∼= (Q0 , Sigma, δ 0 , q00 , F 0 ) como:
◦ Q0 = {[q]∼ | q ∈ Q}
◦ q0 = [q0 ]∼
◦ F 0 = {[q]∼ | q ∈ F }
◦ δ 0 ([q]∼ , a) = [δ(q, a)]∼
DSIC - UPV
http://www.dsic.upv.es
– p.15/19
Minimización de autómatas finitos
• Sea A = (Q, Σ, δ, q0 , F ) un AFD completo y accesible y sea la
relación de indistiguibilidad ∼. El automata A/ ∼ es el AFD
mínimo que acepta L(A)
• Sea A = (Q, Σ, δ, q0 , F ) un AFD completo y accesible y sea un
entero k ≥ 0. Se define la relación de k-distinguibilidad ∼k como:
∀q, q 0 ∈ Q :
◦ ∀k ≥ 0,
◦ ∀k ≥ 0,
◦ ∀k ≥ 0,
(q ∼k q 0 ⇔ ∀x ∈ Σ∗ , |x| ≤ k, (δ(q, x) ∈ F ⇔ δ(q 0 , x) ∈ F ))
p ∼k+1 q ⇒ p ∼k q
p ∼ q ⇒ p ∼k q
p ∼k+1 q ⇔ p ∼k q ∧ ∀a ∈ Σ, δ(p, a) ∼k δ(q, a)
DSIC - UPV
http://www.dsic.upv.es
– p.16/19
Minimización de autómatas finitos
• Algoritmo de minimización de AFD:
1. π0 = {Q − F, F }
2. Obtener πk+1 a partir de πk
B(p, πk+1 ) == B(q, πk+1 ) ⇔
(
B(p, πk ) == B(q, πk ) ∧
∀a ∈ Σ, B(δ(p, a), πk ) == B(δ(q, a),
3. Si πk+1 es distinta a πk ir a 2
DSIC - UPV
http://www.dsic.upv.es
– p.17/19
Minimización de autómatas finitos
• Ejercicio:
1
0
q1
0
q3
1
q4
0
0
1
1
q2
1
1
0
q5
1
q6
0
q7
0
DSIC - UPV
http://www.dsic.upv.es
– p.18/19
Minimización de autómatas finitos
• Ejercicio:
a
q0
a
b
q1
b
a
b
q2
b
q4
a
a
a
q3
b
b
q5
DSIC - UPV
http://www.dsic.upv.es
– p.19/19
Descargar