8. Fibonacci

¿Por qué Fibonacci?

Un alumno me preguntó  ¿por qué estudiar o entender Fibonacci?, ¿para qué sirve?

Para intentar explicar el punto de vista de la cátedra, propongo una metáfora. Supongamos que quieren correr la Ultramaratón de Yaboty, 21 km por selva, con temperaturas de 40 grados centígrados ¿Entrenarían corriendo 10 km por semana en el Invierno?

Puede que si pero no creo que sirva de mucho, está muy lejos del objetivo. Por lo tanto debemos tratar de aproximarnos, por ejemplo, acumulando 40km en una semana corriendo al medio día, durante un par de meses antes de la carrera. Eso sería algo mas acorde al desafío.

Bueno, Fibonacci intenta hacer eso pero con la capacidad de pensar y razonar de Uds.

Mas allá de la gran diversidad de aplicaciones de la serie en cuestiones tan diversas como:

  1. Los retrocesos de Fibonacci en trading (Comercio en Bolsa de Valores).
  2. Concepto de proporción aurea o proporción divina que se ve en la Naturaleza.
  3. En las matemáticas, el triángulo de Pascal es una representación de los coeficientes binomiales ordenados en forma de triángulo, los números de Fibonacci son la suma de las diagonales.
  4. Estrategia Fibonacci en los juegos de azar, permiten hacer apuestas con la esperanza de que, antes o después, se producirá una alternancia de resultados que nos hará conseguir apuestas ganadoras, tienen un riesgo y al ser progresivos, el riesgo es mayor.

Solo por mencionar algunas, pero hay otra aplicación en la programación que permite que el programador entienda concepto de:

Recursividad: Por definición, la recursión es una forma de especificar un proceso basándonos en su propia definición.

Ejemplo:

  • Calcular el factorial de un número entero n:

n! = n * (n-1)!

n! = n * (n-1) * (n-2)!

Podemos ver que el factorial de un número n lo puedo definir como el producto de n por el factorial de n-1; o sea que en la definición del proceso utilizo nuevamente la definición.

Este concepto puede resultar difícil de entender para algunos alumnos que comienzan a programar y es por eso que le dedicamos una sección de la materia.

Mas adelante se relaciona con otro tema que se conoce como recursividad de funciones, que está en el tema 10: Funciones.

La iteración (while o for), por otro lado, se define como el acto de repetir un proceso con la intención de lograr un objetivo.

La recursividad es un caso especial de iteración.

Fibonacci

Definición de Fibonacci:

Según Wikipedia, la sucesión o serie de Fibonacci es la siguiente sucesión infinita de números naturales:

    0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ..., ∞


La espiral de Fibonacci: una aproximación de la espiral áurea generada dibujando arcos circulares conectando las esquinas opuestas de los cuadrados ajustados a los valores de la sucesión;1​ adosando sucesivamente cuadrados de lado 0, 1, 1, 2, 3, 5, 8, 13, 21 y 34.

Figura 1

La sucesión comienza con los números 0 y 1​ a partir de estos, «cada término es la suma de los dos anteriores», es la relación de recurrencia que la define.

A los elementos de esta sucesión se les llama números de Fibonacci. Esta sucesión fue descrita en Europa por Leonardo de Pisa, matemático italiano del siglo XIII también conocido como Fibonacci. Tiene numerosas aplicaciones en ciencias de la computación, matemática y teoría de juegos. También aparece en configuraciones biológicas, como por ejemplo en las ramas de los árboles, en la disposición de las hojas en el tallo, en las flores de alcachofas y girasoles, en las inflorescencias del brécol romanesco, en la configuración de las piñas de las coníferas, en la reproducción de los conejos y en cómo el ADN codifica el crecimiento de formas orgánicas complejas. De igual manera, se encuentra en la estructura espiral del caparazón de algunos moluscos, como el nautilus.