Вы находитесь на странице: 1из 9

Srie de Fibonacci Engenharia de Software

Na matemtica, os nmeros de Fibonacci so os nmeros que compem a seguinte sucesso de nmeros inteiros (sequncia A000045 na OEIS): 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, Em termos matemticos, a sequncia definida recursivamente pela frmula abaixo:

A sequncia de Fibonacci recebe esse nome em homenagem a Leonardo de Pisa, que era conhecido como Fibonacci. Seu livro de 1202 intitulado Liber Abaci introduziu a sequncia na matemtica da Europa Ocidental,[2] embora ela j tivesse sido descrita anteriormente na Matemtica indiana.[3][4][5] (Pela conveno moderna, a sequncia inicial com F0 = 0. No Liber Abaci ela comeava com F1 = 1, omitindo o zero inicial, e alguns ainda escrevem a sequncia dessa forma.) A sequncia de Fibonacci tem aplicaes na anlise de mercados financeiros, na cincia da computao e na teoria dos jogos. Tambm aparece em configuraes biolgicas, como, por exemplo, na disposio dos galhos das rvores ou das folhas em uma haste, [6] no arranjo do cone da alcachofra, do abacaxi,[7] ou no desenrolar da samambaia.[8]

Origens
No ocidente, a sequncia de Fibonacci apareceu pela primeira vez no livro Liber Abaci (1202) de Leonardo de Pisa, conhecido como Fibonacci, embora ela j tivesse sido descrita por matemticos indianos. Fibonacci considerou o crescimento de uma populao idealizada (no realista biologicamente) de coelhos. Os nmeros descrevem o nmero de casais na populao de coelhos depois de n meses se for suposto que:

no primeiro ms nasce apenas um casal, casais amadurecem sexualmente (e reproduzem-se) apenas aps o segundo ms de vida, no h problemas genticos no cruzamento consanguneo, todos os meses, cada casal frtil d a luz a um novo casal, e os coelhos nunca morrem.

Mas genericamente, chama-se sequncia de Fibonacci qualquer funo g onde g(n + 2) = g(n) + g(n + 1). Essas funes so precisamente as de formato g(n) = aF(n) + bF(n + 1) para alguns nmeros a e b, ento as sequncias de Fibonacci formam um espao vetorial com as funes F(n) e F(n + 1) como base. Em particular, a sequncia de Fibonacci com F(1) = 1 e F(2) = 3 conhecida como os nmeros de Lucas. A importncia dos nmeros de Lucas L(n) reside no fato deles gerarem a Proporo urea para as ensimas potncias:

Srie de Fibonacci Engenharia de Software

Os nmeros de Lucas se relacionam com os de Fibonacci pela frmula:

Com esta frmula podemos montar a Sequncia de Fibonacci e descobrir, por exemplo, quantos coelhos foram gerados no sexto ms, basta aplicar a frmula descrita acima at chegar ao ponto inicial de 1 e 1, como mostra a figura abaixo:

Ou seja, no sexto ms foram gerados 8 coelhos.


F(6) = (F(6) - 1) + (F(6) - 2) = 5 e 4 8 ( Soma do Resultado de F(5) e F(4) ) F(5) = (F(5) - 1) + (F(5) - 2) = 4 e 3 5 ( Soma do Resultado de F(4) e F(3) ) F(4) = (F(4) - 1) + (F(4) - 2) = 3 e 2 3 ( Soma do Resultado de F(3) e F(2) ) F(3) = (F(3) - 1) + (F(3) - 2) = 2 e 1 2 F(2) = (F(2) - 1) + (F(2) - 2) = 1 e 0 1

e a primeira posio 1. Note que a Sequncia de Fibonacci esta no resultado de cada posio: 1, 1, 2, 3, 5, 8, ...

Representaes alternativas
Para analizar a sequncia de Fibonacci (e, em geral, quaisquer sequncias) conveniente obter outras maneiras de represent-la matematicamente.

Funo geradora
Uma funo geradora para uma sequncia qualquer a funo

ou seja, uma srie potncias formais em que cada coeficiente um elemento da sequncia. Os nmeros de Fibonacci possuem a seguinte funo geradora

Srie de Fibonacci Engenharia de Software


