robot de la enciclopedia para niños

Sucesión de Fibonacci para niños

Enciclopedia para niños
Archivo:First members of Fibonacci sequence
Gráfica de la sucesión de Fibonacci hasta f_{7}

En matemáticas, la sucesión o serie de Fibonacci es la siguiente sucesión infinita de números naturales:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597\ldots \,.
Archivo:Fibonacci spiral 34
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; adosando sucesivamente cuadrados de lado 0, 1, 1, 2, 3, 5, 8, 13, 21 y 34.

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 hijos 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.

Historia

Leonardo Pisano, Leonardo de Pisa, o Leonardo Bigollo, también conocido como Fibonacci, nació en 1170 y murió en 1240. Mucho antes de ser conocida en occidente, la sucesión de Fibonacci ya estaba descrita en la matemática en la India, en conexión con la prosodia sánscrita.

Susantha Goonatilake hace notar que el desarrollo de la secuencia de Fibonacci «es atribuido en parte a Pingala (año 200), posteriormente asociado con Virahanka (hacia el año 700), Gopāla (hacia 1135) y Hemachandra (hacia 1150)». Parmanand Singh cita a Pingala (hacia 450) como precursor en el descubrimiento de la secuencia.

La sucesión fue descrita y dada a conocer en occidente por Fibonacci como la solución a un problema de la cría de conejos:

Número de mes Explicación de la genealogía Parejas de conejos
Comienzo del mes 1 Nace una pareja de conejos (pareja A). 1 pareja en total.
Fin del mes 1 La pareja A tiene un mes de edad. Se cruza la pareja A. 1+0=1 pareja en total.
Fin del mes 2 La pareja A da a luz a la pareja B. Se vuelve a cruzar la pareja A. 1+1=2 parejas en total.
Fin del mes 3 La pareja A da a luz a la pareja C. La pareja B cumple 1 mes. Se cruzan las parejas A y B. 2+1=3 parejas en total.
Fin del mes 4 Las parejas A y B dan a luz a D y E. La pareja C cumple 1 mes. Se cruzan las parejas A, B y C. 3+2=5 parejas en total.
Fin del mes 5 A, B y C dan a luz a F, G y H. D y E cumplen un mes. Se cruzan A, B, C, D y E. 5+3=8 parejas en total.
Fin del mes 6 A, B, C, D y E dan a luz a I, J, K, L y M. F, G y H cumplen un mes. Se cruzan A, B, C, D, E, F, G y H. 8+5=13 parejas en total.
... ... ...
... ... ...

Nota: al contar la cantidad de letras distintas en cada mes, se puede saber la cantidad de parejas totales que hay hasta ese mes.

Archivo:Liber abbaci magliab f124r
Página del Liber Abaci de Fibonacci de la Biblioteca Nacional Central de Florencia mostrando (en un recuadro a la derecha) la sucesión de Fibonacci con las posiciones de la secuencia etiquetadas en números romanos y en latín; y el valor de los números en cifras arábigas.

De esta manera Fibonacci presentó la sucesión en su libro Liber Abaci, publicado en 1202. Muchas propiedades de la sucesión de Fibonacci fueron descubiertas por Édouard Lucas, responsable de haberla denominado como se la conoce en la actualidad.

También Kepler describió los números de Fibonacci, y el matemático escocés Robert Simson descubrió en 1753 que la relación entre dos números de Fibonacci sucesivos f_{n+1}/f_n se acerca a la relación áurea fi (\phi) cuando n tiende a infinito; es más: el cociente de dos términos sucesivos de toda sucesión recurrente de orden dos tiende al mismo límite. Esta sucesión tuvo popularidad en el siglo XX especialmente en el ámbito musical, en el que compositores con tanto renombre como Béla Bartók, Olivier Messiaen, la banda Tool y Delia Derbyshire la utilizaron para la creación de acordes y de nuevas estructuras de frases musicales.

Definición recurrente

Los números de Fibonacci quedan definidos por las ecuaciones

(1)f_0=0\,

(2)f_1=1\,

(3)f_n = f_{n-1} + f_{n-2}\,

Esto produce los siguientes números:

  • f_2 = 1\,
  • f_3 = 2\,
  • f_4 = 3\,
  • f_5 = 5\,
  • f_6 = 8\,
  • f_7 = 13\,
  • f_8 = 21\,

y así sucesivamente.

Esta manera de definir, de hecho considerada algorítmica, es usual en matemática discreta.

