مباحث پیشرفته در الگوریتمها - نیمسال اول 1401
توضیحات درس
هدف درس
هدف از این درس آشنایی با مدل های محاسباتی و جنبه های مختلف تحلیل و طراحی الگوریتم، کلاس های پیچیدگی مسائل و نیز برخی از داده ساختارها و الگوریتم های پیشرفته است.
پیشنیازهای علمی
این درس در ادامه درس ساختمان دادهها و طراحی الگوریتم دوره کارشناسی ارائه می شود و تسلط به داده ساختارهای پایهای و نیز تکنیکهای طراحی الگوریتم و تحلیل در این درس ضروری است.
سرفصلها
مباحث مقدماتی:
معرفی مدل های محاسباتی شامل حافظه اصلی، حافظه خارجی و جویباری
معرفی مدل های الگوریتمی شامل قطعی، تقریبی، تصادفی، موازی و برخط
معرفی معیارهای ارزیابی کارایی شامل حافظه و زمان اجرا
معرفی مدلهای تحلیل شامل بهترین حالت، بدترین حالت، حالت متوسط، تحلیل سرشکنی و تحلیل رقابتی
داده ساختارهای پیشرفته:
الگوریتم های پیشرفته:
الگوریتمهای تطابق رشته ها شامل Suffix Tree and Suffix Array, Moore-Boyer, KMP, Automata Finite, Karp-Rabin
الگوریتمهای شبکه شاره شامل
Ford-Fulkerson, Max-flow min-cut theorem, Augmenting path, Capacity-scaling, Shortest augmenting path
Preflow-push, FIFO preflow-push
Dynamic trees
کاربردها شامل Disjoint paths and network connectivity, Bipartite matchings, Unit capacity simple networks
پیچیدگی محاسبه:
الگوریتمهای تقریبی:
معرفی الگوریتم های تقریبی با ضریب تقریب ثابت
معرفی نتایج سختی (Hardness-Result) و عدم وجود الگوریتم با ضریب ثابت
نمونه الگوریتمهای با ضریب تقریب لگاریتمی
حل نمونه مسائل پوشش راسی
فروشنده دوره گرد و حالت متریک آن و درخت اشتاینر
معرفی الگوریتم های تقریبی PTAS و FPTAS و حل نمونه مسائل مانند کوله پشتی
استفاده از برنامه ریزی خطی برای حل تقریبی مسائل و معرفی تکنیک گردکردن تصادفی، گردکردن تدریجی و integrality gap
معرفی روش semi-definite programming برای حل تقریبی مسائل
الگوریتمهای تصادفی:
معرفی دلایل و کاربردهای الگوریتمها و روشهای تصادفی برای افزایش سرعت، سادگی و امکانپذیری الگوریتمها
اثبات ویژگیها به روش احتمالاتی (Method Probabilistic)
حل برخی مسائل بصورت تصادفی از جمله برش کمینه، پوشش مجموعهای، ضرب ماتریسها و تطابق رشتهها و چندجملهایها
نحوه ارزشیابی
برای دانشجویان مقطع کارشناسی ثبت نامی در درس، نمره بخش تحقیق و کار پژوهشی روی باقی بخشهای درس پخش خواهد شد.
منابع درس