// إلياس أوميغا - ترميز تقاربي أمثل للأعداد الصحيحة الكبيرة بلا حد أعلى
يقترب من الحد النظري الأدنى للأعداد الكبيرة.
يرمّز أطوال الأعداد بشكل تكراري أنيق.
يعمل مع أي عدد صحيح موجب دون معلمات إضافية.
يرمّز إلياس أوميغا طول العدد بشكل تكراري حتى يصل إلى 1. نبدأ بـ n، فنرمّز log₂(n)، ثم log₂(log₂(n))، ونستمر حتى نصل إلى 1. يتكوّن الكود من هذه القيم معكوسة الترتيب وتنتهي بـ 0. ينتج عن ذلك log(n) + log(log(n)) + log(log(log(n))) + ... من البِتّات.
n=16: 16 → ثنائي: 10000 (الطول 5) 5 → ثنائي: 101 (الطول 3) 3 → ثنائي: 11 (الطول 2) 2 → ثنائي: 10 (الطول 2) 1 → توقف بناء الكود من الخلف: ابدأ بـ 0 (منهي) أضِف 10 في المقدمة (يُرَمِّز 2) أضِف 11 في المقدمة (يُرَمِّز 3) أضِف 101 في المقدمة (يُرَمِّز 5) أضِف 10000 في المقدمة (يُرَمِّز 16) النتيجة: 10 11 101 10000 0 مقارنة الكفاءة: n=100: Gamma=13, Delta=12, Omega=10 بتات n=1000: Gamma=19, Delta=16, Omega=14 بتات
إلياس أوميغا هو أكثر أكواد إلياس تطورًا، ويستخدم ترميز طول تكراري لتحقيق أمثلية تقاربية. يرمّز طول العدد، ثم طول هذا الطول وهكذا حتى نصل إلى 1، مما ينتج كودًا شديد الكفاءة للأعداد الصحيحة الكبيرة جدًا.
للأعداد الصغيرة (< 10) يكون غاما غالبًا الأفضل، وللأعداد المتوسطة (10–1000) يحسّن دلتا النتائج. للأعداد الكبيرة (> 1000) يصبح أوميغا متفوّقًا بشكل متزايد. يستخدم أوميغا عددًا من الدورات يساوي log*(n)، ويحقق سلوكًا أمثل تقاربيًا.
يُقال إن الكود أمثل تقاربيًا إذا اقتربت نسبة طوله إلى الحد الأدنى النظري من 1 عندما تكبر الأعداد. يحقق أوميغا هذا: طول(n)/log₂(n) → 1 عندما n → ∞.
على الرغم من تفوقه النظري، فإن أوميغا أعقد في التنفيذ والفك. في البيانات العملية ذات الأعداد المحدودة، غالبًا ما تكون الأكواد الأبسط مثل Exp-Golomb أو Rice أكثر ملاءمة. يلمع أوميغا في التحليل النظري والحالات التي لا يوجد فيها حد أعلى للأعداد الصحيحة.