当前位置:文档之家› 关于简单遗传算法变异率的理论分析

关于简单遗传算法变异率的理论分析


470






第23卷
由于第 k + 1 代种群仅与第 k 代种群有关,故 SGA 生成的种群序列 {Y (k )} 是一状态有限 的 Markov 链。特别地,由于对 ∀X, Y ∈ SP N , p(TS TM TC (X ) = Y ) =
X ∈SP N
p(Tc (X ) = X ) · p(TS TM (X ) = Y ) (1)
2N L i=1 k→∞
xi = 1, xi ≥ 0},对于采取全变异算子的 SGA,方
程 πP = π 在 Ω 上的解存在唯一,其中 P = CM S 是 SGA 的状态转移矩阵。 NL 证明 显然 Ω ⊆ R2 是有界闭凸集,从而是紧凸的。又因为 P 是随机矩阵,所以 ∀π ∈ Ω,πP ∈ Ω,即,P (Ω) ⊆ Ω。故由 Brouwer 不动点定理可知,方程 πP = π 在 Ω 上的解存 在。
n→∞ n→∞
由此可知,πP = π 在 Ω 上的解存在唯一。 注2 由上述的证明过程可知,方程 πP = π 在 Ω 上的解实质上是 SGAs 中状态的极限分 布(故称其为“状态方程”)。因此,通过研究 πP = π 解的性态,可以定量分析各个遗传算 子的作用率的取值对 SGAs 收敛性态的影响。为此,我们对状态转移矩阵 P 进行更精细的刻 画。 定义3 SP, SP N 定义如上,所谓早熟集是指如下定义的集合, P S = {(x, · · · , x) ∈ SP N | ∀x ∈ SP }. 显然 |P S | = 2L 。为讨论方便,对状态空间 SP N 中的状态进行排序:早熟集 P S 中的元素 排在第 1 到第 2L 位,SP N 中其余元素排在状态空间的第 2L + 1 到 2N L 位,由此交叉算子与 选择算子的状态转移矩阵 C 与 S 具有以下形式, I2L 0 I2L 0 , , C= S= C1 C2 S1 S 2 其中 I2L 是 2L 阶单位矩阵,C1 和 S1 为 (2N L − 2L ) × 2L 阶矩阵,而 C2 与 S2 为 (2N L − 2L ) 阶 的方阵。对变异算子的状态转移矩阵 M 进行与上述相同阶数的分块, M1 M2 , M = M3 M4 则 SGAs 的状态转移矩阵 P 可详细描述为 M1 + M2 S 1 P = CM S = C1 M1 + C2 M3 + (C1 M2 + C2 M4 )S1 M2 S2 (C1 M2 + C2 M4 )S2 . (3)
(i,j ) M (i, j ) = p(TM (i) = j ) = (1 − pm )N L−H (i,j ) pH m
(2)
其中 i 和 j 表示 SP N 中的任意两个状态(种群)。 以下为叙述方便起见,同时又称种群为状态,种群空间为状态空间。
3
主要结论
变异算子虽然是 SGAs 的全局搜索算子,但我们知道,实际应用中变异率却不能取值太 大。直观上看,这是因为,较大的变异率将会破坏 SGAs 固有的的搜索机制,从而使 SGAs 实 质上沦为随机搜索算法—这一点也为大量的数值试验证实[5−6] 。但是否变异率的选取越小越 好?本节以下的讨论将从另一个角度给出否定的回答。 定义1[10] 令zk = max{J (Yi (k )|i = 1, · · · , N } 表示 SGA 第 k 代种群的最优适应性, 称 SGA 收敛于全局最优,如果
=
X ∈SP N Y ∈SP N
p(TC (X ) = X ) · p(TM (X ) = Y ) · p(TS (Y ) = Y ),
故此 Markov 链又是齐次的。 如果用 C 、M 、S 分别表示交叉、变异和选择算子对应的状态转移矩阵,则由(1)式,上 述 Markov 链 {Y (k )} 的状态转移矩阵 P 可具体分解为 P = CM S 。显然 C 、M 、S 以及 P 都 是非负随机矩阵,特别地,当变异算子是点变异时,M 为正的随机矩阵,其第 (i, j ) 个元素的 值为
N
pi (k ) = p(Yi (k ) is selected) = J (Yi (k ))/
j =1
J (Yj (k )).
交叉算子: 交叉算子是 GAs 中主要的搜索算子,它是一种局部搜索算子。交叉算子对两 个父本个体以概率 pc 进行操作,产生两个新个体。在 SGAs 中,最常见的交叉算子是“单 点”、“多点”以及“均匀”交叉算子。 变异算子: 它是 GAs 中的一个全局搜索算子。在 SGAs 中最常见的变异算子是所谓的 “点变异”,对父本个体的每个编码位,以变异率 pm 改变其码值:如果某一位的码值为 “1”,则以 pm 改变为“0”;反之,如果某一位的码值为“0”, 则以 pm 改变其为“1”。如 果 i 和 j 是两个任意的个体,容易计算,经过点变异算子的作用,由 i 转变为 j 的概率为
关键词: 简单遗传算法;变异算子;变异率;收敛;早熟集;极限分布 分类号: AMS(2000) 68W20
1
引言
基于达尔文“物竞天择,适者生存”进化理论的遗传算法 (Genetic Algorithms,GAs) 是 具有深远发展潜力的一种模拟进化算法[1],[2] 。自从1967年 Holland 提出原始的算法模型以 来,GAs 已广泛应用到工程、管理、预测等众多领域并取得一定的成功,例如人工神经网络 的结构设计、模式识别、集成电路板设计、股票以及期货预测、控制方法的最优设计等等。但 与这种应用的广泛性不相适应的一种局面是,GAs 自身理论研究尚有大量空白[2−3] 。例如,遗 传算子的作用率是众所周知的影响算法收敛性态和搜索效果的重要因素之一,以往针对它们的 研究主要是从数值实验的角度给出经验值,但对于不同的应用,这些作用率的设定往往还是 要依赖于使用者的经验以及对求解问题专门知识的掌握[4−6] ,鲜有相关的理论成果可以参考。 本文中,我们将针对采用二值编码、交叉、变异、选择等遗传算子的简单遗传算法 (Simple GAs,SGAs)[7] ,研究变异算子的作用率(以下称变异率)对 SGAs 收敛性态的影响。 我们知道,在 GAs 中,如果种群收敛到早熟集 (premature set),算法将基本失去对解 空间的搜索能力,如何避免过早收敛,目前的研究主要是从遗传算子、种群规模、遗传漂 浮 (genetic drift) 的角度进行。文献[3]对 GAs 的三种主要遗传算子(交叉、变异、选择算子) 的搜索能力进行了详细的分析,指出交叉与选择算子仅具有局部搜索能力,它们的搜索范围只 由当前种群决定,而变异算子是唯一具有全局搜索能力的遗传算子。但该研究并未讨论算子的 作用率如何设置。文献[5-6]针对采用二值编码、均匀交叉、点变异的 SGA,侧重于讨论交叉 算子与变异算子的作用率对算法重复取样 (resample) 概率的影响,期望能够以一定的概率以及 尽量少的计算得到某特定的个体(例如,适应性最强的个体)。文[8]-[9]等则是从种群规模、 遗传漂浮的角度进行讨论的。 本文将通过变异率与算法收敛于早熟集之间关系的讨论,研究变异率对 SGAs 收敛性态的 影响。为此,以下第2节对 SGA 及其 Markov 链模型作一简单的回顾。第3节首先通过对状态 方程 π = πP 解的讨论,具体研究变异率对算法收敛性态的影响,所得结果蕴含着熟知的“当 变异率取值很小时,SGA 将以接近于 1 的概率收敛于早熟集”的结论。这一点有别于传统的 直接对状态空间极限分布进行讨论的方法。其次对采用点变异与比例选择算子的 SGA,给出
第23卷 第3期 2006年06月






CHINESE JOURNAL OF ENGINEERING MATHEMATICS
Vol. 23 No. 3 June 2006
文章编号:1005-3085(2006)03-0468, 阮晓青
(深圳大学理学院应用数学系,广东深圳 518060) 摘 要: 本文主要目的在于通过对状态方程解的研究,讨论简单遗传算法中变异率的取值对算法收敛性态 的影响,所得结果蕴含着“当变异算子的作用率很小时,算法收敛于早熟集的概率几近于 1”的 结论。同时,我们对于算法收敛于早熟集的概率给出了一个下界估计。 中图分类号: O224 文献标识码: A
收稿日期: 2004-07-01. 作者简介: 李国(1967年9月生),男,博士,副教授,研究方向:计算智能.
第3期
李国,阮晓青:关于简单遗传算法变异率的理论分析
469
算法收敛于早熟集概率的一个下限估计。最后第4节对本文作一小结并对有关研究问题提出展 望。
2
简 单 遗 传 算法 及 其 Markov 链模 型
利用 SGA 解全局优化问题,首先必须把待优化函数 F : D ⊂ Rn → R 转化为某一个适 应性函数 J (·),同时必须对 D 中的变元进行定长二进制编码(称之为染色体或个体)。个体 的集合称之为种群。记所有长度为 L 的二进制串构成的集合为 SP ,由长度为 L 的二进制串 组成的规模为 N 的所有种群的集合记为 SP L (称之为种群空间)。显然,SP 中有 2L 个个 体,SP N 中有 2N L 个种群。一个编码长度为 L、种群规模为 N 的 SGA 可简单描述为: 简单遗传算法(SGA): 步1: 随机产生初始种群 X (0) := {X1 (0), · · ·, XN (0)},并把每一个体 Xi (0) 编码为长 为 L 的二进制串,记为 Yi (0),即 Y (0) = {Y1 (0), · · ·, YN (0)}。计算每个个体 Yi (0) 的适应 性 J (Yi (0)),置 k = 0。 步2: 对每一个体 Yi (k )(1 ≤ i ≤ N ),根据其适应性的大小赋予用于选择父本个体的繁殖概 率 pi (k )。 步3: 应用选择、交叉、变异算子由 Y (k ) 产生中间种群。 步4: 计算中间种群中每个个体的适应性,并按某种选择规则从中产生下一代种群 Y (k + 1)。 步5: 检验 Y (k + 1) 是否满足预设的停机规则,若满足,则输出已求得的最优值,停机; 否则,令 k = k + 1,重复上述算法步2-步4。 显然,SGA 主要步骤是步2-步4,它们表现在用选择算子,交叉算子和变异算子对种群空 间 SP N 的搜索上。 选择算子: 它描述的是步2和步4的操作,其作用效果分别是对父代种群中每一个个体赋予 繁殖概率以及从中间种群中选择下一代种群。最常见的繁殖概率赋予方式是所谓的“比例选 择”
相关主题