> fibonacci | zeckendorf | universal <

// Kodowanie Fibonacci'ego – kod samosynchronizujący oparty na matematyce złotej proporcji

0 znaki
0 znaki

>> funkcje

[UNIVERSAL]

Kod uniwersalny

Działa dla każdej dodatniej liczby całkowitej bez dodatkowych parametrów.

[SELF-SYNC]

Samosynchronizujący

Umożliwia odzyskanie synchronizacji po błędach transmisji dzięki wzorcowi 11.

[MATHEMATICAL]

Złota proporcja

Opiera się na ciągu Fibonacciego i twierdzeniu Zeckendorfa.

>> informacje techniczne

Jak działa kodowanie Fibonacci'ego

Kodowanie Fibonacci'ego używa twierdzenia Zeckendorfa: każda dodatnia liczba całkowita ma jednoznaczną reprezentację jako suma niekolejnych liczb Fibonacciego. Kod składa się z tej reprezentacji w postaci binarnej (1, jeśli dana liczba Fibonacciego jest użyta, 0 w przeciwnym razie) oraz dodatkowej jedynki na końcu jako znacznika zakończenia. Wzorzec 11 pojawia się tylko na końcu kodu.

Przykłady kodowania

Ciąg Fibonacciego: 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

Nie używa się kolejnych liczb Fibonacciego
Wzorzec 11 pojawia się tylko na końcu kodu

Dlaczego warto używać kodowania Fibonacci'ego

  • Właściwości samosynchronizacji
  • Brak potrzeby dodatkowych parametrów
  • Odporność na błędy
  • Jednoznaczna reprezentacja
  • Matematyczna elegancja

>> często zadawane pytania

Czym jest kodowanie Fibonacci'ego?

Kodowanie Fibonacci'ego to kod uniwersalny, który reprezentuje dodatnie liczby całkowite za pomocą ciągu Fibonacciego. Opiera się na twierdzeniu Zeckendorfa i tworzy kody samosynchronizujące, w których wzorzec 11 pojawia się wyłącznie jako znacznik końca.

Czym jest reprezentacja Zeckendorfa?

Twierdzenie Zeckendorfa mówi, że każdą dodatnią liczbę całkowitą można w sposób jednoznaczny przedstawić jako sumę niekolejnych liczb Fibonacciego. Ta reprezentacja stanowi podstawę kodowania Fibonacci'ego.

Dlaczego kod jest samosynchronizujący?

Wzorzec 11 czyli dwie kolejne jedynki pojawia się wyłącznie na końcu każdego słowa kodowego. Dzięki temu dekoder może po błędach transmisji odnaleźć granice słów kodowych, wyszukując wystąpienia 11.

Gdzie stosuje się kodowanie Fibonacci'ego?

Kodowanie Fibonacci'ego jest wykorzystywane w badaniach nad kompresją danych, w odpornych na błędy systemach transmisji oraz w informatyce teoretycznej. Ceni się je bardziej za własności matematyczne niż za praktyczną wydajność.