Documente Academic
Documente Profesional
Documente Cultură
Ir a la navegaciónIr a la búsqueda
En el análisis de algoritmos, el teorema maestro proporciona una solución sencilla en
términos asintóticos (usando una Cota superior asintótica) para ecuaciones de recurrencia que
ocurren en muchos algoritmos recursivos tales como en el Algoritmo divide y vencerás. Fue
popularizado por el libro Introducción a los algoritmos por Cormen, Leiserson, Rivest, y Stein,
en el cual fue tanto introducido como probado formalmente. No todas las ecuaciones de
recurrencia pueden ser resueltas con el uso del teorema maestro.
Índice
• 1Introducción
• 2Forma genérica
o 2.1Caso 1
▪ 2.1.1Forma Genérica
▪ 2.1.2Ejemplo
o 2.2Caso 2
▪ 2.2.1Forma Genérica
▪ 2.2.2Ejemplo
o 2.3Caso 3
▪ 2.3.1Forma Genérica
▪ 2.3.2Ejemplo
• 3Casos Irresolubles
• 4Bibliografía
• 5Véase también
• 6Referencias
Introducción[editar]
Considere un problema que puede ser resuelto a través de un algoritmo recursivo como el
siguiente:
T(n/b)
T(n/b)
...repetir una cantidad de a veces...
T(n/b)
fin procedimiento
En el algoritmo mostrado arriba se divide el problema original en una cantidad menor de
subproblemas de manera recursiva, cada uno de estos subproblemas siendo del tamaño
de n/b. Esto podría ser visualizado como la construcción de un árbol de llamadas al problema,
siendo cada nodo del árbol una instancia recursiva del mismo y sus hijos siendo instancias de
las llamadas subsiguientes. En el ejemplo de arriba, cada nodo tendría un número a de hijos.
Cada nodo hará la cantidad de trabajo correspondiente al tamaño del subproblema n, pasado
Forma genérica[editar]
El teorema maestro sirve para resolver relaciones recursivas de la siguiente forma:
Ejemplo[editar]
Como puede verse en la fórmula de arriba:
, entonces
, donde
Luego, vemos que se cumple la condición del
caso 1:
.
Luego por el teorema maestro tenemos
que
Caso 2[editar]
Forma Genérica[editar]
Si es verdad que para alguna
constante k ≥ 0, que:
donde
Entonces:
Ejemplo[editar]
donde
Luego,
nos
fijamos
que
cumpla
la
condició
n del
caso 2:
D
a
n
d
o
d
e
e
s
a
m
a
n
e
r
a
q
u
e
l
a
r
e
l
a
c
i
ó
n
d
e
r
e
c
u
r
r
e
n
c
i
a
d
e
T
(
n
)
e
s
Θ
(
n
l
o
g
n
)
.
C
a
s
o
3
[
e
d
i
t
a
r
]
F
o
r
m
a
G
e
n
é
r
i
c
a
[
e
d
i
t
a
r
]
S
i
e
s
v
e
r
d
a
d
q
u
e
:
donde
Y
s
i
e
s
v
e
r
d
a
d
a
d
e
m
á
s
q
u
e
:
grande
E
n
t
o
n
c
e
s
:
E
j
e
m
p
l
o
[
e
d
i
t
a
r
]
C
o
m
o
p
u
e
d
e
v
e
r
s
e
e
n
l
a
f
ó
r
m
u
l
a
d
e
a
r
r
i
b
a
,
l
a
s
v
a
r
i
a
b
l
e
s
o
b
t
i
e
n
e
n
l
o
s
s
i
g
u
i
e
n
t
e
s
v
a
l
o
r
e
s
:
, donde
,y por lo tanto se cumple que,
, eligiendo
a no es una constante; el número de subproblemas debe
ser fijo.