الگوریتم ژنتیک (Genetic Algorithm - GA)، در ریاضیات (Mathematics)
انواع روش های بهینه سازی (Optimization Methods) را در آموزش زیر شرح دادیم :
الگوریتم ژنتیک (Genetic Algorithm - GA) :
📌 معرفی
الگوریتم ژنتیک (Genetic Algorithm - GA) که توسط جان هلند در دهه ۱۹۶۰ ابداع شد، محبوب ترین و شناخته شده ترین الگوریتم تکاملی است. این الگوریتم از مفاهیم انتخاب طبیعی و ژنتیک برای یافتن جواب های بهینه استفاده می کند.
🧬 نمایش جواب ها (Representation)
در GA، هر جواب به صورت یک کروموزوم (Chromosome) نمایش داده می شود. رایج ترین روش های نمایش:
باینری (Binary): رشته ای از صفر و یک (کلاسیک).
حقیقی (Real-coded): اعداد حقیقی برای مسائل پیوسته.
ترتیبی (Permutation): برای مسائل مرتبه ای مانند TSP.
درختی (Tree): در برنامه ریزی ژنتیک.
🔄 مراحل اصلی الگوریتم ژنتیک
ایجاد جمعیت اولیه: تولید تصادفی تعداد معینی کروموزوم.
ارزیابی برازندگی: محاسبه تابع هدف برای هر کروموزوم.
انتخاب (Selection): انتخاب والدین برای تولید مثل. روش ها: چرخ رولت (Roulette Wheel)، مسابقه ای (Tournament)، رتبه بندی (Rank-based).
ترکیب (Crossover): ایجاد فرزندان با ترکیب والدین. نرخ ترکیب معمولا ۰.۷ تا ۰.۹.
جهش (Mutation): تغییر تصادفی در فرزندان برای حفظ تنوع. نرخ جهش معمولا پایین (۰.۰۱ تا ۰.۱).
جایگزینی (Replacement): ایجاد نسل جدید (مثلا با حفظ بهترین ها - Elitism).
تکرار مراحل ۲ تا ۶ تا رسیدن به شرط توقف.
📐 مثال: تابع رزینبراک (Rosenbrock)
تابع رزینبراک که به عنوان تابع موز نیز شناخته می شود، یک تابع معروف برای آزمون الگوریتم های بهینه سازی است:
\[ f(x,y) = (1-x)^2 + 100(y-x^2)^2 \]الگوریتم ژنتیک می تواند با تکامل جمعیت، نقطه کمینه
\[ (1,1) \]را پیدا کند.