第一章 绪论 1.1 遗传算法的生物学基础 遗传与变异 生物在自然界中的生存繁衍,显示出了其对自然环境的自适应能力。受其启发,

Slides:



Advertisements
Similar presentations
3 的倍数的特征 的倍数有 : 。 5 的倍数有 : 。 既是 2 的倍数又是 5 的倍数有 : 。 12 , 18 , 20 , 48 , 60 , 72 , , 25 , 60 ,
Advertisements

一、 一阶线性微分方程及其解法 二、 一阶线性微分方程的简单应用 三、 小结及作业 §6.2 一阶线性微分方程.
第五节 函数的微分 一、微分的定义 二、微分的几何意义 三、基本初等函数的微分公式与微分运算 法则 四、微分形式不变性 五、微分在近似计算中的应用 六、小结.
2.8 函数的微分 1 微分的定义 2 微分的几何意义 3 微分公式与微分运算法则 4 微分在近似计算中的应用.
2.5 函数的微分 一、问题的提出 二、微分的定义 三、可微的条件 四、微分的几何意义 五、微分的求法 六、小结.
全微分 教学目的:全微分的有关概念和意义 教学重点:全微分的计算和应用 教学难点:全微分应用于近似计算.
冀教版四年级数学上册 本节课我们主要来学习 2 、 3 、 5 的倍数特征,同学们要注意观察 和总结规律,掌握 2 、 3 、 5 的倍 数分别有什么特点,并且能够按 要求找出符合条件的数。
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
§6.3 性别决定和伴性遗传. §6.3 性别决定和伴性遗传 人类染色体显微形态图 ♀ ♂ 它们是有丝分裂什么时期的照片? 在这两张图中能看得出它们的区别吗?
UI(用户界面)集训班 Illustrator 高级班.
第五章 遗传算法.
细胞核是遗传信息库.
小学生游戏.
1、环境中直接影响生物生活的各种因素叫做 。它可以分为 和 两类 。
§5 微分及其应用 一、微分的概念 实例:正方形金属薄片受热后面积的改变量..
2-7、函数的微分 教学要求 教学要点.
§5 微分及其应用 一、微分的概念 实例:正方形金属薄片受热后面积的改变量..
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
                                                                                                                                                                
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
第四章 遗传算法的实现技术 80年代以后,遗传算法得到了广泛的使用,在实践过程中,人们对遗传算法的实施提出了许多改进。本节分别予以介绍。
面向对象建模技术 软件工程系 林 琳.
遗传算法原理与应用 Alex
Introduction to AI and ML
Online job scheduling in Distributed Machine Learning Clusters
What have we learned?.
第十章 方差分析.
动态规划(Dynamic Programming)
工业机器人技术基础及应用 主讲人:顾老师
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
第4章 非线性规划 4.5 约束最优化方法 2019/4/6 山东大学 软件学院.
第一章 函数与极限.
C语言程序设计 主讲教师:陆幼利.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
线性规 Linear Programming
概 率 统 计 主讲教师 叶宏 山东大学数学院.
WPT MRC. WPT MRC 由题目引出的几个问题 1.做MRC-WPT的多了,与其他文章的区别是什么? 2.Charging Control的手段是什么? 3.Power Reigon是什么东西?
超越自然还是带来毁灭 “人造生命”令全世界不安
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
北师大版五年级数学下册 分数乘法(一).
iSIGHT 基本培训 使用 Excel的栅栏问题
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
学习任务三 偏导数 结合一元函数的导数学习二元函数的偏导数是非常有用的. 要求了解二元函数的偏导数的定义, 掌握二元函数偏导数的计算.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
1.非线性规划模型 2.非线性规划的Matlab形式
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
基于最大margin的决策树归纳 李 宁.
Models and Software Practice of the Operations Research
第二节 函数的极限 一、函数极限的定义 二、函数极限的性质 三、小结 思考题.
滤波减速器的体积优化 仵凡 Advanced Design Group.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
基因信息的传递.
我们能够了解数学在现实生活中的用途非常广泛
计算机问题求解—论题4.10 启发式算法的概念 陶先平 2017年6月5日.
第三章 从概率分布函数的抽样 (Sampling from Probability Distribution Functions)
Volterra-Lotka方程 1925年, A. Lotka(美)和V. Volterra(意)给出了第一个两物种间的捕食模型。
线性规划 Linear Programming
细胞分裂 有丝分裂.
遗传算法原理与应用 唐 慧 丰 2006 年 5 月.
第十七讲 密码执行(1).
第十二讲 密码执行(上).
工业机器人技术基础及应用 主讲人:顾老师
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
位似.
《偏微分方程》第一章 绪论 第一章 绪论 1.1.
入侵检测技术 大连理工大学软件学院 毕玲.
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
Sssss.
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
Presentation transcript:

第一章 绪论 1.1 遗传算法的生物学基础 1.1.1 遗传与变异 生物在自然界中的生存繁衍,显示出了其对自然环境的自适应能力。受其启发, 第一章 绪论 1.1 遗传算法的生物学基础 生物在自然界中的生存繁衍,显示出了其对自然环境的自适应能力。受其启发, 人们致力于对生物各种生存特性的机理研究和行为模拟,为人工自适应系统的设计 和开发提供了广阔的前景。遗传算法(Genetic Algorithms,简称GAs)就是这种生物 行为的计算机模拟中令人瞩目的重要成果。基于对生物遗传和进化过程的计算机模 拟,遗传算法使得各种人工系统具有优良的自适应能力和优化能力。 遗传算法所借鉴的生物学基础就是生物的遗传和进化。 1.1.1 遗传与变异 遗传(Heredity)—— 世间的生物从其父代继承特性或性状,这种生命现象就称为 遗传(Heredity),由于遗传的作用,使得人们可以种瓜得瓜、 种豆得豆,也使得鸟仍然是在天空中飞翔,鱼仍然是在水中邀 游。

• 构成生物的基本结构和功能的单位是细胞(Ce11)。 • 细胞中含有的一种微小的丝状化合物称为染色体(Chromosome),生物的所有遗 传信息都包含在这个复杂而又微小的染色体中。 • 基因 经过生物学家的研究,控制并决定生物遗传性状的染色体主要是由一种叫做脱 氧核糖核酸(deoxyribonucleic acid 简称DNA)的物质所构成。 DNA在染色体中有 规则地排列着,它是个大分子的有机聚合物,其基本结构单位是核苷酸,许多核苷 酸通过磷酸二酯键相结合形成一个长长的链状结构,两个链状结构再通过碱基间的氢键有 规律地扭合在一起,相互卷曲起来形成一种双螺旋结构。基因就是DNA长链结构中占有一 定位置的基本遗传单位。 • 遗传信息是由基因(Gene)组成的,生物的各种性状由其相应的基因所控制。 • 基因是遗传的基本单位。细胞通过分裂具有自我复制的能力,在细胞分裂的过 程中,其遗传基因也同时被复制到下一代,从而其性状也被下一代所继承。

• 遗传基因在染色体中所占据的位置称为基因座(Locus); • 同一基因座可能有的全部基因称为等位基因(Allele); • 某种生物所特有的基因及其构成形式称为该生物的基因型(Genotype); • 而该生物在环境中呈现出的相应的性状称为该生物的表现型(Phenotype); • 一个细胞核中所有染色体所携带的遗传信息的全体称为一个基因组(Genome)。

生物的遗传方式: 1. 复制 生物的主耍遗传方式是复制。遗传过程中,父代的遗传物质DNA被复制到子 1. 复制 生物的主耍遗传方式是复制。遗传过程中,父代的遗传物质DNA被复制到子 代。即细胞在分裂时,遗传物质DNA通过复制(Reproduction)而转移到新生的细 胞中,新细胞就继承了旧细胞的基因。 2. 交叉 有性生殖生物在繁殖下一代时,两个同源染色体之间通过交叉(Crossover)而重 组,亦即在两个染色体的某一相同位置处DNA被切断,其前后两串分别交义组合 而形成两个新的染色体。 3. 变异 在进行细胞复制时,虽然概率很小,仅仅有可能产生某些复制差错,从而使 DNA发生某种变异(Mutation),产生出新的染色体。这些新的染色体表现出新的 性状。 如此这般,遗传基因或染色体在遗传的过程中由于各种各样的原因而发生变化。

