人工智能:8.1 绪 论
8.1.1
遗传与进化的概念
为了对遗传算法的本质内容有更好的理解,下面简单介绍有关生物学方面的基本概念与内容。
1. 生物的遗传
根据细胞学和遗传学理论,生物结构和功能的基本单位是细胞,它通常由细胞膜、细胞质与细胞核组成。细胞膜是细胞外面的一层薄膜,将细胞内的物质与外界分隔,起到保护细胞的作用。细胞核是细胞的最内层,是细胞遗传的核心部分,它由核膜、染色质和核液组成。细胞核中的染色质通常为细长的丝,交织成网状,是细胞核中
遗传物质存在的形式 。在细胞分裂期,细胞核内长丝状的染色质高度螺旋化,缩短变粗,形成光学显微镜可见的染色体
。因此,染色体是染色质在细胞分裂时的一种特殊表现,它主要由蛋白质、DNA(
脱氧核糖核酸) 和少量的
RNA( 核糖核酸) 组成。
DNA 是存在于细胞 核内染色质中的一种重要的核酸,
绝大多数生物的遗传物质是 DNA ,它是
遗传信息的 载体。RNA 是另一种重要的核酸,在细胞核内产生,再进入细胞质中,它在蛋白质合成中起重要作用。脱氧核苷酸是组成
DNA
・218 ・
第 8 章 进化计算
和 RNA
的基本单位,每一核苷酸分子含有一个核糖(
或脱氧核糖) 分子、一个磷酸分子和一个含氮的碱基,多个核苷酸以磷酸顺序相连形成长链的多核苷酸分子,
即核酸的基本结构。核苷酸碱基分为两类 ,一类是 嘌呤双环分子,它包括腺嘌呤
(A) 和鸟嘌呤(G) 两种 ; 另一类是嘧啶单环分子,它包括胸腺嘧啶(T) 、胞嘧啶(C) 和尿嘧啶(U) 三种。在 DNA 中含有 A
、C 、G 、T 四种碱基。在 RNA 中含有 A
、
C 、G
、U
四种碱基, RNA
的分子一般比 DNA
分子小。
DNA 是一种高分子化合物,是生物遗传的重要组成部分。1953
年 ,James
Watson 与 Francis
Crick 发现了 DNA 的内部结构,并提出了著名的 DNA 双螺旋模板学说,该学说提供了 作为主要遗传物质的生物大分子 DNA 结构及其自我复制的模式,同时也说明了基因与蛋白 质生物合成的关系。DNA
是由两条互相平行的脱氧核苷酸长链盘绕而成, DNA
分子中的脱氧核糖和磷酸交替连接,排在外侧,碱基排列在内侧,两条链上的碱基通过氢键链接起来形成碱基对,碱基对只能有两种配对方式 : A
与 T 配对、C
与 G 配对, DNA 大分子以反向互补的两条单链形成双螺旋的立体结构, DNA 上
A - T
、G - C 排列顺序的无穷无尽的变化,便是物种多样性无可穷尽的原因。
生物在繁殖过程中能够将自身的性状传递给后代,这种遗传现象是与遗传物质
DNA 分子的复制有关系的
,DNA 的复制过程是通过
以自身为模 板来进行自我复制的, 如图 8.1
所示 。
一个 DNA
分子形成两个 DNA
分子 ,DNA 分子双链的碱基互补,导致一条链上核苷酸排列顺序决定了其互补链上的核苷酸排列顺序, 所以,每一链都含有合成其互补链所需的全部信息,而每条双链的碱基序列都和祖体相同, 使亲代的遗传信息传递给子 1
代,继之再以同样的方式复制成子 2 代、子 3 代等。DNA 的
结构形式及其复制如图 8.1 所示。
2. 生物的基因
基因是遗传信息中的一种独立的 功能 单位, 从化学结构来看, 1
个基因就是 DNA 长
图 8.1 DNA 的复制
・219 ・
人工智能技术与方法
链上的 1
个结构单位,每一个物种都有各自独特的 DNA
结构,每一个基因也 都有各自独特的 DNA
结构。因此,基因是 具有遗传效应的 DNA
分子链上的特定区域或 一个片段 , DNA
是基因的物质基础 。遗传基因在染色体中的位置称为基因座(Locus)
,同一基因座上可能有的全部基因称为等位基因(Allele)。基因和基因座决定了染色体的特征,从而决定了生物个体的性状,某种生物所特有的基因组成形式称为基因 型(Genotype),同一种基因型生物在不同环境条件下所表现出来的性状称为表现型(Phenotype),一个细胞核中所有染色体所携带的遗传信息的全体称为一个基因组(Genome)。
基因是 生物 RNA 或 DNA 含特定遗传信息的核苷酸序列总称 ,每个基因 含有成百上千个脱氧核苷酸,它们在染色体上的排列顺序就代表了生物的一种遗传信
息 ,产生特定的生命功能
。早期进行遗传及基因实验的是 奥地利的 Gregor Mendel, 他 以豌豆为实验材料进行单因子杂交和双因子杂交实验,于 1865 年提出了遗传学的两个基本定律
: 分离定律和自由组合定律,并开始提出“ 遗传因子” 的概念。
1909
年,丹麦遗传学家 Johansen
提出“ gene” 一词代替“ 遗传因子” 。这里所说的“ 遗传因子” 或“ 基 因” 还只是逻辑推理中的一个概念,作为一种遗传性状的符
号,还没有任何物质上的内容。20 世纪初
20 年代,人们对遗传与基因的研究有了深入的进展
,Water S.Sutton 发现染色体的行为与基因的遗传因子行为是平行的,提出遗传因子是位于染色体上
。美国的 Thomas Morgan
所进行的 果蝇伴性遗传实验具有重大意义,他验证了控制果蝇白眼性状的基因位于 X 染色体上,首次把一个特定的基因与一个特定的染色体联系起来,进一步确立了染色体的遗传学说。
20 世纪 50 年代 Watson 与 Crick 建立了 DNA 双螺旋模板学说, 使遗传学的研究从细胞、染色体的水平深入到分子水平,他们提出的
中心法则说明了基因与蛋白质合成的关系以及遗传密码的机理过程。一般来说, 首先 由在细胞核中的
DNA 基因的碱基以 3 个为一组(三联密码)转录成 mRNA (message
RNA) 的三联密码,然后, mRNA 在细胞核外的核糖体( 蛋白质合成场所) 上,指示一种特定的氨基酸同毗邻的氨基酸连接起来,变成了一种肽链( 蛋白质) ,这个过程称为翻译。中心法则指出了基因在蛋白质的合成中的指导作用, 事实上,基因所提供的是一种潜在的可能性,而只有基因所编码并合成的蛋白质才是生命活动中的主要角 色。
现在,人们已经能够从分子水平上认识到,基因是一段能够编码一条到多条肽链氨基酸顺序的 DNA
。
・220 ・
第 8 章 进化计算
20 世纪 60 年代末, Monod 和 Jacob 提出操纵子学说进一步揭示了生命基本现象的本质,它使人们在认识生命基本现象的实质方面又前进了一步。人们从
Watson 和 Crick 的理论中了解到了基因的自我复制功能,并从中心法则中了解到基因能够指导和编码蛋白质的结构( 氨基酸排列顺序) 。但是,这类基因是否能够真正地起作用,真正编码并合成出某种特定的蛋白质,则受到一类专起调节和控制蛋白质合成作用的基因的影响。操纵子学说扩大了基因的概念,建立 了基因调控与表达的概念,同 DNA 模板学 说具有同样的重要性,它们共同 揭开了遗传密码的复制、转录、调节与控制的奥秘,使人们对于生命基本现象实质的认识大大地具体和深入了一步。
3. 生物的突变
生物在长期的进化过程中,会对基因进行复 制(Reputation) 和交叉(Crossover) 使生物性状的遗传得到选择与控制
; 同时,生物在遗传过程中还会产生变异(Mutation) ,产生新的个体。 广义的变异是指遗传物质的改变,狭义的变异则指单碱基改变 ,生物遗传与变异 的核心就是生物的基因 。生物变异主要有三种来源, 即 基因重组、基因变异和染色体变异。
基因重组是控制不同性状的基因按照遗传中的自由组合规律,重新进行组
合。基因变异是指基因分子结构的改变,包括 DNA
碱基对的增添、缺失或改变。染色体变异是指染色体在结构或数目上的变化,其中数目的变化对新物种的产生 起着很大的作用。
8.1.2
遗传算法(GA)
生物的进化是以集团形式进行的,称之为群体(Population) ,而群体的进化是通过个体(Individual) 的信息遗传与交叉来完成的。与此对应,遗传算法的运算对象也是群体,它由
N 个个体组成一个集合,通过对该集合进行遗传操作来模拟生物的进化过程。遗传算法中的个体就是模拟
生物的染色体,称为人工染色体(Artificial
Chromosome)。为了完成对个体的遗传操作,需要将个体的表现型转换为基因型,这一过程称为编码,反之,将基因型转换为表现型的过程称为解码。在遗传算法中,常采用一个二进制位串来对个体进行编
码, 这种字符串相当于遗
・221 ・
人工智能技术与方法
传学中的染色体,而每一代所产生的字符串个体的总和则相当于群体。
例 8.1 用一个 5 位的二进制串表示个体。
解 一般对于一个 n 位的二进制数,可以表示的状态有 2n 个,5 位的二进制串则可以表示的个体数为 2 5=32 ,下面是 32 个个体及其编码表示:
个
|
11111
|
个体
|
11110
|
个体
|
11101
|
⋯
|
⋯
|
个体
|
00001
|
个体
|
00000
|
遗传算法中的个体与优化问题的解对应,一个个体对应着问题解空间中的一个解。对个体的遗传操作就是在问题解空间中对解的搜索。
1. 遗传算法的运算过程
标准的遗传算法是对群体中的个体进行遗传操作 ,其运算过程如图 8.2
所示, 下面对遗传算法的主要部分作进一步叙述。
(1)
|
个体的编码。在优化问题中,问题空间
常常描述为设计变量、目标函数和约束条件。因此 ,首先需要将问题解空间的设计变量转换为遗传算法中的基因型数据结构
,即对实际的问题进行编码 ,通常用一个固定长度的二进制位串来进行编码,形成遗传算法中的个体,这种编码方式便于以后的遗传操作的模拟以及在计算机上的编程实现。
(2)
|
初始群体的产生。由于遗传算法是对群体的反复操作与迭代的搜索过程 ,因此需要建立一个初始迭代的群体 。群体的大小视具体解决的问题而定,一般较小的问题优化个体可以选择10 ~20 ,复杂一些的问题则需要 50 ~ 100 。初始
群体的每个个体是 通过随机方法产生的
,初始群
图 8.2 遗传算法基本流程
・222 ・
体称为进化的第一代(First Generation) 。
第 8 章 进化计算
(3) 评价函数( 适应度) 。在遗传算法中,通常将优化问题的目标函数进行适
当的变化后,作为遗传算法的评价函数,或称为适应度(Fitness) 。群体在进化过程中,通过适应度来评价个体的优劣,作为以遗传操作的依据,并由此一步步地达到问题的最优逼近值。
(4) 遗传操作。在初始群体的基础上,通过遗传操作产生后代群体。遗传操作也称遗传算子 ,影响着群体的进化过程和效率
。选择(Selection) 、交叉(Crossover) 和变异(Mutation) 是遗传算法的
3 个主要操作算子,它们构成了遗传算法的遗传操作,遗传算法方面大量的研究工作都与遗传算子有关。
(5) 群体进化收敛判断。群体进化的收敛性可以通过各种能够反映群体进化 动态过程的指标加以判断,如群体的平均适应度变化率、最优个体适应度变化率 等。当这些指标达到或小于允许的精度范围时,则可以认为群体的进化过程处于
一种相对平稳的状态,进化过程基本收敛,于是可以结束群体的进化过程。否则, 需要继续群体的进化。
(6) 最优个体解码( 最优解) 。当群体进化结束时,将适应度最大的个体,即
最优个体,进行解 码,从而可以得到相应变量的值,这也就是问题的最优解。下面通过一个函数优化的例子,来说明遗传算法的运算过程 。
例 8.2 求二次函数 f(x) = x 2 的最大值,自变量 x ∈[0 , 31] 。
解 利用遗传算法来求解该优化问题时,其主要步骤如下。
(1) 个体编码。遗传算法的运算对象是表示个体的字符串,为了实现方便,
通常采用固定长度的字符串来表示,字符选用
0 或 1 。本例中,自变量 x 的取值范围为 0 ~ 31 ,可以用 5 位二进制数来表示 x 的取值,即 0 , 1 ,⋯, 31 共 32 个整数值。
(2) 群体初始化。采用随机产生的方法产生初 始群体,这里选取群体规模数
为 4 ,得出由
4 个个体组成的初始群体,即
个体
|
01101
|
个体
|
11000
|
个体
|
01000
|
个体
|
10011
|
它们对应的 x
值分别为 13 、24 、8 、19 ,如图 8.3 中第 ② 栏所示。
・223 ・
人工智能技术与方法
(3) 构造适应度函数。本问题的目标是使二次函数最大,而群体进化过程中
适应度最大的个体即是最优个体,于是可以将该二次目标函数作为适应度函数, 这样在进化结束时,最大适应度值的个体所对应变量 x 的值,将使目标函数达到最大。本例中的目标函数 f (x
) = x 2 可以直接作为适应度函数,在计算适 应度函数时需要对个体进行解码。比如,个体 1 ~个体 3 解码后对应的 x 值分别为 13 、24 、
8 、19 ,相应的适应度则分别为 169 、576 、64 、361 ,如图 8.3 中第③和④栏所示。
个
|
初 始 群 体
|
xi
|
适 应 度 f (xi )
|
f (xi )/ å f (xi )
|
f (xi ) / f
|
M
|
p
|
①
|
②
|
③
|
④
|
⑤
|
⑥
|
⑦
|
|
1
|
01101
|
13
|
169
|
0.14
|
0.58
|
1
|
|
2
|
11000
|
24
|
576
|
0.49
|
1.97
|
2
|
|
3
|
01000
|
8
|
64
|
0.06
|
0.22
|
0
|
|
4
|
10011
|
19
|
361
|
0.31
|
1.23
|
1
|
|
总
|
|
1 170
|
1.00
|
4.00
|
4
|
||
平
|
293
|
0.25
|
1.00
|
1
|
|||
最
|
576
|
0.49
|
1.97
|
2
|
|||
最
|
64
|
0.06
|
0.22
|
0
|
图 8.3 遗传算法
(
第 0 代)
(4) 选择运算。选择或称复制(Reproduction)
运算就是从当前群体中选出优良个体作为父代个体,使它们有机会繁殖后代,一般选择那些适应度较高的个体,
个体适应度越高,被选择的机会就越多,而适应度小的个体则被删除。选择操作的实现方法很多,这里采用和适应度值成正比的概率方法进行选择。首先,计算出群体中所有个体的适应度总和 å f ( xi ) ,然后计算每个个体的相对适应度大小f ( xi ) / å f ( xi ) ,并以此作为相应的选择概率 P (x
i) ,如图 8.3 中第 ⑤ 栏所示。也可以采用轮盘选种法进行筛选,将个体适应度的值
f i (i=1 ,4) 累加得到总适应度
的和 å f i ,每个个体按照适应度对应着相应的区间 [0 ,
f1 ] 、[
f1 ,
f1 + f2 ]
、
[ f1 + f2 ,
f1 + f 2 + f 3 ]
、[
f1 + f 2 + f 3 , å f i ]
,若在区间[0 , å f i ]上随机产生一
个 数,则该数值所在区间对应的个体即被选为父代个体。显然,适应度大的个体在适应度累计值中占有较大的比例,从而被选中的可能性也就大些。
本例中,随机选择 4 个个体,其结果如下。
・224 ・
第 8 章 进化计算
个体 1 被选择 1 次,个体 2 被选择 2 次,个体 4 被选择 1 次,如图 8.3 中第
⑦ 栏所示, M
p表示传递给下一代的个体数目,其中 2 号个体占 2 个,第 1
、4 号
个体保持为 1
个,而 3 号个体为 0 ,不会进行繁殖。群体中个体在理论上被选择的概率分别为 :0.58 、1.97 、0.22 和 1.23 ,如图 8.3 中第 ⑥ 栏所示 。2 号个体(11000)
性能最优(1.97) ,予以复制繁 殖。3
号个体(01000) 性能最差(0.22) ,将它删除,使之死亡,选择的结果基本上反映了生物进化的内部机制。
新群体的 4 个个体分别是 01101 、11000、11000 、10011 ,相应的解码变量值
为 13 、24 、24 、19 ,如图 8.4 中第 ②和③ 栏所示。经过选择运算后,新一代群体的进化性能有明显改善,如图 8.4 中第 ④ 栏所示。新群体的最小适应度由原来的
64 提高到 361
,平均适应度也由原来的增 293 增至 421 。这是因为在本次群体的进化过程中,淘汰了最差个体(3 号) 、增加了优良个体(2 号) 的个数,从而使新群体的总适 应度累计都得了相应的增加。
个
|
初
|
xi
|
选 择 后 适应 度 f (xi )
|
配 对
|
交
|
交
|
xi
|
交 叉 后 适应 度 f (xi
|
)
|
||
①
|
②
|
③
|
④
|
⑤
|
⑥
|
⑦
|
⑧
|
⑨
|
|||
1
|
01101
|
13
|
169
|
|
|
|
|
01100
|
2
|
144
|
|
2
|
11000
|
24
|
576
|
1
|
号 ― 2
|
号
|
4
|
11001
|
25
|
625
|
|
3
|
11000
|
24
|
576
|
3
|
号 ― 4
|
号
|
2
|
11011
|
27
|
729
|
|
4
|
10011
|
19
|
361
|
|
|
|
|
10000
|
16
|
256
|
|
总
|
|
1682
|
|
1754
|
|||||||
平
|
421
|
439
|
|||||||||
最 大 值
|
576
|
729
|
|||||||||
最 小 值
|
361
|
256
|
图 8.4 遗传算法的复制与交换
(
第 1 代)
(5) 交叉运算(Crossover) 。选择运算使新群体的性能得到改善,但是不能使群体产生新个体。交叉运算是使群体产生新个体的操作过程,它通过仿照生物学中杂交的办法对染色体( 字符串) 的某些部分进行交 叉换位。简单的交叉( 即一点交叉) 操作过程是首先对新群体中的个 体(
优胜者) 进行随机配对,然后在配对个体中随机选择交叉点位置。
本例中,利用随机配对的方法选择 1
号和 2 号个体、3 号和 4 号个体作为配对交换对象,如图 8.4 中第 ⑤ 列所示。再利用随机定位的方法,确定这两对配对
・225 ・
人工智能技术与方法
个体的交叉换位的位置,交叉位分别为
4 和 2 。图 8.4 第 ⑥ 列中数字表明交叉点
位于该基因座之后,从字符串的左数第 4
位及第 2 位开始进行部分基因的交换, 图 8.4 中第 ⑦ 列为交叉操作之后的结果。
例如,在配对库中选择第
1 号个体和第 2 号个体作为配对对象、交叉点为 4 ,
如下式左侧所示。从配对个体字符串左数第 4 位个基因座之后进行交叉运算,用下横线标记,所得的新个体如下式的右侧所示。
1 号个体 11000
|
|
1100 0
|
2 号个体 10011
|
|
10011
|
同样,配对库中 3 号和 4 号个体进行配对交叉得到另外两个新个体
11011 、
10000 。这 4 个新个体形成了新的群体,即新一代。图
8.2 中第 ⑦ 列中数字表明, 经过交叉操作之后,在群体中出现了更优的个体(3 号) ,其适应度达到 729 ,远高于交换前的最大适应度 576 ,新群体的平均适应度也由原来的 421 提高到 439 。由于本例中的适应度函数也就是目标函数 f(x
)=x 2 本身,所以函数值也增大了,这说明交换后的新群体正朝着我们所期望的方向发展。
(6) 变异(Mutation) 。变异运算是模仿生物学中基因变异的方法,对个体基因
座上的基因值依概率进行改变,它将个体字符串某位符号进行逆变,即由
1 变为
0 或由 0 变为 1 。例如,3 号个体的第 3 位发生变异,如下式左侧,变异之后得到新的个体如下 :
3 号个体 10000 11000
变异运算也是产生新个体的一种遗传操作,个体是否进行变异以及在哪个部位变异都由事先给定的概率来决定,一般变异发生的概率是很小的。本例中
取变异概率为 0.001 ,由于群体中总共有
20 位,于是发生变异的位数为
20×0.001=0.02
位,这表明群体中没有一位可以变异。
反复执行上述的步骤(1) ~(5) ,直到得出满意的最优解。
以上的例子反映了遗传算法的一些基本运算过程,它利用复制、交换、突变 等操作来模仿生物中的有关进化过程,不断循环迭代计算直到逐渐逼近全局的最 优解。这一过程构成了标准的遗传算法,也称为简单遗传算法 SGA(Simple GA) 。
2. 遗传算法的特点
遗传算法是借鉴生物进化过程中的遗传规律而产生的一种优化搜索技术,它
・226 ・
第 8 章 进化计算
通过遗传操作不 断地进行迭代计算,从而逐步逼近问题的最优解。与其他的优化技术相比,遗传算法具有其自身的一些特点。
(1)
直接使用目标函数值作为优化信息。传统的优化方法一般采用的是基于 梯度信息的技术,常常要求解该函数的一阶导数或二阶导数,对函数的性能要求
较高。遗传算法则是通过适应度函数来指导其搜索方向,它不需要明确的数学方 程及导数表达式 ,只用编码及适应度表示问题 ,从而不受连续可微等条件的约束。此外,在搜索过程中,遗传算法也不需要其他知识或辅助信息,可以用于离散问
题及函数关系不明确的复杂问题,通用性强。
(2)
全局搜索能力 。一般的优化技术是面向单点搜索的计算,即从一个 点( 问题的解) 转移到另外一个点,这类优化方法大多是在初始解附近进行局部优化搜
索,因而在多峰分布的问题空间中常常局限于局部最优解。而遗传算法则是一种群体型优化技术,面向所有的解空间来进行搜索,它通过群体中个体及个体之间的信息交换,采用交换、变异变等遗传操作,产生新的个体并扩大了搜索空间范围,使得搜索得到的结果是全局的最优解而不是局部最优解,具有极强的鲁棒特性。
(3)
隐含的并行性。从以上例子可见,在遗传算法中群体的进化是通过群体 中所有个体的迭代计算来完成的 ,从初
始群体到后代群体的进化 ,个体的适应度、群体的平均适应度均有较大的提高。每次迭代计算都是针对群体中一组个体同时 进行的,而不是针对某个个体进行的。因此,它是一种基于多点的群体搜索,具
有一定的并行性,这种并行性是遗传算法的一个重要的特征, 具有较高的搜索速度。
(4)
随机化搜索与渐进式优化。遗传算法采用的是一种随机化搜索策略,类 似模拟退火等随机化技术 ,但它既不是盲目式的搜索
,也不是穷举式的全面搜索,
而是运用概率来指导搜索的方向,一步步向着搜索空间的最优解区域移动。指导遗传算法执行搜索的依据是适应度,通常也就是它
的目标函数。遗传算法的随机化搜索是渐进式进行的,通过群体中个体的选择、交叉与变异等遗传操作,使新一代的结果优于旧一代,通过不断迭代,逐渐得出最优的结果,这是一个反复迭代的渐进式过程。
(5)
黑箱式结构。从标准遗传算法的运算过程可知,遗传算法是模拟事物的遗传与进化过程而建立的一种优化搜索技术。为了完成该进化模拟, GA 需要根
・227 ・
人工智能技术与方法
据所解决问题的特性对群体的个体进行编码,并建立相应的适应度函数。一旦完成对个体的编码和适应度的表达,整个优化过程就按照常规的遗传操作来完成,
即选择、交叉和变异,操作的结果通过适应度来衡量 。进化过程完成之后,将优良个体进行解码,即得出问题的最优解。在此过程中,个体的编码如同输入,适应度如同输出,遗传算法可看作是一种只考虑输入/ 输出关系的黑箱问题,它并不去深究这种关系的原因,这种特性使
GA 便于处理各种因果关系复杂的问题。
由此可见,遗传算法不同于一般的优化搜索方法,它具有通用性好、鲁棒性
强、算法实用简单、易于并行化等特点,具有十分广阔的应用范围。
3. 遗传算法的研究与发展
早期的遗传算法研究大多是以用计算机来模拟生物系统为主的,人们从生物的角度进行了进化模拟、遗传模拟等方面的研究工作。进入
20 世纪 60 年代后, 美国 Michigan 大学的 J.H.Holland 教授在研究和设计适应系统时提出可以借鉴生物遗传的机制,认识到遗传运算策略在人工适应系统中的重要性,并围绕适应系统做了许多研究工作。
1967 年, Holland 的学生 J.D.Bagley 在博士论文中讨论了遗传算法在博弈中的应用,首次使用了遗传算法这一术语,并采用了复制、交叉、变异、倒位等遗传操作手段进行国际象棋的对弈研究,这些都与后来遗传算法中使用的算子和方法相类似。同时,他还提出了遗传算法的自适应概念,将交叉与变异的概率融于个体编码之中,这些思
想对以后遗传算法的发展起着十分重要的影响作用。
1975 年, Holland 教 授 出 版 了 著 名 专 著 《 自 然 界 和 人 工 系 统 的
适 应 性(Adaptation in Natural and
Artificial System) 》。该书第一次系统地论述了遗传算法的基本理论与方法,提出了遗传算法的基本定理 ―― 模式定理(Schema Theory) , 从而奠定了遗传算法的理论基础 并被视作遗传算法的创始人 。模式定理揭示出了群体中优良个体( 较好模式) 的样本数将以指数规律增长,确认了结构重组遗传操作对于获得隐并行性的重要性,从理论上保证了 遗传算法是一个可以寻求最优可行解的优化过程。该书的出版标志着遗传算法得到正式承认, Holland 也被视作遗传算法的创始人。
同年, De Jong 在其博士论文中,结合模式定理进行了大量的函数优化的计算实验,将选择、交叉、变异等遗传操作进一步完善和系统化,建立了遗传算法
・228 ・
第 8 章 进化计算
的工作框架,为遗传算法及其应用打下了坚实的基础应用,他所得到的许多研究结论至今仍具有指导意义。
此外,还有一些与 GA 几乎独立发展起来的进化算法,如由美国
Fogel 于 20
世纪 60
年代提出的进化规划(Evolutionary Programming) ,由德国柏林技术大学
Rechenberg 和
Schefel 于 1963
年提出进化策略(Evolutionary
Strategy) 等。1989 年美国
Koza 在分析了遗传算法在表达方面的局限性后,提出了遗传规划(Genetic
Programming)
的新概念,用层次化的计算机程序来代替字符串表达问题。现在,
GA 、EP 、ES 和 GP 形成了进化计算的基本研究分支,并不断地向广度和深度延伸。
进入 20 世纪 80 年代,遗传算法成为人工智能研究的一个热点,许多研究工作者在理论及应用方面对遗传算法作了大量的的研究 。1989 年 ,D.E.Goldberg 出版了专著《遗传算法―― 搜索、优化及机器学习(Generic Algorithm ――in
Search, Optimization and Machine Learning)
》,该书总结了遗传算法的主要研究成果,全面完整地论述了遗传算法的基本原理及应用,使得这一技术得到普及与推广。
1991 年, Davis 出版了《遗传算法手册( Handbook of Genetic Algorithms )
》,介绍
了遗传算法在科学计算、工程技术和社会经济等领域中大量的应用实例,为遗传算法的应用研究起到了指
导作用。至此,遗传算法已广泛地应用于生物、工程技术、运筹学、计算机科学、图像处理、模式识别、社会科学等领域 。1985 年,在美国举行了第一次遗传算法国际学术会议。
20
余年来,进化计算无论是在理论研究还是应用研究方面都得到迅速的发展,形成了研究应用的热潮,使人工智能再次成为人们关注的焦点。进化计算与人 工 神 经 网 络 、 模 糊 系 统 理 论 一 起 形 成 了 新 的 研 究 方 向 ― ― 计 算 智 能(Computational)
,受到人们的普遍关注,可以预料在不远的将来,随着理论研究的不断深入和应用领域的不断拓广,计算智能将取得长足的发展。
・229 ・