سؤال

تكريما ل جائزة هوتر, ، ما هي الخوارزميات العليا (ووصف سريع لكل منها) لضغط النص؟

ملحوظة:الهدف من هذا السؤال هو الحصول على وصف لخوارزميات الضغط، وليس لبرامج الضغط.

هل كانت مفيدة؟

المحلول

تجمع الضواغط التي تدفع الحدود بين الخوارزميات للحصول على نتائج مجنونة.تشمل الخوارزميات الشائعة ما يلي:

  • ال تحويل بوروز ويلر و هنا - خلط الأحرف (أو كتل البت الأخرى) باستخدام خوارزمية يمكن التنبؤ بها لزيادة الكتل المتكررة مما يجعل ضغط المصدر أسهل.يحدث تخفيف الضغط كالمعتاد ويتم إلغاء خلط النتيجة مع التحويل العكسي.ملحوظة:BWT وحده لا يضغط أي شيء.إنه يجعل المصدر أسهل في الضغط.
  • التنبؤ عن طريق المطابقة الجزئية (PPM) - تطور الترميز الحسابي حيث يتم إنشاء نموذج التنبؤ (السياق) من خلال تحليل الإحصائيات حول المصدر مقابل استخدام الاحتمالات الثابتة.وعلى الرغم من أن جذورها تعود إلى الترميز الحسابي، إلا أنه يمكن تمثيل النتيجة بترميز هوفمان أو القاموس بالإضافة إلى الترميز الحسابي.
  • خلط السياق - يستخدم الترميز الحسابي سياقًا ثابتًا للتنبؤ، ويختار PPM ديناميكيًا سياقًا واحدًا، ويستخدم خلط السياق العديد من السياقات ويزن نتائجها.يستخدم PAQ خلط السياق. هنا نظرة عامة رفيعة المستوى.
  • ضغط ماركوف الديناميكي - يتعلق بـ PPM ولكنه يستخدم سياقات مستوى البت مقابل البايت أو أطول.
  • بالإضافة إلى ذلك، يمكن للمتسابقين على جائزة Hutter استبدال النص المشترك بإدخالات صغيرة البايت من القواميس الخارجية والتمييز بين النص الكبير والصغير برمز خاص مقابل استخدام مدخلين مختلفين.ولهذا السبب فهي جيدة جدًا في ضغط النص (خاصة نص ASCII) وليست ذات قيمة للضغط العام.

أقصى ضغط هو نص رائع جدًا وموقع معياري للضغط العام.مات ماهوني ينشر آخر المعيار.قد يكون لـ Mahoney أهمية خاصة لأنه يسرد الخوارزمية الأساسية المستخدمة لكل إدخال.

نصائح أخرى

هناك دائما com.lzip.

كل المزاح جانبا:

  • عندما يكون التوافق مصدر قلق، PKZIP (DEFLATE الخوارزمية) لا تزال تفوز.
  • يعد bzip2 أفضل حل وسط بين الاستمتاع بقاعدة تثبيت واسعة نسبيًا ونسبة ضغط جيدة إلى حد ما، ولكنه يتطلب أرشيفًا منفصلاً.
  • 7-الرمز البريدي (LZMA الخوارزمية) يتم ضغطها بشكل جيد جدًا وهي متاحة بموجب LGPL.ومع ذلك، فإن القليل من أنظمة التشغيل تأتي مع دعم مدمج.
  • rzip هو نوع مختلف من bzip2 والذي في رأيي يستحق المزيد من الاهتمام.قد يكون الأمر مثيرًا للاهتمام بشكل خاص لملفات السجل الضخمة التي تحتاج إلى أرشفة طويلة الأمد.ويتطلب أيضًا أرشيفًا منفصلاً.

إذا كنت تريد استخدام PAQ كبرنامج، فيمكنك تثبيت ملف zpaq الحزمة على الأنظمة المستندة إلى دبيان.الاستخدام (انظر أيضًا man zpaq)

zpaq c archivename.zpaq file1 file2 file3

كان الضغط حوالي 1/10 من حجم الملف المضغوط.(1.9 مليون مقابل 15 مليون)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top