Blog

Huracanes, conejos y piñas: matemáticas en la naturaleza y cómo calcular la sucesión de Fibonacci

Publicado por Enrique Benimeli en Informática, Matemáticas, Mis recursos, Programación, Recursos con 2 comentarios

Las matemáticas están presentes en la naturaleza, mucho más de lo que podemos imaginar. Formas, proporciones y crecimientos; infinidad de elementos naturales siguen un orden matemático, un patrón. Uno de los casos de estudio más curiosos es la aparición de la sucesión de Fibonacci en muchos elementos naturales.

Por ejemplo, el pasado 28 de octubre a las 6:45 PM EDST, el decimoctavo ciclón tropical de la temporada 2012 adquiría la forma de la espiral de Fibonacci. Era el huracán Sandy.

También es curioso comprobar que si observamos las hileras espirales de escamas en una piña, se pueden contar 8 espirales enrollándose hacia la izquierda y 13 espirales que lo hacen en sentido contrario. O también 13 hacia la izquierda y 21 hacia la derecha. También se pueden dar otras parejas de números, pero en cualquier caso se tratan de números consecutivos en la famosa sucesión de Fibonacci: 1, 1, 2, 3, 5, 8, 13, 21, …

La longitud de tus falanges también sigue la sucesión de Fibonacci:

¿Qué es la sucesión de Fibonacci?

En matemáticas, una sucesión es una lista ordenada de objetos, cada uno de ellos denominado término, elemento o miembro de la sucesión. Podríamos encontrar (e inventar) sucesiones, finitas e infinitas, pero de todas ellas, probablemente una de las que más curiosidad despierta es la sucesión de Fibonacci. De hecho, el interés por esta famosa serie de números no sólo tiene que ver con sus aplicaciones directas en el mundo de las ciencias de la computación y las matemáticas, sino por estar presente, como comentaba, en muchos elementos de la naturaleza.

La sucesión de Fibonacci corresponde a la sucesión infinita de números naturales en la que cada elemento es la suma de los dos anteriores:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17111, 28657, 46638, …

En ocasiones y de forma errónea, se hace referencia a esta secuencia de números como «serie de Fibonacci», sin embargo, una serie matemática es un concepto que tiene que ver con la suma de los términos de una sucesión infinita.

Aunque la sucesión ya había sido descubierta por matemáticos indios, fue Leonardo de Pisa (1170-1250), matemático italiano del siglo XIII conocido como Fibonacci, quien describió la sucesión como solución a un problema de cría de conejos.

El problema decía:

Cierto hombre tenía una pareja de conejos juntos en un lugar cerrado y uno desea saber cuántos son creados a partir de este par en un año cuando es su naturaleza parir otro par en un simple mes, y en el segundo mes los nacidos parir también.

En un lenguaje más actual:

  • Al comienzo del primer mes nace una pareja de conejos y a final de mes se cruzan.
  • Al final del segundo mes, la pareja A da a luz a la pareja B y se vuelve a cruzar la pareja A.
  • Al final de tercer mes, la pareja A da a luz a la pareja C y se cruzan las parejas A y B.
  • Al final del cuarto mes, las parejas A y B dan a luz a las parejas D y E y se cruzan las parejas A, B y C.
  • Al final del quinto mes, las parejas A, B y C dan a luz a las parejas F, G y H y se cruzan las parejas A, B, C, D y E.
  • Y así sucesivamente…

Es decir, las parejas se irían reproduciendo con el siguiente esquema:

  • Fin del mes 0: 0 parejas
  • Comienzo del primer mes: 1 pareja AA
  • Después de 1 mes: 1 pareja AA
  • Después de 2 meses: 2 parejas AA BB
  • Después de 3 meses: 3 parejas AA CC BB
  • Después de 4 meses: 5 parejas AA DD CC BB EE
  • Después de 5 meses: 8 parejas AA FF DD CC HH BB GG EE
  • Después de 6 meses: 13 parejas AA II FF DD LL CC KK HH BB JJ GG EE MM