Es importante definir f_0 = 0\, para que se pueda cumplir la importante propiedad de que:

f_n divide a f_{m*n}, para cualquier  m, n >= 1 .

Representaciones alternativas

Para analizar la sucesión de Fibonacci (y, en general, cualquier sucesión) es conveniente obtener otras maneras de representarla matemáticamente.

\frac{1\pm\sqrt 5} {2} =\frac {b}{a}=\frac{c}{b} , donde c=a+b; a≠0; b≠0; b>a

bb=ac

b^2=ac

b^2=a*(a+b)

b^2=a^2+ab

a^2-b^2+ab=0

Reemplazando las variables por pares de valores consecutivos de la sucesión de Fibonacci (a=1;b=2 o a=3;b=5) se ve que:

(1)^2-(2)^2+(1)*(2)=-1

(3)^2-(5)^2+(3)*(5)=-1

Con la fórmula siguiente se puede establecer cuán fuerte es la relación áurea entre dos números: 0 Es una relación áurea perfecta y en los extremos 1 y - 1 son números pertenecientes a la sucesión Fibonacci -1<=a^2-b^2+ab<=1

Función generadora

Una función generadora para una sucesión cualquiera a_0,a_1,a_2,\dots es la función f(x) = a_0+a_1x+a_2x^2+a_3x^3+a_4x^4+\cdots, es decir, una serie formal de potencias donde cada coeficiente es un elemento de la sucesión. Los números de Fibonacci tienen la función generadora

(4)f\left(x\right)=\frac{x}{1-x-x^2}

Cuando esta función se expande en potencias de x\,, los coeficientes resultan ser la sucesión de Fibonacci:

\frac{x}{1-x-x^2}=0x^0+1x^1+1x^2+2x^3+3x^4+5x^5+8x^6+13x^7+\cdots

Fórmula explícita

La definición de la sucesión de Fibonacci es recurrente; es decir que se necesitan calcular todos los términos anteriores para poder calcular un término específico. Se puede obtener una fórmula explícita de la sucesión de Fibonacci (que no requiere calcular términos anteriores) notando que las ecuaciones (1), (2) y (3) definen la relación de recurrencia

f_{n+2}-f_{n+1}-f_n=0\,

con las condiciones iniciales

f_0=0\, y f_1=1\,

El polinomio característico de esta relación de recurrencia es t^2-t-1=0, y sus raíces son

t=\frac{1\pm\sqrt 5}{2}

De esta manera, la fórmula explícita de la sucesión de Fibonacci tendrá la forma

f_n=b\left(\frac{1+\sqrt5}2\right)^n+d\left(\frac{1-\sqrt5}2\right)^n.

Si se toman en cuenta las condiciones iniciales, entonces las constantes b y d satisfacen la ecuación anterior cuando n = 0 y n = 1, es decir que satisfacen el sistema de ecuaciones

\left.\begin{array}{rcl}b+d & = & 0 \\ b\left(\frac{1+\sqrt5}2\right)+d\left(\frac{1-\sqrt5}2\right)&=&1\end{array}\right\}

Al resolver este sistema de ecuaciones se obtiene

b=\frac1{\sqrt5},d=-\frac1{\sqrt5}

Por lo tanto, cada número de la sucesión de Fibonacci puede ser expresado como

(5)f_n=\frac1{\sqrt5}\left(\frac{1+\sqrt5}2\right)^n-\frac1{\sqrt5}\left(\frac{1-\sqrt5}2\right)^n

Para simplificar aún más es necesario considerar el número áureo

\varphi=\frac{1+\sqrt5}2

de manera que la ecuación (5) se reduce a

(6)f_n=\frac{\varphi^n-\left(-\varphi^{-1}\right)^{n}}{\sqrt5}

Esta fórmula, conocida como fórmula de Binet se le atribuye al matemático francés Édouard Lucas, y es fácilmente demostrable por inducción matemática. A pesar de que la sucesión de Fibonacci consta únicamente de números naturales, su fórmula explícita incluye al número irracional \varphi\,. De hecho, la relación con este número es estrecha.

Observando los valores que adoptan los dos sumandos de la fórmula (5), se comprueba que el segundo sumando siempre tiene un valor absoluto menor que 1, y va cambiando de signo sucesivamente, compensando la parte no entera, irracional, que tiene el primer sumando, para que la suma de dos números irracionales dé un número natural.

Teniendo en cuenta entonces que ese segundo sumando de la fórmula (5) es siempre un número de valor absoluto menor que 0.5, (el máximo valor absoluto es para n=0, aproximadamente 0.4472), la fórmula puede escribirse, eliminando este segundo sumando, así:

(7)f_n= \operatorname{int} \left( \frac1{\sqrt5}\left(\frac{1+\sqrt5}2\right)^n + \frac{1}{2} \right)

o lo que es lo mismo, empleando el número áureo \varphi :

(8)f_n= \operatorname{int} \left( \frac{\varphi^n}{\sqrt5}  + \frac{1}{2} \right)

Forma matricial

Otra manera de obtener la sucesión de Fibonacci es considerando el sistema lineal de ecuaciones

\left . \begin{array}{rcl}
          f_{n} &=& f_{n} \\
f_{n-1} + f_{n} &=& f_{n+1}
\end{array} \right \}

Este sistema se puede representar mediante su notación matricial como

\begin{bmatrix}0&1\\1&1\end{bmatrix}\begin{bmatrix}f_{n-1}\\f_{n}\end{bmatrix} = \begin{bmatrix}f_{n}\\f_{n+1}\end{bmatrix}

Conociendo a f_0=0 y f_1=1, al aplicar la fórmula anterior n veces se obtiene

(9)\begin{bmatrix}0&1\\1&1\end{bmatrix}^n\begin{bmatrix}0\\1\end{bmatrix} = \begin{bmatrix}f_{n}\\f_{n+1}\end{bmatrix}

Los autovalores de la matriz \begin{bmatrix}0&1\\1&1\end{bmatrix}, son precisamente \varphi = \frac{1+\sqrt5}{2} y \psi = \frac{1-\sqrt5}{2}, (el número áureo \varphi; y el negativo de su inverso o conjugado \psi = \frac{-1}{\varphi} = 1 - \varphi); y sus autovectores (\psi, -1) y (\varphi, -1).

Aplicando técnicas de descomposición espectral de la matriz, utilizando sus autovalores, y la base de sus autovectores, o diagonalizando la matriz, se puede substituir o simplificar la operación de potenciación de la matriz, y obtener, por otros dos métodos, la fórmula explícita (5) que proporciona el término general de la sucesión.

También se verifica

(10)\begin{bmatrix}0&1\\1&1\end{bmatrix}^n=\begin{bmatrix}f_{n-1}&f_n\\f_n&f_{n+1}\end{bmatrix}

Esta igualdad puede probarse mediante inducción matemática.

Propiedades de la sucesión

Archivo:FibonacciBlocks
Al construir bloques cuya longitud de lado sean números de Fibonacci se obtiene un dibujo que se asemeja al rectángulo áureo (véase Número áureo).

Los números de Fibonacci aparecen en numerosas aplicaciones de diferentes áreas. Por ejemplo, en modelos de la crianza de conejos o de plantas, al contar el número de cadenas de bits de longitud n que no tienen ceros consecutivos y en una vasta cantidad de contextos diferentes. De hecho, existe una publicación especializada llamada Fibonacci Quarterly dedicada al estudio de la sucesión de Fibonacci y temas afines. Se trata de un tributo a la amplitud con la que los números de Fibonacci aparecen en matemática y sus aplicaciones en otras áreas. Algunas de las propiedades de esta sucesión son las siguientes:

  • La razón o cociente entre un término y el inmediatamente anterior varía continuamente, pero se estabiliza en el número áureo. Es decir:

\lim_{n\to\infty}\frac{f_{n+1}}{f_n}=\varphi

Este límite no es privativo de la Sucesión de Fibonacci. Cualquier sucesión recurrente de orden 2, como la sucesión 3, 4, 7, 11, 18,..., lleva al mismo límite. Esto fue demostrado por Barr y Schooling en una carta publicada en la revista londinense The Field del 14 de diciembre de 1912. Los cocientes son oscilantes; es decir, que un cociente es menor al límite y el siguiente es mayor. Los cocientes pueden ordenarse en dos sucesiones que se aproximan asintóticamente por exceso y por defecto al valor límite.
  • Cualquier número natural se puede escribir mediante la suma de un número limitado de términos de la sucesión de Fibonacci, cada uno de ellos distinto a los demás. Por ejemplo, 17=13+3+1, 65=55+8+2.
  • Tan solo un término de cada tres es par, uno de cada cuatro es múltiplo de 3, uno de cada cinco es múltiplo de 5, etc. Esto se puede generalizar, de forma que la sucesión de Fibonacci es periódica en las congruencias módulo m, para cualquier m.
  • La sucesión puede expresarse mediante otra fórmula explícita llamada forma de Binet (de Jacques Binet). Si \textstyle\alpha = \frac{1+\sqrt 5}{2} y \textstyle\beta = \frac{1-\sqrt 5}{2}, entonces
