مقدمه مقاله الگوریتم های تکاملی
مزایای استفاده از تکنیکهای EC اغلب از دستاوردهای انعطاف پذیری و آمادگی خود برای هدف در ترکیب با رفتار قوی حاصل میشود. امروزه EC به عنوان یک مفهوم سازگار برای حل مسائل، به ویژه مشکلات بهینه سازی در نظر گرفته میشود. این چشم انداز جایگزین برخی از توصیفهای قدیمی است که نشان میدهد که EC به عنوان مجموعهای از الگوریتمهای مشابه آماده برای استفاده در هر گونه مشکل است.
اکثر پیاده سازیهای فعلی EA از هر کدام از این سه نوع اساسی (به شدت مرتبط است هر چند به طور مستقل توسعه یافته): الگوریتمهای ژنتیک (GA)، برنامه ریزی تکاملی (EP) و استراتژیهای تکاملی (ES). دو گروه از EA بسیار مهم بودهاند: برنامهریزی ژنتیک (GP) با بسیاری از مشکلات واقعی و سیستمهای طبقه بندی (CS) مورد استفاده برای یادگیری ماشین و برای کشف قوانین در سیستمهای مبتنی بر قوانین (RBS).
الگوریتم های تکاملی
الگوریتمهای تکاملی از روشها و عملیات ابتدایی برای حل مسئله استفاده میکنند و در طی یک سری از تکرارها به راهحل مناسب برای مسئله میرسند. این الگوریتمها غالباً از یک جمعیت حاوی راهحلهای تصادفی شروع میکنند و در طی هر مرحله تکرار سعی در بهتر کردن مجموعه راهحلها دارند. در آغاز کار تعدادی از اعضای جامعه بهصورت تصادفی حدس زدهشده، سپس تابع هدف یا برازندگی برای هر یک از این اعضا محاسبه و نخستین نسل ایجاد خواهد شد. اگر هیچیک از معیارهای خاتمه بهینهسازی دیده نشوند، ایجاد نسل جدید آغاز خواهد شد.
اعضا برحسب میزان شایستگیشان برای تولید فرزندها انتخاب میشوند. این افراد بهعنوان والدین محسوب میشوند و بازترکیب فرزندان را تولید مینمایند. سپس تمامی فرزندها با یک مقدار معینی از احتمال، یعنی همان جهش، تغییر ژنتیکی مییابند. اکنون میزان شایستگی (برازندگی) فرزندان تعیین و در اجتماع جایگزین والدین شده و نسل جدید را ایجاد مینمایند. این چرخه آنقدر تکرار میشود تا یکی از معیارهای پایان بهینهسازی کسب شود.
مراحل الگوریتم های تکاملی ( فرگشتی)
- مقداردهی اولیه (Initialization)
ابتدا جمعیت اولیهای از راهحلها ایجاد میشود که به آن اعضا یا جمعیت گفته میشود. اینکه جمعیت انتخابی بتواند طیف وسیعی از راهحلها را در بر بگیرد امری ضروری و مهم است چرا که نمودار مجموعهای از ژنها است.
- انتخاب (Selection)
مرحله بعد از مقداردهی اولیه، ارزیابی بر اساس یک تابع تناسب است. تابع تناسب آن تابعی است که دربرگیرنده ویژگیهای یک عضو بوده و از میزان قابل اجرا بودن یک راهحل نمایش عددی ارائه میدهد.
- مرحلهی نهایی (Termination)
در این مرحله، یک راه حل نهایی انتخاب شده و برگردانده میشود و الگوریتم درست اجرا میشود.
مزایا کار با الگوریتم های تکاملی برای کسب و کارها
- توانایی حل پیچیدهترین مشکلات انسانها به علت انعطاف پذیری مفاهیم الگوریتم های تکاملی
- محدود نبودن این الگوریتم صرفا به یک راه حل خاص و ارائه راهحلهای بالقوه متعدد
- بهینهسازی بهتر الگوریتم های تکاملی و وجود جمعیت گسترده در آن
برای بهکارگیری یک روش مناسب بهینهسازی برای یک مسئله، ابتدا باید همه جوانب مسئله بهطورکلی مطالعه و تحلیل شود. سپس با درک کامل موضوع، اقدام به انتخاب یک روش مناسب بهینه سازی شود. برای بهینه سازی، می توان از الگوریتم های تکاملی مختلف استفاده کرد که از آن جمله میتوان به الگوریتمهای کلونی مورچه، ژنتیک، ازدحام ذرات، الگوریتم زنبور و الگوریتمهای پویا اشاره کرد. در این نوع الگوریتمها یک جواب سراسری سریع برای حل مسئله پیدا میشود که هدف یافتن یک جواب بهصورت سریع است. برخی از الگوریتمهای تکاملی در جدول زیر مشخص است.