28-05-2024, 10:24 PM
در حوزه «علوم کامپیوتر» (Computer Science) و هوش مصنوعی، محاسبات تکاملی خانوادهای از الگوریتمها جهت «بهینهسازی سراسری» (General Optimization) هستند که از فرایندهایِ «تکامل زیستی» (Biological Evolution) الهام گرفته شدهاند . به عبارت دیگر، به زیر شاخهای از هوش مصنوعی و «محاسبات نرم» (Soft computing) که به مطالعه و پیادهسازیِ الگوریتمهایِ الهام گرفته شده از فرایندهایِ تکاملِ زیستی میپردازد، الگوریتمهایِ محاسبات تکاملی گفته میشود. از دیدگاه فنی، الگوریتمهایِ محاسبات تکاملی خانوادهای از روشهایِ حل مسأله محسوب میشوند که مبتنی بر جمعیت (Population-based) و آزمون و خطا (Trial and Error) هستند و از مکانیزمهایِ بهینهسازیِ تصادفی (Stochastic Optimization) یا بهینهسازیِ فرا اِکتشافی (Meta-Heuristic) جهت همگرایی به جواب بهینهِ سراسری یا تقریبی (Approximation) از جواب بهینه استفاده میکنند. در محاسبات تکاملی، ابتدا یک مجموعه ابتدایی متشکل از «جوابهایِ کاندید» (Candidate Solutions) تشکیل میشود. در طولِ فرایندِ تکاملی، الگوریتمهای محاسبات تکاملی با دستکاری و بهروزرسانی جمعیت متشکل از جوابهایِ کاندید، جمعیت را به سمت ناحیه حاویِ جوابِ «بهینه سراسری» (Global Optimum) حرکت میدهند. در هر تکرار از الگوریتمهایِ محاسبات تکاملی (که به آن «نسل» (Generation) نیز گفته میشود)، از طریق حذف کردن جوابهایِ نامطلوب در جمعیت و ایجاد تغییراتِ بسیار کوچک و البته تصادفی در جوابهایِ کاندید، فرایندِ تکاملی شکل خواهد گرفت . یکی از اهداف مهم روشهای محاسباتِ تکاملی و الگوریتمهایِ تکاملی به طور خاص، بهبود کیفیتِ راه حلهای ضعیف تولید شده برای یک مسأله داده شده است.