【发布时间】:2012-03-19 09:25:34
【问题描述】:
从我目前阅读的内容来看,它们看起来非常相似。 微分进化改用浮点数,解叫向量?我不太确定那是什么意思。 如果有人可以概述一下两者的优缺点。
【问题讨论】:
-
浮点数没有区别。所有的进化策略都使用浮点数。 EC 的算法不再按其表示来划分类型。
标签: artificial-intelligence genetic-algorithm differential-evolution
从我目前阅读的内容来看,它们看起来非常相似。 微分进化改用浮点数,解叫向量?我不太确定那是什么意思。 如果有人可以概述一下两者的优缺点。
【问题讨论】:
标签: artificial-intelligence genetic-algorithm differential-evolution
嗯,遗传算法和差分进化都是进化计算的例子。
遗传算法与遗传繁殖的比喻非常接近。甚至语言也大体相同——都谈染色体,都谈基因,基因是不同的字母,都谈交叉,交叉相当接近于对基因繁殖的低层次理解等。
微分进化是同一种风格,但对应的不是那么精确。第一个重大变化是 DE 使用的是实际实数(在严格的数学意义上——它们被实现为浮点数、双精度数或其他任何东西,但理论上它们的范围是实数域。)结果, 变异和交叉的思想本质上是不同的。到目前为止,变异算子已经过修改,以至于我什至很难理解为什么它被称为变异,除了它的目的是为了打破局部最小值。
从好的方面来说,少数结果表明 DE 通常比遗传算法更有效和/或更高效。在数值优化中工作时,能够将事物表示为实际的实数,而不是必须首先使用染色体类型的表示,这很好。 (注意:我已经阅读过它们,但我并没有对它们进行过广泛的研究,所以我无法根据第一手资料发表评论。)
不利的一面是,我认为目前还没有任何 DE 收敛的证据。
【讨论】:
差分进化实际上是更广泛的遗传算法空间的一个特定子集,具有以下限制:
DE 在某些情况下表现良好,因为可以认为向量形成“云”,非常有效地探索解决方案空间的高价值区域。从某种意义上说,它与粒子群优化密切相关。
然而,它仍然存在卡在局部最小值中的常见 GA 问题。
【讨论】: