الگوریتم ژنتیک، Genetic Algorithm

الگوریتم ژنتیک، Genetic Algorithm

الگوریتم ژنتیک، Genetic Algorithm

الگوریتم ژنتیک یک روش جستجوی اکتشافی قابل تطبیق بر اساس ژنتیک جمعیت است. الگوریتم ژنتیک توسط «جان هلند» در سال ۱۹۷۰ معرفی شده بود. الگوریتم ژنتیک یک الگوریتم جستجوی احتمالاتی روی مکانیک انتخاب طبیعی و ژنتیک طبیعی است. الگوریتم ژنتیک با مجموعه‌ای از راه حل‌ها به نام جمعیت، آغاز می‌شود. در هر نسل، تناسب هر کروموزوم ارزیابی شده و سپس کروموزوم‌ها برای نسل بعدی احتمالا مطابق با مقادیر متناسب با آنها انتخاب شده است.

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

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

قبل از این که یک الگوریتم ژنتیک برای یک مسئله اجرا شود، یک روش برای کد کردن ژنوم‌ها به زبان کامپیوتر باید به کار می‌رود. یکی از روش‌های معمول کد کردن به صورت رشته‌های باینری است: رشته‌های ۰ و ۱. یک راه حل مشابه دیگر کدکردن راه حل‌ها در آرایه‌ای از اعداد صحیح یا اعداد اعشاری است. سومین روش برای نمایش صفات در یک GA یک رشته از حروف است، که هر حرف دوباره نمایش‌دهنده یک خصوصیت از راه حل است. خاصیت هر سه روش این است که آنها تعریف سازنده‌ای را که تغییرات تصادفی در آنها ایجاد می‌کنند، آسان می‌کنند: ۰ را به ۱ و برعکس، اضافه یا کم کردن ارزش یک عدد یا تبدیل یک به صفر یا برعکس. یک روش دیگر که توسط «جان کوزا» توسعه یافت، برنامه‌نویسی ژنتیک است که برنامه‌ها را به عنوان شاخه‌های داده در ساختار درخت نشان می‌دهد. در این روش تغییرات تصادفی می‌توانند با عوض کردن عملگرها یا تغییر دادن ارزش یک گره داده شده در درخت، یا عوض کردن یک زیر درخت با دیگری به وجود آیند.

منبع: IJIRSET ،Wikipedia

مترجم و تهیه‌کننده: محبوبه پوریوسفی

مشاوران دارای این تخصص: 
#: 2
پرهام شعاعی
نقش‌ها: Vip, مشاور, همکاران
عضو به مدت: 6 ماه 1 هفته
#: 1
دانیال جاهد ارمغانی
نقش‌ها: Vip, مشاور, نمایندگی, همکاران
عضو به مدت: 2 ماه 1 هفته