Селекция на принципа на рулетката (на английски: roulette wheel selection, RWS) е термин от областта на генетичните алгоритми, с който се означава най-простата разновидност на генетичния оператор селекция. При оператора селекция от популацията от „геноми“ (решения) се избират целесъобразно подбран брой отделни индивиди, над които след селекцията да се приложи операторът кръстосване (рекомбинация, кросоувър). Представлява техника за избор, основана на аналогията с въртенето на рулетка, която спира на един определен „показалец“ и избира съответстващата срещу „показалеца“ стойност на поле от рулетката. Други термини за този вид селекция, срещани в литературата, са стохастично семплиране (stochastic sampling)[1] и пропорционална на фитнеса селекция (fitness proportionate selection, FPS).
Селекцията на принципа на рулетката следва следния алгоритъм:
Акумулирана нормализирана фитнес функция съответства на математическата вероятност за избор.[1]
Обосновката за така конструираният алгоритъм е, че за индивидите с по-висока фитнес функция съществува по-голяма математическа вероятност да бъдат селектирани.
Нека е дадена популация от 11 индивида със следните (нормализирани) стойности на фитнес функцията:
ID на индивид | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
---|---|---|---|---|---|---|---|---|---|---|---|
Фитнес стойност | 1.4 | 1.6 | 0.8 | 0.6 | 0.4 | 0.0 | 0.2 | 2.0 | 1.8 | 1.2 | 1.0 |
Популацията се сортира по намаляващ ред на фитнес стойностите на индивидите:
ID на индивид | 8 | 9 | 2 | 1 | 10 | 11 | 3 | 4 | 5 | 7 | 6 |
---|---|---|---|---|---|---|---|---|---|---|---|
Фитнес стойност | 2.0 | 1.8 | 1.6 | 1.4 | 1.2 | 1.0 | 0.8 | 0.6 | 0.4 | 0.2 | 0.0 |
Изчисляват се акумулираните фитнес стойности на индивидите, нормализирани в интервала [0.00, 1.00]:
ID на индивид | 8 | 9 | 2 | 1 | 10 | 11 | 3 | 4 | 5 | 7 | 6 |
---|---|---|---|---|---|---|---|---|---|---|---|
Фитнес стойност | 2.0 | 1.8 | 1.6 | 1.4 | 1.2 | 1.0 | 0.8 | 0.6 | 0.4 | 0.2 | 0.0 |
Акумулирана Фитнес стойност |
0.18 | 0.16 | 0.15 | 0.13 | 0.11 | 0.09 | 0.07 | 0.06 | 0.03 | 0.02 | 0.00 |
Нека по условие шест от общо единадесетте индивиди се селектират за кръстосване в следващото поколение. Тъй като процедурата е стохастична, независимо се генерират шест случайни числа (равномерно разпределени в интервала [0.0, 1.0]), например:
Това означава, че селектираните за следващото поколение решения ще бъдат съответно:
На фигурата графично е визуализиран резултатът от прилагане на селекция на принципа на рулетката.[1]