【问题标题】:Difference between exploration and exploitation in Simulated Annealing algorithm模拟退火算法中探索和利用的区别
【发布时间】:2020-07-27 09:46:36
【问题描述】:
在进化算法中,主要维持两个能力,即探索和开发。
Exploration 中的算法是在新区域中寻找新的解决方案,而 Exploitation 意味着使用已经存在的解决方案并对其进行细化以提高其适应度。
在模拟退火中,我不明白 Exploration 和 Exploitation 何时发生。
例如在遗传算法中:Exploration 发生在Crossover 和Mutation 步骤中,而选择发生在Exploitation 步骤中。
【问题讨论】:
标签:
search
optimization
simulated-annealing
【解决方案1】:
我从未见过与模拟退火 (SA) 相关的术语 Exploration 和 Exploration。这是因为没有真正形成一棵树,只有来自当前状态的一长串提议,并且可能接受一个状态。所以结构更像是一把长长的梳子,而不是一棵树,每颗牙齿都是一个提议状态,有可能被接受。
所以请记住,在 SA 上应用这些术语并不常见 - 但无论如何我都会尝试使用这些术语通常适用于使用树状结构搜索的算法。
如果你真的想在模拟退火上预测条款,你可以——而不是每一步都在进行探索/开发,但在开始时,SA 被允许更疯狂地探索,因为温度仍然很高——因此它会接受几乎每个州。您可以将 SA 的早期阶段称为探索。随着温度的降低,它不太可能接受具有较高能量/目标的状态,但仍会接受所有导致较低能量/目标的状态,您可以称之为Explorationphase。