1
Universidad Aut ´onoma de la Ciudad de M ´exico
2
Facultad de Ciencias UNAM
20 de agosto de 2015
Derivadas
Preliminares
Definici ´on
La
derivada de un lenguaje
L ⊆
Σ
∗
con respecto a una cadena
u
∈
Σ
∗
se define
como
∂
u
L
=
{v|u
·
v
∈ L}
Ejemplo
L
=
{
ab,abb,
abbb,abbbb,abbbbb,abbbbbb,...
}
=
L
~
(
ab
)
·
b
∗
∂
ab
L
=
{ε,
b,bb,
bbb,
bbbb,
bbbbb,...
}
=
L
~
b
∗
Teorema
Si
L ⊆
Σ
∗
es regular, entonces
∂
u
L
tambi ´en es regular.
Problema
Dada una expresi ´on regular
r
y una cadena
u
∈
Σ
∗
, determinar si
u
∈
L
~
r
.
Resolver el problema es equivalente a resolver:
u
∈
L
~
r
⇔
ε
∈
L
~
∂
u
r
Lo cual sucede si y s ´olo si
ν
(
∂
u
r
)
=
ε
Derivadas
Decimos que una expresi ´on regular
r
es anulable, si el lenguaje definido contiene
a la cadena vac´ıa, esto es si
ε
∈ L
~
r
la funci ´on
ν
:
RE
→
RE
tiene la siguiente
propiedad:
ν
(
r
)
=
(
ε
Si
r
es anulable
∅
otro caso
Y est ´a definida como sigue
ν
(
ε
)
=
ε
ν
(
∅
)
=
∅
ν
(
a
)
=
∅
ν
(
r
·
s
)
=
ν
(
r
)
∩
ν
(
s
)
ν
(
r
+
s
)
=
ν
(
r
)
+
ν
(
s
)
ν
(
r
∗
)
=
ε
Definici ´on
Expresandolo en t ´erminos de la relaci ´on
r
∼
u
(u
caza con
r).
r
∼
ε
⇔
ν
(
r
)
=
ε
r
∼
a
·
ω
⇔
∂
a
r
∼
ω
Teorema
r
∼
u
⇔
u
∈
L
~
r
Derivadas
Expresiones regulares
Reglas de Brzozowski para expresiones regulares con respecto a un s´ımbolo
a
∈
Σ
∗
.
∂
a
ε
=
∅
∂
a
a
=
ε
∂
a
b
=
∅
si
b
,
a
∂
a
∅
=
∅
∂
a
(
r
·
s
)
=
(
∂
a
r
)
·
s
+
ν
(
r
)
·
∂
a
s
∂
a
(
r
+
s
)
=
∂
a
r
+
∂
a
s
∂
a
(
r
∗
)
=
∂
a
r
·
r
∗
La reglas se puede extender a cadenas como:
∂
ε
r
=
r
∂
u
·
a
r
=
∂
a
(
∂
u
r
)
Derivadas
Ejemplos
¿abb
∈ L
~
a
·
b
∗
?
¿aba
∈ L
~
a
·
b
∗
?
a
·
b
∗
∼
abb
a
·
b
∗
∼
aba
⇔
∂
a
(
a
·
b
∗
)
∼
bb
⇔
∂
a
(
a
·b
∗
)
∼
ba
⇔
(
∂
a
a
)
·
b
+
ν
(
a
)
·∂
a
(
b
)
∼
bb
⇔
(
∂
a
a
)
·b
+
ν
(
a
)
·
∂
a
(
b
)
∼
ba
Derivadas
Ejemplos
¿abb
∈ L
~
a
·
b
∗
?
¿aba
∈ L
~
a
·
b
∗
?
a
·
b
∗
∼
abb
a
·
b
∗
∼
aba
⇔
∂
a
(
a
·
b
∗
)
∼
bb
⇔
∂
a
(
a
·b
∗
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
ν
(
a
)
·∂
a
(
b
∗
)
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
ν
(
a
)
·
∂
a
(
b
∗
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
∅
·
∅
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
∅
·
∅
∼
ba
⇔
(
∂
a
a
)
·
b
+
ν
(
a
)
·∂
a
(
b
)
∼
bb
⇔
(
∂
a
a
)
·b
+
ν
(
a
)
·
∂
a
(
b
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
∅
·
∅
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
∅
·
∅
∼
ba
⇔
(
∂
a
a
)
·
b
∗
∼
bb
⇔
(
∂
a
a
)
·b
∗
∼
ba
Derivadas
Ejemplos
¿abb
∈ L
~
a
·
b
∗
?
¿aba
∈ L
~
a
·
b
∗
?
a
·
b
∗
∼
abb
a
·
b
∗
∼
aba
⇔
∂
a
(
a
·
b
∗
)
∼
bb
⇔
∂
a
(
a
·b
∗
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
ν
(
a
)
·∂
a
(
b
∗
)
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
ν
(
a
)
·
∂
a
(
b
∗
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
∅
·
∅
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
∅
·
∅
∼
ba
⇔
(
∂
a
a
)
·
b
∗
∼
bb
⇔
(
∂
a
a
)
·b
∗
∼
ba
⇔
ε
·
b
∗
∼
bb
⇔
ε
·
b
∗
∼
ba
⇔
(
∂
a
a
)
·
b
+
ν
(
a
)
·∂
a
(
b
)
∼
bb
⇔
(
∂
a
a
)
·b
+
ν
(
a
)
·
∂
a
(
b
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
∅
·
∅
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
∅
·
∅
∼
ba
⇔
(
∂
a
a
)
·
b
∗
∼
bb
⇔
(
∂
a
a
)
·b
∗
∼
ba
⇔
ε
·
b
∗
∼
bb
⇔
ε
·
b
∗
∼
ba
⇔
b
∗
∼
bb
⇔
b
∗
∼
ba
Derivadas
Ejemplos
¿abb
∈ L
~
a
·
b
∗
?
¿aba
∈ L
~
a
·
b
∗
?
a
·
b
∗
∼
abb
a
·
b
∗
∼
aba
⇔
∂
a
(
a
·
b
∗
)
∼
bb
⇔
∂
a
(
a
·b
∗
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
ν
(
a
)
·∂
a
(
b
∗
)
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
ν
(
a
)
·
∂
a
(
b
∗
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
∅
·
∅
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
∅
·
∅
∼
ba
⇔
(
∂
a
a
)
·
b
∗
∼
bb
⇔
(
∂
a
a
)
·b
∗
∼
ba
⇔
ε
·
b
∗
∼
bb
⇔
ε
·
b
∗
∼
ba
⇔
b
∗
∼
bb
⇔
b
∗
∼
ba
⇔
∂
b
b
∗
∼
b
⇔
∂
b
b
∗
∼
a
⇔
(
∂
a
a
)
·
b
+
ν
(
a
)
·∂
a
(
b
)
∼
bb
⇔
(
∂
a
a
)
·b
+
ν
(
a
)
·
∂
a
(
b
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
∅
·
∅
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
∅
·
∅
∼
ba
⇔
(
∂
a
a
)
·
b
∗
∼
bb
⇔
(
∂
a
a
)
·b
∗
∼
ba
⇔
ε
·
b
∗
∼
bb
⇔
ε
·
b
∗
∼
ba
⇔
b
∗
∼
bb
⇔
b
∗
∼
ba
⇔
∂
b
b
∗
∼
b
⇔
∂
b
b
∗
∼
a
⇔
(
∂
b
b
)
·
b
∗
∼
b
⇔
(
∂
b
b
)
·
b
∗
∼
a
Derivadas
Ejemplos
¿abb
∈ L
~
a
·
b
∗
?
¿aba
∈ L
~
a
·
b
∗
?
a
·
b
∗
∼
abb
a
·
b
∗
∼
aba
⇔
∂
a
(
a
·
b
∗
)
∼
bb
⇔
∂
a
(
a
·b
∗
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
ν
(
a
)
·∂
a
(
b
∗
)
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
ν
(
a
)
·
∂
a
(
b
∗
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
∅
·
∅
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
∅
·
∅
∼
ba
⇔
(
∂
a
a
)
·
b
∗
∼
bb
⇔
(
∂
a
a
)
·b
∗
∼
ba
⇔
ε
·
b
∗
∼
bb
⇔
ε
·
b
∗
∼
ba
⇔
b
∗
∼
bb
⇔
b
∗
∼
ba
⇔
∂
b
b
∗
∼
b
⇔
∂
b
b
∗
∼
a
⇔
(
∂
b
b
)
·
b
∗
∼
b
⇔
(
∂
b
b
)
·
b
∗
∼
a
⇔
ε
·
b
∗
∼
b
⇔
ε
·
b
∗
∼
a
⇔
(
∂
a
a
)
·
b
+
ν
(
a
)
·∂
a
(
b
)
∼
bb
⇔
(
∂
a
a
)
·b
+
ν
(
a
)
·
∂
a
(
b
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
∅
·
∅
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
∅
·
∅
∼
ba
⇔
(
∂
a
a
)
·
b
∗
∼
bb
⇔
(
∂
a
a
)
·b
∗
∼
ba
⇔
ε
·
b
∗
∼
bb
⇔
ε
·
b
∗
∼
ba
⇔
b
∗
∼
bb
⇔
b
∗
∼
ba
⇔
∂
b
b
∗
∼
b
⇔
∂
b
b
∗
∼
a
⇔
(
∂
b
b
)
·
b
∗
∼
b
⇔
(
∂
b
b
)
·
b
∗
∼
a
⇔
ε
·
b
∗
∼
b
⇔
ε
·
b
∗
∼
a
⇔
b
∗
∼
b
⇔
b
∗
∼
a
Derivadas
Ejemplos
¿abb
∈ L
~
a
·
b
∗
?
¿aba
∈ L
~
a
·
b
∗
?
a
·
b
∗
∼
abb
a
·
b
∗
∼
aba
⇔
∂
a
(
a
·
b
∗
)
∼
bb
⇔
∂
a
(
a
·b
∗
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
ν
(
a
)
·∂
a
(
b
∗
)
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
ν
(
a
)
·
∂
a
(
b
∗
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
∅
·
∅
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
∅
·
∅
∼
ba
⇔
(
∂
a
a
)
·
b
∗
∼
bb
⇔
(
∂
a
a
)
·b
∗
∼
ba
⇔
ε
·
b
∗
∼
bb
⇔
ε
·
b
∗
∼
ba
⇔
b
∗
∼
bb
⇔
b
∗
∼
ba
⇔
∂
b
b
∗
∼
b
⇔
∂
b
b
∗
∼
a
⇔
(
∂
b
b
)
·
b
∗
∼
b
⇔
(
∂
b
b
)
·
b
∗
∼
a
⇔
ε
·
b
∗
∼
b
⇔
ε
·
b
∗
∼
a
⇔
b
∗
∼
b
⇔
b
∗
∼
a
⇔
∂
b
b
∗
∼
ε
⇔
∂
a
b
∗
∼
ε
⇔
(
∂
a
a
)
·
b
+
ν
(
a
)
·∂
a
(
b
)
∼
bb
⇔
(
∂
a
a
)
·b
+
ν
(
a
)
·
∂
a
(
b
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
∅
·
∅
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
∅
·
∅
∼
ba
⇔
(
∂
a
a
)
·
b
∗
∼
bb
⇔
(
∂
a
a
)
·b
∗
∼
ba
⇔
ε
·
b
∗
∼
bb
⇔
ε
·
b
∗
∼
ba
⇔
b
∗
∼
bb
⇔
b
∗
∼
ba
⇔
∂
b
b
∗
∼
b
⇔
∂
b
b
∗
∼
a
⇔
(
∂
b
b
)
·
b
∗
∼
b
⇔
(
∂
b
b
)
·
b
∗
∼
a
⇔
ε
·
b
∗
∼
b
⇔
ε
·
b
∗
∼
a
⇔
b
∗
∼
b
⇔
b
∗
∼
a
⇔
∂
b
b
∗
∼
ε
⇔
∂
a
b
∗
∼
ε
⇔
(
∂
b
b
)
·
b
∗
∼
ε
⇔
(
∂
a
b
)
·b
∗
∼
ε
Derivadas
Ejemplos
¿abb
∈ L
~
a
·
b
∗
?
¿aba
∈ L
~
a
·
b
∗
?
a
·
b
∗
∼
abb
a
·
b
∗
∼
aba
⇔
∂
a
(
a
·
b
∗
)
∼
bb
⇔
∂
a
(
a
·b
∗
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
ν
(
a
)
·∂
a
(
b
∗
)
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
ν
(
a
)
·
∂
a
(
b
∗
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
∅
·
∅
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
∅
·
∅
∼
ba
⇔
(
∂
a
a
)
·
b
∗
∼
bb
⇔
(
∂
a
a
)
·b
∗
∼
ba
⇔
ε
·
b
∗
∼
bb
⇔
ε
·
b
∗
∼
ba
⇔
b
∗
∼
bb
⇔
b
∗
∼
ba
⇔
∂
b
b
∗
∼
b
⇔
∂
b
b
∗
∼
a
⇔
(
∂
b
b
)
·
b
∗
∼
b
⇔
(
∂
b
b
)
·
b
∗
∼
a
⇔
ε
·
b
∗
∼
b
⇔
ε
·
b
∗
∼
a
⇔
b
∗
∼
b
⇔
b
∗
∼
a
⇔
∂
b
b
∗
∼
ε
⇔
∂
a
b
∗
∼
ε
⇔
(
∂
b
b
)
·
b
∗
∼
ε
⇔
(
∂
a
b
)
·b
∗
∼
ε
⇔
ε
·
b
∗
∼
ε
⇔
∅
·b
∗
∼
ε
⇔
(
∂
a
a
)
·
b
+
ν
(
a
)
·∂
a
(
b
)
∼
bb
⇔
(
∂
a
a
)
·b
+
ν
(
a
)
·
∂
a
(
b
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
∅
·
∅
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
∅
·
∅
∼
ba
⇔
(
∂
a
a
)
·
b
∗
∼
bb
⇔
(
∂
a
a
)
·b
∗
∼
ba
⇔
ε
·
b
∗
∼
bb
⇔
ε
·
b
∗
∼
ba
⇔
b
∗
∼
bb
⇔
b
∗
∼
ba
⇔
∂
b
b
∗
∼
b
⇔
∂
b
b
∗
∼
a
⇔
(
∂
b
b
)
·
b
∗
∼
b
⇔
(
∂
b
b
)
·
b
∗
∼
a
⇔
ε
·
b
∗
∼
b
⇔
ε
·
b
∗
∼
a
⇔
b
∗
∼
b
⇔
b
∗
∼
a
⇔
∂
b
b
∗
∼
ε
⇔
∂
a
b
∗
∼
ε
⇔
(
∂
b
b
)
·
b
∗
∼
ε
⇔
(
∂
a
b
)
·b
∗
∼
ε
⇔
ε
·
b
∗
∼
ε
⇔
∅
·b
∗
∼
ε
⇔
b
∗
∼
ε
⇔
∅
∼
ε
Derivadas
Ejemplos
¿abb
∈ L
~
a
·
b
∗
?
¿aba
∈ L
~
a
·
b
∗
?
a
·
b
∗
∼
abb
a
·
b
∗
∼
aba
⇔
∂
a
(
a
·
b
∗
)
∼
bb
⇔
∂
a
(
a
·b
∗
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
ν
(
a
)
·∂
a
(
b
∗
)
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
ν
(
a
)
·
∂
a
(
b
∗
)
∼
ba
⇔
(
∂
a
a
)
·
b
∗
+
∅
·
∅
∼
bb
⇔
(
∂
a
a
)
·b
∗
+
∅
·
∅
∼
ba
⇔
(
∂
a
a
)
·
b
∗
∼
bb
⇔
(
∂
a
a
)
·b
∗
∼
ba
⇔
ε
·
b
∗
∼
bb
⇔
ε
·
b
∗
∼
ba
⇔
b
∗
∼
bb
⇔
b
∗
∼
ba
⇔
∂
b
b
∗
∼
b
⇔
∂
b
b
∗
∼
a
⇔
(
∂
b
b
)
·
b
∗
∼
b
⇔
(
∂
b
b
)
·
b
∗
∼
a
⇔
ε
·
b
∗
∼
b
⇔
ε
·
b
∗
∼
a
⇔
b
∗
∼
b
⇔
b
∗
∼
a
⇔
∂
b
b
∗
∼
ε
⇔
∂
a
b
∗
∼
ε
⇔
(
∂
b
b
)
·
b
∗
∼
ε
⇔
(
∂
a
b
)
·b
∗
∼
ε
⇔
ε
·
b
∗
∼
ε
⇔
∅
·b
∗
∼
ε
⇔
b
∗
∼
ε
⇔
∅
∼
ε
⇔
ν
(
b
∗
)
=
ε
!
⇔
ν
(
∅
)
=
ε
#
Algoritmo
Construcci ´on de DFA
Ejemplo
Consideremos la expresi ´on regular
r
=
a
·
b
+a
·
c
sobre el alfabeto
{
a,
b,c
}
2
∂
a
q
0
=
∂
a
(
a
·
b
+
a
·c
)
=
b
+
c, el cual es un estado nuevo, lo llamamos
q
1
Algoritmo
Construcci ´on de DFA
Ejemplo
Consideremos la expresi ´on regular
r
=
a
·
b
+a
·
c
sobre el alfabeto
{
a,
b,c
}
4
∂
a
q
2
=
∂
a
(
∅
)
=
∅
=
q
2
, pues el estado ya existe
Algoritmo
Construcci ´on de DFA
Ejemplo
Consideremos la expresi ´on regular
r
=
a
·
b
+a
·
c
sobre el alfabeto
{
a,
b,c
}
6
∂
c
q
2
=
∂
c
(
∅
)
=
∅
=
q
2
Algoritmo
Construcci ´on de DFA
Ejemplo
Consideremos la expresi ´on regular
r
=
a
·
b
+a
·
c
sobre el alfabeto
{
a,
b,c
}
8
∂
a
q
3
=
∂
a
(
ε
)
=
∅
=
q
2
Algoritmo
Construcci ´on de DFA
Ejemplo
Consideremos la expresi ´on regular
r
=
a
·
b
+a
·
c
sobre el alfabeto
{
a,
b,c
}
10
∂
c
q
3
=
∂
c
(
ε
)
=
∅
=
q
2
Algoritmo
Construcci ´on de DFA
Ejemplo
Consideremos la expresi ´on regular
r
=
a
·
b
+a
·
c
sobre el alfabeto
{
a,
b,c
}
12