1

我想我了解模拟退火的基本概念。它基本上是在开始时添加随机解决方案以覆盖更好的搜索空间区域,然后随着算法的继续运行慢慢降低随机性。

我对如何在我的遗传算法中实现这一点有点困惑。

谁能给我一个简单的解释,说明我需要做什么,并澄清我对模拟退火工作原理的理解是正确的吗?

4

1 回答 1

2

在遗传算法中构建新一代个体时,它具有三个随机方面:

  1. 将父母个体与父母个体匹配,根据他们的比例适合度进行偏好,
  2. 选择交叉点,并且,
  3. 变异后代。

对于第二个,您无能为力,因为这通常是一个均匀的随机分布。您可以在选择父母个人时尝试向轮盘赌中添加一些随机因素,然后慢慢减少该随机函数。但这违背了遗传算法的精神,而且(更重要的是)我认为它不会有多大好处。我想这会很痛,事实上。

这就剩下第三个因素——随着世代的流逝,将突变率从高突变变为低突变。

真的没有比这更复杂的了。

于 2012-02-27T16:36:40.123 回答