Quando se expande esta funo em potncias de termos da sequncia de Fibonacci: , os coeficientes so justamente os

Frmula explcita
Conforme mencionado por Johannes Kepler, a taxa de crescimento dos nmeros de Fibonacci, que F(n + 1) /F(n), tende Proporo urea, denominada . Esta a raiz positiva da equao de segundo grau x x 1 = 0, ento = + 1. Se multiplicarmos ambos os lados por n, teremos n+2 = n+1 + n, ento a funo n uma sequncia de Fibonacci. possvel demonstrar que a raiz negativa da mesma equao, 1 , tem as mesmas propriedades, ento as duas funes n e (1 )n formam outra base para o espao. Ajustando os coeficientes para obter os valores iniciais adequados F(0) = 0 e F(1) = 1, tem-se a frmula de Binet:

Este resultado tambm pode ser derivado utilizando-se a tcnica de funes geradoras, ou a tcnica de resolver relaes de recorrncia. Quando n tende a infinito, o segundo termo tende a zero, e os nmeros de Fibonacci tendem exponencial n/5. O segundo termo j comea pequeno o suficiente para que os nmeros de Fibonacci possam ser obtidos usando somente o primeiro termo arredondado para o inteiro mais prximo.

Forma matricial
Para argumentos muito grandes, quando utiliza-se um computador bignum, mais fcil calcular os nmeros de Fibonacci usando a seguinte equao matricial:

em que a potncia de n calculada elevando-se a matriz ao quadrado repetidas vezes. Um exemplo de aplicao desta expresso matricial na demonstrao do teorema de Lam sobre o algoritmo de Euclides para o clculo do MDC. Veja por exemplo o captulo sobre o mximo divisor comum do wikilivro de Teoria de nmeros.

Representao da Srie de Fibonacci na Molle Antonelliana em Turim, Itlia.

Srie de Fibonacci Engenharia de Software

Tipos de algoritmos
H diversos algoritmos (mtodos) para calcular o -simo elemento da sequncia de Fibonacci, sendo que os mais comuns empregam um das seguintes abordagens:

Recursiva Iterativa Dividir para conquistar

A seguir apresentado um exemplo de cada um destes tipos de algoritmos em pseudocdigo.

Abordagem recursiva
A prpria definio da sequncia de Fibonacci pode ser tomada como base para implementar um algoritmo recursivo que gera os termos da sequncia, como mostrado a seguir: funo se ento retorne caso contrrio retorne Apesar de simples, essa estratgia no recomendvel porque os mesmos valores so calculados muitas vezes (a no ser que a linguagem de programao guarde automaticamente os valores calculados nas chamadas anteriores da mesma funo com o mesmo argumento). Uma anlise cuidadosa mostra que a complexidade computacional do algoritmo . Por esse motivo, normalmente calcula-se os nmeros de Fibonacci "de baixo para cima",[carece de fontes?] comeando com os dois valores 0 e 1, e depois repetidamente substituindo-se o primeiro nmero pelo segundo, e o segundo nmero pela soma dos dois anteriores. Uma outra alternativa fazer uso da frmula apresentada na seo anterior, que envolve potncias da proporo urea. No entanto, isso pode no ser muito conveniente para valores grandes de n, j que os erros de arredondamento se acumulam e a preciso dos nmeros de ponto flutuante normalmente no ser suficiente.

Abordagem iterativa
Com o uso de um algoritmo iterativo como o que mostrado a seguir, possvel obter a sequncia um pouco mais eficientemente: funo

para

desde at

faa

Srie de Fibonacci Engenharia de Software


retorne Neste caso, a complexidade computacional do algoritmo .

Abordagem dividir para conquistar


O algoritmo abaixo bem mais eficiente e baseia-se na representao matricial da sequncia de Fibonacci. Sua complexidade computacional funo se retorne ento .

enquanto faa se par ento

retorne

