You are not allowed to perform this action
الگوریتمهای پیشرفته
Advanced Algorithms
شماره درس: ۴۰۷۶۵ | تعداد واحد: ۳ |
مقطع: کارشناسی ارشد | نوع درس: نظری |
پیشنیاز: – | همنیاز: – |
اهداف درس
هدف اصلی این درس، ارائه چند موضوع مهم و تکمیل بخشهایی از درس کارشناسی «طراحی و تحلیل الگوریتمها» است که برای گرفتن درسهای ارشد نظری بعدی مورد نیاز است. این درس برای دانشجویان سایر رشتههای ارشد مهندسی کامپیوتر چون هوش مصنوعی و سیستمهای نرمافزاری توصیه میشود.
ریز مواد
- درهمسازی (۲ جلسه)
- درهمسازی کامل (perfect hashing)
- درهمسازی سراسری (universal hashing)
- جدولهای پویا (dynamic tables)
- ردههای پیچیدگی (۳ جلسه)
- تاریخچه کوتاه و تعریفها
- مفهوم کاهش
- مسئلههای کلاسیک و انپی-کامل
- ردههای دیگر چون P# و NC و P-complete
- آشنایی با الگوریتمهای تقریبی (۳ جلسه)
- پوشش گرهای (vertex cover)
- پوشش مجموعه کمینه (min set cover)
- کوتاهترین ابررشته (shortest superstring)
- فروشنده دورهگرد (TSP)
- شبکه شار پیشرفته و الگوریتمهای شبکه (۴ جلسه)
- تاریخچه کوتاه و تعریفها
- الگوریتمهای push-relabel، relabel-to-front
- min-cost flow و برخی از الگوریتمهای شبکه
- برنامهریزی خطی (۴ جلسه)
- معرفی
- محدودیت تفاضل
- با ابعاد محدود
- الگوریتم سیمپلکس
- اثبات و تحلیل
- دوگانی
- دادهساختارهای پیشرفته (۳ جلسه)
- هرم فیبوناچی
- van Emde Boas tree
- الگوریتمهای برخط (۲ جلسه)
- آشنایی با هندسه محاسباتی (۳ جلسه)
- آشنایی با الگوریتمهای موازی (۳ جلسه)
- الگوریتمهای چندریسهای (۲ جلسه)
- آشنایی با الگوریتمهای کوانتومی (در صورت وجود وقت)
ارزیابی
- تمرین: ۶ یا ۷ تمرین (۳۰ درصد نمره)
- آزمون: آزمونهای میاننیمسال (۲۰ درصد نمره)، و پایاننیمسال (۲۵ درصد نمره)
- ارائه: ارائه در کلاس (۵ درصد نمره)
- مطالعه: فهم یک مقاله پژوهشی، تهیه خلاصه و ارائه (۲۰ درصد نمره)
مراجع
- T. Cormen, C. Leiserson, R. Rivest, and C. Stein. Introduction to Algorithms. 4th edition, MIT Press, 2022.
- J. Kleinberg and E. Tardos. Algorithm Design. Addison-Wesley, 2005.
- V. Vazirani. Approximation Algorithms. Springer-Verlag, 2001.
- M. Bazaraa, J. Jarvis, and H. Sherali. Linear Programming and Network Flows. 4th edition, Wiley, 2010 (recommended).
- F.T. Leighton. Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes. Morgan Kaufmann. 1992.