فشرده سازی فایلهای متنی با استفاده از الگوریتم هافمن و الگوریتم فشرده سازی حسابی و مقایسه نتایج

فشرده سازی فایلهای متنی با استفاده از الگوریتم هافمن و الگوریتم فشرده سازی حسابی و مقایسه نتایج

فشرده-سازی-فایلهای-متنی-با-استفاده-از-الگوریتم-هافمن-و-الگوریتم-فشرده-سازی-حسابی-و-مقایسه-نتایج فشرده سازی فایلهای متنی با استفاده از الگوریتم هافمن و الگوریتم فشرده سازی حسابیدانلود فایل

فشرده سازی فایلهای متنی با استفاده از الگوریتم هافمن و الگوریتم فشرده سازی حسابی

 

فایل همراه با دایکیومنت + کد سورس و شرح کامل پروژه است.

صورت سوال تمرین

یک متن انگلیسی حداقل با ۱۰۰۰ کلمه را در یک فایل  txt  وارد کنید

برنامه ای بنویسید حداقل به دو روش زیر فشرده سازی فایل رانجام دهد.نتایج را از لحاظ سرعت-نرخ فشرده سازی-پیچیدگی مورد بحث قرار دهد.

تشریح پروژه

در این پروژه که با استفاده از نرم افزار برنامه نویسی متلب نسخه ۲۰۱۳ نوشته شده است، هدف اصلی فشرده سازی فایل های متنی(Text File) و ارزیابی نتایج سرعت، حافظه و نرخ فشرده سازی می باشد. در این پروژه فایلهایی در قالب فایلهای txt به شبیه ساز داده شده، الگوریتم های فشرده سازی هافمن و حسابی بر روی فایل مربوطه اعمال می گردد و نتایج فشرده سازی در قالب یک فایل دیگر در خروجی ذخیره سازی می گردد.

در قسمت زیر مراحل و نتایج مربوط به هر کدام از الگوریتم های گفته شده نشان داده شده است.

شبیه سازی الگوریتم فشرده سازی هافمن

در این قسمت نحوه عملکرد الگوریتم فشرده سازی هافمن بر روی فایل های متنی مورد بررسی قرار گرفته و تحلیل می گردد. نتایج مربوطه استخراج و مورد مقایسه قرار می گیرد.

فایلهای متنی نقش بسیار مهمی در نمایش اطلاعات حیاتی و نیاز به ذخیره سازی برای استفاده های آینده دارند که می توانند از طریق یک رسانه انتقال داده شوند. به منظور استفاده موثر از فضای دیسک و سرعت انتقال، فایلهای متنی نیاز به فشرده سازی دارند. در واقع فشرده سازی فایلهای متنی تکنیکی است که جهت کاهش حجم فایل متنی و افزایش سرعت ارسال در رسانه های ارتباطی و حفظ کیفیت فایل در یک سطح قابل قبول مورد استفاده قرار می گیرند. این کاهش حجم باعث صرفه جویی در مصرف دیسک، فضای حافظه و غیره می شود. همچنین این امکان را فراهم می سازد تا انتقال فایلهای متنی در محیط های چند رسانه ای سریعتر انجام شود. لذا در این پروژه جهت فشرده سازی فایلهای متنی از الگوریتم فشرده سازی هافمن استفاده می شود که در ادامه به تشریح کامل این الگوریتم خواهیم پرداخت.

الگوریتم فشرده سازی هافمن در سال ۱۹۵۲ توسط دیوید هافمن مطرح شدالگوریتم هافمن می تواند برای فشرده سازی انواع داده ها مورد استفاده قرار گیرد. این الگوریتم مبتنی بر آنتروپی است که متکی به تحلیل فرکانس نمادها در یک آرایه می باشد. کد گذاری هافمن می تواند به وضوح با فشرده سازی یک فایل متنی شطرنجی نشان داده شود. فرض کنید ما یک تصویر شظرنجی ۵*۵  با ۸ بیت سلول به ازای هر سلول داریم.  در حالت عادی برای ذخیره سازی رنگ های این تصویر شطرنجی غیره فشرده نیاز به ۲۵۶ بیت فضا خواهیم داشت (۵*۵*۸ = ۲۵۶ ) [۲۳] . حال اگر از الگوریتم هافمن جهت فشرده سازی استفاده کنیم تعداد بیت مصرفی کاهش خوبی خواهد داشت. در این قسمت نشان می دهیم که با اعمال الگوریتم فشرده سازی روی فایل متنی مورد نظر،  چگونه میزان فضای مورد نیاز را در حدود ۷ برابر کاهش می دهیم.

الگوریتم فشرده سازی حسابی

در این قسمت نیز الگوریتم فشرده سازی حسابی از نقطه نظرهای سرعت، پیچیدگی و حافظه مورد بررسی قرار گرفته و مقایسه می گردد

 

 این پروژه با زبان متلب همراه با مستندات کامل و فیلم اموزش کار با پروژه و فایل کد نویسی  در متلب ضمیمه شد


محتوای فایل دانلودی

فایل همراه با دایکیومنت + کد سورس و شرح کامل پروژه است.

راهنمای استفاده

فایل همراه با دایکیومنت + کد سورس و شرح کامل پروژه است.