خانواده ی دال ترید متشکل از معامله گران خوش فکر و مستعدی است که مشتاقانه به دنبال کسب یادگیری اصولی و علمی و درآمد از بازارهای مالی هستند...

پادکست الگوریتم بهینه‌سازی جهش قورباغه

Shuffled Frog-Leaping Algorithm
پادکست الگوریتم بهینه‌سازی جهش قورباغه
00:00
دسترسی آنی
تضمین کیفیت
بازگشت وجه
قوانین و مزایای استفاده

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

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

نسخه نوشتاری

یکی از مخاطبین سوالی را مطرح کردند با این مضمون که می‌خواهند با استفاده از الگوریتم قورباغه که آموزش آن در فرادرس موجود است، مساله‌ای را حل کنند که در آن هدف بیشینه کردن «میزان برازش» (Fitness) است. در اغلب آموزش‌هایی که در فرادرس موجود هستند، مانند آموزش‌های الگوریتم‌های بهینه‌سازی و تکاملی گوناگون، مساله کمینه‌سازی حل شده است؛ یعنی یک تابع زیان (Cost Function) وجود داشته که هدف، کم کردن مقدار آن بوده است. اما اگر هدف، حل عکس این مساله باشد، چه می‌شود؟ اگر بخواهیم میزان برازش (میزان برازش) را در واقع بهبود بدهیم و بیشینه کنیم چه راهکاری وجود دارد؟ در واقع اگر مساله «بیشینه‌سازی» (Maximization) باشد، چه می‌شود؟

در چنین مواردی، چند راهکار می‌تواند مورد استفاده قرار بگیرد. یکی از این راهکارها این است که کاربر اصلا کد این مساله را دست نزند؛ یعنی کد الگوریتم همین طور باشد. در آن تابع زیان (Cost Function)، همین تابع میزان برازش ( Fitness Function)، تعریف شود، فقط قرینه میزان برازش (Fitness) به عنوان خروجی بازگردانده شود. زیرا، از نظر ریاضی می‌دانیم که بیشینه کردن تابع (F(x، مانند کمینه کردن منفی (F(x است. بنابراین، می‌توان با ضرب کردن خروجی در یک منفی، خیلی راحت این کار را انجام داد.

یک راه کمی سخت‌تر این است که کد را کمی دستکاری کرد؛ در قسمتی که بهتر و بدتر بودن را بررسی می‌کند، در واقع دو پاسخ با یکدیگر در رقابت هستند. در آنجا پیش از این گفته شده که هر چه کمتر باشد بهتر است؛ اکنون باید گفت هر چه بیشتر باشد بهتر محسوب می‌شود. در حالت خیلی کلی‌تر، آموزشی در فرادرس موجود است با عنوان «پیاده‌سازی الگوریتم‌های فراابتکاری با استفاده از زبان برنامه‌نویسی #C»؛ در آن آموزش نوع مساله تعریف شده که کمینه‌سازی یا بیشنه‌سازی است و بر اساس نوع مساله، بهتر و بدتر تعریف می‌شود.

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

حالا این نوع پیاده‌سازی به غیر از زبان #C، با زبان دیگری در فرادرس موجود نیست؛ ولی توصیه می‌شود افراد آن آموزش را مشاهده کنند، زیرا از یک روش خیلی پیشرفته‌تر از برنامه‌نویسی در آن استفاده می‌شود و به هر حال یک تجربه متفاوت است. لزومی هم ندارد آموزش حتما خریداری شود، چون بخش زیادی از درس‌های آن رایگان هستند. به نظر من، این سبک برنامه‌نویسی چیزی است که افراد در پروژه‌های بزرگ به آن احتیاج دارند. به طور خاص، اگر دوستانی که در مقطع دکتری تحصیل می‌کنند، با مسائل بزرگی درگیر هستند و یا سال‌ها است که با متلب کار می‌کنند، یک نیم نگاهی هم به یک زبان برنامه‌نویسی کامپایل شده مانند #C یا جاوا داشته باشند که الگوی آن در همان آموزش داده شده، خیلی می‌تواند خوب باشد.

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

معرفی دورهپخش رایگان

پادکست شماره یک

3دقیقه

پادکست شماره دو

2دقیقه

پادکست شماره سهپخش رایگان

4دقیقه
قیمت

9,600 تومان

امتیازی ثبت نشده است
تعداد دانشجو : 5
مدت دوره: 02:00ساعتتاریخ انتشار: 1 اسفند 1398آخرین بروزرسانی: 23 مرداد 1401تعداد بازدید: 763
قوانین و مزایای استفاده

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

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

قیمت

9,600 تومان

معرفی دورهپخش رایگان

پادکست شماره یک

3دقیقه

پادکست شماره دو

2دقیقه

پادکست شماره سهپخش رایگان

4دقیقه

9,600 تومان

تعداد دانشجو : 5
مدت دوره: 02:00ساعتتاریخ انتشار: 1 اسفند 1398آخرین بروزرسانی: 23 مرداد 1401تعداد بازدید: 763
مدرس

امتیازی ثبت نشده است