【发布时间】:2013-12-08 08:15:06
【问题描述】:
在进化算法中,主要维持两个能力,即探索和开发。
Exploration 中的算法是在新区域中寻找新的解决方案,而 Exploitation 意味着使用已经存在的解决方案并对其进行细化以提高其适应度。
在我的情况下,我关心遗传算法,我的问题是我阅读了很多不同的文章,我想出了三种不同的解释来探索和利用这些观点如下:
在一篇文章中谈到探索是通过交叉完成的,而利用则是通过变异完成的
在一篇文章中与第一篇相反,通过变异探索和通过交叉利用
最后一篇是 A. E. Eiben 和 C.A. Schippers,它说开发是通过选择过程完成的,而探索是由操作员完成的,无论是交叉还是变异
从我的小观点来看,交叉和变异都为我们提供了一个新的解决方案,这在群体中是不存在的,这是算法的随机部分,因此它是探索过程,在选择个体进行交配或繁殖时,我从已经存在的解决方案中选择,并根据它的适合度进行选择,这是启发式的部分,因此它可以利用。
哪个是正确的?哪个步骤或操作员负责探索,哪个负责开发?
请我需要推理逻辑的答案。
【问题讨论】:
标签: search genetic-algorithm genetic-programming