En cada paso se indica en negrita la pareja de conejos que nace, a la derecha de la pareja adulta (después de un mes) que se han cruzado. Siguiendo la sucesión, es sencillo calcular el número de conejos después de «n» meses.

Podemos observar en la sucesión como el número de parejas de conejos en cada paso es la suma del número de parejas en los dos meses anteriores. Por ejemplo, después de 6 meses tenemos 13 parejas, que es la suma de 5 y 8 (el número de parejas en los meses 4 y 5).

Cálculo del elemento «n» en la sucesión de Fibonacci: F(n)

Para conocer el valor del elemento en cualquier posición de la sucesión, hay varios algoritmos o métodos, que además podemos implementar prácticamente con cualquier lenguaje de programación actual. Si utilizamos la propia definición de la sucesión de Fibonacci, podríamos programar la siguiente función:

La función sería válida para valores de «n» mayores o iguales que 2. Para n=0 la función vale 0, y para n=1 la función vale 1. Observamos que la función se define utilizando la propia definición de la función. Es una definición recursiva de la función y con los lenguajes de programación más extendidos (Java, C++, etc.), desde hace mucho tiempo podemos expresar este tipo de funciones.

Versión recursiva de la función Fibonacci

Para implementar la función Fibonacci con una definición recursiva, simplemente tomamos la función y la expresamos con instrucciones del lenguaje de programación que hemos elegido, en este caso Java. Podemos ver la definición recursiva en la línea 48.

El inconveniente de este tipo de definición recursiva es el número de sumas que se efectúan: concretamente f(n-1)-1 sumas. Es decir, en varios pasos del proceso se repiten cálculos (aunque con estrategias de programación dinámica se pondría solución a este problema).

Versión iterativa de la función Fibonacci

Otro enfoque para abordar el problema es implementar una versión iterativa del problema, con la que solamente es necesario realizar «n» sumas y no «f(n-1)-1» sumas, como en el caso recursivo.  Es decir, en la versión iterativa se va obteniendo en orden y paso a paso cada uno de los elementos de la sucesión en función de los 2 anteriores. Lógicamente, para poder empezar, es necesario definir los valores de los dos primeros elementos de la sucesión: 0 y 1. A continuación se suma 0+1=1 y se obtiene la sucesión 0,1,1. Se vuelven a sumar los dos últimos elementos 1+1=2 y se obtiene la sucesión 0,1,1,2. Se procede de la misma forma con el 1 y el 2, 1+2=3 y se añade a la sucesión: 0,1,1,2,3. Estos pasos son exactamente los que están programados en el código Java que se muestra a continuación. Se puede observar el cálculo de la suma de los dos elementos anteriores en la línea 38.

Fibonacci y diseño

También la sucesión de Fibonacci llega al diseño de interiores. Podéis echarle un vistazo a este curioso armario con una distribución de cajones siguiendo la famosa sucesión. Lo compartía el blog de matemáticas Gaussianos.

Y un último intento de explicar la sucesión de Fibonacci:

Wikipedia | Sucesión de Fibonacci
Wolfram|Alpha | Primeros números de la sucesión
Programa Java (rextester) | Versión iterativa | Versión recursiva
Fotografía | Fibonacci Cabinet de Utopia Architecture & Design (vía Gaussianos)

EmailFacebook13Google+5LinkedIn0Pinterest0tumblrTwitter0

2 Comments

  1. Pingback: Huracanes, conejos y piñas: matemáticas en la naturaleza y cómo calcular la sucesión de Fibonacci | Esfera TIC | Las TIC y la Educación

  2. Pingback: Arte y matemáticas: números escondidos en el Partenón, la Mona Lisa y la manzana de Apple | Esfera TIC

Post a Comment

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Plugin Sponsor WordPress Plugins