基本遗传算法.docx
《基本遗传算法.docx》由会员分享,可在线阅读,更多相关《基本遗传算法.docx(11页珍藏版)》请在第一文库网上搜索。
1、基本遗传算法Holland创建的遗传算法是一种概率搜寻算法,它采用某种编码技术作用于称为染色体的数串,其基本思想是模拟由这些串组成的个体进化过程。该算法通过有组织的、然而是随机的信息交换,重新组合那些适应性好的串。在每一代中,采用上一代串结构中适应性好的位和段来生成一个新的串的群体;作为额外增加,间或也要在串结构中尝试用新的位和段来替代原来的部分。遗传算法是一类随机优化算法,它可以有效地采用已有的信息处理来搜寻那些有盼望改善解质量的串。类似于自然进化,遗传算法通过作用于染色体上的基因,查找好的染色体来求解问题。与自然界相像,遗传算法对待求解问题本身一无所知,它所需要的仅是对算法所产生的每个染色
2、体进行评价,并基于适应度值来转变染色体,使适应性好的染色体比适应性差的染色体有更多的繁殖机会。第一章遗传算法的运行过程遗传算法模拟了自然选择和遗传中发生的复制、交叉和变异等现象,从任一初始种群(Population)动身,通过随机选择、交叉和变异操作,产生一群更适应环境的个体,使群体进化到搜寻空间中越来越好的区域,这样一代一代地不断繁衍进化,最终收敛到一群最适应环境的个体(Individual),求得问题的最优解。完整的遗传算法运算流程可以用图1来描述。由图1可以看出,使用上述三种遗传算子(选择算子、交叉算子和变异算子)的遗传算法的主要运算过程如下:(1)编码:解空间中的解数据X,作为遗传算法
3、的表现形式。从表现型到基因型的映射称为编码。遗传算法在进行搜寻之前先将解空间的解数据表示成遗传空间的基因型串结构数据,这些串结构数据的不同组合就构成了不同的点。(2)初始群体的生成:随机产生N个初始串结构数据,每个串结构数据称为一个个体,N个个体构成了一个群体。遗传算法以这N个串结构作为初始点开头迭代。设置进化代数计数器t-0;设置最大进化代数T;随机生成M个个体作为初始群体P(0)。(3)适应度值评价检测:适应度函数表明个体或解的优劣性。对于不同的问题,适应度函数的定义方式不同。依据详细问题,计算群体P(t)中各个个体的适应度。(4)选择:将选择算子作用于群体。(5)交叉:将交叉算子作用于群
4、体。(6)变异:将变异算子作用于群体。群体P(t)经过选择、交叉、变异运算后得到下一代群体P(t+1)0(7) 终止条件推断:若tWT,则t-t+l,转到步骤(2);若tT,则以进化过程中所得到的具有最大适应度的个体作为最优解输出,终止运算。从遗传算法运算流程可以看出,进化操作过程简洁,简洁理解,它给其他各种遗传算法供应了 一个基本框架。图1遗传算法运算流程一个简洁的遗传算法被Goldberg用来进行轮廓描述并用来举例说明遗传算法的基本组成。t代种群用变量P(t)表示,初始种群P(0)是随机设计的,简洁遗传算法的伪代码描述如下:produre GAbegint=0;initialize P(t
5、);evaluate P(t);while not finished dobegint=t+l;select P(t) from P(t-1);reproduce pairs in P(t);evaluate P(t);endend二.遗传算法的基本操作遗传算法有三个基本操作:选择(Selection) 交叉(Crossover)和变异(Mutation)o(1)选择。选择的目的是为了从当前群体中选出优良的个体,使它们有机会作为父代为下一代繁殖子孙。依据各个个体的适应度值,依据肯定的规章或方法从上一代群体中选择出一些优良的个体遗传到下一代群体中。遗传算法通过选择运算体现这一思想,进行选择的原则
6、是适应性强的个体为下一代贡献一个或多个后代的概率大。这样就体现了达尔文的适者生存原则。(2)交叉。交叉操作是遗传算法中最主要的遗传操作。通过交叉操作可以得到新一代个体,新个体组合了父辈个体的特性。将群体内的各个个体随机搭配成对,对每一个个体,以某个概率(称为交叉概率,Crossover Rate)交换它们之间的部分染色体。交叉体现了信息交换的思想。(3)变异。变异操作首先在群体中随机选择一个个体,对于选中的个体以肯定的概率随机转变串结构数据中某个串的值,即对群体中的每一个个体,以某一概率(称为变异概率,Mutation Rate)转变某一个或某一些基因座上的基因值为其他的等位基因。同生物界一样
7、遗传算法中变异发生的概率很低。变异为新个体的产生供应了机会。三.基本遗传算法的数学模型基本遗传算法可表示为SGA= (C, E, P0,M, , , ,T)式中:C个体的编码方法;E个体适应度评价函数;Po初始种群;M种群大小;选择算子;交叉算子;一一变异算子;遗传算法终止条件。四.基本遗传算法的步骤1 .染色体编码(Chromosome Coding)与解码(Decode)(1)编码:变量x作为实数,可以视为遗传算法的表现型形式。从表现型到基因型的映射称为编码。设某一参数的取值范围为U, U,我们用长度为k的二进制编码符号来表示该参数,则它总共产生少种不同的编码,可使参数编码时的对应关系为:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 遗传 算法