17

كيف يعمل برنامج الضغط winrar او 7zip ؟

لم افهم لماذا في بعض الاحيان حينما اضغط ملف و لنفترض ان حجمه 20 ميغا بعد الضغط يصبح 16 او يبقى 20 ، و في احيان اخرى حينما اضغط ملف بهذا الحجم اجد ان حجمه بعد الضغط اصبح 1 ميغا او 2 ..

لماذا لم يفعل هذا مع الاول ؟ يعني ما الذي يحدث ليحدث هذا ؟


Ahmad_Mu أضف ردا

تختلف برامج الضغط في خوارزميات الضغط التي تستعملها

أشهر الخوارزميات هية خوارزمية Huffman , سأقوم بشرح مبدأها بشكل مبسط ومحرّف بعيداً عن التفاصيل التقنية او المشكلات التي عالجتها :

لنفترض أن لديك نص معين , سنقوم بحساب أكثر الكلمات تكرارا في هذا النص , لنفرض أننا وجدنا ان الكلمة the مكررة بشكل كبير في هذا النص , سأقوم باستبدال كل كلمة the بحرف الـ t فقط

فإن كان لدي 30 كلمة the فـ هم بالمجمل 3×30 = 90 حرف , ولكن بعد عملية الاستبدال أصبحو 30×1 = 30 حرف فقط

كرر هذه العملية ف مثلا كلمة on قد باستبدالها بحرف ال o مثلاً

ستجد في النهاية أنه كلما تكررت الكلمات بشكل أكبر استطعت انقاص عدد أحرف النص " تصغير حجمه " بشكل أكبر

طبعاً ستجد أن حروف الأبجدية " 28 حرف " غير كافيين لترميز جميع الكلمات , هنا تقوم باستعمال الترميز بحرفين من أجل الكلمات الأقل تكراراً على سبيل المثال

طبعاً خوارزمية الضغط تعتمد على الضغط على مستوى الحرف الواحد وليس الكلمة بالطبع , كما أنها تقوم بالتحويل الى bits , ولكن ذكرت المثال من باب التبسيط

النتيجة أن نسبة الضغط تتناسب طرداً مع عدد التكرارات في الملف المراد ضغطه

بالتوفيق

هل هناك خورازميات أخرى؟