第七章进化计算

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本章阐述进化计算的基本思想和一般框架。基因型算法与表现型算法的具体细节将分 别在第 8-9 章介绍。
7.1 生物进化对搜索的启示
按照达尔文的生物进化论,地球上的每一物种都经历了漫长的进化历程。生物在繁衍
生息的过程中,使自身品质不断得到改良以逐渐适应生存环境,显示了优异的自组织能力
和对自然环境的自适应能力。这种生命现象被称为进化。 生物进化是以物种群体的形式进行的,组成种群(population)的单个生物被称为个体
(individual)。每个个体对其生存环境有不同的适应能力,这种适应能力被称为个体对环境 的适应度(fitness)。
遗传是生物繁殖和进化的基础。生物的所有遗传信息都包含在生物细胞中的染色体上。 染色体主要由蛋白质和脱氧核糖核酸构成。具有遗传效应的 DNA 片段就是生物遗传的物质
单位,被称为基因。生物的各种性状受相应基因的控制。基因组合的特异性决定了生物的
选择操作实际上是减少解的多样性的过程,具有上一章所述的局部探测性质;遗传操 作实际上是增加解的多样性的过程,具有上一章所述的全局探索性质。因此,设计良好的 选择算子和遗传算子是保证进化算法有良好性能的关键。
(a)
(b)
图 7-2 交叉重组示意图:(a) 执行交叉之前的两个基因串;(b) 执行交叉之后的两个基因串
第七章 进化计算
图 7-3 进化算法的循环过程示意图
除了选择算子和遗传算子以外,在设计进化计算方法时还需要考虑的因素包括:解的 表示方法、起始与停止方法、以及适应度计算方法。其中,
与前述两种不同的进化计算观点相对应,解的表示方法分为基因型和表现型两种。 其中,表现型的表示直接用解的原始形式;基因型的表示则需要将解的原始形式 转换为基因串形式,并在需要时将解的基因串形式再变换为其原始形式。 对于起始与停止方法,我们通常采用随机生成初始解的起始策略;而常用的停止 条件则有:(1)达到已知的或者是希望的适应度;(2)达到预先设定的最大迭代 数;(3)达到预先设定的解的多样性的最小程度;(4)在预定设定的迭代次数内, 最优适应度未见改进。我们可以采用以上一种或几种条件的联合来确定算法是否 应该停止。 适应度计算方法通常根据问题的求解目标来确定。如果待求解的是最大值问题, 则通常直接用目标函数值作为解的适应度;如果是最小值问题,则通常采用目标 函数值的倒数或负数。总之,使最优解的求解符合“最适者生存”的进化原理即 可。 这三个因素,连同前面所述的选择算子和遗传算子,构成了进化算法的五大要素。对 于这五大要素的不同设计结果,导致了不同的进化算法,但尽管存在细节上的差异,但这 些不同算法的基本架构是一致的。算法 7-1 显示了该基本架构。比较算法 7-1 与算法 6-2 可 知,进化算法正是一种特定的探查性搜索算法,是利用生物进化理论对算法 6-2 进行了具体 化之后的产物。
《人工智能:算法之美》草稿
第七章 进化计算
第 7 章 进化计算
以生物遗传学说[1]和达尔文生物进化论[2]为核心的进化(evolution)理论是目前为人们 所广泛接受的生物优化学说。生物在群体繁殖和自然选择的作用下不断进化的过程正是生 物系统动态的自组织和自适应过程。在这一过程中,生物组织对环境的适应能力逐渐增强, 生物群体不断得以发展和完善。生物智能不仅体现在其个体解决问题的能力上,而且体现 在其群体的进化过程中。而人工智能中核心的搜索问题本质上亦是寻找问题最优解答的优 化问题。因此,生物进化理论对于解决人工智能中的搜索问题具有借鉴意义,基于该理论 的优化计算问题被统称为进化计算(evolutionary computation)或模拟进化(simulated evolution)。
选择操作中有两次选择过程。第一次过程被称为父代选择(parent selection),用于从 当前一组解中选择出参与变化的解,这些解可被视为是繁殖新的解的父母。第二次过程被 称为新代选择(survivor selection),用于根据变化后的解和当前种群中的解,选择出构成下 一世代的解,从而完成解的种群从上一代到下一代的变化。在上述选择过程中,根据达尔 文自然选择理论,应优先选择适应度高的解。同时,这种优先不应该是压倒性的,否则就 退化为贪婪策略了,而是应该采用随机策略,使适应度高的个体被选中用于繁殖的机会(概 率)较大,适应度低的个体被选中的概率较低,这意味着适应度高的个体不一定被选中, 适应度的个体也不一定不被选中。通过这种机制,以便跳出局部极小值。
基因承载物质的模拟以及在相应模拟之上的遗传操作。解的优化在基因的变化中得以实现
和表达。而表现型进化算法的创始者们则接受了表现型进化观点。因此,在表现型算法中
不考虑基因、染色体等遗传物质,仅根据定义在问题解上的抽象遗传操作和系统性能的改
ຫໍສະໝຸດ Baidu
进来获得最优解。
北京理工大学计算机学院
刘峡壁 李冬妮
《人工智能:算法之美》草稿
遗传操作用于对第一次选择出来的父代解执行变化,包括重组和突变两种手段。在具 体应用时,也可能只采用其中一种手段。重组操作中,最经常采用的是两两交叉重组,即 对于两个基因串,确定一个彼此交换的基因位置,然后在该位置处分别将两个基因串分成 两部分,最后分别交换各自的一个部分,从而得到两个不同的基因串。图 7-2 为交叉重组的 示意图,注意曲线段颜色上的区别表达了这种交叉重组的过程与结果。
[4]
复杂多变的环境 。
7.2 两种不同的进化计算观点
如今,达尔文提出的生物进化学说已经得到普遍的接受。但是在进化对象上,却存在 两种不同的意见。一种基因型(Genotype)观点认为:进化发生在基因上,而不是发生在 由它们所编码的生物体上,进化是“基因”的进化。而另一种表现型(Phenotype)观点则
(3)突变(mutation)。父代染色体上的基因或父代染色体数目、大小和结构发生突然 的改变,从而形成具有新染色体的子代个体。这种改变是一种不可逆过程,具有突发性、 间断性和不可预测性。突变对于保证生物群体的多样性具有不可替代的作用。
在上述三种基本进化因素的作用下,自然界中的生物经历着不断循环的进化过程。在 这一过程中,生物群体不断得到发展和完善。可见,生物进化过程本质上是一种优化过程, 这已经成为人们的共识。
目前,进化计算方法主要包括遗传算法(genetic algorithms)、遗传规划(genetic programming)、进化策略(evolutionary strategy)和进化规划(evolutionary programming) 四种。这四种方法在利用进化理论求解问题最优解的基本思路上是一致的,但在对于进化 对象的理解上存在差异,从而在进化过程的模拟实现上具有不同的侧重点和实现方式。其 中,遗传算法和遗传规划相似之处更多,本书统称其为基因型进化算法;进化策略和进化 规划的相似之处更多,本书统称其为表现型进化算法。这两类算法的区别在于:1)基因型 算法注重遗传物质的作用,认为进化发生在基因上,生物的进化是基因适应的过程,因此 主要通过模拟基因上的遗传操作完成解的进化。2)表现型算法强调进化的外在表现,认为 不存在进化发生的单一地点,进化是通过生物在环境中的表现反映出来的,是外在表现适 应环境的过程,因此主要通过直接对系统性能进行改进来发现最优解。
较强适应环境变化能力的生物个体具有更高的生存能力,使得它们在种群中的数量不断增
加,同时该生物个体所具有的染色体性状特征在自然选择中得以保留。
北京理工大学计算机学院
刘峡壁 李冬妮
《人工智能:算法之美》草稿
第七章 进化计算
(2)重组(recombination)。来自不同父代染色体上的遗传物质进行随机组合,以产生 不同于父代染色体的新染色体。那些在生物进化过程中所形成的对于自然环境有良好适应 能力的信息都包含在父代个体所携带的染色体基因库中,并由子代个体继承下来。
第七章 进化计算
在没有明确的生物进化证据支持下,很难说这两种不同的进化计算观点孰优孰劣。目 前基因型算法的影响力更大,应用更为普遍,并不是由于基因型进化观点更成功,而是由 于相对于表现型算法,基因型算法的理论研究成果更为丰富和成熟。
7.3 进化算法的一般框架
从解决搜索问题的角度出发,进化算法本质上是基于物种遗传和自然选择等生物进化 机制的启发式随机搜索算法,并且属于探查性搜索算法,其基本过程与上一章算法 6-2 所述 的探查性搜索算法的一般形式类似,而其最大的特点在于应用了生物进化机制来实现解的 变化。根据图 7-1 所示的生物进化问题与搜索问题之间的类比,在进化计算方法中,每个解 将对应于一个生物个体,解的变化将对应于个体的繁殖。因此类似于生物种群的繁殖过程, 以一组解为单位来进行解的变化,不断从当前一组解变化到下一组解。种群中解的个数常 被称为种群规模。解的变化方法则是在解的种群上执行选择和遗传操作。
图 7-1 生物进化与搜索的类比
生物进化理论启发了进化计算方法的出现。反过来,进化计算方法的发展对于生物进 化理论也开始产生深刻的影响。许多科学家已逐渐从计算的角度来理解进化,把增强的信 息处理能力和计算能力作为自然进化的显著特征,认为生物进化是对生物的信息处理(计 算)过程的改进。一个物种对更加复杂和更加多样性的信息处理得越成功,它就越能适应
Step2. 将 X1′ 中的每个解转换成基因串的形式。
Repeat
Step3. 从 X m′ 中选择一组用于繁殖的父代个体,令其为 Pm′ 。
Step4. 对 Pm′ 中的个体执行重组(通常是两两交叉运算),得到若干新个体的集合 Cm′ 。
Step5. 对 Cm′ 中的每个个体执行突变运算。
Step6. 从 X m′ 和 Cm′ 中选择 k 个个体,构成下一代种群 X m′ +1 Step7. 令 m = m + 1 。
围绕着自然选择和遗传操作,进化算法的基本流程如图 7-3 所示:首先从解的当前种
3
群中选择出父代个体,然后执行重组和\或突变操作,得到新的个体,最后从新生成的个体
和老的父代个体中选择出新一代个体,形成进化后的解的种群。这种过程不断迭代,直到
停止条件满足。
北京理工大学计算机学院
刘峡壁 李冬妮
《人工智能:算法之美》草稿
既然生物进化是一种特定的优化过程,那么这一问题便可以与上一章所述的搜索问题 建立类比关系。我们可以将每个解类比于生物中的个体,将每次迭代中的一组解类比于生 物中的一代种群,将解的质量类比于个体对环境的适应度,将问题类比于个体所生存的环 境,其类比关系如图 7-1 所示。根据这样的类比,便可以将解的优化过程模拟为相应的解的 进化过程,从而设计出相应的进化计算方法,该类算法的一般框架将在第 7.3 节叙述。
Until 停止条件满足。
Step8.
在所有
X
i′
m i =1
中选择一个最优解,设其为
x*

