博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Java遗传算法编程》—— 1.3 进化计算的历史
阅读量:7247 次
发布时间:2019-06-29

本文共 1062 字,大约阅读时间需要 3 分钟。

本节书摘来异步社区《Java遗传算法编程》一书中的第1章,第1.3节,作者: 【英】Lee Jacobson(雅各布森) , 【美】Burak Kanber(坎贝尔),更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 进化计算的历史

20世纪50年代,进化计算首次作为一种优化工具被尝试,当时的计算机科学家将达尔文的生物进化论思想应用于候选解构成的种群。他们建立理论,认为有可能应用进化算子,如交叉(它是生物繁殖的模拟)和变异(这是新的遗传信息添加到基因组中的过程)。这些算子和选择压力共同作用,让遗传算法在一段时间后,能够“进化”出新的解。

在20世纪60年代,“进化策略”(应用自然选择和进化思想的一种优化技术)最初由Rechenberg(1965,1973)提出,他的想法后来被Schwefel(1975,1977)发展。其他计算机科学家当时在类似的研究领域独立地工作,如Fogel L.J,Owens, A.J以及Walsh, M.J(1966年),他第一个引入了进化编程的领域。他们的技术包括用有限状态机表示候选解,以及应用变异来创建新解。

在20世纪50年代和60年代,一些研究进化的生物学家开始用计算模拟进化。然而,是Holland, J.H.(1975)在20世纪60年代和70年代首先提出并发展了遗传算法的概念。1975年,在开创性著作《Adaption in Natural and Artificial Systems(自然与人工系统中的适应)》中,Holland终于提出了他的想法。Holland的书展示了达尔文的进化论可以如何被抽象并用计算机建模,用于优化策略。他的书解释了染色体如何建模为1和0的序列,通过实现自然选择中的技术,如变异、选择和交叉,拥有这些染色体的种群可以如何进化。

在20世纪70年代首次被引入后的几十年里,Holland原创的遗传算法定义已经逐渐改变。这在某种程度上是因为,近期进化计算领域的研究人员偶尔将来自不同方法的思想融合在一起。虽然这模糊了许多方法学之间的界限,但它为我们提供了丰富的工具,帮助我们更好地解决具体问题。在本书中,术语“遗传算法”既指Holland的遗传算法的经典定义,也指更宽泛的、今天的解释。

计算机科学家至今仍在研究生物学和生物系统,以便得到启发,创造更好的算法。最近的一个仿生优化算法是蚁群优化算法,它由Marco, D. (1992)于1992年首先提出。蚁群优化算法对蚂蚁的行为建模,以此作为解决各种优化问题的方法,如旅行商问题。

转载地址:http://gybbm.baihongyu.com/

你可能感兴趣的文章
云时代的开源软件收入模式
查看>>
VMware的云管理之道
查看>>
测一测你的算法阶段学习成果
查看>>
在php-fpm或apache中使用swoole提供的task功能
查看>>
据Progress调查:2018年,70%的客户在使用NoSQL
查看>>
终极指南:如何使用Visual Studio Code进行 Java 开发?
查看>>
js设计模式笔记 - 观察者模式
查看>>
【leetcode】30. Substring with Concatenation of All Words 精确匹配的子串集
查看>>
使用Java输出杨辉三角
查看>>
分享一个关于匿名函数和闭包的问答
查看>>
airflow专栏
查看>>
蚂蚁金服寒泉子:JVM源码分析之临门一脚的OutOfMemoryError完全解读
查看>>
趣店前端团队基于 koajs 的前后端分离实践
查看>>
android圆角遮罩view
查看>>
用JSON-server模拟REST API(三) 进阶使用
查看>>
关于JavaScript 函数传参
查看>>
css学习(持续更新中)
查看>>
DIV 上下左右居中黑科技
查看>>
iOS开发秘笈:如何通过WebView监控提升WebAPP性能
查看>>
笨办法学C 练习4:Valgrind 介绍
查看>>