نام پژوهشگر: سید محمدعلی خسروی فرد
سعیده هاشم نیای ترشیزی سید محمدعلی خسروی فرد
قابلیت کدبرداری به صورت آنی از جمله مهمترین ویژگی های یک کد مناسب برای بسیاری از استانداردهاست که به این منظور کد بدون پیشوند معرفی شده است. اما این کد که تنها در یک جهت (رو به جلو) قابل کدبرداری است در مقابل خطا مقاوم نیست. برای رفع این مشکل کدهای بدون پیشوند و پسوند(بدون وند) معرفی شدند که از هر دو سمت (رو به جلو و رو به عقب) قابل کدبرداری هستند. در نتیجه سرعت کدبرداری آن ها زیاد و در مقابل خطا مقاوم تر هستند. اما یافتن کد بدون وندی که کمترین افزونگی را داشته باشد(بهینه)، و به عبارت دیگر تا حد امکان فشرده باشد، آسان نیست. الگوریتم یافتن کد بدون وند بهینه دو سال پیش ارائه شد. در این پایان نامه این الگوریتم بررسی شده است و به دلیل مشکلاتی از قبیل زمان و حافظه بالایی که نیاز دارد؛ به جای استفاده از آن برای کد بدون وند متقارن الگوریتم شبه بهینه ای ارائه شده است (در ادامه پایان نامه فقط روی کدهای متقارن متمرکز شده ایم). از مزایای این الگوریتم سادگی و سرعت آن نسبت به الگوریتم بهینه است زیرا فضای جستجوی آن به مراتب کوچکتر است. همچنین عملکرد آن برای الفبای انگلیسی (با 26 سمبل) و توزیع متوسط (با تعداد سمبل از 1 تا 100) بررسی شده است و کد خروجی الگوریتم همانند کد بهینه می باشد. سپس اثبات شده است در حالتی که بردار احتمال سمبل های منبع مشخص نبوده و با تابع چگالی یکنواخت از مجموعه منابع یکنوا انتخاب شود، بهترین بردار طول کد یکسان برای همه منابع با معیار کمترین میانگین افزونگی، کد بهینه توزیع متوسط است. اما از آنجا که یافتن کد بهینه مشکل است می توان از الگوریتم پیشنهادی برای یافتن کد شبه بهینه استفاده کرد. بنابراین ساختار کد شبه بهینه توزیع متوسط بررسی شده و برای محاسبه بردار چندگانگی آن روابط بسته تقریبی به دست آمده است. در نهایت، باند بالا و پایینی برای میانگین افزونگی کدهای بهینه متقارن ارائه شده است و با استفاده از باند پایین نشان داده شده است که الگوریتم پیشنهادی برای توزیع متوسط با تعداد سمبل بیشتر از 100 نیز،کدی نزدیک به بهینه می سازد. همچنین باند پایین نشان می دهد که افزونگی کد بدون وند متقارن بسیار بیشتر از کد هافمن بوده و همانطور که قبلا اثبات شده است به بی نهایت میل می کند.
حامد نریمانی زمان آبادی سید محمدعلی خسروی فرد
در این رساله به بررسی عملکرد کد هافمن و چند کد شبه بهینه شامل: «کد طول ثابت»، «کد یکنواخت»، «کد یکنواخت با منبع مرتب شده»، «کد m» و «کد شانون»، بر روی «منابع بدون حافظه با الفبای بزرگ» می پردازیم. در روش های کدگذاری «طول ثابت» و «یکنواخت» به همه ی منابعِ با اندازه الفبای یکسان، یک کد یکسان نسبت داده می شود. در طرف دیگر در کدگذاری های «یکنواخت با منبع مرتب شده» و «m»، ابتدا منابع براساس ترتیب احتمال وقوع سمبل ها مرتب می شوند و سپس به آن ها یک بردار کد معین نسبت داده می شود. اما در کدگذاری های «شانون» و «هافمن»، بردار کد در حالت کلی به مقادیر دقیق همه ی احتمال سمبل ها وابسته است. ثابت خواهیم کرد که برای کدهای مورد بررسی، واریانس افزونگی بر روی مجموعه منابع با اندازه الفبای معین، با افزایش اندازه الفبا به صفر میل می کند. در نتیجه برای اغلب منابع با الفبای بزرگ n، افزونگی هر یک از این کدها تقریباً برابر است با میانگین افزونگی آن کد بر روی مجموعه منابع با n سمبل. برای کدهای «هافمن» و «m»، میانگین افزونگی منابع n-سمبلی برابر است با افزونگی به ازاء «توزیع میانگین منابع یکنوای n-سمبلی» که این مقدار، برای اندازه الفبای بزرگ n، در بازه ی 0.02873 و 0.02877 بیت در نوسان است. همچنین، میانگین افزونگی کد «شانون» بر روی مجموعه منابع n سمبلی فرمول بندی می شود. ثابت خواهیم کرد که این مقدار یک دنباله ی واگرا برحسب n است که برای مقادیر بزرگ n در اطراف 0.5 بیت در نوسان است. برای کدهای «طول ثابت»، «یکنواخت» و «یکنواخت با منبع مرتب شده» نشان خواهیم داد که در حالت مجانبی، یعنی هنگامی که اندازه الفبا n بزرگ شود، میانگین افزونگی هر کد بر روی منابع n-سمبلی تابعی متناوب از جزء صحیح لگاریتم n است. برای هر یک از کدهای فوق، این تابع متناوب در بازه های، به ترتیب، [0.6099,1.6099)، [0.6099,0.6960) و [0.3254,0.6099) بیت در نوسان است. با مقایسه ی مقادیر فوق بین کدهای m و یکنواخت، مشاهده می شود که برای اغلب منابع با الفبای بزرگ دانستن یا ندانستنِ ترتیب احتمال وقوع سمبل ها باعث افزایش حدود 0.581 بیتی در افزونگی کدگذاری منبع می شود. یک نتیجه ی قابل توجه، که از مقایسه ی افزونگی کد بهینه با m به دست می آید، آن است که برای اغلب منابع با الفبای بزرگ کدگذاری «m» یک کدگذاری نزدیک به بهینه است در حالی که ساختار کدگذاریِ آن به مراتب ساده تر از کد بهینه است. به این معنی که کد بهینه ی یک منبع، تابعی از احتمال وقوعِ همه ی سمبل های منبع است اما در کدگذاری m به همه ی منابع مرتب شده، یک بردار کد یکسان نسبت داده می شود. بنابراین می توان گفت که برای اغلب منابع با الفبای بزرگ، دانستن ترتیب احتمال وقوع سمبل ها (و نه مقدار دقیق آن ها) برای رسیدن به یک کد منبع نزدیک به بهینه کافی است.