تخفیف نوروزی پی استور

کد تخفیف: PR1404

شامل تمامی آثار
روز
ساعت
دقیقه
ثانیه

با خرید اشتراک ویژه ، با هزینه بسیار کمتر به فایل های پاورپوینت دسترسی داشته باشید!

الگوریتم های تکاملی

الگوریتم های تکاملی
در میان مجموعه‌ای از تکنیک‌های جستجو و بهینه سازی، توسعه Evolutionary Algorithms یا الگوریتم های تکاملی  (EA) در دهه گذشته بسیار مهم بوده است. الگوریتم های تکاملی مجموعه‌ای از اکتشافات مدرن متشکل از موفقیت در بسیاری از برنامه‌های کاربردی با پیچیدگی‌های زیادی است. این موفقیت در حل مشکلات دشوار موتور محرک شناخته شده و به عنوان  Evolutionary Computation محاسبات تکاملی (EC) بوده است.

فهرست مطالب

مقدمه مقاله الگوریتم های تکاملی

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

اکثر پیاده سازی‌های فعلی EA از هر کدام از این سه نوع اساسی (به شدت مرتبط است هر چند به طور مستقل توسعه یافته): الگوریتم‌های ژنتیک (GA)، برنامه ریزی تکاملی (EP) و استراتژی‌های تکاملی (ES). دو گروه از EA بسیار مهم بوده‌اند: برنامه‌ریزی ژنتیک (GP) با بسیاری از مشکلات واقعی و سیستم‌های طبقه بندی (CS) مورد استفاده برای یادگیری ماشین و برای کشف قوانین در سیستم‌های مبتنی بر قوانین (RBS).

الگوریتم‌ های تکاملی

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

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

مراحل الگوریتم‌ های تکاملی ( فرگشتی)

  • مقداردهی اولیه (Initialization)

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

  • انتخاب (Selection)

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

  • مرحله‌ی نهایی (Termination)

در این مرحله، یک راه حل نهایی انتخاب شده و برگردانده می‌شود و الگوریتم درست اجرا می‌شود.

الگوریتم های تکاملی

مزایا کار با الگوریتم های تکاملی برای کسب و کارها

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

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

الگوریتم های تکاملی

  • الگوریتم PSO در متلب (سورس کامل الگوریتم ازدحام ذرات در متلب)
  • دیدگاهتان را بنویسید

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *