Está en la página 1de 31

Introducción

Recursividad
Relaciones de recurrencia homogéneas lineales

Recursividad

Luis Eduardo Amaya B.


Sede Guanacaste, Universidad de Costa Rica.

MA-0320 - Matemáticas Discretas


Octubre 2022

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción
Recursividad
Relaciones de recurrencia homogéneas lineales

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

3 Relaciones de recurrencia homogéneas lineales


Justificación
Definiciones

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción
Un poco de historia
Recursividad
Justificación
Relaciones de recurrencia homogéneas lineales

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

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción
Un poco de historia
Recursividad
Justificación
Relaciones de recurrencia homogéneas lineales

Un poco de historia
Dedekind, Peano, Gödel

Un poco de historia

(a) Dedekind (b) Peano (c) Gödel

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción
Un poco de historia
Recursividad
Justificación
Relaciones de recurrencia homogéneas lineales

Justificación
¿Y esto para qué? , si yo, ¡Ya sé programar!

La recursividad es una estrategia de programación de suma


importancia, ya que por su naturaleza, la eficiencia de muchos
algoritmos de diversas áreas de la informática se basan en este
principio.

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción
Un poco de historia
Recursividad
Justificación
Relaciones de recurrencia homogéneas lineales

Justificación
Hay que tener cuidado con la recursividad...

Un algoritmo recursivo invoca la función dentro de ella misma.

Figure: Un pequeño error puede traer "interminables" problemas.

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción
Un poco de historia
Recursividad
Justificación
Relaciones de recurrencia homogéneas lineales

Justificación
Una aplicación: Fractales

(a) Árbol Fractal (b) Libro de referencia (c) Simulación de


procesos

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción
Un poco de historia
Recursividad
Justificación
Relaciones de recurrencia homogéneas lineales

Justificación
Una aplicación: Fractales

(d) (e) (f)

Figure: Ejemplos en la naturaleza

Se puede ver un pequeño video:


https: // www. youtube. com/ watch? v= 4u7TwSwo0rU

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción Principios básicos de recursividad
Recursividad Ejemplos
Relaciones de recurrencia homogéneas lineales Comparación con la programación iterativa

Principios básicos de recursividad


Introducción

El razonamiento de una prueba por recursividad se sustenta en


buscar cada vez un problema mas pequeño, hasta derivar en el
caso "raíz" o base (si es que existe).
Si el problema no es numerable de forma finita hacia atrás la
recursividad como técnica de programación no se puede
emplear.

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción Principios básicos de recursividad
Recursividad Ejemplos
Relaciones de recurrencia homogéneas lineales Comparación con la programación iterativa

Principios básicos de recursividad


Introducción

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

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción Principios básicos de recursividad
Recursividad Ejemplos
Relaciones de recurrencia homogéneas lineales Comparación con la programación iterativa

Principios básicos de recursividad


Principio demostración por recursividad

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.

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción Principios básicos de recursividad
Recursividad Ejemplos
Relaciones de recurrencia homogéneas lineales Comparación con la programación iterativa

Principio demostración por recursividad


Ejemplo 1

Figure: Factorial

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción Principios básicos de recursividad
Recursividad Ejemplos
Relaciones de recurrencia homogéneas lineales Comparación con la programación iterativa

Principio demostración por recursividad


Ejemplo 1

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción Principios básicos de recursividad
Recursividad Ejemplos
Relaciones de recurrencia homogéneas lineales Comparación con la programación iterativa

Principio demostración por recursividad


Ejemplo 2

Figure: Potencia an

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción Principios básicos de recursividad
Recursividad Ejemplos
Relaciones de recurrencia homogéneas lineales Comparación con la programación iterativa

Principio demostración por recursividad


Ejemplo 2

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción Principios básicos de recursividad
Recursividad Ejemplos
Relaciones de recurrencia homogéneas lineales Comparación con la programación iterativa

Principio demostración por recursividad


Ejemplo 3

Figure: Fibonacci

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción Principios básicos de recursividad
Recursividad Ejemplos
Relaciones de recurrencia homogéneas lineales Comparación con la programación iterativa

Principio demostración por recursividad


Ejemplo 3

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción Principios básicos de recursividad
Recursividad Ejemplos
Relaciones de recurrencia homogéneas lineales Comparación con la programación iterativa

Principio demostración por recursividad


Ejemplo 4

Figure: Multiplicación

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción Principios básicos de recursividad
Recursividad Ejemplos
Relaciones de recurrencia homogéneas lineales Comparación con la programación iterativa

