进化算法:原理、应用与设计
1. 进化算法概述
进化算法涉及优化、设计和学习等领域,对其数学性质的研究已持续了至少 60 年,在过去二十年里,它以进化计算的名称为人所知。最简单的进化算法可以看作是一个搜索过程,它生成问题的潜在解决方案,测试每个方案的适用性,然后生成新的解决方案。理解这个过程与穷举搜索或盲目随机搜索的区别至关重要。
2. 生成与测试:进化算法的基本操作
2.1 样本空间与目标函数
考虑一个样本空间 S,从中可以选择个体潜在解决方案 s1, …, sk(|S| = k)。原则上,S 的基数可以是无限的,但计算机的精度总是有限的,因此在处理有限数量 k 时不会失去一般性。假设存在一个实值函数 f(s),我们希望找到它的最大值。
2.2 穷举搜索
穷举搜索 S 的伪代码如下:
i = 1;
best = i;
bestscore = f(s(i));
repeat
i = i + 1;
if f(s(i)) > bestscore then
begin
best = i;
bestscore = f(s(i));
end
until (i == k);
这个过程肯定能找到最佳解决方案,但找到它所需的时间可能过长。许多实际问题的搜索空间非常大,超过了 10^100,即使每秒检查 10^80 个解决方案,也需要超过 130 亿年才能完成搜索。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