Step9. 将 x* 由基因串形式变换为原始解的形式。
多样性,基因结构的稳定性则保证了生物物种的稳定性,而繁殖过程中基因的重组和突变
造成同种生物世代之间或同代不同个体之间的差异,使物种进化成为可能。
在一定生存环境的影响下,大多数高等生物物种通过自然选择和有性繁殖这两个基本
1
[3]
过程实现进化。其中的进化因素可以分为自然选择、重组和突变三种基本形式 。
(1)自然选择(natural selection)。达尔文的“自然选择、适者生存”学说表明:具有
4
北京理工大学计算机学院
刘峡壁 李冬妮
《人工智能:算法之美》草稿
第七章 进化计算
算法 7-1
1
进化算法的一般框架
输入:解集
X
=
{x1,
x 2
,L,
x n
},种群规模
k(可以为
1)
步骤:
Step1. 生成 k 个初始解(通常随机生成),构成初始种群:X1′ = {x1′, x2′ ,L, xk′ },令 m = 1 。
认为基因型观点是对进化的误解,实际上并没有发生进化的单一地点。进化应该是“生物
种群的适应性和多样性”的变化,它主要是一个行为适应的过程,而不是基因适应的过程。
这样两种不一致的观点,必然导致对于进化计算的不同哲学解释和不同的具体实现,从而
得到本章引言中所述的两类进化算法:基因型算法和表现型算法。
基因型算法的创始者们接受了基因型进化观点。因此,基因型算法的核心是对基因与 2
相关文档
最新文档