随机通用抽样:为交叉和变异选择对

时间:2013-04-16 21:20:25

标签: c# genetic-algorithm

我对使用随机通用采样选择染色体感到困惑。我理解你如何使用这种方法从给定的种群中选择后代。令我困惑的是,你如何从这些后代中选择用于交叉/变异的配对。

例如:

  • 使用简单的轮盘选择,你可以滚动众所周知的骰子 两次抓住2条染色体进行交叉/突变,将它们添加到 新的人口,然后继续,直到新的人口填补。

  • 使用排名选择,您可以按健身顺序排列当前人口 升序,指定排名,并使用rank / totalRank作为概率 轮盘选择,使用上述方法。

  • 如何使用随机通用采样?您可以 选择N染色体进行交叉/突变。然后你可以选择 来自所选染色体的对用于交叉,但是 怎么样?随机?轮盘赌选择?如果你使用轮盘赌轮 选择,这不会带来轮盘赌的同样问题 车轮选择对于大适应性具有太大偏差 间隙?

我错过了一步吗?

1 个答案:

答案 0 :(得分:1)

不要一次只选择两个父母,而是一次性选择整个批次。旋转想象中的轮盘赌轮以获得一个起点,然后按照固定尺寸步长绕着方向盘,按需要多次,以选择后续父母。

一旦你拥有所有必需的父母,你应该在使用它们之前将它们洗牌,以避免偏向轮子上相邻的对。