现在的位置: 首页 > 综合 > 正文

遗传算法中的转盘算法

2013年10月26日 ⁄ 综合 ⁄ 共 490字 ⁄ 字号 评论关闭

设前几天做dirichlet process的时候看到了转盘算法,当时很不理解。

转盘算法是遗传算法中的,相当于一个selector,对不同的概率选择的程度不同,倾向于选择大概率事件。

前几天做dirichlet process时候看到了转盘算法,当时很不理解。后来恍然大悟。

转盘算法是遗传算法中的,相当于一个selector,对不同概率的结果选择的程度不同,倾向于选择大概率时间。

工作过程:

设想群体全部个体的适当性分数由一张饼图来代表 (见图)。

群体中每一染色体指定饼图中一个小块。块的大小与染色体的适应性分数成比例,适应性分数愈高,它在饼图中对应的小块所占面积也愈大。为了选取一个染色体,要做的就是旋转这个轮子,直到轮盘停止时,看指针停止在哪一块上,就选中与它对应的那个染色体。

举例:

若产生随机数为0.81,则6号个体被选中。

即想象一下,那种电视上经常播放的转盘游戏。

因为在0-1之间选择一个数是随机的,或者说等概率的,所以无须担心不公平的现象。而且累计概率从哪个时间开始计算是无所谓的,记住:在0-1之间选择任何一个数字都是等概率的,唯一不同的是转盘上面积较大的版块被选择的概率更高。

抱歉!评论已关闭.