f_n=\frac{\alpha^n-\beta^n}{\alpha-\beta} y f_n\approx\frac{\alpha^n}{\sqrt 5}\,
  • Cada número de Fibonacci es el promedio del término que se encuentra dos posiciones antes y el término que se encuentra una posición después. Es decir
f_n=\frac{f_{n-2}+f_{n+1}}2
  • Lo anterior también puede expresarse así: calcular el siguiente número a uno dado es 2 veces este número menos el número 2 posiciones más atrás.
f_{n+1}= f_{n} * 2 - f_{n-2}
  • La suma de los n primeros números es igual al número que ocupa la posición n+2 menos uno. Es decir
f_0+f_1+f_2+\cdots+f_n=f_{n+2}-1
  • Otras identidades interesantes incluyen las siguientes:
f_0-f_1+f_2-\cdots+(-1)^nf_n=(-1)^nf_{n-1}-1


f_1+f_3+f_5+\cdots+f_{2n-1}=f_{2n}


f_0+f_2+f_4+\cdots+f_{2n}=f_{2n+1}-1


f_0^2+f_1^2+f_2^2+\cdots+f_n^2=f_nf_{n+1}


f_1f_2+f_2f_3+f_3f_4+\cdots+f_{2n-1}f_{2n}=f_{2n}^2


f_1f_2+f_2f_3+f_3f_4+\cdots+f_{2n}f_{2n+1}=f_{2n+1}^2-1


Si k\geq1, entonces f_{n+k}=f_kf_{n+1}+f_{k-1}f_n\, para cualquier n\geq0


f_{n+1}f_{n-1}-f_n^2=(-1)^n (Identidad de Cassini)


f_{n+1}^2+f_n^2=f_{2n+1}


f_{n+2}^2-f_{n+1}^2=f_nf_{n+3}
Archivo:Fibonacci phi
Phi forma parte de una expresión de la sucesión de Fibonacci.


f_{n+2}^2-f_n^2=f_{2n+2}


f_{n+2}^3+f_{n+1}^3-f_n^3=f_{3n+3}


f_{n}=\varphi ^{n+1}-(f_{n+1})\varphi (con φ = número áureo) o, despejando f(n+1) y aplicando 1/φ = φ-1:


f_{n+1}=\varphi ^{n}+(1-\varphi)f_{n}


\mathrm{mcd}\left(f_n,f_m\right)=f_{\mathrm{mcd}\left(n,m\right)}
Esto significa que f_n\, y f_{n+1}\, son primos relativos y que f_k\, divide exactamente a f_{nk}\,
  • Los números de Fibonacci aparecen al sumar las diagonales del triángulo de Pascal. Es decir que para cualquier n\geq0,
Archivo:PascalTriangleFibanacci
Los números de Fibonacci son la suma de las diagonales (marcadas en rojo) del triángulo de Pascal.
f_{n+1}=\sum_{j=0}^{\left\lfloor\frac n 2\right\rfloor}\begin{pmatrix}n-j\\j\end{pmatrix}
y más aún
f_{3n}=\sum_{j=0}^n\begin{pmatrix}n\\j\end{pmatrix}2^jf_j
  • Si f_p = a, tal que a es un número primo, entonces p también es un número primo, con una única excepción, f_4=3; 3 es un número primo, pero 4 no lo es.
  • La suma infinita de los términos de la sucesión \textstyle\frac{f_n}{10^n} es exactamente \textstyle\frac{10}{89}.
  • La suma de diez números Fibonacci consecutivos es siempre 11 veces superior al séptimo número de la serie.
  • El último dígito de cada número se repite periódicamente cada 60 números. Los dos últimos, cada 300; a partir de ahí, se repiten cada 15\times10^{n-1} números.
  • Al surgir la sucesión de Fibonacci de la suma de las diagonales del triángulo de Pascal. Se puede caracterizar también a \varphi (el número áureo) con base en estas sumas. Representando el límite en el infinito de la razón entre las sumas de las diagonales pares del triángulo (f_{2n}) y las sumas de las diagonales impares (f_{2n-1}); de esta forma:
    \varphi=\displaystyle\lim_{n \to{+}\infty}{\left({\dfrac{\binom{2n-1}{0}+\binom{2n-2}{1}+\binom{2n-3}{2}+...+\binom{n}{n-1}}{\binom{2n-2}{0}+\binom{2n-3}{1}+\binom{2n-4}{2}+...+\binom{n-1}{n-1}}}\right)} o \varphi\,\approx{}\,{\dfrac{\displaystyle\sum_{k=0}^{n-1}\,\displaystyle\binom{2n-1-k}{k}}{\displaystyle\sum_{k=0}^{n-1}\,\displaystyle\binom{2n-2-k}{k}}}

