打字猴:1.701066528e+09
1701066528
1701066529
1701066530
1701066531
1701066532 ▲图9.1 霍兰德(圣塔菲研究所版权所有,经许可重印)
1701066533
1701066534 霍兰德在读费希尔(Ronald Fisher)的名著《自然选择的遗传理论》(The Genetical Theory of Natural Selection)时被达尔文的进化论深深吸引。同费希尔(和达尔文)一样,进化与农产养殖之间的相似也给霍兰德留下了深刻印象。但他是从计算机科学的角度来思考这种相似性:“这就是遗传算法的由来。  [128]  我想到,是不是可以像繁育良种马和良种玉米那样繁殖程序。”
1701066535
1701066536 霍兰德的主要兴趣在于适应现象——生物如何进化以应对其他生物和环境变化,计算机系统是不是也可以用类似的规则产生适应性。他在1975年的著作《自然和人工系统的适应》(Adaptation in Natural and Artifcial Systems)中列出了一组适应性的普遍原则,并且提出了遗传算法的构想。
1701066537
1701066538 我第一次了解遗传算法是在密歇根大学研究生院,当时我选了霍兰德基于他的书开的一门课。我马上就被“进化的”计算机程序的思想吸引住了。(同赫胥黎一样,我的反应是:“我怎么没想到,真是太蠢了!”)
1701066539
1701066540 复杂 [:1701064771]
1701066541 遗传算法菜谱
1701066542
1701066543 算法其实就是图灵说的明确程序,就好比做菜的菜谱:一步一步将输入变成输出。
1701066544
1701066545 对于遗传算法(GA),期望的输出就是特定问题的解。比如,你需要编写一个程序控制机器人清洁工在办公楼拾垃圾。你觉得编这个程序太费时间,就委托遗传算法替你将这个程序演化出来。因此,期望的GA输出就是能让机器人清洁工完成拾垃圾任务的控制程序。
1701066546
1701066547 GA的输入包括两部分:候选程序群体和适应性函数。适应性函数用来确定候选程序的适应度,度量程序完成指定任务的能力。
1701066548
1701066549 候选程序可以表示成位、数字或符号组成的字符串。后面我会给出一个机器人控制程序表示成数字字符串的例子。
1701066550
1701066551 在机器人清洁工的例子中,候选程序的适应度可以定义为机器人在给定时间内清扫的面积,这是由程序决定的,越大越好。
1701066552
1701066553 下面是GA菜谱。
1701066554
1701066555 将下面的步骤重复数代:
1701066556
1701066557 1.生成候选方案的初始群体。生成初始群体最简单的办法就是随机生成大量“个体”,在这里个体是程序(字符串)。
1701066558
1701066559 2.计算当前群体中各个个体的适应度。
1701066560
1701066561 3.选择一定数量适应度最高的个体作为下一代的父母。
1701066562
1701066563 4.将选出的父母进行配对。用父母进行重组产生出后代,伴有一定的随机突变概率,后代加入形成新一代群体。选出的父母不断产生后代,直到新的群体数量达到上限(即与初始群体数量一样)。新的群体成为当前群体。
1701066564
1701066565 5.转到第2步。
1701066566
1701066567 复杂 [:1701064772]
1701066568 遗传算法的应用
1701066569
1701066570 前面描述GA时似乎很简单,但是遗传算法已被用于解决科学和工程领域的许多难题,甚至应用到艺术、建筑和音乐。
1701066571
1701066572 应用之广泛从下面这些问题可见一斑:通用电气将GA用于飞行器的部分自动化设计,  [129]  洛斯阿拉莫斯国家实验室用GA分析卫星图像,  [130]  约翰·迪尔(John Deere)公司将GA用于自动化生产线的调度,  [131]  德州仪器(Texas Instruments)则用GA来设计计算机芯片。  [132]  GA还在2003年的电影《指环王:王者归来》(The Lord of the Rings:The Return of the King)中被用于生成逼真的动画马匹,  [133]  为电影《特洛依》(Troy)生成逼真的演员替身动画特效。  [134]  许多制药公司用GA来辅助发现新药。  [135]  GA也被一些金融组织用于各种场合:识别交易欺诈  [136]  (伦敦股票交易所)、分析信用卡数据  [137]  (第一资本金融公司,Capital One)、预测金融市场  [138]  和优化证券投资组合  [139]  (第一象限公司,First Quadrant)。20世纪90年代,互动式遗传算法创造的艺术作品  [140]  在巴黎蓬皮杜中心(Georges Pompidou Center)等多个博物馆展出。这些只是遗传算法应用的一小部分例子。
1701066573
1701066574 复杂 [:1701064773]
1701066575 进化的罗比,易拉罐清扫机器人
1701066576
1701066577 下面我们用一个更详细的简单例子  [141]  来进一步阐释GA的主要思想。我有一个叫“罗比”的机器人,它的世界(用计算机模拟,但是很脏乱)是二维的,到处是丢弃的易拉罐。我将用遗传算法为罗比进化出一个“脑”(即控制策略)。
[ 上一页 ]  [ :1.701066528e+09 ]  [ 下一页 ]