能量变量在模拟退火算法中代表什么?我猜它类似于 GA 中的适应度变量?
3 回答
我没有看到 SA 中的能量与 GA 中的健康之间存在明确的关系。
SA 中的能量定义了下一次迭代的搜索空间:随着能量变量的缩小,搜索空间的体积也随之缩小。例如,如果你正在做某种音乐搜索并且你有一个音符是“C”,那么高 SA 能量可能允许该值变成从“A”到“G”的任何值,而低 SA 能量可能只允许该值变为降 C 或升 C。
在 GA 中,搜索空间由给定基因型位置的值的熵定义。因此,如果在您的音乐搜索中的位置 1,每个人都有一个“C”音符,那么孩子们将在该位置有一个“C”(除非发生突变),并且在解决方案空间中沿着该维度没有真正的搜索。但是,如果基因型中位置 2 的值同样是“A”-“G”,则搜索空间非常大。
GA 中的适应度只是完整解决方案的质量。它是对个人的描述,而不是下一次迭代的参数(间接除外,因为它会影响选择)。所以我只是看不到任何好的概念映射到 SA 能量。
是的,它与遗传编程或遗传算法中的适应度函数非常相似。系统的能量 (E) 从某个任意高能状态开始。每一步都会对能量进行评估,系统会尝试转移到较低的能量状态。
一开始,当系统具有较高的“温度”时,允许较大的逆最优状态移动,以便系统可以避开局部最大值。在许多步骤中,温度会降低(希望能级也是如此)。
有很多关于模拟退火的好文章。这是一个很好的PPT概述:链接
在模拟退火中,一个点的能量 (E) 决定了它被接受为解决方案的概率。当温度参数高时,算法以随机方式接受具有低能量或高能量的新解。当温度低时,算法接受能量低的新解。
在典型的实现中,算法会随着迭代的通过而降低其温度参数。这引发了从随机行为到确定性行为的平滑过渡,这是模拟退火的一个关键特征。
有一些文本深入解释了模拟退火和遗传算法。我建议:
[1] Vöcking, B.、Alt, H.、Dietzfelbinger, M.、Reischuk, R.、Scheideler, C.、Vollmer, H.、Wagner, D.“不插电的算法”,Ed。德国柏林:Springer-Verlag Berlin Heidelberg, 2011, ch. 41,第 393-400 页。
[2] Duc Pham, D. Karaboga,“智能优化技术”。英国伦敦:Springer-Verlag 伦敦,2000 年。