> elias | gamma | universeel <
// Elias Gamma – universele code voor positieve gehele getallen zonder parameters
Universele code
Werkt voor elk positief geheel getal zonder extra parameters.
Prefixvrij
Geen enkele code is het prefix van een andere, waardoor decoderen eenduidig is.
Asymptotisch optimaal
Benadert optimale compressie voor bepaalde verdelingen.
>> technische informatie
Hoe Elias Gamma werkt:
Elias Gamma codeert een positief geheel getal n als volgt: 1) Bepaal N = ⌊log₂(n)⌋, 2) Schrijf N nullen als unaire code, 3) Voeg de binaire representatie van n toe (met N+1 bits). Het resultaat is een code van (2N+1) bits.
Coderingsvoorbeelden:
n=1: log₂(1)=0 Code: 1 (geen nullen + "1") n=2: log₂(2)=1 Code: 010 (één nul + "10") n=5: log₂(5)=2 Code: 00101 (twee nullen + "101") n=10: log₂(10)=3 Code: 0001010 (drie nullen + "1010") Lengteformule: 2⌊log₂(n)⌋ + 1
Waarom Elias Gamma gebruiken?:
- >Geen parameters nodig
- >Eenvoudige implementatie
- >Geschikt voor kleine gehele getallen
- >Universeel coderingsschema
- >Belangrijk in informatie‑ en compressietheorie
>> veelgestelde vragen
Wat is Elias Gamma-codering?
Elias Gamma is een universele code voor positieve gehele getallen, ontwikkeld door Peter Elias. Elk getal wordt gecodeerd met de bitlengte in unaire vorm, gevolgd door de binaire representatie. De code heet "universeel" omdat zij werkt zonder de verdeling van de data te kennen.
Wanneer is Elias Gamma efficiënt?
Elias Gamma is het meest efficiënt voor getallen die een machtswetverdeling volgen (P(n) ∝ n^-2). De code gebruikt ongeveer 2log₂(n)+1 bits, waardoor hij goed is voor kleine waarden maar minder efficiënt voor grote n.
Gamma vs Delta vs Omega?
Elias Gamma gebruikt 2log₂(n)+1 bits. Delta verbetert dit tot log₂(n)+2log₂(log₂(n)+1)+1 bits, en Omega is nog efficiënter voor zeer grote getallen. Gamma is het eenvoudigst, Delta is beter voor middelgrote waarden en Omega voor grote n.
Waar worden Elias-codes gebruikt?
Elias-codes worden gebruikt in de informatietheorie, onderzoek naar gegevenscompressie en enkele gespecialiseerde compressie‑algoritmen. Ze zijn theoretisch belangrijk als universele codes, maar in de praktijk minder gebruikelijk dan bijvoorbeeld Huffman‑ of aritmetische codering.