1.1.2 进化 地球上的生物,都是经过长期进化而形成的。根据达尔文的自然选择学说,地 球上的生物具有很强的繁殖能力。在繁殖过程中,大多数生物通过遗传,使物种 保持相似的后代;部分生物由于变异,后代具有明显差别,甚至形成新物种。正 是由于生物的不断繁殖后代,生物数目大量增加,而自然界中生物赖以生存的资 源却是有限的。因此,为了生存,生物就需要竞争。生物在生存竞争中,根据对 环境的适应能力,适者生存,不适者消亡。自然界中的生物,就是根据这种优胜 劣汰的原则,不断地进行进化。 • 生物的进化是以集团的形式共同进行的,这样的一个团体称为群体(Population), 或称为种群。 • 组成群体的单个生物称为个体(Individual), • 每一个个体对其生存环境都有不同的适应能力,这种适应能力称为个体的适应度(Fitness)。

1.1.3 遗传与进化的系统观 虽然人们还未完全揭开遗传与进化的奥秘,即没有完全掌握其机制、也不完全 1.1.3 遗传与进化的系统观 虽然人们还未完全揭开遗传与进化的奥秘,即没有完全掌握其机制、也不完全 清楚染色体编码和译码过程的细节,更不完全了解其控制方式,但遗传与进化的 以下几个特点却为人们所共识: (1) 生物的所有遗传信息都包含在其染色体中,染色体决定了生物的性状; (2) 染色体是由基因及其有规律的排列所构成的,遗传和进化过程发生在染色体上; (3) 生物的繁殖过程是由其基因的复制过程来完成的; (4) 通过同源染色体之间的交叉或染色体的变异会产生新的物种,使生物呈现新的 性状。 (5) 对环境适应性好的基因或染色体经常比适应性差的基因或染色体有更多的机会 遗传到下一代。

1.2 遗传算法简介 遗传算法是模拟生物在自然环境下的遗传和进化过程而形成的一种自适应全局 优化概率搜索方法。 1.2 遗传算法简介 遗传算法是模拟生物在自然环境下的遗传和进化过程而形成的一种自适应全局 优化概率搜索方法。 它最早由美国密西根大学的H.Holland教授提出,起源于60年代对自然和人工 自适应系统的研究; 1967年,Bagley发表了关于遗传算法应用的论文,在其论文中首次使用“遗传算法( Genetic Algorithm)”一词。 70年代 De Jong基于遗传算法的思想在计算机上进行了大量的纯数值函数优化 计算实验。 在一系列研究工作的基础上,80年代由Goldberg进行归纳总结,形成了遗传算法的基本框架。

1.2.1 遗传算法概要 对于一个求函数最大值的优化问题(求最小值也类同),一般可描述为下述数 学规划模型: max f(X) (1-1) 1.2.1 遗传算法概要 对于一个求函数最大值的优化问题(求最小值也类同),一般可描述为下述数 学规划模型: max f(X) (1-1) s.t. XR (1-2) RU (1-3) 其中: X=[x1,x2,…,xn]T为决策变量, f(X)为目标函数, 式(1-2)、(1-3)为约束 条件, U是基本空间, R是U的一个子集。 满足约束条件的解X称为可行解; 集合R表示由所有满足约束条件的解所组成的一个集合,叫做可行解集合。 它们之间的关系如图所示。

对于上述最优化问题,目标函数和约束条件种类繁多,有的是线性的,有的是非 线性的;有的是连续的,有的是离散的;有的是单峰值的,有的是多峰值的。随着 研究的深入,人们逐渐认识到在很多复杂情况下要想完全精确地求出其最优解既不 可能,也不现实,因而求出其近似最优解或满意解是人们的主要着眼点之一。 总的来说,求最优解或近似最优解的方法主要有三种: 枚举法、启发式算法和搜索算法。 随着问题种类的不同,以及问题规模的扩大,要寻求到一种能以有限的代价来 解决上述最优化问题的通用方法仍是个难题。而遗传算法却为我们解决这类问题 提供了一个有效的途径和通用框架,开创了一种新的全局优化搜索算法。

