لم افهم لماذا في بعض الاحيان حينما اضغط ملف و لنفترض ان حجمه 20 ميغا بعد الضغط يصبح 16 او يبقى 20 ، و في احيان اخرى حينما اضغط ملف بهذا الحجم اجد ان حجمه بعد الضغط اصبح 1 ميغا او 2 ..
لماذا لم يفعل هذا مع الاول ؟ يعني ما الذي يحدث ليحدث هذا ؟
تختلف برامج الضغط في خوارزميات الضغط التي تستعملها
أشهر الخوارزميات هية خوارزمية Huffman , سأقوم بشرح مبدأها بشكل مبسط ومحرّف بعيداً عن التفاصيل التقنية او المشكلات التي عالجتها :
لنفترض أن لديك نص معين , سنقوم بحساب أكثر الكلمات تكرارا في هذا النص , لنفرض أننا وجدنا ان الكلمة the مكررة بشكل كبير في هذا النص , سأقوم باستبدال كل كلمة the بحرف الـ t فقط
فإن كان لدي 30 كلمة the فـ هم بالمجمل 3×30 = 90 حرف , ولكن بعد عملية الاستبدال أصبحو 30×1 = 30 حرف فقط
كرر هذه العملية ف مثلا كلمة on قد باستبدالها بحرف ال o مثلاً
ستجد في النهاية أنه كلما تكررت الكلمات بشكل أكبر استطعت انقاص عدد أحرف النص " تصغير حجمه " بشكل أكبر
طبعاً ستجد أن حروف الأبجدية " 28 حرف " غير كافيين لترميز جميع الكلمات , هنا تقوم باستعمال الترميز بحرفين من أجل الكلمات الأقل تكراراً على سبيل المثال
طبعاً خوارزمية الضغط تعتمد على الضغط على مستوى الحرف الواحد وليس الكلمة بالطبع , كما أنها تقوم بالتحويل الى bits , ولكن ذكرت المثال من باب التبسيط
النتيجة أن نسبة الضغط تتناسب طرداً مع عدد التكرارات في الملف المراد ضغطه
بالتوفيق
التعليقات