در انتخاب چرخ رولت ، چرخ دایرهای (مدور) به همان شکلی که قبلاً توضیح داده شد تقسیم شده است.همانگونه که در شکل نشان داده خواهد شد یک نقطه ثابت در پیرامون چرخ انتخاب میشود و سپس چرخ ، چرخانیده میشود .ناحیه ای از چرخ که در جلوی نقطه ثابت در نظر گرفته شده قرار گیرد به عنوان والد انتخاب می شود.برای انتخاب والد دوم رویه ای مشابهی تکرار می شود. در شکل زیر استفاده از روش چرخ رولت نشان داده شده است
واضح است که فرد مناسبتر دارای سهم بزرگتری در چرخ است و بنابراین شانس بیشتری هم برای ایستادن در مقابل نقطه ثابت هنگامی که چرخ ، چرخانیده میشود دارد.شانس انتخاب یک فرد به طور مستقیم وابسته به مقدار برازش آن است.
در قسمت ذیل یک شبکه کد برای انتخاب توسط چرخ رولت آورده شده است :
for all members of population
sum += fitness of this individual
end for
for all members of population
probability = sum of probabilities + (fitness / sum)
sum of probabilities += probability
end for
loop until new population is full
do this twice
number = Random between 0 and 1
for all members of population
if number > probability but less than next probability then you have been selected
end for
end
create offspring
end loop
نمونه برداری فراگیر تصادفی :Stochastic Universal Sampling (SUS)
.
نمونه برداری فراگیر تصادفی کاملاً مشابه روش انتخاب والد به شیوه چرخ رولت است ، هرچند بجای اینکه تنها یک نقطه ثابت بر روی چرخ داشته باشیم در این شیوه همانگونه که در شکل نشان داده شده است چندین نقطه ثابت بر روی چرخ داریم.بنابراین همه والد ها تنها در یک چرخش از چرخ(دایره) انتخاب می شوند.این شیوه از انتخاب والد اجازه میدهد که افراد که لیاقت بالایی دارند حد اقل یک بار شانس انتخاب شدن داشته باشند.
این نکته را باید بازگوکنم که متدهای انتخاب برازش مناسب در مورادی که برازش میتواند مقدار منفی دریافت کند عمل نمی کنند.
انتخاب مسابقهای (تورنومنتی)
در انتخاب K-Way تورنومنتی ، تعداد k شخص را از بین جمعیت به شکل تصادفی انتخاب میکنیم و بهترین آنها را به عنوان والد بر می گزینیم.پروسه ای مشابه برای انتخاب والد بعدی به همین صورت تکرار می شود.شیوه انتخاب به صورت تورنومنتی برای موقعیت هایی که برازش مقدار منفی دارد نیز مناسب است.
مسائله کوله پشتی Knapsack Problem (KP)
بر خود لازم دیدم قبل از ورود به مباحث پیشرفته تر در خصوص الگوریتم های ژنتیک و با توجه به اینکه در مطالبی که قبلا آورده شده است و مطالب آتی مسائله کوله پشتی به کرات مورد استفاده قرار گرفته است ، تعریف کاملی در خصوص این مسائله برای درک بهتر خواننده داشته باشم.
با این شرط که آیتم های قرار گرفته از ظرفیت کوله پشتی بیشتر نباشند :
آیتم | A | B | C |
ارزش Benefit | 4 | 3 | 5 |
ظرفیت Volume | 6 | 7 | 8 |
ارزش مجموعه | ظرفیت مجموعه | C | B | A |
0 | 0 | 0 | 0 | 0 |
5 | 8 | 1 | 0 | 0 |
3 | 7 | 0 | 1 | 0 |
- | 15 | 1 | 1 | 0 |
4 | 6 | 0 | 0 | 1 |
- | 14 | 1 | 0 | 1 |
7 | 13 | 0 | 1 | 1 |
- | 21 | 1 | 1 | 1 |