Generalización

Archivo:Fibonacci continuous
Gráfica de la sucesión de Fibonacci extendida al campo de los números reales.

El concepto fundamental de la sucesión de Fibonacci es que cada elemento es la suma de los dos anteriores. En este sentido la sucesión puede expandirse al conjunto de los números enteros como \ldots,-8,5,-3,2,-1,1,0,1,1,2,3,5,8,\ldots de manera que la suma de cualesquiera dos números consecutivos es el inmediato siguiente. Para poder definir los índices negativos de la sucesión, se despeja f_{n-2}\, de la ecuación (3) de donde se obtiene

f_{n-2}=f_n-f_{n-1}\,

De esta manera, f_{-n}=f_n\, si n es impar y f_{-n}=-f_n\, si n es par.

La sucesión se puede expandir al campo de los números reales tomando la parte real de la fórmula explícita (ecuación (6)) cuando n es cualquier número real. La función resultante

f(x)=\frac{\varphi^x-\cos(\pi x)\varphi^{-x}}{\sqrt 5}

tiene las mismas características que la sucesión de Fibonacci:

  • f(0)=0~
  • f(1)=1~
  • f(x)=f(x-1)+f(x-2)~ para cualquier número real x

Una sucesión de Fibonacci generalizada es una sucesión g_0,g_1,g_2,\ldots donde

(11)g_n=g_{n-1}+g_{n-2}\, para n=2,3,4,5,\ldots

Es decir, cada elemento de una sucesión de Fibonacci generalizada es la suma de los dos anteriores, pero no necesariamente comienza en 0 y 1.

Una sucesión de fibonacci generalizada muy importante, es la formada por las potencias del número áureo.

 \varphi^n=\varphi^{n-1}+\varphi^{n-2}.

La importancia de esta sucesión reside en el hecho de que se puede expandir directamente al conjunto de los números reales.

 \varphi^x=\varphi^{x-1}+\varphi^{x-2}.

...y al de los complejos.

 \varphi^z=\varphi^{z-1}+\varphi^{z-2}.

Una característica notable es que, si g_0,g_1,g_2,\ldots es una sucesión de Fibonacci generalizada, entonces

g_n=f_{n-1}g_0+f_ng_1~

Por ejemplo, la ecuación (11) puede generalizarse a

\begin{bmatrix}0&1\\1&1\end{bmatrix}^n\begin{bmatrix}g_0\\g_1\end{bmatrix} = \begin{bmatrix}g_{n}\\g_{n+1}\end{bmatrix}

Esto significa que cualquier cálculo sobre una sucesión de Fibonacci generalizada se puede efectuar usando números de Fibonacci.

Sucesión de Lucas

Archivo:Lucas continuous
Gráfica de la sucesión de Lucas extendida al campo de los números reales.

Un ejemplo de sucesión de Fibonacci generalizada es la sucesión de Lucas, descrita por las ecuaciones

  • l_0=2~
  • l_1=1~
  • l_n=l_{n-1}+l_{n-2}~ para n=2,3,4,5,\ldots

La sucesión de Lucas tiene una gran similitud con la sucesión de Fibonacci y comparte muchas de sus características. Algunas propiedades interesantes incluyen:

  • La proporción entre un número de Lucas y su sucesor inmediato se aproxima al número áureo. Es decir
\lim_{n\to\infty}\frac{l_{n+1}}{l_n}=\varphi
  • La fórmula explícita para la sucesión de Lucas es
l_n=\varphi^n+(-\varphi)^{-n}
  • La suma de los primeros n números de Lucas es el número que se encuentra en la posición n+2 menos uno. Es decir
l_0+l_1+l_2+\cdots+l_n=l_{n+2}-1
  • Cualquier fórmula que contenga un número de Lucas puede expresarse en términos de números de Fibonacci mediante la igualdad
l_n=f_{n-1}+f_{n+1}~
  • Cualquier fórmula que contenga un número de Fibonacci puede expresarse en términos de números de Lucas mediante la igualdad
f_n=\frac{l_{n-1}+l_{n+1}}{5}

Algoritmos de cálculo

Archivo:FibbonacciRecurisive
Cálculo de f_7 usando el algoritmo 1. El árbol descendente de sumas, se detiene en las distintas ramas cuando se alcanza \mathrm{fib}_1. El resultado es precisamente el número de veces que aparece \mathrm{fib}_1 en el árbol (13 veces en este caso, valor de f_7).

Para calcular el n-ésimo elemento de la sucesión de Fibonacci existen varios algoritmos (métodos). Su definición misma puede emplearse como uno de estos algoritmos, aquí expresado en pseudocódigo:

Algoritmo 1 Versión recursiva descendente (Complejidad O(\varphi^n)\,)

función {\rm fib}(n)\,

si n<2\, entonces
devuelve n\,
en otro caso
devuelve {\rm fib}(n-1) + {\rm fib}(n-2)\,

Usando técnicas de análisis de algoritmos es posible demostrar que, a pesar de su simplicidad, el algoritmo 1 requiere efectuar f_{n+1}-1 sumas para poder encontrar el resultado. Dado que la sucesión f_n crece tan rápido como \varphi^n, entonces el algoritmo está en el orden de \varphi^n. Es decir, que este algoritmo es muy lento. Por ejemplo, para calcular f_{50} este algoritmo requiere efectuar 20.365.011.073 sumas.

Para evitar hacer tantas operaciones, es común recurrir a una calculadora y utilizar la ecuación (6) del matemático Édouard Lucas. Sin embargo, dado que \varphi es un número irracional, la única manera de utilizar esta fórmula es empleando una aproximación de \varphi, obteniendo en consecuencia un resultado aproximado pero no exacto. Por ejemplo, si se usa una calculadora de 10 dígitos, entonces la fórmula anterior arroja como resultado f_{50}=1.258626903\times10^{10} aun cuando el resultado correcto es f_{50}=12586269025. Este error se hace cada vez más grande conforme crece n. De igual forma se puede crear una función utilizando la fórmula, muy eficiente, O(\log_2(n)), aunque hay que tener en cuenta algunas consideraciones, cada lenguaje de programación tiene una forma específica de ejecución de las funciones matemáticas, y es probable que se necesite redondear el número obtenido de la ecuación, y en ciertos casos, si el número es muy grande, puede ser impreciso.

Algoritmo 2 Versión con fórmula explícita (6) (Complejidad O(\log_2(n))\,)

función {\rm fib}(n)\,

si n<2\, entonces
devuelve n\,
en otro caso
\varphi\gets {\rm(({1+\sqrt5})\div{2})}
j\gets {\rm((\varphi^n-\left(1-\varphi\right)^{n}})\div({\sqrt5}))
devuelve j\,

Otro método más práctico a la recursión, que evita calcular las mismas sumas más de una vez, es la iteración. Considerando un par (a,b)\, de números consecutivos de la sucesión de Fibonacci, el siguiente par de la sucesión es (b,b+a)\,, de esta manera se divisa un algoritmo donde solo se requiere considerar dos números consecutivos de la sucesión de Fibonacci en cada paso. Este método es el que se usaría normalmente para hacer el cálculo con lápiz y papel. El algoritmo se expresa en pseudocódigo como:

Algoritmo 3 Versión iterativa
(Complejidad O(n)\,)

función {\rm fib}(n)\,

a\gets 0
b\gets 1
c
para k\, desde 0\, hasta n\, hacer
c\gets b+a
a\gets b
b\gets c
devuelve a\,
Algoritmo 4 Versión iterativa
2 variables (Complejidad O(n)\,)

función {\rm fib}(n)\,

a\gets 0
b\gets 1
para k\, desde 0\, hasta n\, hacer
b\gets b+a
a\gets b-a
devuelve b\,
Algoritmo 5 Versión iterativa vector
(Complejidad O(n)\,)

función {\rm fib}(n)\,

si n<2\, entonces
devuelve n\,
en otro caso
\mathrm{vector}[0...n+1]
\mathrm{vector}[0]\gets 0
\mathrm{vector}[1]\gets 1
para k\, desde 2\, hasta n+1\, hacer
\mathrm{vector}[k]\gets \mathrm{vector}[k-1]+\mathrm{vector}[k-2]
devuelve \mathrm{vector}[n]\,

