coderen | decoderen | comprimeren

> elias | delta | optimaal <

// Elias Delta – universele code die efficiënter is dan Gamma voor grote gehele getallen

0 tekens
0 tekens

>> functies

[EFFICIËNT]

Beter dan Gamma

Efficiënter dan Elias Gamma voor n > 3.

[UNIVERSEEL]

Universele code

Werkt voor elk positief geheel getal zonder extra parameters.

[ASYMPTOTISCH]

Goede asymptotiek

Gebruikt log₂(n) + 2log₂(log₂(n)) + 1 bits.

>> technische info

Hoe Elias Delta werkt

Elias Delta codeert een positief geheel getal n in drie delen: 1) bepaal L = ⌊log₂(n)⌋ + 1 (bitlengte), 2) codeer L met Elias Gamma, 3) plak de laatste L−1 bits van n eraan vast. Deze dubbel-logaritmische groei maakt Delta efficiënter dan Gamma voor grotere getallen, terwijl het een universele code blijft.

Voorbeelden van Delta-codering

n=1: L=1, Gamma(1)='1', bits='', Delta='1'
n=2: L=2, Gamma(2)='010', bits='0', Delta='0100'
n=3: L=2, Gamma(2)='010', bits='1', Delta='0101'
n=4: L=3, Gamma(3)='011', bits='00', Delta='01100'
n=16: L=5, Gamma(5)='00101', bits='0000', Delta='001010000'

Lengtes vergelijken:
n     | Gamma | Delta | Besparing
1     | 1     | 1     | 0
16    | 9     | 9     | 0
100   | 13    | 12    | 1
1000  | 19    | 16    | 3

Waarom Elias Delta gebruiken

  • Beter dan Gamma voor n > 3
  • Geen parameters nodig
  • Prefixvrije, eenduidig decodeerbare code
  • Ideaal voor gehele getallen van middelgrote omvang
  • Stap richting Elias Omega

>> veelgestelde vragen

Wat is Elias Delta-codering?

Elias Delta is een verbetering op Elias Gamma: eerst wordt de lengte van de binaire representatie met Gamma gecodeerd, daarna worden de resterende bits toegevoegd. Het gebruikt ongeveer log₂(n) + 2log₂(log₂(n)) + 1 bits en is daardoor efficiënter voor grote gehele getallen.

Delta versus Gamma?

Gamma gebruikt 2⌊log₂(n)⌋ + 1 bits, terwijl Delta log₂(n) + 2log₂(log₂(n)) + 1 bits gebruikt. Delta is beter voor n > 3 en de winst neemt toe voor grotere waarden. Voor zeer kleine waarden (1–3) zijn de codes vergelijkbaar.

Wanneer Delta gebruiken in plaats van Gamma?

Gebruik Delta wanneer je data vooral uit gehele getallen > 3 bestaat. Voor zeer kleine gehele getallen (1–2) kan Gamma iets beter zijn. Voor zeer grote waarden kun je Elias Omega overwegen, dat verder bouwt op Delta.

Is Delta de beste Elias-code?

Delta is het compromis. Gamma is het eenvoudigst maar het minst efficiënt. Delta verbetert de compressie. Omega is het beste voor zeer grote getallen, maar ook het meest complex. Kies op basis van je gegevensverdeling en implementatie-eisen.