> elias | omega | asintótico <

// Elias Omega: código asintóticamente óptimo para enteros arbitrariamente grandes

0 caracteres
0 caracteres

>> características

[OPTIMAL]

Asintóticamente óptimo

Se acerca al mínimo teórico para números grandes.

[RECURSIVE]

Estructura recursiva

Codifica longitudes de forma recursiva y elegante.

[UNIVERSAL]

Código universal

Funciona para cualquier entero positivo sin parámetros adicionales.

>> información técnica

Cómo funciona Elias Omega

Elias Omega codifica recursivamente la longitud de un número hasta llegar a 1. A partir de n se codifica log₂(n), luego log₂(log₂(n)) y así sucesivamente hasta 1. El código se construye con estos valores en orden inverso y termina con 0. Esto produce log(n) + log(log(n)) + log(log(log(n))) + ... bits.

Proceso de codificación Omega

n=16:
16 → binario: 10000 (longitud 5)
5 → binario: 101 (longitud 3)
3 → binario: 11 (longitud 2)
2 → binario: 10 (longitud 2)
1 → fin

Construir el código hacia atrás:
Empezar con 0 (terminador)
Anteponer 10 (codifica 2)
Anteponer 11 (codifica 3)
Anteponer 101 (codifica 5)
Anteponer 10000 (codifica 16)
Resultado: 10 11 101 10000 0

Comparar eficiencia:
n=100: Gamma=13, Delta=12, Omega=10 bits
n=1000: Gamma=19, Delta=16, Omega=14 bits

Por qué usar Elias Omega

  • Ideal para números muy grandes
  • Comportamiento asintóticamente óptimo
  • Importancia teórica en codificación de enteros
  • Sin bits desperdiciados en el límite
  • Estructura recursiva elegante

>> preguntas frecuentes

¿Qué es la codificación Elias Omega?

Elias Omega es el código de Elias más sofisticado y utiliza codificación recursiva de longitudes para lograr optimalidad asintótica. Codifica la longitud de la representación, luego la longitud de esa longitud y así sucesivamente hasta llegar a 1, lo que lo hace muy eficiente para enteros muy grandes.

¿Cómo se compara Omega con Gamma y Delta?

Para números pequeños (< 10) Gamma suele ser mejor. Para números medios (10–1000) Delta mejora a Gamma. Para números grandes (> 1000) Omega se vuelve cada vez más superior. Omega utiliza iteraciones log*(n) y alcanza un comportamiento óptimo en el límite.

¿Qué es la optimalidad asintótica?

Un código es asintóticamente óptimo si la relación entre su longitud y el mínimo teórico tiende a 1 a medida que los números crecen. Omega cumple esto: length(n)/log₂(n) → 1 cuando n → ∞.

¿Por qué Omega no se usa en todas partes?

Aunque es teóricamente superior, Omega es más complejo de implementar y decodificar. Para datos reales con enteros acotados, códigos más simples como Exp-Golomb o Rice suelen ser más prácticos. Omega destaca en análisis teórico y escenarios con enteros sin cota superior.