Estas versiones requieren efectuar solo n sumas para calcular f_n, lo cual significa que los métodos iterativos son considerablemente más rápidos que el algoritmo 1. Por ejemplo, en el algoritmo 3 solo se requiere efectuar 50 sumas para calcular f_{50}.

Archivo:FibDC Example
Calculando f_{100} usando el algoritmo 3.

Un algoritmo todavía más rápido se deduce partiendo de la ecuación (10). Utilizando leyes de exponentes es posible calcular x^n como

x^n=\begin{cases} x & \mbox{si }n=1 \\ \left(x^{\frac n 2}\right)^2 & \mbox{si }n\mbox{ es par} \\ x\times x^{n-1} & \mbox{si }n\mbox{ es impar} \end{cases}

De esta manera se divisa el algoritmo de tipo Divide y Vencerás donde solo se requeriría hacer, aproximadamente, \log_2(n) multiplicaciones matriciales. Sin embargo, no es necesario almacenar los cuatro valores de cada matriz dado que cada una tiene la forma

\begin{bmatrix} a & b \\ b & a+b \end{bmatrix}

De esta manera, cada matriz queda completamente representada por los valores a y b, y su cuadrado se puede calcular como

\begin{bmatrix} a & b \\ b & a+b \end{bmatrix}^2 = 
\begin{bmatrix}a^2+b^2 & b(2a+b)\\
b(2a+b) & (a+b)^2+b^2\end{bmatrix}

Por lo tanto el algoritmo queda como sigue:

Algoritmo 6 Versión Divide y Vencerás (Complejidad O(\log_2(n))\,)

función {\rm fib}(n)\,

si n\leq0 entonces
devuelve 0\,
i\gets n-1
{\rm auxOne}\gets 0
{\rm auxTwo}\gets 1
(a,b) \gets {\rm(auxTwo,auxOne)}
(c,d) \gets {\rm(auxOne,auxTwo)}
mientras i > 0\, hacer
si i\, es impar entonces
{\rm auxOne}\gets (db + ca)
{\rm auxTwo}\gets (d(b + a) + cb))
(a,b) \gets {\rm(auxOne, auxTwo)}
{\rm auxOne}\gets (c^2 + d^2)
{\rm auxTwo}\gets (d(2c + d))
(c,d) \gets {\rm(auxOne, auxTwo)}
i\gets i\div 2
devuelve a+b\,

A pesar de lo engorroso que parezca, este algoritmo permite reducir enormemente el número de operaciones que se necesitan para calcular números de Fibonacci muy grandes. Por ejemplo, para calcular f_{100}, en vez de hacer las 573.147.844.013.817.084.100 sumas del algoritmo 1 o las 100 sumas con el algoritmo 3, el cálculo se reduce a tan solo 9 multiplicaciones matriciales.

Ejemplo de código Fortran 2003

PROGRAM FIBONACCI
IMPLICIT NONE
INTEGER, PARAMETER :: N = 10  ! Número de elemento deseados en la secuencia de Fibonacci
REAL, PARAMETER :: A = ((1+SQRT(5.))/2) ! Proporción áurea
REAL, DIMENSION (1:N) :: FIB = [(NINT((A**I - (1-A)**I)/SQRT(5.)), I=1,N)]
INTEGER :: I

WRITE (*,"A,I3,A") "SECUENCIA DE FIBONACCI CON",N," ELEMENTOS"
DO I = 1, N
  WRITE (*,*) FIB(I)
END DO

PAUSE

END PROGRAM FIBONACCI

La sucesión de Fibonacci en la naturaleza

Archivo:FibonacciChamomile
Botón de Camomila amarilla mostrando la ordenación en espirales de módulos 21 (color azul) y 13 (color cian). Este tipo de arrollamientos utilizando números consecutivos de Fibonacci aparecen en una gran variedad de plantas.
Archivo:Nautilus pompilius - Fernbank Museum of Natural History - DSC00294
Espiral de Fibonacci en la sección de la concha de un nautilus.

La secuencia de Fibonacci se encuentra en múltiples configuraciones biológicas, donde aparecen números consecutivos de la sucesión, como en la distribución de las ramas de los árboles, la distribución de las hojas en un tallo, los frutos de la piña tropical, las flores de la alcachofa, en las piñas de las coníferas, o en el "árbol genealógico" de las abejas melíferas. Sin embargo, también se han hecho muchas invocaciones infundadas a la aparición de los números de Fibonacci aprovechando su relación con el número áureo en la literatura popular.