Aplicaes
Os nmeros de Fibonacci so importantes para a anlise em tempo real do algoritmo euclidiano, para determinar o mximo divisor comum de dois nmeros inteiros. Matiyasevich mostrou que os nmeros de Fibonacci podem ser definidos por uma Equao diofantina, o que o levou soluo original do Dcimo Problema de Hilbert. Os nmeros de Fibonacci aparecem na frmula das diagonais de um tringulo de Pascal (veja coeficiente binomial). Um uso interessante da sequncia de Fibonacci na converso de milhas para quilmetros. Por exemplo, para saber aproximadamente a quantos quilmetros 5 milhas correspondem, pega-se o nmero de Fibonacci correspondendo ao nmero de milhas (5) e olha-se para o nmero seguinte (8). 5 milhas so aproximadamente 8 quilmetros. Esse mtodo funciona porque, por coincidncia, o fator de converso entre milhas e quilmetros (1.609) prximo de (1.618) (obviamente ele s til para aproximaes bem grosseiras: alm do factor de converso ser diferente de , a srie converge para ).

Exemplo de sons Fibonacci

Srie de Fibonacci Engenharia de Software


Em msica os nmeros de Fibonacci so utilizados para a afinao, tal como nas artes visuais, determinar propores entre elementos formais. Um exemplo a Msica para Cordas, Percusso e Celesta de Bla Bartk. Le Corbusier usou a sequncia de Fibonacci na construo do seu modulor, um sistema de propores baseadas no corpo humano e aplicadas ao projeto de arquitetura. Em The Wave Principal, Elliot defende a ideia que as flutuaes do mercado seguem um padro de crescimento e decrescimento que pode ser analisado segundo os nmeros de Fibonacci, uma vez determinada a escala de observao. Defende que as relaes entre picos e vales do grfico da flutuao de bolsa tendem a seguir razes numricas aproximadas das razes de dois nmeros consecutivos da sequncia de Fibonacci.

Teorias mais recentes, defendem que possvel encontrar relaes de ouro entre os pontos de pico e os de vale, como no grfico abaixo:

Se tomarmos o valor entre o incio do ciclo e o primeiro pico, e o compararmos com o valor entre este pico e o pico mximo, encontraremos tambm o nmero de ouro. O ciclo, naturalmente, pode estar invertido, e os momentos de pico podem se tornar momentos de vale, e vice-versa.

Generalizaes
Uma generalizao da sequncia de Fibonacci so as sequncias de Lucas. Um tipo pode ser definido por:

Srie de Fibonacci Engenharia de Software


U(0) = 0 U(1) = 1 U(n+2) = PU(n+1) QU(n) onde a sequncia normal de Fibonacci o caso especial de P = 1 e Q = -1. Outro tipo de sequncia de Lucas comea com V(0) = 2, V(1) = P. Tais sequncias tm aplicaes na Teoria de Nmeros e na prova que um dado nmero primo (primalidade). Os polinmios de Fibonacci so outra generalizao dos nmeros de Fibonacci.

Identidades

F(n + 1) = F(n) + F(n 1) F(0) + F(1) + F(2) + + F(n) = F(n + 2) 1 F(1) + 2 F(2) + 3 F(3) + + n F(n) = n F(n + 2) F(n + 3) + 2

possvel essas identidades usando diferentes mtodos. Mas, entretanto, ns queremos demonstrar uma elegante prova para cada um de seus usos aqui. Particularmente, F(n) podem ser interpretados como o nmero de formas de adicionar 1's e 2's at n 1, convencionando-se que F(0) = 0, significando que nenhuma soma ir adicionar at -1, e que F(1) = 1, significando que a soma 0 ser "adicionada" at 0. Aqui a ordem dos nmeros importa. Por exemplo, 1 + 2 e 2 + 1 so consideradas duas diferentes somas e so contadas duas vezes.

Prova da primeira identidade


Sem perda de generalidade, podemos assumir n 1. Ento F(n + 1) conta o nmero de formas de somar 1's e 2's at n. Quando a primeira parcela 1, h F(n) formas de completar a contagem para n 1; quando a primeira parcela 2, h F(n 1) formas de completar a contagem para n 2. Portanto, no total, h F(n) + F(n 1) formas de completar a contagem para n.

Prova da segunda identidade


Contamos o nmero de formas de somar 1's e 2's at n + 1 de forma que pelo menos uma das parcelas 2. Como antes, h F(n + 2) formas de somar 1's e 2's at n + 1 quando n 0. J que h apenas uma soma n + 1 que no usa nenhum 2, a saber 1 + + 1 (n + 1 termos), subtramos 1 de F(n + 2). Equivalentemente, podemos considerar a primeira ocorrncia de 2 como uma parcela.

