Professional Documents
Culture Documents
Genetic Algorithm GA
Genetic Algorithm GA
Company
LOGO
یک کروم وزوم ،رش تهای بلن د و پیچی ده از «اس ید دیاکس ی ریبونوکلئی ک»
Deoxyribonucleic Acidیا DNAاست .عوامل ارثی که ویژگیها یا خصیصههای
یک «فرد» را مشخص میکنند ،در طول این کروموزومها نقش یافتهاند .هر یک از
خصیصههای موجود در افراد ،به وسیله ترکیبی از ،DNAدر ژنهای انسان کدبندی
میشوند .در بدن موجودات زنده ،معموال چهار «پایه» برای تولید کروموزومها از
روی DNAوجود دارد:
• برای شبیهسازی فرایند انتخاب طبیعی توسط سیسEتمهای کEامپیوتری و حل مسأله با
استفاده از الگوریتمهای الهام گرفته شده از انتخاب طبیعی ،ابتدا باید مدلهای نمایشی
جهت مدلسازی متغیرهای مسأله تعریف شوند.
اصول کاری الگوریتم ژنتیک ،در ساختار الگوریتمی زیر نمایش داده شده است.
برای نم ایش اص ول ک اری الگ وریتم ژنتی ک ،ی ک مس أله بهینهس ازی در نظ ر گرفت ه
میشود .فرض کنید که مسأله بهینهسازی زیر داده شده است و هدف الگوریتم ژنتیک
بیشینهسازی Maximizingتابع زیر باشد:
در این رابطه ،و حد باال و حد پایین تعیین شده برای مقادیر متغیر است .اگر چه
در اینجا از یک مسأله بیشینهسازی برای نمایش اصول کاری الگوریتم ژنتیک استفاده
است ،با این حال ،الگوریتم ژنتیک به راحتی قادر به کمینهسازی مسائل مختلف نیز
خواه د ب ود .ب رای پیادهس ازی الگوریتمه ای ژنتی ک ،وظ ایف خاص ی بای د تعری ف
و توسط این الگوریتم ،جهت بهینهسازی توابع مختلف ،اجرا شوند.
برای اینکه الگوریتم ژنتیک قادر باشد تا تابع ارائه شده در اسالید قبلی را بیشینه کند،
متغیرهای باید توسط یک ساختار رشتهای کدبندی شوند.
به طور کلی ،یک «تEابع برازنEدگی» Fitness Functionیا ،در ابتدا با استفاده از
ت ابع ه دف فرمول ه میش ود و در عملی ات ژن تیکی مت والی در نس لهای الگ وریتم
ژنتیک مورد استفاده قرار میگیرد.
عملگر تولید مثل یا انتخاب ،عملگری است که بهترین رشتهها در یک جمعیت جدید را
کپی میکند (منظور ،بهترین کروموزومها یا بردارهای جواب کاندید در یک نسل
است) .عملگر تولیِد مثل ،معموال اولین عملگری است که برای دستکاری جمعیت مورد
اس تفاده ق رار میگ یرد و روی کروموزومه ا اعم ال میش ود .این عملگ ر ،رش تهها ی ا
کروموزومهای خوب جمعیت را انتخاب میکند و آنها را در مخزنی که در اصطالح
به آن Mating Poolگفته میشود ،قرار میدهد؛ به همین دلیل است که به عملگر تولید
مثل ،عملگر انتخاب نیز گفته میشود.
یکی از عملگره ای ش ایع و پرک اربرد ب رای تولی د مث ل در الگ وریتم ژنتی ک ،روش
انتخاب چرخ رولت نام دارد .در این عملگر ،احتمال انتخاب یک رشته یا کروموزوم
برای قرار گرفتن در مخزن ،Mating Poolمتناسب با برازندگی آن رشته یا کروموزم
)Genetic Algorithms (GA
محاسبه میشود.
15
Company
LOGO عملگرهای الگوریتم ژنتیک
عملگر جهش
عملگر جهش یکی از مهمترین فرایندهای تکاملی برای رسEیدن بEه جEواب بهینEه در
الگ وریتم ژنتی ک محس وب میش ود .در عملگ ر جهش ،ب ه ش کل تص ادفی ،اطالع ات
جدیدی به فرایند جستجو در الگوریتم ژنتیک اضافه میشود.
چنین ویژگی مهمی به الگوریتم ژنتیک کمک
میکند تا از قرار گرفتن در دام بهینه محلی
Local Optimumفرار کند.
• الگ وریتم ژنتی ک ،مجم وعهای از جوابه ای کاندی د را ب رای ی افتن ج واب بهین ه
جستجو میکند .در حالی که الگوریتمهای بهینهسازی و جستجوی سنتی ،از همان
ابتدا به دنبال یک جواب واحد هستند.
• الگوریتم ژنتیک ،از اطالعات مرتبط با تابع برازندگی برای حل مسائل بهینهسازی
بهره میبرد .در حالی که الگوریتمهای بهینهسازی و جستجوی سنتی ،از مشتق
تابع هدف و دیگر اطالعات کمکی استفاده میکنند.
از الگوریتمهای ژنتیک ،جهت حEل مسEأله و مدلسEازی استفاده میشود .امروزه ،از
الگوریتمهای ژنتیک و مشتقات آن ،در دامنه وسیعی از مسائل علمی و مهندسی استفاده
میشود .مهمترین کاربردهای الگوریتم ژنتیک عبارتند از:
بهینهسازی •
برنامهنویسی خودکار •
یادگیری ماشین •
مدلهای «سیستم ایمنی» •
مدلهای اقتصادی •
الگوریتمه ای ژنتی ک ،ب ه راح تی در دامن ه وس یعی از مس ائل ،از جمل ه مسEائل
بهینهسEازی نظ یر «مس أله فروش نده دورهگرد» و مسEائل مرتبEط بEا «برنEامهریزی»
میتوانند مورد استفاده قرار بگیرند .نتایج حاصل از الگوریتم ژنتیک برای برخی از
مسائل ممکن است بسیار خوب و برای برخی دیگر از مسائل ،ممکن است بسیار
ضعیف باشد .اگر تنها از عملگر جهش در الگوریتم ژنتیک استفاده شود ،الگوریتم
بس یار کن د میش ود .اس تفاده از عملگ ر ت رکیب ،س بب س رعت بخش یدن ب ه فراین د
همگرایی در الگوریتم ژنتیک خواهد شد.