遗传算法的数学基础.docx
- 文档编号:8958179
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:19
- 大小:104.09KB
遗传算法的数学基础.docx
《遗传算法的数学基础.docx》由会员分享,可在线阅读,更多相关《遗传算法的数学基础.docx(19页珍藏版)》请在冰豆网上搜索。
遗传算法的数学基础
第3章遗传算法的数学基础
遗传算法在机理方面具有搜索过程和优化机制等属性,数学方面的性质可通过模式定理和构造块假设等分析加以讨论,Markov链也是分析遗传算法的一个有效工具。
遗传算法的选择操作是在个体适应度基础上以概率方式进行的,在概率选择方式上与模拟退火法有些类似。
木章将较全局地介绍遗传算法的基础数学理论和分析工具,包括验证基础遗传算法(SGA)的有效性的模式定理,分析遗传算法过程的Walsh模式变换方法,遗传算法的欺骗问题以及遗传算法的动态分析匸具一Markov链分析。
3.1模式定理
1.模式
我们将种群中的个体即基因串中的相似样板称为“模式",模式表示基因串中某些特征位相同的结构,因此模式也可能解释为相同的构形,是一个串的子集。
在二进制编码中,模式是基于三个字符集{0,1,*}的字符串,符号*代表0或1。
例1・*1*表示四个元的子集{010011110111}
对于二进制编码串,当串长为L时,共有3L个不同的模式。
例2・串长L=3,则其模式共有{****1**0***1**01**
o***10*00*011*11*00*10*011*10*01*00*111110101011001010100000}共27个
1+2*3+22*3+2—33
遗传算法中串的运算实际上是模式的运算。
如果各个串的每一位按等概率生成0或1,则模式为n的种群模式种类总数的期望值为:
£C;2Q-(1-(1⑵丫)
/=|
种群最多可以同时处理〃2’个模式,见下例
例一个个体(种群中只有一个),父个体011
要通过变异变为子个体001,其可能影响的模式为:
011►00"
被处理的模式总数为8个,8=1*23
如果独立的考虑种群中的各个串,则仅能得到n条信息,然而当把适应值与各个串结合考虑,发掘串群体的相似点,就可得到大量的信息来帮助指导搜索,相似点的大量信息包含在规模不大的种群中。
2.模式阶和定义距
定义1;模式阶
模式H中确定位置的个数成为模式H的模式阶,记作O(H)
例0(011和1**0)=5
定义2定义阶
模式中第一个确定位置和最后一个确定位置之间的距离,记作5(H)
5(011**1**0)=8
例5(001**1***)=5
3.模式定理
假定在给定时间步t(即第t代),种群A(t)中有m个个体属于模式H,记为第t代时,有m个个体属于H模式。
在再生阶段(即种群个体的选择阶段),每个串根据它的适应值进行复制(选择),一个串Ai被复制(选中)的概率为:
'tfj
>1
n表示种群中个体总数
当采用非重叠的n个串的种群替代种群A⑴,可以得到下式:
加(77J+1)=加•芈®
i/j
>1
其中:
/(//)=』,表示在t时模式H的平均适应度
m
若用f=^—表示种群平均适应度,则前式可表示为:
n
加(//昇+1)=加(/7』)丄坐
f
上式表明:
一个特定的模式按照其平均适应度值与种群的平均适应度值之间的比率生长,换句话说就是:
那些适应度值高于种群平均适应度值的模式,在下一代中将会有更多的代表串处于A(t+1)中,因为在时有m(H,t+l)>m(H,t)
假设从匸0开始,某一特定模式适应度值保持在种群平均适应度值以上寸,c为常数c>0,则模式选择生长方程为:
m(H.+1)=m(H,t)匚二、'-=(1+=(1+c)r
f
上式表明,在种群平均值以上(以下)的模式将按指数增长(衰减
)的方式被复制。
下面讨论交叉对模式H的影响:
例:
对串A分别在下而指定点上与Hi模式和出模式进行交叉
A0111000
Hj*1****0(被破坏概率:
也=丄=?
;生存率:
1/6)
/—17—16
H2**勺0**(被破坏概率:
卫2=丄=丄;生存率:
5/6)
/—17—16
显然A与Hi交叉后,Hi被破坏,而与H?
交叉时,
比不被破坏。
一般地有:
模式H被破坏的概率为空2,故交叉后模
/—1
式H生存的概率为-哒宀串论加):
模式H的定义阶)
/—1
考虑到交叉本身是以随机方式进行的,即以概率Pc进行交叉,
故对于模式H的生存概率Pc可用下式表示:
同时考虑选择交叉操作对模式的影响,(选择交叉互相独立不
影响)则子代模式的估计:
上式表明模式增长和衰减依赖于两个因素:
一是模式的适应度值f(H)与平均适应度值的相对大小;另一个是模式定义阶5(H)的大小(当Pc—定,L一定时)。
下面再考察变异操作对模式的影响:
变异操作是以概率Pm随机地改变一个位上的值,为了使得模式H可以生存下来,所有特定的位必须存活。
因为单个等位基因存活的概率为(1—
Pm),并且由于每次变异都是统计独立的,因此,当模式H中O(H)个确定位都存活时,这时模式H才能被保留下来,存活概率为:
(1一几“―O(H)•几(An)«1(为0.01以下)
上式表明O(H)个定位值没有被变异的概率。
由此我们可得到下式
«(//,r+l)—at+l代种群中存在模式H的个体数目
在t代种群中存在模式H的个体数目
/(H)——在t代种群中包含模式H的个体平均适应度
7——t代种群中所有个体的平均适应度
/——个体长度
pc——交叉概率
Pm——变异概率
对于k点交叉时,上式可表示为:
叫H,f+1)>[l-p(-
fc/-i
模式定理:
在遗传算子选择、交叉和变异的作用下,具有低阶、短定义距以及平均适应度高于种群平均适应度的模式在子代中呈指数增长。
4.积木块假设(buildingblockhypochesis)
遗传算法通过短定义距、低阶以及高适应度的模式(积木块),在遗传操作作用下相互结合,最终接近全局最优解。
满足这个假设的条件有两个:
(1)表现型相近的个体基因型类似
(2)遗传因子间相关性较低
积木块假设指出,遗传算法具备寻找全局最优解的能力,即积木块在遗传算子作用下,能生成低阶、短距、高平均适应度的模式,最终生成全局最优解。
模式定理还存在以下缺点:
(1)模式定理只对二进制编码适用
(2)模式定理只是指出具备什么条件的木块会在遗传过程中按
指数增长或衰减,无法据此推断算法的收敛性
(3)没有解决算法设计中控制参数选取问题
3.2Walsh模式变换
1980年,密歇根大学的A.D.Bethke博士论文“作为函数优化器的遗传算法",首次应用Walsh函数进行遗传算法的模式处理,采用Waish函数的离散形式有效地计算模式的平均适应度,从而对遗传算法的优化过程的特征进行分析。
3.3非均匀Walsh模式变换
3.4欺骗问题
在遗传算法中,将所有妨碍评价值高的个体生成,从而影响遗传算法正常工作的问题统称为欺骗问题(deceptiveproblem),
根据模式定理,如果低阶、高适应度模式中包含了最优解的话,遗传算法就可能找出它来,但是如果低阶、高适应度模式中未包含最优串的具体取值,则遗传算法只能找出次优解。
定义竞争模式
若模式H和H,中,*位置是完全一致的,但任一确定位的编码均不同,则称H和H,互为竞争模式。
例10***与01***是竞争模式
10***与11***不是竞争模式
定义欺骗性
假定f(x)的最大值对应的x集合为x*,H为包含x*的m阶模式,H的竞争模式为H,,而且f(H)vf(HJ,则伪m阶欺嵋。
例
对于一个三位二进制编码的模式,如果f(lll)为最大值,下列12个不等式中任意一个不等式成立,则存在欺骗问题。
模式阶数为1时:
f(**l) 模式阶数为2时: f(*ll) f(*ll) 造成上述欺嵋问题的主要原因有两个: 编码不当或适应度函数选择不当。 如果它们均是单调关系,则不会存在欺骗性问题,但是对于一个非线性问题,难于实现其单调性。 1.欺骗函数的类型 Goldberg曾研究用适应度函数的非单调性来研究欺骗性问题。 考虑一个2位二进制最大化问题,假定“11”对应最优解,若H(0*)>H( 1*),则欺骗性存在。 该条件可化为: /•(00)+/(01) 2 「f(10)+.f(ll)或.f(00)+.f(10) 下而以前一种为例进行讨论,设 r=/(ll)//(00),c=/(01)//(00),cf=/(10)//(00) 则有: rvl+c-c, ol: 称为I类欺骗问题,见图1,求最优化时较难 c〈=l: 称为II类欺骗问题,见图2,此问题求最优化更难 图2 这两类欺骗性问题应该称为非单调问题,在非单调问题中同时存在欺骗性和非欺骗性问题。 过去,将适应度函数的非单调问题与欺骗问题同等看待,认为遗传算法只有在单调问题里有效。 但是,如果单调问题不使用遗传算法或者不使用概率搜索,一般的搜索法可能是适用的,没有遗传算法存在的必要。 即使是单调的,只有存在需要高机能交叉操作(非单调且非欺嵋问题),才能使遗传算法存在有意义,这不外乎使交叉操作成为遗传算法本质作用的一个证明。 2.欺骗性化解 可以采用Grey编码或纠正适应度函数 3.遗传算法的困难问题 容易问题: 采用基本的遗传算法,易于得到最优解的场合或问题 困难问题;与上相反 遗传算法的欺骗性与遗传算法的困难性不存在对等或等价关系,这是由于遗传算法的欺嵋性是从静态超平而分析给出的,并且假设个体数无偏差,而遗传算法的困难性来源于不适当的问题表示、交叉和变异的扰动作用、有限的种群大小、复杂的多模型状态图等 O 3.5遗传算法动态分析 从随机过程和数理统计角度讨论遗传算法较为一般的规律,有助于较好地把握遗传算法的特性,以提高求解效率和改善求解效果。 铃木(1995年)从Markov链的角度分析了基本遗传算法(SGA)的统计规律,并得到了一些有意义的结论。 SGA的当前种群只与前一代种群有关,因此SGA可以用一个Markov链来描述。 第四章遗传算法的改进 自从1975年J.H.Holland系统地提岀遗传算法的完整结构和理论以来,总多学者一直致力于推动遗传算法的发展,对编码方式、控 制参数的确定、选择方式和交叉机理等进行了深入的探究,引入了动态策略和自适应策略以改善遗传算法的性能,提出了各种变形的遗传算法(VariantsofCanonicalGenetic Algorithm,简称VCGA).其基本途径概括起来有以下几个方面: (1)改变遗传算法的组成成分或使用技术,如选用优化控制参数、适合问题特性的编码技术等。 (2)采用混合遗传算法 (3)采用动态自适应技术,在进化过程中调整算法控制参数和编码力度 (4)采用非标准的遗传操作算子 (5)采用并行遗传算法 本章将介绍这些方面的典型思路和集中改进的遗传算法。 4」分层遗传算法 对于一个问题,首先随机生成N*n各样本(n>=2,N>=2),然后将它们分成N个子种群,每个子种群包括n各样本,对每个子种群独立的运行各自的遗传算法,记它们为GAi(i=l,2,....N)o这N个遗传算法最好在设置特性上有较大差异,这样就可以为将来的高层遗传算法产生更多种类的优良模式。 在每个子种群的遗传算法运行到一定代数后,将N个遗传算法的结果种群记录到二维数组R[l....N,l...n]中,则R[i,j](i=l…N,j=l...n)表示GA的结果种群的第j个个体。 同时将N各结果种群的平均适应度值记录到数组A[1....N]中,A[i]表示GA: 的结果种群平均适应度。 高层遗传算法与普通遗传算法的操作相类似,也可以分为以下三个步骤: 1•选择(种群之内选择) 基于数组A[1....N],即N个遗传算法的平均适应度值,对数组R代表结果种群进行选择操作,一些结果种群由于它们的平均适应度值高而被复制,甚至复制多次;另一些结果种群由于它们的种群平均适应度值低而被淘汰。 2.交叉(种群之间交叉) 如果R[i,l....n]和R[j,l.….n]被随机地匹配到一起,而且从位置x进行交叉(l 这一步骤相当于交换GA和GAj中结果种群的n-x个个体。 3.变异 以很小的概率将少量随机生成的新个体替换R[l...N,l...n]中随机抽取的个体。 至此,高层遗传算法的第一轮运行结束,N各遗传算法GA (i=l...N)可以从相应于新的R[l....N,l...n]种群继续各自的操作 分层遗传算法的流程图如下: 4.2CHC算法 CHC算法是Eshelman于1991年提出的遗传算法的缩写,第一个C代表(Crossgenerationalelitistselection)策略,H代表异物种重组(Heterogeneous recombination),第二个C代表大变异(Cataclysmic mutation)。 CHC算法与基本遗传算法SGA不同点在于: SGA的遗传操作比较单纯,简单地实行并行处理;而CHC算法牺牲这种单纯性,换取遗传操作的较好效果,并强调优良个体的保留。 下面分别介绍其遗传操作的改进之处。 1.选择 通常遗传算法是依据个体的适应度复制个体完成选择操作的,而在CHC算法中,上世代种群于通过新的交叉方法产生的个体种群混合起来,从中按一定概率选择较优的个体。 这一策略成为跨世代精英选择。 其明显特征表现在: (1)健壮性 由于这一选择策略,即使当交叉操作产生较劣个体偏多时,由于原种群多数个体残留,不会引起个体的评价值降低。 (2)遗传多样性保持 由于大个体群操作,可以更好的保持遗传过程中的遗传多样性 O (3)排序方法 克服了比例适应度计算的尺度计算 2.交叉 CHC算法使用的重组操作是对均匀交叉的一种改进。 均匀交叉对父个体位值的各位位置以相同概率实行交叉操作,这里改进之处是: 当两个父个体的位置相异的位数为m时,从中随机选取m/2个位置,实行父个体位置的互换。 显然,这样的操作对模式具有很强的破坏性,因此,确定一阈值,当个体间的海明距离低于该阈值时,不进行交叉操作。 并且,与种群进化收敛的同时,逐渐地减小该阈值。 3.变异 CHC算法在进化前期不采取变异操作,当种群进化到一定的收敛时期,从优秀个体中选择一部分个体进行初始化。 初始化的方法是选择一定比例的基因座,随机的决定它们的位置。 这个比例值称为扩散率,一般取0.35。 4.3messyGA 根据积木块假设,SGA中,定义距长的模式容易受到破坏,只有从小积木块的模式中才能最终构成最优解,这对进化模拟而言是十分不利的。 为克服这一缺点,Goldberg等在1989年提出了一种变长度染色体遗传算法,该算法在不影响模式定义距的情况下,是优良的模式得以增殖。 在生物进化过程中,其染色体长度比不是固定不变的,而是随着进化过程也在慢慢的变化。 另一方面,在遗传算法的实际应用中,有时为了简化描述问题的解, 也需要使用不同长度的编码串。 例如,用遗传算法对模糊控制器规则库进行优化设计时,事先一般不知道规则数目,这样一个规则库对应一个个体,个体的染色体长度可以描述为变化的。 用染色体算法对人工神经网络结构进行优化设计时,如果各层的节点数是未知的,同样,个体染色体长度也可以描述为变化的。 变长染色体的编码采用二元编制,同时用一个二元数组表示,二元数组的第一位为固定座序号,第二位是基因座上的数值。 变长度染色体中可能在交叉操作中出现缺失位(缺失位上的值用0表示)和重复位(重复位用左边的值表示)。 例.X](1,0)(2,1)(3,1)(4,0)(5,1) X2(1,1)(2,1)(3,0) X,](1,0)(2,1)(3,1)(4,0)(2,1)(3,0) X2(1,1)(5,1) XI染色体为0110X、染色体为10001(位码己变) Xi染色体为01101X2染色体为110 其交叉操作是切断和拼接两部分完成的。 4.4自适应遗传算法 遗传算法的参数中交配概率Pc和变异概率Pm的选择是影响遗传算法行为和性能的关键所在,直接影响算法的收敛性,Pc越大,新个体产生速率就越快。 然而,Pc过大时遗传模式被破坏的可能也越大,使得具有高适应度的个体结构很快就会被破坏,但是如果Pc过小,就不易产生新的个体结构;若Pm取值过大,那么遗传算法就变成了纯粹的随机搜索算法,Pc和Pm的确定在实际应用中是个繁琐和困难的事情。 Srinvivas等提出的自适应遗传算法(Adaptive GA),Pc和Pm能够随适应度自动改变: 1.当种群个体适应度趋于一致或趋于局部最优时,使Pc,Pm增大,反之减小。 2.对于适应度高于种群平均适应度的个体,使Pc,Pm减小 反之增大。 即好的个体尽量保持,差的个体尽量被替代而淘汰 当Pc,Pm恰当时,AGA算法能够在保持群体多样性的同时保证遗传算法的收敛性。 Pc,Pm可按如下简单公式计算: (多有«=&2,人=心) 人(仏-厂) K: 是要选定的 上式虽然简单但存在问题,当F或f趋于fmax时,PC,Pill趋于0,f越小则Pc,Pm大。 这种调整方法对于种群处于进化后期比较合适,但在进化初期是不当的,这会使初期较优的个体处于几乎不变的状态,从而以使进化走向局部最优解。 为此对前式假如作如下修改便使f'或f趋于fmax时,Pc,Pm不会为0。 必=0.9,代2=06%=0丄%=0・°°1 4.5基丁•小生境技术的遗传算法 生物学上,小生境(niche)是指特定环境中的一种组织功能o在自然界中,往往特征、性状相似的物种相聚在一起,并在同类中交配繁殖后代。 在SGA中,交配完全是随机的,虽然这种随机化的交配形式在寻优的初级阶段保持了解的多样性,但在进化的后期,大量个体集中于某一极值点上,它们的后代造成近亲繁殖。 在用遗传算法求解多峰值函数的优化计算时,经常是只能找到个别的几个最优解,甚至往往的得到的是局部最优解。 我们希望优化算法能够找出全部最优解,引进小生境的概念,有助于实现这样的目的。 小生境技术就是将每一类个体划分为若干类,每个类中选岀若干适应度较大的个体作为一个类的优秀代表组成一个种群,再在种群中以及不同种群之间通过杂交、变异产生新一代个体群。 小生境技术特别适合于复杂多峰函数的优化问题。 小生境的模拟方法主要建立在常规选择操作的改进基础上。 1.1970年,Cavichio: 当新产生的子代个体的适应度越过其父代个体的适应度时,所产生的子代个体才能替代父代个体而遗传到下一代个体中,否则父代个体仍保留在下一代种群中。 ——预选择机制的选择策略。 2.1975年,DoJong: 排列机制的选择策略一 一个有限的生存空间中,各种不同的生物为了能够延续生存,它们之间必须相互竞争有限的资源——设计一个排挤因子CF(—般取2或3),由种群中随机选择的1/CF个个体组成排挤成员,然后依据新产生的个体与排挤成员的相似性来排挤一些与排挤成员相类似的个体,个体之间的类似性是由海明距离来度量。 随着排挤过程的进行,群体中的个体逐渐被分类,从而形成一个个小的生成环境,并维持群体的多样性。 3共拿法的选择策略(暂略,较难) 4.6混合遗传算法 众所周知,梯度法、模拟退火法等一些优化算法具有很强的局部搜索能力,而另一些含有问题相关的启发知识的启发式算法的运行效率也比较高。 如果融合这些优化方法的思想,构成一个新的混合遗传算法(hybridgenetic algorithm),是提高遗传算法运行效率和求解质量的一个有效手段。 目前,混合遗传算法体现在两个方面: 一是引入局部搜索过程,二是增加编码变换操作过程。 在构成混合遗传算法时,DeJong提出下面三个基本原则; 1.尽量采用原有算法的编码(这个原有指遗传原有) 2.利用原有算法全局搜索的优点 3.改进遗传算子 第五章进化计算初步 进化计算有三个分支: (1)遗传算法(GA) (2)进化规划(EvolutionaryPrograming)(3)进化策略(EvolutionaryStrategy) 本章将讨论进化计算的理论框架及分支的构成技术,主要介绍遗传程序设计技术。 5.1进化计算理论的基本框架 进化计算是指以进化原理为仿真依据,在计算机上实现的具有进化机制的算法和程序。 目前进化计算侧重于算法的研究,因此有时称为进化算法(EvolutionaryAlgorithm)若有性质来区分, 现有的进化算法可细分为: (1)具有代表性的、最基本的遗传算法(geneticalgorithm)(第二章) (2)侧重于数值分析的进化策略(evolutionarystrategy)(5.2节) (3)介于数值分析和人工智能间的进化规划(evolutionarystrategy)(5.3节) (4)偏向进化自组织和系统动力学特性的进化动力学(evolutionarydynamics) (5)偏向以程式表现人工智能行为的遗传程序设计(geneticprogramming)(5.4节) (6)适应动态环境学习的分类系统(classifier system)(第8章) (7)用以观察复杂系统交互的各种生态模拟系统(echosystemandetc) (8)研究人工生命(artifical life)的元胞自动机(cellualarautomata) (9)模拟蚂蚁群体行为的蚁元系统(antsystem)(10.3节) 基因型与表现型之间的关系是进化计算中的一个基本关系,在 其复杂的非线性关系中“一因多果'‘和“一果多因''是突出的两个特点 表现型的变化是对对象遗传结构和当时环境条件交互作用所致的结果,非线性效果很明显,甚至相差很大的遗传结构可能会导致类似的行为。 这样在研究基因型一 表现型相互关系及其在进化过程中的规律时就必须充分利用非线性系统工具和随机过程的统计测度理论,动力学机制也是必须加以研究的动态属性。 适应度状态图描述了适应度和基因型间的关系,自适应状态图则勾画了适应度与表现型之间的联系状况。 在进化计算中算子占有重要的地位,相应的操作也应反映动态的机制。 因此,进化机制体系可归纳为: 进化计算=进化算子+进化操作+进化策略+进化计算理论 这里进化算子可以有多种形式,进化策略可容纳较为复朵的非线性动力学机制。 进化计算作为完整的体系,应包括最优性、统计分析、选择策略和相应判据等内容。 5.2进化策略 20世纪60年代初,柏林工业大学的学生L.Rechenberg和H.P.Schwefel等在进行风洞实验时,由于设计中 描述物体形状的参数难以用传统方法优化,因此利用生物变异的思想来随即改变参数值,获得了较好的效果。 随后,他们对这种方法进行了深入的研究和发展
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 遗传 算法 数学 基础