Principio demostración por recursividad


Ejemplo 4

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción Principios básicos de recursividad
Recursividad Ejemplos
Relaciones de recurrencia homogéneas lineales Comparación con la programación iterativa

Comparación con la programación iterativa


Considerar...

La programación iterativa construye la solución por agregación


correlativa de las partes desde la primera hasta la última, mientras
que la programación por recursión parte del todo y resuelve el
problema en partes mas pequeñas que finalmente necesita juntar
para reconstruir la solució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!.

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción Principios básicos de recursividad
Recursividad Ejemplos
Relaciones de recurrencia homogéneas lineales Comparación con la programación iterativa

Comparación con la programación iterativa


Semejanzas

Ambas estrategias usan algún tipo de repetición.


Ambas estrategias necesitan una condición de corte. (Caso raíz
en la recursividad, tope del contador en algo iterativo)
Ambas estrategias llegan a la solución gradualmente.

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción
Justificación
Recursividad
Definiciones
Relaciones de recurrencia homogéneas lineales

Resolución de relaciones de recurrencia


Esto, ¿Para qué?
Recordemos que en inducción vimos que existen 2 formas de atacar
un mismo problema, pero que uno de ellos, consume menos tiempo
de ejecución.
n (n + 1)
1 + 2 + ··· + n =
2
,
esto ∀n ≥ 1

Figure: Suma de números


Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. naturales
Recursividad
Introducción
Justificación
Recursividad
Definiciones
Relaciones de recurrencia homogéneas lineales

Resolución de relaciones de recurrencia


Esto, ¿Para qué?

Si en inducción existió casos en donde se podía


hacer más rápido y eficiente, en recursividad
¿Existirá para algunos casos, algo similar?

Figure: Pikachu: el pokemón con mejor publicista del mundo...


Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad
Introducción
Justificación
Recursividad
Definiciones
Relaciones de recurrencia homogéneas lineales

Resolución de relaciones de recurrencia


Definición

Definición
Una relación de recurrencia homogénea lineal con coeficientes
constantes de orden k es aquella de la forma

an = β1 an−1 + β2 an−2 + · · · + βk an−k

sujeta a k condiciones iniciales a0 = c0 , a1 = c1 , · · · , ak −1 = ck −1 ,


esto ∀n ∈ N, n ≥ k .

Ejemplo 5: la sucesión de Fibonacci es un ejemplo, en donde

Fn = Fn−1 + Fn−2
con F1 = 1, F2 = 1

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción
Justificación
Recursividad
Definiciones
Relaciones de recurrencia homogéneas lineales

Resolución de relaciones de recurrencia


Fibonacci

La sucesión de Fibonacci tiene asociada


muchas curiosidades, una de ellas, su relación
con el número aúreo o Φ

Figure: Leonardo de Pisa

Se recomienda mirar los siguientes videos:


https://www.youtube.com/watch?v=yDyMSliKsxI,
https://www.youtube.com/watch?v=svwYX43rvT4&t=153s
Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad
Introducción
Justificación
Recursividad
Definiciones
Relaciones de recurrencia homogéneas lineales

Resolución de relaciones de recurrencia


Definición

Definición
A la ecuación

t k − β1 t k −1 − β2 t k −2 − · · · − βk = 0

se le denomina ecuación característica asociada a la relación de


recurrencia.

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción
Justificación
Recursividad
Definiciones
Relaciones de recurrencia homogéneas lineales

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.

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción
Justificación
Recursividad
Definiciones
Relaciones de recurrencia homogéneas lineales

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

esto ∀n, n ∈ N∗ , siendo b1 y b2 dos constantes obtenidas de las


condiciones inciales.

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción
Justificación
Recursividad
Definiciones
Relaciones de recurrencia homogéneas lineales

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í

an = b1 r1n + b2 r2n + b3 r3n

En caso de tener r1 repetida dos veces, y existir un r2 , donde


r2 6= r1
an = b1 r1n + b2 nr1n + b3 r2n
El estudiante puede deducir o investigar que pasa si r1 se repite
3 veces.

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción
Justificación
Recursividad
Definiciones
Relaciones de recurrencia homogéneas lineales

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.

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad


Introducción
Justificación
Recursividad
Definiciones
Relaciones de recurrencia homogéneas lineales

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.

Luis Eduardo Amaya B. Sede Guanacaste, Universidad de Costa Rica. Recursividad

También podría gustarte