Teorema de Zeckendorf

Fonte: testwiki
Saltar para a navegação Saltar para a pesquisa
Os primeiros 89 números naturais na forma de Zeckendorf. Cada altura e largura dos retângulos é um número de Fibonacci. As faixas verticais têm largura 10

O teorema de Zeckendorf, em homenagem ao matemático belga Édouard Zeckendorf, é um teorema sobre a representação de inteiros como somas de números de Fibonacci.

O teorema de Zeckendorf afirma que todo número inteiro positivo pode ser representado exclusivamente como a soma de um ou mais números de Fibonacci distintos, de forma que a soma não inclua dois números de Fibonacci consecutivos. Mais precisamente, se N for qualquer inteiro positivo, existem inteiros positivos ci2, com ci+1>ci+1, de modo que

N=i=0kFci,

onde Fn é o enésimo número de Fibonacci. Essa soma é chamada de representação de Zeckendorf de N. A codificação de Fibonacci de N pode ser derivada de sua representação de Zeckendorf.

Por exemplo, a representação de Zeckendorf de 64 é

64=55+8+1.

Existem outras maneiras de representar 64 como a soma dos números de Fibonacci – por exemplo

64=34+21+8+1
64=55+5+3+1

mas essas não são representações de Zeckendorf porque 34 e 21 são números de Fibonacci consecutivos, assim como 5 e 3.

Para qualquer inteiro positivo dado, uma representação que satisfaça as condições do teorema de Zeckendorf pode ser encontrada usando um algoritmo guloso, escolhendo o maior número de Fibonacci possível em cada estágio.

História

Embora o teorema tenha o nome do autor homônimo que publicou seu artigo em 1972, o mesmo resultado foi publicado 20 anos antes por Gerrit Lekkerkerker.[1] Como tal, o teorema é um exemplo da Lei de Stigler.

Prova

O teorema de Zeckendorf tem duas partes:

  1. Existência: todo número inteiro positivo n tem uma representação de Zeckendorf.
  2. Unicidade: nenhum número inteiro positivo n tem duas representações de Zeckendorf diferentes.

A primeira parte do teorema de Zeckendorf (existência) pode ser provada por indução. Para n=1,2,3 é claramente verdade (já que esses são números de Fibonacci), para n=4 temos 4=3+1. Se n for um número de Fibonacci, não há o que provar. Caso contrário, existe j tal que Fj<n<Fj+1. Agora suponha que cada a<n tenha uma representação de Zeckendorf (hipótese de indução) e considere a=nFj. Como a<n, a tem uma representação de Zeckendorf. Ao mesmo tempo, a<Fj+1Fj=Fj1, então a representação de Zeckendorf de a não contém Fj1. Como resultado, n pode ser representado como a soma de Fj e a representação de Zeckendorf de a.

A segunda parte do teorema de Zeckendorf (unicidade) requer o seguinte lema:

Lema: A soma de qualquer conjunto não vazio de números de Fibonacci distintos e não consecutivos cujo maior membro é Fj é estritamente menor do que o próximo número de Fibonacci maior Fj+1.

O lema pode ser provado por indução em j.

Agora pegue dois conjuntos não vazios de números de Fibonacci distintos não consecutivos 𝑺 e 𝑻 que tenham a mesma soma. Considere os conjuntos 𝑺 e 𝑻 que são iguais a 𝑺 e 𝑻 dos quais os elementos comuns foram removidos (ou seja, 𝑺=𝑺𝑻 e 𝑻=𝑻𝑺). Uma vez que 𝑺 e 𝑻 tiveram soma igual, removemos exatamente os elementos de 𝑺𝑻 de ambos os conjuntos, 𝑺 e 𝑻 devem ter a mesma soma também.

Agora mostraremos por contradição que pelo menos um entre 𝑺 e 𝑻 está vazio. Assuma o contrário, ou seja, que 𝑺 e 𝑻 são ambos não vazios e que o maior membro de 𝑺 é Fs e o maior membro de 𝑻 é Ft. Como 𝑺 e 𝑻 não contêm elementos comuns, FsFt. Sem perda de generalidade, suponha que Fs<Ft. Então, pelo lema, a soma de 𝑺 é estritamente menor que Fs+1 e, portanto, estritamente menor que Ft, enquanto a soma de 𝑻 é claramente pelo menos Ft. Isso contradiz o fato de que 𝑺 e 𝑻 têm a mesma soma, e podemos concluir que 𝑺 ou 𝑻 deve estar vazio.

Agora assuma (novamente sem perda de generalidade) que 𝑺 está vazio. Então 𝑺 tem soma 0, e então 𝑻. Mas como 𝑻 só pode conter inteiros positivos, também deve estar vazio. Para concluir: 𝑺=𝑻= o que implica 𝑺=𝑻, provando que cada representação de Zeckendorf é única.

Multiplicação de Fibonacci

Pode-se definir a seguinte operação ab em números naturais a, b: dadas as representações de Zeckendorf a=i=0kFci(ci2) e b=j=0lFdj(dj2) nós definimos o produto de Fibonacci ab=i=0kj=0lFci+dj.

Por exemplo, a representação de Zeckendorf de 2 é F3, e a representação de Zeckendorf de 4 é F4+F2 (F1 não é permitido em representações), então 24=F3+4+F3+2=13+5=18.

(O produto nem sempre está na forma de Zeckendorf. Por exemplo, 44=(F4+F2)(F4+F2)=F4+4+2F4+2+F2+2=21+28+3=40=F9+F5+F2.)

Um simples rearranjo de somas mostra que esta é uma operação comutativa; no entanto, Donald Knuth provou o fato surpreendente de que esta operação também é associativa.[2]

Representação com números negafibonacci

A sequência de Fibonacci pode ser estendida para o índice negativo n usando a relação de recorrência reorganizada

Fn2=FnFn1,

que produz a sequência de números "negafibonacci" que satisfazem

Fn=(1)n+1Fn.

Qualquer número inteiro pode ser representado de forma única[3] como uma soma de números negafibonacci em que não são usados dois números negafibonacci consecutivos. Por exemplo:

  • 11=F4+F6=(3)+(8)
  • 12=F2+F7=(1)+13
  • 24=F1+F4+F6+F9=1+(3)+(8)+34
  • 43=F2+F7+F10=(1)+13+(55)
  • 0 é representado pela soma vazia.

0=F1+F2, por exemplo, a exclusividade da representação depende da condição de que não sejam usados dois números negafibonacci consecutivos.

Isso dá um sistema de códigos inteiros, semelhante à representação do teorema de Zeckendorf. Na string que representa o inteiro x, o enésimo dígito é 1 se Fn aparecer na soma que representa x; esse dígito é 0 caso contrário. Por exemplo, 24 pode ser representado pela string 100101001, que tem o dígito 1 nas casas 9, 6, 4 e 1, porque 24=F1+F4+F6+F9. O inteiro x é representado por uma string de comprimento ímpar se e somente se x>0.

Predefinição:Referências

Ligações externas

Predefinição:PlanetMath attribution Predefinição:Portal3