You are on page 1of 9

Arturo Daz Prez

Anlisis y Complejidad de Algoritmos 1


Anlisis y Diseo de Algoritmos Maestro-1
Teorema Maest ro
Anlisis y Diseo de Algoritmos
Arturo Daz Prez
Anlisis y Diseo de Algoritmos Maestro-2
I nt roduccin
FRecurrencia general para est rat egias divide y vencers
( ) ) ( ) ( n d aT n T
b
n
+
1 ) 1 ( T
Arturo Daz Prez
Anlisis y Complejidad de Algoritmos 2
Anlisis y Diseo de Algoritmos Maestro-3
Teorema Maest ro
FSean a 1 y b 1 const ant es, sea d(n) una funcin y sea
T(n) definido en los ent eros no negat ivos por la
recurrencia
( ) ) ( ) ( n d aT n T
b
n
+
T(n) puede ser acot ado asint t icament e como sigue:
1 Si d(n) = O(n
log
b
a-
) para alguna const ant e > 0,
ent onces, T(n) = (n
log
b
a
).
2 Si d(n) = (n
log
b
a
), ent onces, T(n) = (n
log
b
a
lgn).
3 Si d(n) = (n
log
b
a+
) para alguna const ant e > 0 y si
ad(n/b) cd(n) para alguna const ant e c < 1 y t odas las n
suficient ement e grandes, ent onces, T(n) = (d(n)).
Anlisis y Diseo de Algoritmos Maestro-4
Observaciones (1)
Fd(n) no solo t iene que ser menor que n
log
b
a
, debe ser
polinomialment e menor.
Esto es, d(n) debe ser asintticamente menor que n
log
b
a
por un
factor de n

para alguna constante > 0.


Fd(n) no solo t iene que ser mayor que n
log
b
a
, debe ser
polinomialment e mayor y adems sat ist acer la condicin
de regularidad:
ad(n/b) cd(n) para alguna constante c < 1 y todas las n n
0
.
FSi las dos funciones son del mismo orden, se mult iplica
por un fact or logart mico y la solucin es
T(n)= (n
log
b
a
logn).
Arturo Daz Prez
Anlisis y Complejidad de Algoritmos 3
Anlisis y Diseo de Algoritmos Maestro-5
Observaciones (2)
FLos casos ant eriores no cubren t odos los casos para d(n).
FHay un hueco ent re los casos 1 y 2 cuando d(n) es
menor pero no polinomialment e menor que n
log
b
a
.
FHay un hueco ent re los casos 2 y 3 cuando d(n) es
mayor pero no polinomialment e mayor que n
log
b
a
.
Anlisis y Diseo de Algoritmos Maestro-6
Ej emplos (1)
FSea T(n) = 9T(n/3) + n.
a = 9, b = 3, d(n) = n
n
log
b
a
= n
log
3
9
= (n
2
)
Ya que d(n) = O(n
log
3
9-
), para = 1, se puede aplicar el Caso 1
Por lo tanto, T(n) = (n
2
).
FSea T(n) = T(2n/3) + 1.
a = 1, b = 3, d(n) = 1
n
log
b
a
= n
log
3/2
1
= n
0
= 1
Ya que d(n) = (n
log
3/2
1
), se puede aplicar el Caso 2
Por lo tanto, T(n) = (lgn).
Arturo Daz Prez
Anlisis y Complejidad de Algoritmos 4
Anlisis y Diseo de Algoritmos Maestro-7
Ej emplos (2)
FSea T(n) = 3T(n/4) + nlgn.
a = 3, b = 4, d(n) = nlgn
n
log
b
a
= n
log
4
3
= (n
0.793
)
Ya que d(n) = (n
log
4
3+
), para 0.2, se puede aplicar el Caso 3
si se muestra que la condicin de regularidad se presenta para
d(n).
Para un n suficientemente grande ad(n/b) = 3(n/4)lg(n/4)
(3/4)nlgn = cd(n) , para c = 3/4.
Por lo tanto, T(n) = (nlgn).
Anlisis y Diseo de Algoritmos Maestro-8
Ej emplos (3)
FSea T(n) = 2T(n/2) + nlgn.
a = 2, b = 2, d(n) = nlgn
n
log
b
a
= n
log
2
2
= n
Ya que d(n) = nlgn es asintticamente ms grande que n, se
puede suponer que el Caso 3 se aplica.
Sin embargo, nlgn no es asintticamente polinomialmente ms
grande que n.
El cociente d(n) = n
log
b
a
= nlgn/n = lgn es asintticamente menor
que n

, para cualquier constante positiva .


As, esta recurrencia cae en el hueco entre los Casos 2 y 3.
Arturo Daz Prez
Anlisis y Complejidad de Algoritmos 5
Anlisis y Diseo de Algoritmos Maestro-9
Lema 1
FSea
( )

'

k
b
n
b n k n d aT
n
n T
: si
1 si ) 1 (
) (
) (
ent onces,

,
_

+
1 log
0
log
) (
n
j
j
j a
b
b
b
n
d a n n T ) (
Demost racin. Ya se hizo en las not as ant eriores.
Lminas Anlisis-(24-26)
Anlisis y Diseo de Algoritmos Maestro-10
Lema 2
FSean a 1 y b 1 const ant es y sea d(n) una funcin no
negat iva definida sobre las pot encias exact as de b. La
funcin g

,
_

1 log
0
)
n
j
j
j
b
b
n
d a n g(
1 Si d(n) = O(n
log
b
a-
) para alguna const ant e > 0,
ent onces, g(n) = (n
log
b
a
).
2 Si d(n) = (n
log
b
a
), ent onces, g(n) = (n
log
b
a
lgn).
3 Si ad(n/b) cd(n) para alguna const ant e c < 1 y para n b,
ent onces, g(n) = (d(n)).
puede ser acot ado asint t icament e como sigue:
Arturo Daz Prez
Anlisis y Complejidad de Algoritmos 6
Anlisis y Diseo de Algoritmos Maestro-11
Demost racin Caso 1
FSi d(n) = O(n
log
b
a-
), ent onces, d(n/b
i
) = O((n/b
i
)
log
b
a-
)

,
_

,
_

a
n
j
j
j
b
b
b
n
d a O n g
log
1 log
0
) (
j
n
j
a
a
a
n
j
j
j
b
b
b
b
b
b
ab
n
b
n
d a

,
_

,
_

1 log
0
log
log
log
1 log
0

1 log
0
log
) (
n
j
j a
b
b
b n

1
]
1


