Syllabus.pdf

‫طراحي الگوریتمها (‪)۳۴-۴۵۳‬‬
‫‪Design of Algorithms‬‬
‫دانشکدهی مهندسي کامپيوتر‬
‫مدرس‪ :‬ضرابيزاده ‪ -‬آبام‬
‫کليات‬
‫هدف از اين درس‪ ،‬آشنايی دانشجويان با روشهای متداول در طراحی الگوريتمهای کارا برای مسائل مختلف است‪ .‬در ارائهی‬
‫مطالب‪ ،‬بر تحلیل کارايی الگوريتمها و اثبات درستی آنها تأکید خواهد شد‪ .‬همچنین‪ ،‬موضوعات مهمی از الگوريتمها همچون‬
‫نظريهی پیچیدگی محاسباتی‪ ،‬شبکههای شاره و الگوريتمهای گراف در اين درس ارائه خواهند شد‪.‬‬
‫ریز مواد‬
‫‪ .1‬مقدمات (‪ ۲‬جلسه)‬
‫‪ ‬حل مسئله‪ ،‬دنبالهی فیبوناچی‬
‫‪ ‬بزرگترين زيردنبالهی متوالی‪ ،‬مسئلهی ‪-۳‬مجموع‬
‫‪ .۲‬الگوریتمهای مبتني بر استقرا (‪ 1‬جلسه)‬
‫‪ ‬ارزيابی چندجملهایها‪ ،‬نگاشت يکبهيک‪ ،‬ستارهی مشهور‬
‫‪ .۳‬روش تقسيم و حل (‪ ۲‬جلسه)‬
‫‪ ‬محاسبهی توان‪ ،‬اعداد فیبوناچی‪ ،‬نزديکترين زوج نقاط‬
‫‪ ‬ضرب اعداد بزرگ‪ ،‬الگوريتم استراسن‬
‫‪ .4‬برنامهریزی پویا (‪ ۳‬جلسه)‬
‫‪ ‬ضرايب دوجملهای‪ ،‬زمانبندی وزندار ‪ ،‬ضرب ماتريسها‬
‫‪ ‬کولهپشتی‪ ،‬بزرگترين زيردنبالهی مشترک‪ ،‬بزرگترين زيردنبالهی افزايشی‬
‫‪ ‬تراز دنبالهها‪ ،‬درخت جستوجوی بهینه‪ ،‬زيرمجموعهی مستقل در درختها‬
‫‪ .5‬الگوریتمهای حریصانه (‪ ۳‬جلسه)‬
‫‪ ‬مسائل زمانبندی‪ ،‬کولهپشتی کسری‬
‫‪ ‬مسئلهی ازدواج پايدار‬
‫‪ ‬فشردهسازی‪ :‬کدگذاری هافمن‬
‫‪ .6‬روش پسگرد (‪ ۲‬جلسه)‬
‫‪ ‬مسئلهی هشت وزير‪ ،‬مجموع زيرمجموعه‪-۳ ،‬رنگآمیزی‬
‫‪ ‬انشعاب و حد‪ :‬فروشندهی دورهگرد‪ ،‬درخت بازی‬
‫‪ .7‬الگوریتمهای گراف (‪ 5‬جلسه)‬
‫‪ ‬جستوجوهای عمقاول و سطحاول و کاربردهای آنها‬
‫‪ ‬ترتیب توپولوژيکی‪ ،‬مؤلفههای قوي ًا همبند‬
‫‪ ‬درخت فراگیر کمینه‪ :‬الگوريتمهای کراسکال و پريم‬
‫‪ ‬کوتاهترين مسیر از يک رأس‪ :‬الگوريتمهای دايکسترا و بلمن‪-‬فورد‬
‫‪ ‬کوتاهترين مسیر بین تمام رأسها‪ :‬الگوريتمهای فلويد‪-‬وارشال و جانسون‬
‫‪ .8‬شبکههای شاره (‪ ۲‬جلسه)‬
‫‪ ‬شار بیشینه و برش کمینه‪ :‬الگوريتم فورد‪-‬فالکرسن‬
‫‪ ‬گونهها و کاربردهای شار‪ :‬تطابق در گراف دوبخشی‪ ،‬مسیرهای مجزا‪ ،‬گرد کردن ماتريس‬
‫‪ .9‬پيچيدگي محاسباتي (‪ 4‬جلسه)‬
‫‪ ‬کاهش چندجملهای‪ ،‬مسائل صدقپذيری‬
‫‪ ‬ردهی انپی‪ ،‬اثبات انپی‪-‬تمام بودن يک مسئله‪ ،‬قضیهی کوک‬
‫‪ ‬دور همیلتنی‪ ،‬فروشندهی دورهگرد‪ ،‬مجموع زيرمجموعهها‬
‫‪ ‬الگوريتمهای تقريبی برای مسائل انپی‪-‬سخت‬
‫آزمون ‪ -‬تمرین ‪ -‬پروژه‬
‫‪‬‬
‫سه آزمونک (‪ ۳‬نمره)‬
‫‪‬‬
‫سه تمرين برنامهنويسی (‪ ۳‬نمره)‬
‫‪‬‬
‫آزمون میانترم (‪ 6‬نمره)‬
‫‪‬‬
‫آزمون پايانی (‪ 8‬نمره)‬
‫‪‬‬
‫يک مسابقه به سبک ایسیام (‪ +1.5‬نمره)‬
‫مراجع اصلی‬
‫‪T. Cormen, C. Leiserson, R. Riverst, and C. Stein, Introduction to Algorithms, 3rd edition, MIT‬‬
‫‪Press, 2009.‬‬
‫‪‬‬
‫‪J. Kleinberg and E. Tardos, Algorithm Design, Addison Wesley, 2005.‬‬
‫‪‬‬
‫مراجع کمکي‬
‫‪U. Manber, Introduction to Algorithms: A Creative Approach, Addison Wesley, 1989.‬‬
‫‪‬‬
‫‪G. Brassard, P. Bratley, Algorithmics: Theory and Practice, Prentice-Hall, 1988.‬‬
‫‪‬‬
‫‪2‬‬