【遗传算法】是一种受到生物进化论启发的优化算法,它模拟了自然界中物种的进化过程,包括遗传、变异、选择等基本机制,用于解决复杂的优化问题。遗传算法的起源可以追溯到20世纪50年代,当时一些生物学家尝试用计算机模拟生物的遗传和进化。在1963年,德国的I. Rechenberg和H. P. Schwefel在风洞实验中提出了进化策略的概念。L. J. Fogel在1966年的著作《基于模拟进化的人工智能》中进一步阐述了进化规划的思想。
美国密歇根大学的J. H. Holland教授在60年代中期引入了遗传算法的概念,他将生物学中的遗传原理应用于自适应系统的研究,并提出了串编码技术。J. D. Bagley在1967年的博士论文中首次正式使用“遗传算法”这一术语。Holland于1975年的著作"Adaptation in Natural and Artificial Systems"标志着遗传算法作为一门学科的正式诞生。
70年代初期,Holland提出了“模式定理”,这是遗传算法理论基础的重要组成部分。80年代,遗传算法开始快速发展,1985年召开了第一届国际遗传算法会议,成立了国际遗传算法学会(ISGA)。D. J. Goldberg在1989年的著作中全面系统地介绍了遗传算法及其应用,而L. Davis在1991年编辑的《遗传算法手册》则包含了大量实际应用案例。
随着研究的深入,人们发现遗传算法、进化规划和进化策略有共同的理论基础,于是提出了“进化计算”这一术语来概括这些方法。进化计算借鉴了达尔文的自然选择理论,包括遗传、变异、选择等核心机制。遗传指的是物种的性状通过遗传物质从父母传递给后代,保证了物种的稳定性。变异则是生物多样性产生的源泉,每个个体都可能存在不同的性状。自然选择则是适应环境的个体得以生存并繁衍,而不适应的个体则被淘汰。
在遗传算法中,问题的解通常表示为染色体的形式,它们可以是二进制或实数编码,类似于生物的DNA。基因是染色体上的基本单元,对应于解的一部分特性。基因型是所有基因的组合,而表现型是基因型在特定环境下的表现。在算法运行过程中,种群代表了解的集合,每个个体都有一个适应度值,表示其解决方案的质量。通过选择、交叉(模拟遗传)和变异操作,种群在每一代都会逐步改进,寻找最优解。
遗传算法在解决组合优化、函数优化、机器学习、人工智能等多个领域都有广泛的应用,因为它们能够处理非线性、多模态和复杂的问题空间。尽管遗传算法有一定的随机性,但其全局搜索能力和并行探索的特性使其成为处理复杂问题的有效工具。