×
ribbon

آموزش رایگان درس طراحی الگوریتم

مدرس:دانشگاه تهران

محمد گنج‌تابش

برای مسائل محاسباتی، الگوریتم‌های کارآمد طراحی کنید و پیچیدگی زمانی و فضایی آن‌ها را تحلیل و مقایسه کنید.

4.6 (101)
39 دیدگاه
18,678دانشجو
31ساعت
سرفصل‌ها
مقدماتی سطح دوره
محتوای دوره
سرفصل‌ها
توضیحات دوره
دیدگاه کاربران
درباره مدرس

این دوره شامل:

31 ساعت ویدئو

1 فایل ضمیمه قابل دانلود

دسترسی مادام‌العمر به محتوای دوره

توضیحات دوره

الگوریتم به مجموعه قوانینی اطلاق می‌شود که بیانگر سلسه‌مراتب انجام یک فرآیند هستند و در زمینه‌های مختلفی در علوم و فنون مهندسی و حتی علوم و فنون غیر مهندسی کاربرد دارد. دوره آموزش طراحی الگوریتم با هدف آموزش این مبحث مهم تهیه و تدوین شده است. درس طراحی الگوریتم همچنین یکی از مباحث مهم در رشته‌های علوم و مهندسی کامپیوتر است.

نحوه طراحی الگوریتم

برای نوشتن الگوریتم، موارد زیر به‌عنوان پیش‌نیاز موردنیاز است:

  • مشکلی که قرار است با این الگوریتم حل شود، یعنی تعریف واضح مسئله.
  • در حین حل مشکل باید محدودیت‌های مشکل در نظر گرفته شود.
  • ورودی برای حل مشکل باید تعریف شود.
  • خروجی مورد انتظار زمانی برای حل مشکل باید دریافت شود.

چرا از الگوریتم استفاده می‌کنیم؟

دو بچه، علی و محمد را در نظر بگیرید که مکعب روبیک را حل می‌کنند. علی می‌داند که چگونه آن را در تعداد مشخصی از مراحل حل کند. از سوی دیگر محمد می‌تواند که این کار را انجام دهد اما از روند کارآگاه نیست. علی مکعب را در عرض 2 دقیقه حل می‌کند درحالی‌که محمد ممکن است با ساعت‌ها آزمون‌وخطا آن را حل کند.

بنابراین زمان موردنیاز برای حل یک مشکل با رویه الگوریتم بسیار مؤثرتر از زمانی است که بدون هیچ روشی یک مسئله را حل کرد. ازاین‌رو نیاز به الگوریتم ضروری است.

تجزیه‌ و تحلیل الگوریتم

تجزیه‌وتحلیل الگوریتم بخش مهمی از نظریه پیچیدگی محاسباتی (پیچیدگی زمانی و پیچیدگی حافظه) است که تخمین نظری منابع موردنیاز یک الگوریتم را برای حل یک مشکل محاسباتی خاص ارائه می‌دهد. تجزیه‌وتحلیل الگوریتم‌ها تعین مقدار منابع زمانی و مکانی موردنیاز برای اجرای آن است که در دوره آموزش طراحی الگوریتم به‌خوبی این موضوع پوشش داده‌ شده است.

چرا تجزیه‌وتحلیل الگوریتم‌ها مهم است؟

دلایل زیر همگی نیاز به تجزیه‌وتحلیل الگوریتم را بیان خواهند کرد:

  • برای پیش‌بینی رفتار یک الگوریتم بدون اجرای آن بر روی یک کامپیوتر خاص، تجزیه‌وتحلیل نیاز است.
  • داشتن معیارهای ساده برای کارایی یک الگوریتم بسیار راحت‌تر از پیاده‌سازی الگوریتم و آزمایش کارایی هر بار که پارامتر خاصی در سیستم کامپیوتری زیربنایی تغییر می‌کند، است.
  • مهم‌تر از آن، با تجزیه‌وتحلیل الگوریتم‌های مختلف، می‌توانیم آن‌ها را باهم مقایسه کنیم تا بهترین الگوریتم را برای هدف خود تعیین کنیم.

انواع روش ارزیابی الگوریتم

