اکثر
فایل های موجود بر روی اینترنت با استفاده از نرم افزارهائی نظیر WinZip
فشرده و بر روی سرویس دهندگان FTP مستقر تا
کاربران بتوانند با سرعت مناسب اقدام به دریافت آنها نمایند. فایل های فشرده ZIP
یکی از متداولترین و سهل الوصول ترین نوع فایل های فشرده می باشند. با فشرده نمودن
فایل ها امکان ارسال سریعتر آنها بر روی اینترنت خصوصا" در مواردیکه سرعت خط
ارتباطی کاربران بالا نباشد ، فراهم می گردد. پس از دریافت فایل های فشرده با
استفاده از نرم افزارهای مربوطه نظیر WinZip می بایست آنها
را به حالت اولیه تبدیل ( از حالت فشرده خارج گردند ) کرد.
هدف از فشرده نمودن فایل ها کاهش ظرفیت فایل ها بوده و در زمان استفاده از
فایل می بایست مجددا" فایل به حالت اولیه برگردانده شود. در فرآیند فوق بیت هائی از فایل با استفاده از الگوریتم هائی خاص ، از فایل
حذف و زمینه کاهش ظرفیت فایل فراهم خواهد شد. در زمان استفاده از فایل با استفاده
از الگوریتم فشرده سازی عملیات معکوس انجام و فایل به حالت اولیه خود برگردانده
خواهد شد. در ادامه به برخی از روش های فشرده سازی اطلاعات اشاره خواهد شد.
یافتن افزونگی در فایل
اکثرفایل
های کامپیوتری ( با محتویات متفاوت ) دارای افزونگی اطلاعات می باشند. این نوع
فایل ها دارای اطلاعات تکراری زیادی می باشند. برنامه های فشرده سازی اطلاعات ،
اطلاعات تکراری موجود در فایل ها را بر اساس الگوریتم های مربوطه حذف می
نمایند. پس از تشخیص اطلاعات تکراری ، صرفا" اطلاعات تکراری یک بار در فایل
تکرار و و در سایر موارد، از مکانیزمهای خاصی برای عدم تکرار استفاده می گردد.
جمله زیر از 17 کلمه ، 61 حرف ، 16 فضای خالی ، یک نقطه و یک dash ،
تشکیل شده است :
"Ask |
اگر هر یک از حروف ، فضای خالی و
حروف خاص ، یک واحد از حافظه را اشغال نمایند ، مجموعا" 79 واحد از حافظه
توسط عبارت فوق استفاده خواهد گردید (79 = 1 + 1+ 16 + 61 ) . به منظور کاهش ظرفیت
فایل می بایست افزونگی اطلاعات در فایل را بررسی کرد. با مشاهده و بررسی
عبارت فوق ، نتایج زیر بدست می آید :
· کلمه
"ask" ، دو مرتبه تکرار شده است .
· کلمه
"what" ، دو مرتبه تکرار شده است .
· کلمه
"your" ، دو مرتبه تکرار شده است .
· کلمه
"country" ، دو مرتبه تکرار شده است .
· کلمه
"can" ، دو مرتبه تکرار شده است .
· کلمه
"do" ، دو مرتبه تکرار شده است .
· کلمه
"for" ، دو مرتبه تکرار شده است .
· کلمه
"you" ، دو مرتبه تکرار شده است .
با عدم لحاظ نمودن حروف بزرگ و کوچک
درعبارت فوق ، مشاهده می گردد که نیمی از اطلاعات موجود در عبارت فوق ، زائد و
تکراری می باشند. با دقت در عبارت فوق و نحوه افزونگی اطلاعات مشاهده می گردد که
با دارا بودن نه کلمه ask,not,what,your,country,can ،do ،for
و you می توان پالایشی مناسبی از عبارت فوق را انجام و در صورت لزوم و
با استفاده از نه کلمه فوق ، مجددا" عبارت اولیه را ایجاد نمود. در این راستا
و به منظور ایجاد عبارت فوق کافی است به کلمات موجود در بخش اول ( نصف عبارت )
اشاره و جایگاه و تعداد تکرار هر یک از آنها را در بخش دوم مشخص نمود. در
ادامه نحوه فشرده سازی اطلاعات و بازسازی مجدد آنها بررسی می گردد.
فشرده سازی اطلاعات
اکثر برنامه
های فشرده سازی از مدل ها ی متفاوت الگوریتم مبتنی بر دیکشنری ایجاد
شده توسط "Lempel و Ziv" ، به منظور کاهش ظرفیت
فایل ها ، استفاده می نمایند. منظور از دیکشنری در الگوریتم فوق ، روش های کاتولوگ
نمودن بخش هائی از داده است . سیستم استفاده شده برای سازماندهی دیکشنری
متفاوت و در ساده ترین حالت می تواند شامل یک لیست عددی باشد. با مراجعه مجدد
به عبارت اشاره شده در بخش قبل ، کلمات تکراری را انتخاب و آنها را در لیست مرتب
شده ای بصورت زیر ایندکس می نمائیم . پس از ایجاد لیست فوق ، می توان در مواردیکه
از کلمات در عبارت استفاده می شود ، از اعداد نسبت داده شده و متناظر با آنها
استفاده کرد. دیکشنری ایجاد شده برای عبارت اشاره شده در بخش قبل بصورت زیر است :
|
با توجه به دیکشنری ایجاد شده ، عبارت مورد نظر بصورت زیر
خوانده خواهد شد :
"1 not |
برای بازسازی مجدد عبارت فوق ، لازم
است الگوی معادل آن را با توجه به دیکشنری استخراج و در محل مربوطه قرار داد.
برنامه هائی نظیر WinZip از فرآیندهای مشابه برای بازسازی مجدد یک فایل و برگرداندن آن به
شکل اولیه استفاده می نمایند.
در فرآیند فشرده سازی عبارت اشاره شده در بخش قبل به شکل جدید آن ( مطابق جدول بالا
) چه میزان ظرفیت فایل کاهش پیدا کرده است ؟ مطمئنا" عبارت فشرده شده ظرفیت
کمتری نسبت به عبارت اولیه خواهد داشت . در این زمینه لازم است به این نکته مهم
اشاره گردد که دیکشنری ایجاد شده نیز می بایست بهمراه فایل ذخیره گردد. در مثال
فوق ، عبارت اولیه برای ذخیره سازی به 79 واحد حافظه نیاز داشت . عبارت فشرده شده
( بهمراه فضای خالی ) ، 37 واحد و دیکشنری ( کلمات و اعداد ) ، نیز 37 واحد
حافظه را اشغال خواهند کرد. بدین ترتیب ظرفیت فایل فشرده به 74 واحد حافظه خواهد
رسید . با توجه به اطلاعات فوق مشاهده می گردد که عملا" در رابطه با فشرده
سازی عبارت فوق به موفقیت های بزرگی نائل نشده ایم . در این زمینه لازم است به این
نکته اشاره گردد که در مثال فوق ، صرفا" یک " جمله
" فشرده شده است . فرض کنید جمله فوق بخشی از یک سخنرانی یک ساعته
باشد ، بدیهی است که در سخنرانی فوق احتمال تکرار کلمات فوق بسیار زیاد خواهد بود
. با ایجاد سیستم دیکشنری ، زمینه استفاده از آن در بخش های بعدی سخنرانی
نیز وجود داشته و در ادامه قطعا" میزان فشرده سازی جملات موجود در متن
سخنرانی نتایج مطلوبتری را بدنبال خواهد داشت .