輪盤賭選擇,(也稱為適應度比例選擇)使用輪盤賭為類比,從種群中選擇個體的方法。這種想法是根據個體在種群中的個體適應度值,將他們放置在一個假想的空間輪盤上。個體的適應度越高,在輪盤上占據的空間就越多,就越容易被選上;
簡單實現代碼如下:
Individual individuals[]=population.getIndividuals(); double populationFitness=population.getPopulationFitness(); double rouletteWheelPosition=Math.random()*populationFitness; double spinWheel=0; for(Individual individual:individuals) { spinWheel+=individual.getFitness(); if(spinWheel>=rouletteWheelPosition) { return individual; } } return individuals[population.size()-1];