缺乏多样化,遗传算法真的是一个缺点吗?

oma*_*mar 3 algorithm heuristics genetic-algorithm evolutionary-algorithm

我们知道遗传算法(或进化计算)与我们的解空间Ω中的点的编码一起工作,而不是直接对这些点进行编码.在文献中,我们经常发现GAs具有以下缺点:(1)由于许多染色体被编码成相似的Ω点或相似的染色体具有非常不同的点,因此效率相当低.你认为这真的是一个缺点吗?因为这些算法在每次迭代中使用变异算子来使候选解决方案多样化.为了增加更多的多样性,我们只需增加交叉的概率.我们不能忘记,我们的初始种群(染色体)是随机产生的(另一种更多样化).问题是,如果你认为(1)是GA的缺点,你能提供更多细节吗?谢谢.

And*_*eas 6

突变和随机初始化不足以解决遗传算法的主要问题遗传漂移问题.遗传漂变意味着遗传算法可能很快失去其大部分遗传多样性,并且搜索以不利于交叉的方式进行.这是因为随机初始种群快速收敛.突变是一个不同的东西,如果它很高,它会变得多样化,真实,但同时它会阻止收敛,并且解决方案将以更高的概率保持在一定距离到最佳状态.您需要在搜索过程中调整变异概率(而不是交叉概率).以类似的方式,类似于GA的进化策略在搜索期间调整突变强度.

我们开发了GA的变体,称为OffspringSelection GA(OSGA),它在交叉之后引入了另一个选择步骤.只接受那些超过父母健康的孩子(更好,更差或任何线性插值).这样你甚至可以使用随机的父选择,并对后代的质量产生偏差.已经表明,这减缓了遗传漂变.该算法在我们的框架HeuristicLab中实现.它具有GUI,因此您可以下载并尝试解决一些问题.

其他抵抗遗传漂移的技术是小生境和拥挤,这使得多样性流入选择,从而引入另一种但可能不同的偏见.

编辑:我想补充说,具有相同质量的多个解决方案的情况当然可能会产生问题,因为它在搜索空间中创建了中性区域.但是,我认为你并不是那个意思.主要问题是遗传漂移,即.(重要的)遗传信息的丢失.