遗传算法中: 将n维决策向量X=[x1,x2,…,xn]T用n个记号Xi(i=1,2,…,n))所组成的符号串X来去示: X=xlx2…xn  X=[x1,x2, …,xn]T • 把每一个xi看作一个遗传基因,这样,X就可看做是由n个遗传基因所组成的一个 染色体。 • 这里的等位基因可以是一组整数。也可以是某一范围内的实数值,或者是纯粹的 一个记号。最简单的等位基因是由0和1这两个整数组成的,相应的染色体就可 表示为一个二进制符号串。 • 这种编码所形成的排列形式X是个体的基因型,与它对应的X值是个体的表现型。 • 对于每一个个体X,要按照一定的规则确定出其适应度,个体的适应度与其对应 的个体表现型X的目标函数值相关联,X越接近于目标函数的最优点,其适应度越大;反之,其适应度越小。 遗传算法中,决策变量X组成了问题的解空间。对问题最优解的搜索是通过对染色体X的搜索过程来进行的。从而所有的染色体X就组成了问题的搜索空间。

生物的进化是以集团为主体的。与此相对应,遗传算法的运算对象是由M个个 体所组成的集合,称为群体(或称种群)。与生物一代一代的自然进化过程相类 似,遗传算法的运算过程也是一个反复迭代过程: 第t代群体记做 P(t), 经过一代遗传和进化后,得到 t+1 代群体,记做 P(t+1), 这个群体不断地经过遗传和进化操作,并且每次都按照优胜劣汰的规则将适应 度较高的个体更多地遗传到下一代,这样最终在群体中将会得到一个优良的个体 X,它所对应的表现型X将达到或接近于问题的最优解X*。

1.2.2 遗传策法的运算过程 选择(复制): 根据各个个体的适应度,按照一 定的规则或方法,从第t代群体P(t) 实际问题参数集 编码 群体t 计算适值 运算:复制 交叉 变异 群体t+1 满足要求? 解码 改善或解决实际问题 群体t+1群体t Y N 1.2.2 遗传策法的运算过程 选择(复制): 根据各个个体的适应度,按照一 定的规则或方法,从第t代群体P(t) 中选择出一些优良的个体遗传到下 一代群体P(t+1)中; 交叉: 将群体P(t)内的各个个体随机搭配 成对,对每一对个体,以某个概率 (称为交叉概率)交换它们之间的 部分染色体; 变异: 对群体P(t)中的每一个个体,以某一概率(称为变异概率)改变某 一个或某一些基因座上的基因值为其他基因值。

1.2.3 遗传算法的手工模拟计算示例 为更好地理解遗传算法的运算过程,下面用手工计算来简单地模拟遗传算法的各 个主要执行步骤。 1.2.3 遗传算法的手工模拟计算示例 为更好地理解遗传算法的运算过程,下面用手工计算来简单地模拟遗传算法的各 个主要执行步骤。 例:求下述二元函数的最大值: max f(x1,x2)=x12+x22 s.t. x1  {1,2,3,4,5,6,7} x2  {1,2,3,4,5,6,7} (1) 个体编码 遗传算法的运算对象是表示个体的符号串,所以必须把变量 x1, x2 编码为一种 符号串。本题中,用无符号二进制整数来表示。 因 x1, x2 为 0 ~ 7之间的整数,所以分别用3位无符号二进制整数来表示,将它 们连接在一起所组成的6位无符号二进制数就形成了个体的基因型,表示一个可 行解。 例如,基因型 X=101110 所对应的表现型是:x=[ 5,6 ]。 个体的表现型x和基因型X之间可通过编码和解码程序相互转换。

(2) 初始群体的产生 遗传算法是对群体进行的进化操作,需要给其淮备一些表示起始搜索点的初始 群体数据。 本例中,群体规模的大小取为4,即群体由4个个体组成,每个个体可通过随机 方法产生。 如:011101,101011,011100,111001 (3) 适应度汁算 遗传算法中以个体适应度的大小来评定各个个体的优劣程度,从而决定其遗传 机会的大小。 本例中,目标函数总取非负值,并且是以求函数最大值为优化目标,故可直接 利用目标函数值作为个体的适应度。 (4) 选择运算 选择运算(或称为复制运算)把当前群体中适应度较高的个体按某种规则或模型遗传到下一代群体中。一般要求适应度较高的个体将有更多的机会遗传到下一代 群体中。

