Fibonacci-code
In de wiskunde en speciaal in de informatica is de Fibonacci-code een universele code, gebaseerd op de Fibonacci-getallen (de getallen in de rij van Fibonacci), die de positieve gehele getallen codeert tot binaire woorden. De code wordt gebruikt in datacompressie, daarom eindigt elk woord met "11" en komt de combinatie "11" verder niet in een woord voor.
Volgens de Stelling van Zeckendorf heeft elk positief geheel getal een Zeckendorf-representatie, een voorstelling als som van niet-opeenvolgende Fibonacci-getallen. Voor het getal 100 is dit:
De rij van Fibonacci begint met:
Voor 100 kan daarom in een soort positiestelsel geschreven worden:
- ,
waarin geteld wordt vanaf de tweede 1 in de rij.(Normaal gesproken zou dit andersom genoteerd worden met de hoogste positie voorop, dus als 1000010100.)
De rij 0'en en 1'en eindigt voor elk getal met een 1. Voor de herkenbaarheid van het eind van de code voegt de Fibonacci-codering er nog een 1 aan toe. Omdat in de representatie nooit twee opeenvolgende Fibonacci-getallen voorkomen, staat alleen aan het eind van een code "11". De Fibonacci-code voor 100 is dus:
Definitie
[bewerken | brontekst bewerken]De Fibonacci-code voor het positieve gehele getal is het binaire woord:
- ,
dus met , waarvoor geldt:
en
- .
Daarin is het i-de getal in de rij van Fibonacci, dus, met weglating van de eerste twee, ongebruikte, elementen, de rij:
In deze codering is de voorlaatste bit de meest significante bit en de eerste bit de minst significante.
In de onderstaande tabel staan de Fibonacci-codes van de getallen 1 tot en met 14.
getal Zeckendorf-representatie Fibonacci-code 1 11 2 011 3 0011 4 1011 5 00011 6 10011 7 01011 8 000011 9 100011 10 010011 11 001011 12 101011 13 0000011 14 1000011
Zie ook
[bewerken | brontekst bewerken]Referenties
[bewerken | brontekst bewerken]- Allouche, Jean-Paul, Shallit, Jeffrey (2003). Automatic Sequences: Theory, Applications, Generalizations. Cambridge University Press, 105. ISBN 978-0-521-82332-6.
- T. C. Bell and I. H. Witten. Text Compression. Prentice Hall, 1990.
Externe links
[bewerken | brontekst bewerken]- (en) Fast Fibonacci Encoding Algorithm, Jiri Walder, Michal Kratky, and Jan Platos
- (en) Robust universal complete codes for transmission and compression. Discrete Applied Mathematics 64: 31–55 (1996). ISSN 0166-218X