1
1 ) (
log
log

b
b
n
n
a
b
b
1
]
1


1
1
log

b
n
n
a
b
Anlisis y Diseo de Algoritmos Maestro-12
Demost racin Caso 1 (cont .)
FYa que b y son const ant es

,
_

a
n
j
j
j
b
b
b
n
d a
log
1 log
0
1
]
1

1
1
log

b
n
n
a
b
) ( ) ( ) (
log log a a
b b
n O n O n n g

Arturo Daz Prez
Anlisis y Complejidad de Algoritmos 7
Anlisis y Diseo de Algoritmos Maestro-13
Demost racin Caso 2
FSi d(n) = (n
log
b
a
), ent onces, d(n/b
i
) = ((n/b
i
)
log
b
a
)

,
_

,
_

a
n
j
j
j
b
b
b
n
a n g
log
1 log
0
) (
j
n
j
a
a
a
n
j
j
j
b
b
b
b
b
b
a
n
b
n
a

,
_

,
_

1 log
0
log
log
log
1 log
0

1 log
0
log
1
n
j
a
b
b
n
n n
b
a
b
log
log

) lg ( ) log ( ) (
log log
n n n n n g
a
b
a
b b

, por lo tanto
Anlisis y Diseo de Algoritmos Maestro-14
Demost racin Caso 3
FDado que ad(n/b) cd(n) para alguna const ant e c < 1 y
para n b, e, se t iene que, a
j
d(n/b
j
) c
j
d(n).
a
n
j
j
j
b
b
b
n
d a n g
log
1 log
0
) (

,
_

1 log
0
) ( ) (
n
j
j
b
n d c n g

0
) ( ) (
j
j
c n d n g
c
n d

1
1
) (
)) ( ( ) ( n d O n g
, por lo tanto
, de aqu, ya que c es constante
)) ( ( ) ( n d n g
Arturo Daz Prez
Anlisis y Complejidad de Algoritmos 8
Anlisis y Diseo de Algoritmos Maestro-15
Lema 3
FSean a 1 y b 1 const ant es, sea d(n) una funcin y sea
T(n) definido en los ent eros no negat ivos pot encias de b
por la recurrencia
( ) ) ( ) ( n d aT n T
b
n
+
T(n) puede ser acot ado asint t icament e como sigue:
1 Si d(n) = O(n
log
b
a-
) para alguna const ant e > 0,
ent onces, T(n) = (n
log
b
a
).
2 Si d(n) = (n
log
b
a
), ent onces, T(n) = (n
log
b
a
lgn).
3 Si d(n) = (n
log
b
a+
) para alguna const ant e > 0 y si
ad(n/b) cd(n) para alguna const ant e c < 1 y t odas las n
suficient ement e grandes, ent onces, T(n) = (d(n)).
Anlisis y Diseo de Algoritmos Maestro-16
Demost racin Lema 3
FPor el Lema 1

,
_

+
1 log
0
log
) (
n
j
j
j a
b
b
b
n
d a n n T ) (
FPor el Lema 2
FCaso 1
) ( ) ( ) (
log log log a a a
b b b
n n O n n T + ) (
FCaso 2
) lg ( ) lg ( ) (
log log log
n n n n n n T
a a a
b b b
+ ) (
FCaso 3
)) ( ( ) (
log
n d n n T
a
b
+ ) (
pero d(n) = (n
log
b
a+
) , por lo tanto
)) ( ( n d n T ) (
Arturo Daz Prez
Anlisis y Complejidad de Algoritmos 9
Anlisis y Diseo de Algoritmos Maestro-17
Observacin al Lema 3
FEl Lema 3 es vlido nicament e cuando n es una
pot encia exact a de b.
FTarea. Demost rar que el Teorema Maest ro es vlido para
cuando n no es necesariament e un pot encia de b.
Cormen et al. pgs. 70-72.

You might also like