انواع روش ارزیابی برای الگوریتم به صورت موارد زیر است:

  • بهترین حالت الگوریتم: بهترین حالت الگوریتم زمانی است که ورودی را طوری تعریف کنیم که الگوریتم برای آن زمان کمتر یا حداقل زمان نیاز دارد. در بهترین حالت، حد پایین یک الگوریتم محاسبه می‌شود. مثال: در جستجوی خطی وقتی داده‌های جستجو در اولین مکان داده‌های وجود دارد، بهترین حالت رخ می‌دهد.
  • بدترین حالت: بدترین حالت زمانی است که ورودی را طوری تعریف کنیم که الگوریتم برای آن زمان طولانی یا حداکثر زمان نیاز دارد. در بدترین حالت، حد بالایی یک الگوریتم محاسبه می‌شود. مثال: در جستجوی خطی وقتی داده‌های جستجو اصلاً وجود ندارد، بدترین حالت رخ می‌دهد.
  • حالت متوسط: در حالت متوسط، تمام ورودی‌های تصادفی انتخاب می‌شوند و زمان محاسبه برای همه ورودی‌ها محاسبه می‌شود و سپس آن را بر تعداد کل ورودی‌ها تقسیم می‌شود.

در دوره آموزش طراحی الگوریتم باحالت‌های مختلف تجزیه‌وتحلیل الگوریتم‌ها بیشتر آشنا خواهیم شد.

دوره آموزش طراحی الگوریتم

درس طراحی و تحلیل الگوریتم‌ها یکی از پایه‌ای‌ترین درس‌های در رشته‌های علوم کامپیوتر و همچنین رشته مهندسی کامپیوتر به‌حساب می‌آید. هدف از این درس، مطالعه و بررسی روش‌های طراحی الگوریتم‌ها برای حل مسائل مختلف و چگونگی تحلیل و اثبات درستی آن‌ها است. همچنین دسته‌بندی مسائل و شناسایی مسائل محاسباتی سخت که در زمان قابل‌قبول نمی‌توان جواب آن‌ها را به دست آورد، نیز پوشش داده می‌شود. درس طراحی الگوریتم توسط استاد محمد گنج تابش در دانشگاه تهران ضبط‌ شده است.

درس طراحی الگوریتم یکی از درس‌های پایه و پیش‌نیاز دروس مهم دیگر در رشته مهندسی کامپیوتر و علوم کامپیوتر به‌حساب می‌آید و برای کنکور کارشناسی ارشد و حتی دکتری از اهمیت بالایی برخوردار است. همچنین امروزه بسیاری از رسته‌های شغلی مانند مهندسی نرم‌افزار، شبکه‌های کامپیوتری، طراحان آموزش ساختمان داده، مهندسین هوش مصنوعی وغیره به‌شدت به این الگوریتم‌ها وابسته هستند و بدون درک و آگهی از الگوریتم کار در این حوزه‌ها امکان ندارد.

دیدگاه کاربران

4.6

بر اساس امتیاز 101 دانشجو

1
2
3
4
5
8دوره
46,755دانشجو
866نظر و امتیاز

دکتر محمد گنج‌تابش عضو هیئت‌علمی گروه علوم کامپیوتر دانشگاه تهران است. ایشان دوره کارشناسی خود را در رشته ریاضی محض از دانشگاه تبریز و دوره‌های کارشناسی ارشد و دکتری را در رشته علوم کامپیوتر از دانشگاه تهران به اتمام رسانده‌اند. ایشان همچنین دکتری دوم خود را در رشته بیوانفورماتیک دانشگاه اکول پلی‌تکنیک فرانسه گذرانده‌اند. زمینه‌های تحقیقاتی موردعلاقه وی الگوریتم‌های بیوانفورماتیک (مسائل مربوط به ساختارهای RNA) و علوم اعصاب محاسباتی، به‌خصوص شبکه‌های عصبی ضربه‌ای و مدل‌سازی فرایندهای سیستم بینایی در مغز است.

poster

آموزش رایگان درس طراحی الگوریتم

18,678دانشجو
4.6(101)

دوره‌های مشابه

دیگر دوره‌های محمد گنج‌تابش

سوالات پرتکرار

آیا ممکن است برخی جلسات یک درس ناقص باشند؟

معمولا تمامی جلسات هر درس به‌طور کامل ضبط می‌شوند؛ اما گاهی به دلیل برخی ناهماهنگی‌ها ممکن است یک یا چند جلسه ضبط نشده باشد. جزئیات این موارد در توضیحات هر درس درج شده است.

اگر لینک دانلود یا پخش ویدئو مشکل داشت، چه کاری باید انجام داد؟

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

آیا می‌توان ویدئوهای یک درس را به‌صورت سی‌دی یا دی‌وی‌دی از شما تهیه کرد؟

در حال حاضر امکان ارسال دروس به‌صورت سی‌دی یا دی‌وی‌دی وجود ندارد و همه محتواها به شکل آنلاین ارائه می‌شوند.