> elias | gamma | universale <

// Elias Gamma – codice universale per interi positivi senza parametri

[UNIVERSAL]

Codice universale

Funziona per qualsiasi intero positivo senza parametri aggiuntivi.

[PREFIX-FREE]

Senza prefisso

Nessun codice è prefisso di un altro, garantendo una decodifica univoca.

[ASYMPTOTIC]

Asintoticamente ottimale

Si avvicina alla compressione ottimale per alcune distribuzioni.

>> informazioni tecniche

Come funziona Elias Gamma:

Elias Gamma codifica un intero positivo n nel seguente modo: 1) Calcola N = ⌊log₂(n)⌋, 2) Scrive N zeri come codice unario, 3) Aggiunge la rappresentazione binaria di n (che ha N+1 bit). Il risultato è un codice lungo (2N+1) bit.

Esempi di codifica:

n=1: log₂(1)=0 Codice: 1 (nessuno zero + "1") n=2: log₂(2)=1 Codice: 010 (uno zero + "10") n=5: log₂(5)=2 Codice: 00101 (due zeri + "101") n=10: log₂(10)=3 Codice: 0001010 (tre zeri + "1010") Formula della lunghezza: 2⌊log₂(n)⌋ + 1

Perché usare Elias Gamma:

  • >Nessun parametro richiesto
  • >Implementazione semplice
  • >Ottimo per interi piccoli
  • >Schema di codifica universale
  • >Importante nella teoria dell'informazione e della compressione

>> domande frequenti

Che cos'è la codifica Elias Gamma?

Elias Gamma è un codice universale per interi positivi sviluppato da Peter Elias. Ogni intero viene codificato usando la lunghezza della sua rappresentazione binaria in forma unaria, seguita dalla rappresentazione binaria stessa. È detto "universale" perché funziona senza conoscere la distribuzione dei dati.

Quando è efficiente Elias Gamma?

Elias Gamma è più efficiente per interi che seguono una distribuzione a legge di potenza (P(n) ∝ n^-2). Utilizza circa 2log₂(n)+1 bit, il che lo rende adatto per valori piccoli ma meno efficiente per valori molto grandi.

Gamma vs Delta vs Omega?

Elias Gamma usa 2log₂(n)+1 bit. Delta migliora a log₂(n)+2log₂(log₂(n)+1)+1 bit, mentre Omega offre una compressione ancora migliore per numeri molto grandi. Gamma è il più semplice, Delta è migliore per valori medi e Omega per interi grandi.

Dove vengono usati i codici Elias?

I codici Elias sono utilizzati nella teoria dell'informazione, nella ricerca sulla compressione dei dati e in alcuni algoritmi di compressione specializzati. Sono importanti dal punto di vista teorico come codici universali, ma in pratica sono meno comuni rispetto a Huffman o alla codifica aritmetica.

Altre lingue