本例中,我们采用与适应度成正比的概率来确定各个个体复制到下一代群体中 的数量。其具体操作过程是: • 先计算出群体中所有个体的适应度的总和 fi ( i=1.2,…,M ); • 其次计算出每个个体的相对适应度的大小 fi / fi ,它即为每个个体被遗传 到下一代群体中的概率, • 每个概率值组成一个区域,全部概率值之和为1; • 最后再产生一个0到1之间的随机数,依据该随机数出现在上述哪一个概率区 域内来确定各个个体被选中的次数。 个体编号 初始群体p(0) 适值 占总数的百分比 总和 1 2 3 4 011101 101011 011100 111001 34 25 50 0.24 0.17 0.35 143 选择次数 选择结果 x1 x2 3 5 5 3 3 4 7 1 1 24% 17% 35% 1# 2# 3# 4#

交叉运算是遗传算法中产生新个体的主要操作过程,它以某一概率相互交换某 两个个体之间的部分染色体。 本例采用单点交叉的方法,其具体操作过程是: (5) 交叉运算 交叉运算是遗传算法中产生新个体的主要操作过程,它以某一概率相互交换某 两个个体之间的部分染色体。 本例采用单点交叉的方法,其具体操作过程是: • 先对群体进行随机配对; • 其次随机设置交叉点位置; • 最后再相互交换配对染色体之间的部分基因。 选择结果 01 1101 11 1001 1010 11 1110 01 配对情况 交叉点位置 个体编号 1 2 3 4 1-2 3-4 1-2:2 3-4:4 交叉结果 011001 111101 101001 111011 可以看出,其中新产生的个体“111101”、“111011”的适应度较原来两个个体 的适应度都要高。

变异运算是对个体的某一个或某一些基因座上的基因值按某一较小的概率进 行改变,它也是产生新个体的一种操作方法。 (6) 变异运算 变异运算是对个体的某一个或某一些基因座上的基因值按某一较小的概率进 行改变,它也是产生新个体的一种操作方法。 本例中,我们采用基本位变异的方法来进行变异运算,其具体操作过程是: • 首先确定出各个个体的基因变异位置,下表所示为随机产生的变异点位置, 其中的数字表示变异点设置在该基因座处; • 然后依照某一概率将变异点的原有基因值取反。 个体编号 1 2 3 4 交叉结果 011001 111101 101001 111011 变异结果 变异点 5 6 011101 111111 111001 111010 子代群体p(1) 对群体P(t)进行一轮选择、交叉、变异运算之后可得到新一代的群体p(t+1)。

从上表中可以看出,群体经过一代进化之后,其适应度的最大值、平均值都得 到了明显的改进。事实上,这里已经找到了最佳个体“111111”。 个体编号 子群体p(1) 适值 占总数的百分比 总和 1 2 3 4 011101 111111 111001 111010 34 98 50 53 0.14 0.42 0.21 0.23 235 x1 x2 3 5 7 7 7 1 7 2 从上表中可以看出,群体经过一代进化之后,其适应度的最大值、平均值都得 到了明显的改进。事实上,这里已经找到了最佳个体“111111”。 [注意] 需要说明的是,表中有些栏的数据是随机产生的。这里为了更好地说明问题, 我们特意选择了一些较好的数值以便能够得到较好的结果,而在实际运算过程中 有可能需要一定的循环次数才能达到这个最优结果。

个体编号 初始群体p(0) 适值 fi(x1,x2) 占总数的百分比 fi / f 1 2 3 4 011101 101011 011100 111001 34 25 50 0.24 0.17 0.35 x1 x2 3 5 5 3 3 4 7 1 fi=143 fmax=50 f=35.75 选择结果 配对情况 交叉点位置 1-2 3-4 1-2:2 3-4:4 交叉结果 011001 111101 101001 111011 选择次数 变异结果 变异点 5 6 111111 111010 子代群体p(1) 98 53 0.14 0.42 0.21 0.23 7 7 7 2 fi=253 fmax=98 f=58.75

