我正在阅读关于遗传编程的幻灯片。在此幻灯片中,它表示在选择阶段有一些方法,例如Roulette
,Rank
或Tournament
,没有任何解释。我试过谷歌,但没有说清楚这些条款。
请告诉我他们之间的区别。
答案 0 :(得分:25)
轮盘选择(又名Fitness proportionate selection)
适应度用于将选择概率与每个人联系起来。
如果f i 是群体中个体i的适应度,则其被选中的概率为:
对于j = 1 ... N,p i = f i /Σ j (f j ) N是人口中的个体数量)
它被称为轮盘赌轮,因为它可以被视为赌场中的轮盘赌轮:
这可以通过以下(幼稚)算法进行模拟:
S
)。 r
S]。 有关可能的实施,请参阅:
排名选择类似于轮盘赌选择,只是选择概率与相对适合度成正比而非绝对适应度。
最适合的候选人是否比下一个适合者或0.001%钳工更健康10倍没有任何区别。在这两种情况下,选择概率都是相同的。
重要的是相对于其他人的排名。
当您在轮盘赌上已经知道时,排名选择很容易实现 车轮选择。而不是使用健身作为概率 选择你使用排名。因此对于N个解决方案的人口 最佳解决方案获得排名N,排名第二的N-1等等 最差的人有1级。
(Ranking Selection in Genetic Algorithm code)
<强> Tournament selection 强>
正如您所看到的,编码效率很高。它也适用于并行架构,可以轻松调整选择压力(改变锦标赛中的个人数量)。
当然,这些算法有很多变种。
您可以阅读以下内容进行比较:
Comparison of Performance between Different Selection Strategies on Simple Genetic Algorithms(钟景辉,胡晓敏,顾敏,张军 - 2005)