Przemysław Prusinkiewicz avanzó la idea de considerar la sucesión de Fibonacci en la naturaleza como un grupo libre.

Archivo:SunflowerModel
Ilustración del modelo de Vogel para n=1 ... 500

Un modelo del patrón de distribución de las semillas del girasol fue propuesto por H. Vogel en 1979. Presenta la forma

\theta = \frac{2\pi}{\phi^2} n,\  r = c \sqrt{n}

donde n es el índice de la flor y c es un factor de escala; entonces las semillas se alinean según espirales de Fermat. El ángulo de divergencia, de aproximadamente 137.51°, está relacionado con el número áureo. Debido a que el coeficiente es un número irracional, ninguna semilla tiene ninguna vecina al mismo ángulo respecto al centro, por lo que se compactan eficientemente. Debido a que las aproximaciones racionales al número aúreo son de la forma F(j):F(j + 1), los vecinos más próximos al número de semillas n están todos en n ± F(j) para cada índice j, que depende de r, la distancia al centro. Suele afirmarse que los girasoles y flores similares tienen 55 espirales en una dirección y 89 en la otra (o alguna otra pareja de números adyacentes de la sucesión de Fibonacci), pero esto solo es cierto en ciertos rangos de radio, generalmente raros (y por ello más notables).

El árbol genealógico de las abejas

Los machos de una colmena de abejas tienen un árbol genealógico que cumple con esta sucesión. El hecho es que un zángano (1), el macho de la abeja, no tiene padre, pero sí que tiene una madre (1, 1), dos abuelos, que son los padres de la reina (1, 1, 2), tres bisabuelos, ya que el padre de la reina no tiene padre (1, 1, 2, 3), cinco tatarabuelos (1, 1, 2, 3, 5), ocho trastatarabuelos (1, 1, 2, 3, 5, 8) y así sucesivamente, cumpliendo con la sucesión de Fibonacci.

Recientemente, un análisis histórico-matemático acerca del contexto de Leonardo de Pisa y la proximidad de la ciudad de Bejaia, una importante exportadora de cera en los tiempos de Leonardo (de la cual proviene el nombre en francés de esta ciudad, Bougie, que significa «vela»), ha sugerido que fueron los criadores de abejas de Bejaia y el conocimiento de la ascendencia de las abejas lo que inspiró los números de Fibonacci más que el modelo de reproducción de conejos.

Dígitos en la sucesión de Fibonacci

Archivo:Fibonaccis Traum
Fibonaccis Traum, Martina Schettina 2008, 40 x 40 cm.

Una de las curiosidades de dicha serie son los dígitos de sus elementos:

  • Empezando en 1 dígito y «terminando» en infinitos, cada valor de dígito es compartido por 4, 5 o 6 números de la serie. Siendo 6 solo en el caso de 1 dígito.
  • En los elementos de posición n, n10, n100,..., el número de dígitos aumenta en el mismo orden. Dando múltiples distintos para cada n.

Divisibilidad

  • Sean n y m enteros positivos. Si el número n es divisible por m entonces el término n-ésimo de Fibonacci es divisible por el término m-ésimo de la misma sucesión. En efecto 4 divide a 12, por tanto el término de orden cuatro, el 3 divide a 144, término de orden 12 en la citada sucesión.
  • Cualquiera que sea el entero m, entre los m^2 - 1 primeros números de Fibonacci habrá al menos uno divisible por m. A modo de ejemplo para m = 4, entre los primeros quince números están 8 y 144, números de Fibonacci, divisibles por 4.
  • Si k es un número compuesto diferente de 4, entonces el número k-ésimo de Fibonacci es compuesto. Para el caso 10, compuesto distinto de 4, el décimo número de Fibonacci 55, es compuesto.
  • Los números consecutivos de Fibonacci son primos entre sí.

La sucesión de Fibonacci en la cultura popular

  • Es mencionada en obra Rama II (novela), de Arthur C. Clarke, cuando el personaje Michael O'toole la describe como una referencia para memorizar una larga clave secreta, principalmente por su facilidad de ser extrapolada.

Véase también

Kids robot.svg En inglés: Fibonacci number Facts for Kids

kids search engine
Sucesión de Fibonacci para Niños. Enciclopedia Kiddle.