編碼 | 解碼 | 壓縮

> fibonacci | zeckendorf | universal <

// 費波那契編碼——基於黃金比例數學的自同步程式碼

0 字元
0 字元

>> 功能特色

[UNIVERSAL]

通用程式碼

不需要任何額外參數,適用於任意正整數。

[SELF-SYNC]

自我同步

利用 11 模式,在傳輸錯誤之後仍可重新同步。

[MATHEMATICAL]

黃金比例

建立在費波那契數列與 Zeckendorf 定理之上。

>> 技術說明

費波那契編碼的原理

費波那契編碼依據 Zeckendorf 定理:每個正整數都可以唯一表示為若干個彼此不相鄰的費波那契數之和。程式碼即是這種表示的二進位形式,使用到的費波那契位置為 1,沒使用的為 0,最後再加上一個額外的 1 做為終止位。如此一來,11 模式只會出現在每個碼字的結尾。

編碼範例

費波那契數列: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

不使用相鄰的費波那契數
11 模式只會出現在碼字結尾

為什麼要使用費波那契編碼

  • 具有自同步特性
  • 不需要額外參數
  • 對錯誤較具韌性
  • 唯一且不含歧義的表示
  • 具備優雅的數學性質

>> 常見問題

什麼是費波那契編碼?

費波那契編碼是一種通用碼,利用費波那契數列來表示正整數。它建立在 Zeckendorf 定理之上,產生的碼字具有自同步特性,其中 11 模式只會作為終止標記出現。

什麼是 Zeckendorf 表示?

Zeckendorf 定理指出,每個正整數都可以唯一表示為若干個彼此不相鄰的費波那契數之和。這種表示方式是費波那契編碼的核心。

為什麼說它是自同步的?

因為 11 模式也就是兩個連續的 1 只會出現在每個碼字結尾。解碼器在傳輸過程發生位元錯誤後,仍然可以透過搜尋 11 來找回碼字邊界。

費波那契編碼通常應用在哪裡?

費波那契編碼多用於資料壓縮研究、容錯傳輸系統以及理論電腦科學中。相較於實務效率,它更常因為優雅的數學結構而被探討。