// Codifica Fibonacci - codice auto-sincronizzante basato sulla matematica della sezione aurea
Funziona per qualsiasi intero positivo senza parametri aggiuntivi.
Consente di recuperare la sincronizzazione dopo errori di trasmissione tramite il pattern 11.
Basato sulla successione di Fibonacci e sul teorema di Zeckendorf.
La codifica Fibonacci utilizza il teorema di Zeckendorf: ogni intero positivo ha una rappresentazione unica come somma di numeri di Fibonacci non consecutivi. Il codice è questa rappresentazione in binario (1 se il numero di Fibonacci è usato, 0 altrimenti) seguita da un 1 aggiuntivo come terminatore. Il pattern 11 compare solo alla fine del codice.
Fibonacci: 1, 2, 3, 5, 8, 13, 21... 1 = F(1) → 11 2 = F(2) → 011 3 = F(3) → 0011 4 = F(3)+F(1) → 1011 5 = F(4) → 00011 12 = F(5)+F(3)+F(1) → 101011 Non si usano numeri di Fibonacci consecutivi Il pattern 11 appare solo alla fine del codice
La codifica Fibonacci è un codice universale che rappresenta gli interi positivi usando la successione di Fibonacci. Si basa sul teorema di Zeckendorf e produce codici auto-sincronizzanti in cui il pattern 11 appare solo come terminatore.
Il teorema di Zeckendorf afferma che ogni intero positivo può essere rappresentato in modo unico come somma di numeri di Fibonacci non consecutivi. Questa rappresentazione è la base della codifica Fibonacci.
Il pattern 11 cioè due bit 1 consecutivi appare solo alla fine di ogni parola di codice. Questo permette al decodificatore di ritrovare i confini tra le parole dopo errori di trasmissione cercando le occorrenze di 11.
La codifica Fibonacci è usata nella ricerca sulla compressione dei dati, in sistemi di trasmissione tolleranti agli errori e nell'informatica teorica. È apprezzata soprattutto per le sue proprietà matematiche più che per l'efficienza pratica.