Srie de Fibonacci Engenharia de Software


Se, em uma soma, a primeira parcela 2, ento h F(n) formas de completar a contagem para n 1. Se a segunda parcela 2, mas a primeira 1, ento h F(n 1) formas de completar a contagem para n 2. Continuando este raciocnio iremos chegar (n + 1)sima parcela. Se 2, mas todas as n parcelas anteriores so 1's, ento h F(0) formas de completar a contagem para 0. Se uma soma contm 2 como uma parcela, a primeira ocorrncia de tal parcela deve tomar lugar entre a primeira e a (n + 1)-sima posio. Portanto F(n) + F(n 1) + + F(0) d a contagem desejada.

Prova da Terceira Identidade


Essa identidade pode ser estabelecida em duas fases. Primeiro, contamos o nmero de formas de somar 1's e 2's at -1, 0, , ou n + 1 tal que pelo menos uma das parcelas seja 2. Pela nossa primeira igualdade, h F(n + 2) 1 formas de somar at n + 1; F(n + 1) 1 formas de somar at n; ; e, finalmente, F(2) 1 formas de somar at 1. Como F(1) 1 = F(0) = 0 , podemos adicionar todos as somas n + 1 e aplicar a segunda igualdade novamente para obter: [F(n + 2) 1] + [F(n + 1) 1] + + [F(2) 1] = [F(n + 2) 1] + [F(n + 1) 1] + + [F(2) 1] + [F(1) 1] + F(0) = F(n + 2) + [F(n + 1) + + F(1) + F(0)] (n + 2) = F(n + 2) + F(n + 3) (n + 2). Por outro lado , observamos a partir da segunda igualdadee que existem

F(0) + F(1) + + F(n 1) + F(n) meios somando com n + 1; F(0) + F(1) + + F(n 1) meios somando com n;

F(0) meio somando com -1.

Somando todas as somas n + 1 , vemos que h

(n + 1) F(0) + n F(1) + + F(n) formas de somar at -1, 0, , ou n + 1.

J que os dois mtodos de contagem se referem ao mesmo nmero , temos : (n + 1) F(0) + n F(1) + + F(n) = F(n + 2) + F(n + 3) (n + 2) Finalmente, completamos a prova subtraindo a igualdade acima de n + 1 vezes a segunda igualdade.

Nmero Tribonacci
Um nmero Tribonacci assemelha-se a um nmero de Fibonacci, mas em vez de comearmos com dois termos pr-definidos, a sequncia iniciada com trs termos prdeterminados, e cada termo posterior a soma dos trs termos precedentes. Os primeiros nmeros de uma pequena sequncia Tribonacci so: 1, 1, 2, 4, 7, 13, 24, 44,

Srie de Fibonacci Engenharia de Software


81, 149, 274, 504, 927, 1705, 3136, 5768, 10609, 19513, 35890, 66012, 121415, 223317, etc.[9]

A Espiral

Na espiral formada pela folha de uma bromlia, pode ser percebida a sequncia de Fibonacci, atravs da composio de quadrados com arestas de medidas proporcionais aos elementos da sequncia, por exemplo: 1, 1, 2, 3, 5, 8, 13 , tendentes razo urea. Este mesmo tipo de espiral tambm pode ser percebida na concha do Nautilus marinho.

Repfigits
Um repfigit ou nmero de Keith um nmero inteiro, superior a 9, tal que os seus dgitos, ao comear uma sequncia de Fibonacci, alcanam posteriormente o referido nmero. Um exemplo 47, porque a sequncia de Fibonacci que comea com 4 e 7 (4, 7, 11, 18, 29, 47) alcana o 47. Outro exemplo 197: 1+9+7= 17, 9+7+17= 33, 7+17+33= 57, 17+33+57= 107, 33+57+107= 197. Um repfigit pode ser uma sequncia de Tribonacci se houver trs dgitos no nmero, e de Tetranacci se o nmero tiver quatro dgitos, etc. Alguns Nmeros de Keith conhecidos: 14, 19, 28, 47, 61, 75, 197, 742, 1104, 1537, 2208, 2580, 3684, 4788, 7385, 7647, 7909, 31331, 34285