转盘算法是遗传算法中的,相当于一个selector,对不同概率的结果选择的程度不同,倾向于选择大概率时间。
工作过程:
设想群体全部个体的适当性分数由一张饼图来代表 (见图)。
群体中每一染色体指定饼图中一个小块。块的大小与染色体的适应性分数成比例,适应性分数愈高,它在饼图中对应的小块所占面积也愈大。为了选取一个染色体,要做的就是旋转这个轮子,直到轮盘停止时,看指针停止在哪一块上,就选中与它对应的那个染色体。
举例:
若产生随机数为0.81,则6号个体被选中。
即想象一下,那种电视上经常播放的转盘游戏。
因为在0-1之间选择一个数是随机的,或者说等概率的,所以无须担心不公平的现象。而且累计概率从哪个时间开始计算是无所谓的,记住:在0-1之间选择任何一个数字都是等概率的,唯一不同的是转盘上面积较大的版块被选择的概率更高。