Algorithm Design

 

Home
Up
Special Subjects
Simulation
Software Engineering
Operating System
MultiMedia - Automata
Data Structure
Database
Assembly Programming
Algorithm Design
Artificial Intelligence

 

 

Textbooks:

  1. Analysis of Algorithms. An Active Learning Approach.

By: Jeffrey McConnel.

  1. Algorithm Design: Foundation, Analysis, and Internet Examples.

By: Michael Goodrich and Roberto Tamassia.

  1. Foundation of Algorithms using C++ Pseudo code.

By: Richard Neapolitan and Kumarss Naimipour.

  1. Introduction to the Design and Analysis of Algorithms.

By: Anany Levitin.

  1. Algorithms in C++, Third Edition (parts 1-5).

By: Robert Sedgewick.

 
Grading Policy:

Final grades are based on performance in assignments, exams, and attendance as indicated below.

  • Midterm Exam 20%
  • Projects 40%
  • Final Exam 35%
  • Attendance & Participation 5%
 
Syllabus:

1.           مقدمه ای بر تعریف الگوریتم و اهمیت تحلیل الگوریتم ها

§            روشهای تجزیه و تحلیل الگوریتم ها و تعیین مرتبه آنها

2.            بررسی روشهای مختلف حل مساله

§         روش تقسیم و حل

§         روش برنامه نویسی پویا

§         روش حریصانه

§         روش برگشت به عقب

§         Branch & Bound روش 

3.           پیچیدگی محاسباتی

§        P , NP مساله 

4.           آشنایی با الگوریتم های موازی 

 
Assignments:
 
Web Site References :
 
 
Final Exam Comments :
 

برای امتحان پایان ترم درس طراحی الگوریتم در مجموع 4 سوال طراحی شده است :

  • سوال اول شامل 4 زیر سوال تستی می باشد که با توجه به مفاهیم و دانستنیهای مربوط به این درس طراحی شده اند. ( مانند میان ترم )

  • سوال های 2 و 3 و 4 نیز با توجه به روش های حل مساله حریصانه ، عقبگرد و Branch & Bound طراحی شده اند.
    در این سوالات یک مساله مطرح شده است و از شما خواسته شده تا با یکی از روش های حل مساله، یک الگوریتم برای آن طراحی کنید.
    این الگوریتم با توجه به قالب کلی هر روش حل مساله که در ابتدای هر بحث مطرح شده اند بایستی طراحی شود. (بطور مثال می توانید به الگوریتم های پریم و کروسکال که در کلاس مطرح شدند و با توجه به قالب کلی روش حریصانه حل شدند مراجعه کنید)
    پس از طراحی یک الگوریتم مناسب برای آن مساله از شما خواسته می شود تا آن الگوریتم را بر روی یک مثال داده شده اعمال کرده و مراحل اجرایی آن را مرحله به مرحله پیمایش کنید. (Trace)

نکته :

نیازی به حفظ کردن هیچگونه مطلبی در این درس نمی باشد.

کلیه مطالب لازم مطرح شده اند. تنها بایستی شما مفهوم کلی هر روش را بدانید و بتوانید الگوریتمی برای مسائلی که در کتاب مطرح شده اند، طراحی کنید. برای این کار می توانید یک مساله را در نظر بگیرید و با توجه به یک روش حل مساله خاص و فرم کلی الگوریتم های آن روش ، آن مساله خاص را حل کنید و الگوریتمی برای آن طراحی کنید.

توجه داشته باشید مسائلی که مطرح می شوند لزوما در همان بخش ممکن است مطرح نشده باشند ولی در مورد آنها در کلاس بحث شده است.

 

 

Home | Up | Special Subjects | Simulation | Software Engineering | Operating System | MultiMedia - Automata | Data Structure | Database | Assembly Programming | Algorithm Design | Artificial Intelligence