1.3 遗传算法的发展 进化算法与其他科学技术一样,都经历一段成长过程,逐渐发展壮大。此过程可 大致分为三个时期:萌芽期、成长期和发展期。 1.3 遗传算法的发展 进化算法与其他科学技术一样,都经历一段成长过程,逐渐发展壮大。此过程可 大致分为三个时期:萌芽期、成长期和发展期。 (1) 萌芽期 (50年代后期至70年代初期) • 50年代后期,一些生物学家着手采用电子计算机模拟生物的遗传系统,尽管这些工作纯粹是研究生物现象,但其中已使用现代遗传算法的一些标识方式。 • 1965年,德国的L.Rechenberg等人正式提出进化策略的方法,当时的进化策略只 有一个个体,而且进化操作也只有变异一种。 • 1965年,美国的L.j.Fogel正式提出进化规划,在计算中采用多个个体组成的群 体,而且只运用变异操作。 • 60年代期间,美国J.H.Holland在研究自适应系统时,提出系统本身与外部环境 相互协调的遗传算法。1968年,J.H.Holland教授又提出模式理论,它成为遗传 算法的主要理论基础。 • 1967年,Bagley发表了关于遗传算法应用的论文,在其论文中首次使用“遗传算 法( Genetic Algorithm)”一词。

(2) 成长期 (70年代中期至80年代末期) • 1975年,J.H.Holland教授的专著《自然界和人工系统的适应性(Adaptation in Natural and Artificial System)》正式出版,全面地介绍了遗传算法,人们常常 把这一事件视作遗传算法问世的标志, Holland也被视作遗传算法的创始人。 • 1975年,De.Jong在其博士论文中结合模式定理进行了大量的纯数值函数优化计 算实验,树立了遗传算法的工作框架,得到了一些重要且具有指导意义的结论。 • 1987年,美国D.Lawrence总结人们长期从事遗传算法的经验,公开出版《遗传 算法和模拟退火(Genetic Algorithm and Simulated Annealing)》一书,以论文 集形式用大量实例介绍遗传算法。 • 1985年,作为Holland的学生,D.E.Goldberg博士出版专著《遗传算法——搜索、 优化及机器学习(Genetic Algorithms——in Search,Optimization and Machine Learning)》,全面、系统地介绍遗传算法,使这一技术得到普及与推广。该书 被人们视为遗传算法的教科书。 • 1985年,在美国举行第一届遗传算法国际学术会议(International Conference on Genetic Algorithms,简称ICGA),与会者交流运用遗传算法的经验。随后, 1987,1989,1991,1993,l 995及l 997年,每2年左右都举行一次这种会议。

(3) 发展期(90年代以后) 90年代,遗传算法不断地向广度和深度发展。 (3) 发展期(90年代以后) 90年代,遗传算法不断地向广度和深度发展。 • 1991年,D.Lawrence出版《遗传算法手册(Handbook of Genetic Algorithms )一书,详尽地介绍遗传算法的工作细节。 • 1996年 Z.Michalewicz的专著《遗传算法 + 数据结构 = 进化程序》深入讨论了遗传算法的各种专门问题。 同年,T.Back的专著《进化算法的理论与实践:进化策略、进化规划、遗传算法》 深入阐明进化算法的许多理论问题。 • 1992年,Koza出版专著《遗传规划——应用自然选择法则的计算机程序设计(Genetic Programming:on the Programming of Computer by Means of Natural Selection)》,该书全面介绍了遗传规划的原理及应用实例,标明遗传规划己成为进化算法的一个重要分支。Koza本人也被视作遗传规划的奠基人。 • 1994年,Koza又出版第二部专著《遗传规划Ⅱ:可再用程序的自动发现(Genetic Programming Ⅱ:Automatic Discovery of Reusable Programs)》,提出自动定义函数的新概念,在遗传规划中引入子程序的新技术。 同年,K.E.Kinnear主编《遗传规划进展(Advances in Genetic Programming)》,汇集许多研究工作者有关应用遗传规划的经验和技术。

• 90年代期间,有关遗传算法的国际会议也比较活跃,见下表。 • 我国开展遗传算法研究,主要在90年代。目前,已成为继专家系统、人工神 经网络之后有关人工智能方面的第三个热点课题。

