Categories
Biología

La secuencia de Fibonacci y sus enigmáticas propiedades

Por definición, los primeros números en la secuencia de Fibonacci son 0 y 1, y cada número siguiente es la suma de los dos previos.  (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144.….). Es el motivo de la naturaleza, si entendemos esta secuencias comenzaremos a entender a la naturaleza.

Historia

A comienzos del siglo XIII, un matemático llamado Leonardo de Pisa (también conocido como Fibonacci) introdujo una secuencia de números: 1, 1, 2, 3, 5, 8, 13, 21 ,…1,1,2,3,5,8,13,21,… en el cual el patrón es definido de este modo: 𝐹1=1, 𝐹2=1, 𝐹𝑛=𝐹𝑛−1+𝐹𝑛−2 F1=1,F2=1,Fn=Fn−1+Fn−2.

Este matemático la descubrió en el año 1202, es decir hace más de 800 años y todavía seguimos hablando de esta secuencia. El problema original que investigó Fibonacci fue la rapidez con la que los conejos podían reproducirse en circunstancias ideales.

Los conejos teóricos

Supongamos que se coloca en un campo una pareja de conejos recién nacidos, un macho y una hembra. Los conejos pueden aparearse a la edad de un mes, de modo que al final de su segundo mes una hembra puede producir otro par de conejos. Nuestros conejos nunca mueren y además la hembra siempre produce una nueva pareja (un macho, una hembra) cada mes a partir del segundo mes. El rompecabezas que planteó Fibonacci fue … ¿Cuántas parejas habrá en un año?

  • Al final del primer mes, se aparean, pero todavía hay una sola pareja. (1)
  • Al final del segundo mes, la hembra produce una nueva pareja, por lo que ahora hay 2 parejas de conejos en el campo. (2)
  • Al final del tercer mes, la hembra original produce un segundo par, formando 3 pares en total en el campo. (3)
  • Al final del cuarto mes, la hembra original ha producido otro par nuevo, la hembra nacida hace dos meses también produce su primer par, formando 5 pares. (5)
Original: http://www.maths.surrey.ac.uk/hosted-sites/R.Knott/Fibonacci/fibnat.html#section1.3.1

Este supuesto planteado tiene algunos inconvenientes. Primero… es poco probable que una pareja de conejos en edad fértil de siempre camadas de 2 conejos, una hembra y otro macho. Además estamos suponiendo que se tienen que aparear hermanos lo cual dará lugar a problemas genéticos evidentes.

Un supuesto más realista, las vacas

Henry E Dudeney (1857-1930), matemático inglés, escribió varios libros excelentes de acertijos/rompecabezas. En uno de ellos adapta los conejos de Fibonacci a las vacas, haciendo que el problema sea más realista de la forma que observamos anteriormente. Él soluciona los problemas al darse cuenta de que, en realidad, solo las hembras son interesantes, me refiero al número de hembras.

Cambia los meses en años y los conejos en toros (machos) y vacas (hembras) en el problema 175 de su libro 536 puzzles and Curious Problems. Si una vaca produce su primer ternero a la edad de dos años y luego produce otro solo ternero cada año, ¿cuántos terneros hay después de 12 años, asumiendo que ninguno muere? Esta es una mejor simplificación del problema y ahora es bastante realista.

Pero la secuencia de Fibonacci hace lo que los matemáticos suelen hacer al principio, simplificar el problema y ver qué sucede, y la serie que lleva su nombre tiene muchas otras aplicaciones interesantes y prácticas, como veremos más adelante.
Así que veamos otra situación de la vida real que está exactamente modelada por la serie de Fibonacci: las abejas.

Las abejas y los árboles genealógicos

Hay más de 20.000 especies de abejas y en la mayoría de ellas las abejas viven vidas solitarias. Pero vamos a hablar de la idea que todos tenemos al oir la palabra abejas, es decir, un tipo de abeja que vive con otras en una colmena, hace miel y tienen un árbol genealógico inusual. De hecho, hay muchas características inusuales de las abejas y en esta sección mostraremos cómo los números de Fibonacci cuentan los antepasados ​​de una abeja .

  • En primer lugar, algunos datos inusuales sobre las abejas es que no todas tienen dos padres.
  • En una colonia de abejas hay una hembra especial llamada abeja reina.
  • Hay muchas abejas obreras que también son hembras, pero a diferencia de la abeja reina, no producen huevos.
  • Hay algunas abejas zánganas que son machos y no trabajan. Los machos son producidos por los huevos no fertilizados de la reina, ¡así que las abejas machos solo tienen una madre pero no un padre!.
  • Todas las hembras se producen cuando la reina se ha apareado con un macho y, por tanto, tienen dos padres. Las hembras generalmente terminan como abejas obreras, pero algunas son alimentadas con una sustancia especial llamada jalea real que las hace crecer y convertirse en reinas listas para comenzar una nueva colonia cuando las abejas forman un enjambre y abandonan su hogar (una colmena) en busca de un lugar para construir un nuevo nido.

