Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TeoremaMaestro PDF
TeoremaMaestro PDF
Teorema Maestro
Arturo Díaz Pérez
Introducción
T (1) = 1
T (n) = aT ( nb ) + d (n)
Teorema Maestro
F Sean a ≥ 1 y b ≥ 1 constantes, sea d(n) una función y sea
T(n) definido en los enteros no negativos por la
recurrencia
T (n) = aT ( nb ) + d (n )
T(n) puede ser acotado asintóticamente como sigue:
1 Si d(n) = O(nlogba-ε) para alguna constante ε > 0,
entonces, T(n) = Θ(nlogba).
2 Si d(n) = Θ(nlogba), entonces, T(n) = Θ(nlogbalgn).
3 Si d(n) = Ω(nlogba+ε) para alguna constante ε > 0 y si
ad(n/b) ≤ cd(n) para alguna constante c < 1 y todas las n
suficientemente grandes, entonces, T(n) = Θ(d(n)).
Análisis y Diseño de Algoritmos Maestro-3
Observaciones (1)
F d(n) no solo tiene que ser menor que nlogba, debe ser
polinomialmente menor.
ß Esto es, d(n) debe ser asintóticamente menor que nlogba por un
factor de nε para alguna constante ε > 0.
F d(n) no solo tiene que ser mayor que nlogba, debe ser
polinomialmente mayor y además satistacer la condición
de regularidad:
ß ad(n/b) ≤ cd(n) para alguna constante c < 1 y todas las n ≥ n0.
Observaciones (2)
F Los casos anteriores no cubren todos los casos para d(n).
Ejemplos (1)
F Sea T(n) = 9T(n/3) + n.
ß a = 9, b = 3, d(n) = n
ß nlogba = nlog39 = Θ(n2)
Ejemplos (2)
F Sea T(n) = 3T(n/4) + nlgn.
ß a = 3, b = 4, d(n) = nlgn
ß nlogba = nlog43 = Ο(n0.793)
Ejemplos (3)
F Sea T(n) = 2T(n/2) + nlgn.
ß a = 2, b = 2, d(n) = nlgn
ß nlogba = nlog22 = n
Lema 1
F Sea
Θ(1) si n = 1
T ( n) =
aT ( b ) + d ( n ) si ∃k : n = b
n k
entonces,
log b n −1
n
T ( n) = Θ( n logb a ) + ∑j =0
a jd j
b
Lema 2
F Sean a ≥ 1 y b ≥ 1 constantes y sea d(n) una función no
negativa definida sobre las potencias exactas de b. La
función g
log b n −1
n
g( n) = ∑j =0
a jd j
b
Demostración Caso 1
F Si d(n) = O(nlogba-ε), entonces, d(n/bi) = O((n/bi)logba-ε)
logb n −1 n
log b a −ε
g ( n) = O ∑ a j d j
j =0 b
log b a −ε j
log b n −1
n
log b n −1
abε
∑ a d j
j
b
=n log b a −ε
∑ log b a
j =0 j =0 b
log b n −1
= n log b a −ε ∑ (b
j =0
ε
)j
(bε ) logb n − 1
= n logb a −ε ε
b −1
n ε − 1
= n logb a −ε ε
Análisis y Diseño de Algoritmos b − 1 Maestro-11
log b a −ε
log a −ε n − 1
log b n −1 ε
n
∑j =0
a d j
j
b
= n b ε
b − 1
Demostración Caso 2
F Si d(n) = Θ(nlogba), entonces, d(n/bi) = Θ((n/bi)logba)
logb n−1 n logb a
g ( n ) = Θ ∑ a j j
j =0 b
log b n −1 log b a log b n −1 j
n a
∑j =0
a j
j
b
=n log b a
∑j =0
log b a
b
log b n −1
= n logb a ∑1
j =0
Demostración Caso 3
F Dado que ad(n/b) ≤ cd(n) para alguna constante c < 1 y
para n ≥b, e, se tiene que, ajd(n/bj) ≤ cjd(n).
log b n −1 log b a
n
g (n) = ∑
j =0
a jd j
b
log b n −1
g (n) ≤ ∑ c d (n)
j =0
j
∞
g (n) ≤ d ( n)∑ c j
j =0
1
= d ( n) , por lo tanto
1− c
Lema 3
F Sean a ≥ 1 y b ≥ 1 constantes, sea d(n) una función y sea
T(n) definido en los enteros no negativos potencias de b
por la recurrencia
T (n) = aT ( nb ) + d (n )
T(n) puede ser acotado asintóticamente como sigue:
1 Si d(n) = O(nlogba-ε) para alguna constante ε > 0,
entonces, T(n) = Θ(nlogba).
2 Si d(n) = Θ(nlogba), entonces, T(n) = Θ(nlogbalgn).
3 Si d(n) = Ω(nlogba+ε) para alguna constante ε > 0 y si
ad(n/b) ≤ cd(n) para alguna constante c < 1 y todas las n
suficientemente grandes, entonces, T(n) = Θ(d(n)).
Análisis y Diseño de Algoritmos Maestro-15
Demostración Lema 3
F Por el Lema 1
log b n −1
n
T ( n) = Θ( n logb a ) + ∑j =0
a jd j
b
F Por el Lema 2
F Caso 1
T (n) = Θ( n logb a ) + O ( n logb a ) =Θ( n logb a )
F Caso 2
T (n) = Θ( n logb a ) + Θ( n logb a lg n ) =Θ( n logb a lg n )
F Caso 3
T (n) = Θ( n logb a ) + Θ( d ( n ))
ß pero d(n) = Ω(nlogba+ε) , por lo tanto
T (n ) = Θ( d ( n ))
Análisis y Diseño de Algoritmos Maestro-16
Observación al Lema 3
F El Lema 3 es válido únicamente cuando n es una
potencia exacta de b.