1.4 遗传算法的应用 遗传算法提供了一种求解复杂系统优化间题的通用框架,它不依赖于问题的具 1.4 遗传算法的应用 遗传算法提供了一种求解复杂系统优化间题的通用框架,它不依赖于问题的具 体领域,对问题的种类有很强的鲁棒性,所以广泛应用于很多学科。下面是遗传 算法的一些主要应用领域: (1) 函数优化 函数优化是遗传算法的经典应用领域,也是对遗传算法进行性能评价的常用算例。 对于一些非线性、多模型、多目标的函数优化问题,用其他优化方法较难求解,用遗传算法可以方便地得到较好的结果。 (2) 组合优化 随着问题规模的增大,组合优化问题的搜索空间也急剧扩大,有时在目前的计算机上用枚举法很难或甚至不可能求出其精确最优解。对这类复杂问题,人们己意识到应把主要精力放在寻求其满意解上,而遗传算法是寻求这种满意解的最佳工具之一。实践证明,遗传算法对于组合优化中的NP完全问题非常有效。 例如,遗传算法已经在求解旅行商问题、背包问题、装箱问题、图形划分问题等方面得到成功的应用。

(3) 生产调度问题 生产调度问题在很多情况下所建立起来的数学模型难以精确求解,即使经过一些简化之后可以进行求解,也会因简化得太多而使得求解结果与实际相差甚远。而目前在现实生产中也主要是靠一些经验来进行调度。 现在遗传算法已成为解决复杂调度问题的有效工具,在单件生产车间调度、流水线生产车间调度、生产规划、任务分配等方面遗传算法都得到了有效的应用。 (4) 自动控制 在自动控制领域中很多与优化相关的问题需要求解,遗传算法已在其中得到了初步的应用,并显示出了良好的效果。 例如用遗传算法进行航空控制系统的优化、使用遗传算法设计空间交会控制器、基于遗传算法的模糊控制器的优化设计、基于遗传算法的参数辨识、基于遗传算法的模糊控制规则的学习、利用遗传算法进行人工神经网络的结构优化设计和权值学习等,都显示出了遗传算法在这些领域中应用的可能性。

(5) 机器人学 机器人是一类复杂的难以精确建模的人工系统,而遗传算法的起源就来自于对人工自适应系统的研究,所以机器人学理所当然地成为遗传算法的一个重要应用领域。 例如,遗传算法已经在移动机器人路径规划、关节机器人运动轨迹规划、机器 人逆运动学求解、细胞机器人的结构优化和行为协调等方面得到研究和应用。 (6) 图像处理 图像处理是计算机视觉中的一个重要研究领域。在图像处理过程中,如扫描、 特征提取、图像分割等不可避免地会存在一些误差,这些误差会影响图像处理的效果。如何使这些误差最小是使计算机视觉达到实用化的重要要求。 遗传算法在这些图像处理中的优化计算方面找到了用武之地,日前已在模式识别、图像恢复、图像边缘特征提取等方面得到了应用。 (7) 人工生命 人工生命是用计算机、机械等人工媒体模拟或构造出的具有自然生物系统特 有行为的人造系统。自组织能力和自学习能力是人工生命的两大主要特征。人工生命与遗传算法有着密切的关系,基于遗传算法的进化模型是研究人工生命现象的重要基础理论。

虽然人工生命的研究尚处于启蒙阶段.但遗传算法已在其进化模型、学习模 型、行为模型、自组织模型等方面显示出了初步的应用能力,并且必将得到更为 深入的应用和发展。人工生命与遗传算法相辅相成,遗传算法为人工生命的研究 提供了一个有效的工具,人工生命的研究也必将促进遗传算法的进一步发展。 (8) 遗传编程 Koza发展了遗传编程的概念,他使用了以LISP语言所表示的编码方法,基于 对一种树型结构所进行的遗传操作来自动生成计算机程序。虽然遗传编程的理论尚未成熟,应用也有一些限制,但它已成功地应用于人工智能、机器学习等领域。 (9) 机器学习 学习能力是高级自适应系统所应具备的能力之一。基于遗传算法的机器学习, 特别是分类器系统,在很多领域中都得到了应用。例如,遗传算法被用于学习 模糊控制规则,利用遗传算法来学习隶属度函数,从而更好地改进了模糊系统 的性能;基于遗传算法的机器学习可用来调整人工神经网络的连接权,也可用 于人工神经网络的网络结构优化设计;分类器系统也在学习式多机器人路径规 划系统中得到了成功的应用。