Identificamos los componentes de la recurrencia: dos subproblemas (a=2), división a la mitad (b=2) y costo lineal de combinación (f(n)=cn).
Teorema Maestro
Aplicabilidad, casos, regularidad y ejemplos resueltos del Teorema Maestro.
12. Teorema Maestro — Cuándo aplica
Existen diversos métodos para resolver ecuaciones de recurrencia, cada uno adecuado para diferentes tipos de problemas. Los métodos más utilizados son: el Método de Iteración (expandir la recurrencia algebraicamente), el Método del Árbol de Recursión (representación visual de niveles), el Método de Ecuación Característica (para recurrencias lineales homogéneas), las Suposiciones Inteligentes o Método de Sustitución (para verificar cotas mediante inducción) y el Teorema Maestro, que proporciona una solución directa para recurrencias divide y vencerás.
El Teorema Maestro es un método directo para resolver recurrencias divide y vencerás. Sirve cuando una recurrencia expresa un problema de tamaño como varios subproblemas del mismo tamaño reducido, más un costo externo de división, combinación o trabajo local.
Forma canónica
En esta ecuación, indica cuántos subproblemas se generan, es el factor de reducción del tamaño, y representa el costo de dividir el problema y combinar los resultados. El comportamiento asintótico dependerá de la comparación entre y la función frontera , usando un valor para asegurar una diferencia polinómica clara.
- Aplica cuando todos los llamados recursivos tienen el mismo tamaño .
- Aplica cuando es constante y representa el número de subllamadas.
- Aplica cuando , es decir, el tamaño realmente se reduce por división.
- Aplica cuando es el costo no recursivo y puede compararse contra .
- No aplica a formas de resta como . Eso es resta y vencerás, no divide y vencerás.
- No aplica a formas como porque los subproblemas no tienen tamaño uniforme .
- No aplica si queda entre dos casos sin separación polinómica.
- No entrega la función exacta ; entrega el orden .
Paso a paso — Teorema Maestro
- Detectar y validar la forma. Confirmar que la recurrencia es exactamente , con y .
- Extraer parámetros. Identificar como número de llamadas, como factor de reducción y como costo externo.
- Calcular el exponente crítico. Calcular y formar la frontera .
- Comparar f(n) con n^p. Decidir si está polinómicamente por debajo, igual o polinómicamente por encima de .
- Verificar regularidad si parece caso 3. Probar para alguna constante .
- Concluir o rechazar. Si uno de los casos aplica, concluir. Si ninguno aplica, usar otro método: normalmente árbol de recursión o sustitución.
mide la presión de las hojas del árbol recursivo. Si es grande o reduce poco, aparecen muchas hojas y sube. Esa frontera compite contra el costo externo .
Los tres casos del Teorema Maestro
Casos del Teorema Maestro
| Caso | Condición | Interpretación | Resultado |
|---|---|---|---|
| Caso 1 | para algún | crece estrictamente más lento que . Dominan las hojas. | |
| Caso 2 | crece igual que . Cada nivel cuesta lo mismo. | ||
| Caso 3 | para algún , y con | crece estrictamente más rápido que . Domina la raíz. |
En el caso 1 se compara contra . En el caso 3 se compara contra . Usar en el caso 3 diría que basta crecer más que una función menor que , lo cual no garantiza que domine la raíz. Ese error destruye el Teorema Maestro.
debe ser un número real positivo. No tiene que ser grande; basta con que exista. Por ejemplo, si y , el caso 1 aplica con . La separación no tiene que ser bonita, pero sí debe ser polinómica.
La condición exige que el costo total de los subproblemas sea estrictamente menor que una fracción constante del costo de la raíz. Debes encontrar una constante con . No basta decir 'parece que sí'.
Árbol de decisión del Teorema Maestro
Decisión de aplicabilidad y caso
Ejemplos base
Ejemplo 1 — (Merge Sort / Quicksort mejor caso)
Calculamos el exponente crítico p usando el logaritmo de a en base b. Esto nos da la función frontera n^1.
Comparamos el costo externo f(n) con la frontera n^p. En este caso, ambos crecen al mismo ritmo (lineal).
Dado que f(n) es del mismo orden que n^p, aplicamos el caso 2 del Teorema Maestro.
El resultado final añade un factor logarítmico a la función frontera, resultando en una complejidad de n log n.
Ejemplo 2 —
Extraemos los parámetros: hay 4 subllamadas, cada una reduce el tamaño a la mitad, y el costo externo es lineal.
El exponente crítico p=2 define una frontera cuadrática n^2.
Comparamos f(n)=n con n^2. Como n es polinómicamente más pequeño que n^2, buscamos un epsilon que demuestre esta separación.
Verificamos que efectivamente n crece más lento que n^(2-1)=n^1.
Al ser f(n) polinómicamente menor que la frontera, aplicamos el Caso 1.
La complejidad total queda dominada por el trabajo en las hojas, que es de orden cuadrático.
Ejemplo 3 —
Identificamos a=4, b=2 y un costo externo cúbico f(n)=n^3.
La frontera sigue siendo n^2, pero ahora f(n) es n^3.
Observamos que n^3 crece polinómicamente más rápido que n^2. Usamos epsilon=1 para validarlo.
Parece ser el Caso 3, pero este requiere obligatoriamente verificar la condición de regularidad.
Evaluamos la condición de regularidad: el costo de los subproblemas debe ser una fracción del costo original.
Encontramos c=1/2, que cumple con ser menor que 1. Se satisface la regularidad.
Al dominar el trabajo en la raíz (costo externo), la complejidad final es el orden de f(n), es decir, cúbico.
Ejemplo 4 — (no aplica)
Ejemplo 5 — (búsqueda binaria)
Ejemplos enriquecidos y variantes típicas
Ejemplo enriquecido 1 —
Ejemplo enriquecido 2 —
Ejemplo enriquecido 3 —
Ejemplo enriquecido 4 —
Ejemplo enriquecido 5 —
Con el Teorema Maestro básico de tres casos, este ejemplo no encaja en caso 1, 2 ni 3: es mayor que , pero no es polinómicamente mayor que . Requiere una versión extendida del Teorema Maestro o método alterno.
Errores típicos
Errores frecuentes al aplicar el Teorema Maestro
| Error | Por qué está mal | Corrección |
|---|---|---|
| Aplicarlo a | Eso no divide el tamaño entre . Es resta, no división. | Usar iteración o ecuación característica, según corresponda. |
| Confundir con | cuenta llamados; reduce tamaño. | Leer primero el número de términos y luego el denominador del argumento. |
| Usar en el caso 3 | El caso 3 exige que sea polinómicamente mayor que . | Usar en el caso 3. |
| Omitir regularidad en el caso 3 | Sin regularidad, el caso 3 no está demostrado. | Calcular y encontrar . |
| Decir que el resultado es la función exacta | El teorema solo entrega orden asintótico. | Reportar , no una fórmula exacta completa. |
| Forzar un caso cuando cae entre casos | Algunas funciones no tienen separación polinómica suficiente. | Declarar no aplicable y usar árbol o sustitución. |
Resumen operativo
- Validar forma .
- Extraer , y .
- Calcular .
- Comparar contra .
- Caso 1: si , entonces .
- Caso 2: si , entonces .
- Caso 3: si y hay regularidad, entonces .