- أعقبته بتعليق على الفيسبوك -
ضغط النصوص يعد من أشهر التطبيقات:
فلنفترض أن عندنا رسالة نصية قصيرة "ABABABAB"، ونريد ضغطها، أي تقليل مساحتها على الحاسوب:
● نحسب التوزيع الاحتمالي:
1. نحسب تكرار كل حرف في النص:
ال'A' يظهر 4 مرات
ال'B' يظهر 4 مرات
2. نحسب الاحتمالات:
p(A) = 4/8 = 0.5
p(B) = 4/8 = 0.5
● نحسب الاعتلاج entropy:
1. باستخدام المعادلة نعوِّض الاحتمالات مكان p(x) :
H(x) = 0.5 * log2 (1/0.5) + 0.5 log2
= Σ 0.5 * log2 (2) + 0.5 log2 (2)
H(x) = 0.5 * 1 + 0.5 * 1 = 1 bit
● نستقرئ الاعتلاج على أنه بِتْ واحد لكل حرف، وهذا يعني أن كل حرف في النص يحتوي على بِتْ واحد من المعلومات.
● مؤديات الاستقراء: يعطي الاعتلاج حدا نظريا سفليا lower bound لمتوسط عدد البتات اللازمة لضغط كل حرف، ولأن عندنا حرفَيْن فحسب باحتمالية متساوية فإننا نستخدم تكويد ذا طول ثابت fixed length، حيث A تمثل 0 وB تمثل 1.
وبِذا فإن النص الأصلي ABABABAB يمكن تكويده على 01010101.
وهكذا ضغطنا نصًّا بحجم 64 بت (8 أحرف مضروبة في 8 بت لكل حرف) إلى حجم 8 بت فقط (لأن حجم النص المضغوط هو 8، والحجم الأصلي 64: هذا يعطيك 64/8 = 8)
وهكذا تجري كل عمليات الضغط الحوسبية، بفضل معادلة شانون العملاقة