Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Recursividad
Relaciones de recurrencia homogéneas lineales
Recursividad
Contents
1 Introducción
Un poco de historia
Justificación
2 Recursividad
Principios básicos de recursividad
Ejemplos
Comparación con la programación iterativa
Un poco de historia
Dedekind, Peano, Gödel
Un poco de historia
El concepto de recursión surgió en el seno de la Teoría de la
Computabilidad (una rama especializada de la Lógica
Matemática).
Su origen se remonta al siglo XIX y fue ya utilizado por autores
como Dedekind o Peano.
La función suma es una función que pertenece a la clase de las
funciones recursivas primitivas, empleadas y definidas por
Skolem (1923) y Gödel (1931, 1934)
Si alguien quiere leer un poco más se recomienda:
https: // pensamientoycultura. unisabana. edu. co/ index.
php/ pyc/ article/ view/ 4276/ 3645
Un poco de historia
Dedekind, Peano, Gödel
Un poco de historia
Justificación
¿Y esto para qué? , si yo, ¡Ya sé programar!
Justificación
Hay que tener cuidado con la recursividad...
Justificación
Una aplicación: Fractales
Justificación
Una aplicación: Fractales
Definición
Una sucesión descendente en un problema recursivo es un
subproblema derivado del primero, pero más pequeño, el cual
presenta un orden descendente.
Si todas las sucesiones descendentes son finitas sobre un
determinado dominio, se dice que el dominio esta bien
fundamentado.
Ejemplos de sucesiones decrecientes son:
1 Sn = {100, 80, 10, 5, 1, · · · }
2 Ln = {−1, −2, −10, · · · }
7 5 3
3 Rn = { , , , · · · }
2 2 2
Teorema
Una proposición recursiva P(n), es válida ∀n, n ∈ N, es decir finaliza
generando una solución si
1 P(n) tiene un dominio bien definido.
2 Se prueba si P (m0 ) finaliza, siendo m0 el valor mínimo de dicho
dominio ("caso raíz" o "base").
3 Se asume que P(m) finaliza ∀m, m < n, con n un valor arbitrario
pero fijo del dominio. (hipótesis recursiva)
4 Se demuestra que P(n) finaliza.
Figure: Factorial
Figure: Potencia an
Figure: Fibonacci
Figure: Multiplicación
Ventajas recursión
Soluciones simples y claras.
Soluciones a problemas complejos.
Desventajas recursión
Sobrecarga asociada con las llamadas a subalgoritmos.
Una simple llamada puede generar un gran número de
llamadas recursivas, por ejemplo n!.
Definición
Una relación de recurrencia homogénea lineal con coeficientes
constantes de orden k es aquella de la forma
Fn = Fn−1 + Fn−2
con F1 = 1, F2 = 1
Definición
A la ecuación
t k − β1 t k −1 − β2 t k −2 − · · · − βk = 0
Teorema
Teorema
Sea la relación de recurrencia homogénea lineal con coeficientes
constantes de orden dos
an = β1 an−1 + β2 an−2
con a0 = c0 , a1 = c1
Si la ecuación característica t 2 − β1 t − β2 = 0 tiene dos raíces
distintas r1 y r2 , la solución de la relación de recurrencia viene
dada por
an = b1 r1n + b2 r2n
esto ∀n, n ∈ N∗ , siendo b1 y b2 dos constantes obtenidas de las
condiciones inciales.
Teorema
Continuación...
Teorema
Si la ecuación t 2 − β1 t − β2 = 0 tiene una raíz única r , la
solución de la relación de recurrencia viene dada por
an = b1 r n + b2 nr n
Tomar en cuenta...
Nota
El teorema es válido si no se comienza en n = 0.
El teorema también aplica si tenemos una relación de
recurrencia homogénea lineal de orden 3, la cual tendría como
ecuaciones
En caso de tener tres soluciones r1 , r2 y r3 distintas entre sí
Ejemplo 6
Ejemplo
Determinar la fórmula explícita para cada una de las relaciones de
recurrencia dadas
1 an = 2an−1 + 3an−2 , con a1 = 3, a2 = 21.
2 Fibonacci...
3 bn = 6bn−1 − 9bn−2 , con b1 = 0, b2 = −9.
4 3an = 7an−1 − 2an−2 , con a0 = 1, a1 = 2.
5 an = an−1 + an−2 , con a1 = a2 = 0.
6 an = 2an−1 + 5an−2 − 6an−3 , con a0 = −1, a1 = 10, a2 = −2.
7 an = an−1 + an−2 − an−3 , con a0 = 6, a1 = 1, a2 = 12.
Ejemplo 7
Ejemplo
1 Sea la sucesión {3, 4, −16, −192, −1280, −7168, −36864, · · · },
con el comando FindLinearRecurrence de Mathematica,
verifique que la relación de recurrencia asociada a dicha
sucesión es, an = 8an−1 − 16an−2 , con a0 = 3, a1 = 4, luego
determine la fórmula explícita.
2 Determinar la fórmula por recurrencia para la relación bn definida
explícitamente por bn = 2 · 3n + 2 + n.