Por tanto, las abejas hembras tienen 2 padres, un macho y una hembra, mientras que las abejas macho solo tienen un progenitor, una hembra.

Si nos fijamos en el árbol familiar de un abeja macho tenemos que:

  1. Solo tuvo 1 padre, una hembra.
  2. Tiene 2 abuelos, dado que su madre tuvo dos padres, un macho y una hembra.
  3. Tiene 3 bisabuelos: su abuela tuvo dos padres pero su abuelo solo tuvo uno.

De nuevo nos encontramos con los números de fibonacci. Lo podemos resumir así:

Número dePadresAbuelosBisabuelosTatarabueloTatatarabuelo
un abeja macho12358
una abeja hembra235813

La secuencia de Fibonacci y el número dorado

La secuencia de Fibonacci es una secuencia de números enteros muy conocida. Los dos primeros términos de la secuencia son 0 y 1 y todos los demás son la suma de los dos términos anteriores. Matemáticamente, los valores de la secuencia de Fibonacci está dado por la función:
𝑓 (0) = 0, 𝑓 (1) = 1, 𝑓 (𝑛) = 𝑓 (𝑛 – 1) + 𝑓 (𝑛 – 2); 𝑛 ≥ 2.
El cociente de dos términos sucesivos converge a (1 + √5) / 2, el número Dorado. Si tomamos la razón de dos números sucesivos en la serie de Fibonacci, (1, 1, 2, 3, 5, 8, 13, ..) y dividimos cada uno por el número anterior, encontraremos la siguiente serie de números:
1/1 = 1, 2/1 = 2, 3/2 = 1.5, 5/3 = 1.666 …, 8/5 = 1.6, 13/8 = 1.625, 21/13 = 1.61538 …

La proporción áurea 1.618034 también se llama la sección áurea o la media áurea o simplemente el número áureo o número dorado. A menudo se representa con una letra griega Phi. El valor estrechamente relacionado que escribimos como phi con una “p” pequeña es solo la parte decimal de Phi, es decir, 0.618034.

Uno de los objetivos de la ciencia es encontrar el orden en la naturaleza. Nosotros para mejor comprenderla siempre la ordenamos y le ponemos nombre aunque podríamos pensar que las moléculas o los elementos químicos no sería necesario ponerles nombre, son la sucesión de pequeños cambios que hacen que un elemento llamado X se llame elemento Y y así sucesivamente.

Como crear la secuencia de Fibonacci en Python

El siguiente código describe como crear la secuencia de Fibonacci en Python.

# Se define la serie de Fibonacci
def fib(n): 
	a, b = 0, 1
	while a < n:
		print(a, end=' | ')
		a, b = b, a+b
	print()

 # se llama a la función y definimos n
fib(2000)

El resultado sería: 0 | 1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | 34 | 55 | 89 | 144 | 233 | 377 | 610 | 987 | 1597 .

La palabra reservada def se usa para definir funciones. Debe seguirle el nombre de la función y la lista de parámetros formales entre paréntesis. Las sentencias que forman el cuerpo de la función empiezan en la línea siguiente, y deben estar con sangría.
La primer sentencia del cuerpo de la función puede ser opcionalmente una cadena de texto literal; esta es la cadena de texto de documentación de la función, o docstring.

Como crear una secuencia de Fibonacci en R

El siguiente código a su vez describe como crear una secuencia de Fibonacci en R.

# Sucesión de Finonacci
# utilizando una definicion recursiva
f <- function(i) {
  if (i<=2) {
	 a <- 1
  } else {
	 a <- f(i-1) + f(i-2)
  }
  return(a)
}
#
for (i in 1:20) {print(f(i))}

# Utilizando un bucle
tiempo.inicial <- proc.time()
Fibonacci <- rep(NA,20)
Fibonacci[1] <- Fibonacci[2] <- 1
for ( i in 3:20) {
  Fibonacci[i] <- Fibonacci[i-2] + Fibonacci[i-1]
}
print(Fibonacci[20])
print(Fibonacci)
tiempo.final <- proc.time()
print(tiempo.final - tiempo.inicial)

Canción Often a Bird. Artista Wim Mertens & Wim Mertens Ensemble. Álbum Jardin clos. Writers: Wim Mertens

Espero que te haya resultado interesante esta entrada. Si es así deja un comentario.

Bibliografía:

Leave a Reply