遗传算法是一类自适应的随机优化 算法,涉及搜索和优化。遗传算法最早由霍兰德 (Holland) 于 1975 年使用。
基本思想是尝试模拟自然选择的简单图景,以找到一个好的算法。第一步是变异或随机改变给定的样本程序集合。第二步是选择步骤,通常通过针对适应度函数进行衡量来完成。重复此过程,直到找到合适的解决方案。
有许多不同类型的遗传算法。涉及变异的步骤取决于样本程序的表示方式,以及程序员是否包含各种交叉技术。适应度测试也取决于程序员。
与梯度流优化类似,该过程可能陷入适应度函数的局部最大值。遗传算法的一个优点是它不需要适应度函数非常平滑,因为执行的是随机搜索而不是沿着最小阻力路径。但是,要获得成功,可修改参数与适应度之间需要存在某种良好的关系。一般来说,会遇到计算不可约性。
霍兰德创建了一个电子生物体作为二进制字符串(“染色体”),然后使用遗传和进化原理,通过与适应度成比例的选择进行繁殖(包括随机交叉和变异),以有效地搜索巨大的解空间。所谓的遗传编程语言应用相同的原理,使用表达式树而不是位串作为“染色体”。
另请参阅
元胞自动机,
差分进化,
进化编程,
进化策略,
遗传编程,
优化理论,
随机优化
本条目部分内容由 托德·罗兰贡献
使用 Wolfram|Alpha 探索
参考文献
Bengtsson, M. “遗传算法笔记本。” http://library.wolfram.com/infocenter/MathSource/569/。Corne, D.; Dorigo, M.; 和 Glover, F. 优化新思路。纽约:McGraw-Hill,1999 年。Cramer, N. L. “简单顺序程序自适应生成的表示。” 在遗传算法及其应用国际会议论文集,1985 年 7 月(J. J. Grefenstette 编辑)。Hillsdale, NJ:L. Erlbaum Associates,第 183-187 页,1985 年。Fernandez, J. “GP 教程。” http://www.geneticprogramming.com/Tutorial/。Holland, J. H. 自然和人工系统中的适应:生物学、控制和人工智能应用的导论分析。安娜堡,密歇根州:密歇根大学出版社,1975 年。Holland, J. H. 自然和人工系统中的适应:生物学、控制和人工智能应用的导论分析,第二版。剑桥,马萨诸塞州:麻省理工学院出版社,1992 年。Jacob, C. 用 Mathematica 说明进化计算。旧金山,加利福尼亚州:Morgan Kaufmann,2001 年。Koza, J. R. 遗传编程:通过自然选择对计算机进行编程。剑桥,马萨诸塞州:麻省理工学院出版社,1992 年。Wolfram, S. 一种新科学。香槟,伊利诺伊州:Wolfram Media,第 1002 页,2002 年。在 Wolfram|Alpha 中被引用
遗传算法
请这样引用
罗兰, 托德 和 韦斯坦, 埃里克·W. “遗传算法。” 来自 MathWorld--Wolfram Web 资源。 https://mathworld.net.cn/GeneticAlgorithm.html
学科分类