GA遗传算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单点交叉运算的示例如下所示: A;10110111 00 B:00011100 11
A’:10110111 11 B’:00011100 00
遗传算法的基本流程
常见的交叉形式:
(2)两点交叉 与单点交叉相似,只是需要设置两个交叉点,然后两个染色体相互交换两点之间的部分,从而生成两 个新染色体。一个两点交叉的说明如下: 父辈个体:aaa |aaaa| aaaaaa|bbbb|aaa 父辈个体:bbb|bbbb|bbbbbb|aaaa|bbb
图1 解空间与生物空间的对应
遗传算法的基本流程
遗传算法是一类随机优化算法,但它不是简单的随机比较搜索,而是通过对染色体的评价和对染色体中 基因的作用,有效地利用已有的信息来指导搜索有希望改善优化质量的状态。
该算法包括5个基本要素:变量编码、初始群体的设定、适应度函数的设计、遗传操作设计和参数设定。
0
if f(X)+Cmin ≤ 0
其中,Cmin为一个适当地相对比较小的数,它可用下面方法之一来选取:
• 预先指定的一个较小的数。
• 进化到当前代为止的最小目标函数值。
• 当前代或最近几代群体中的最小目标函数值。
方法二:对于求目标函数最小值的优化问题,变换方法为:
F(X) =
Cmax - f(X) if f(X) Cmax
遗传算法中的自然法则
遗传算法将“优胜劣汰,适者生存”的生物进化原理引入优化参数形成的编 码串联群体中,按所选择的适应度函数并通过遗传中的复制、交叉及变异对 个体进行筛选,使适应度高的个体被保留下来,组成新的群体,新的群体既 继承了上一代的信息,又优于上一代。这样周而复始,群体中个体适应度不 断提高,直到满足一定的条件。遗传算法的算法简单,可并行处理,并能得 到全局最优解。
(1)基于赌轮法的选择算子
(2)期望值方法
遗传算法的基本流程
A、基于赌轮法的选择算子
赌轮法是指根据个体被选择概率大小确定相应个体是否被遗传(复制)到下一代,其 比较判别过程采用了轮盘赌的思想。设种群有n个个体X1,X2,…,Xn,Xi的选择概 率P(Xi),每个个体对应P(Xi)表示为赌轮上的某个区域,按个体数n转动赌轮n次, 根据赌轮停止点区域对应的个体进行选择,个体对应赌轮区域越大被选择的机会越大, 计算个体被选择的数量,这些个体将按选择的数量被复制。在计算机辅助实现过程中, 模拟赌轮一般采用以下方法:根据个体的排序,按选择概率P(Xi)计算累积概率
单点交叉算子的具体计算过程如下:
Ⅰ. 对群体中的个体进行两两随机配对。 若群体大小为M,则共有 [ M/2 ]对相互 配对的个体组。
Ⅱ. 每一对相互配对的个体,随机设置某一基因座之后的位置为交叉点。 若染色体的长度为l ,则共有(l-1)个可能的交叉点位置。
Ⅲ. 对每一对相互配对的个体,依设定的交叉概率pc在其交叉点处相互交换两个个 体的部分染色体,从而产生出两个新的个体。
(1)编码 通过编码将解空间的数据表示成遗传空间的基因型串结构数据。编码一般有二进制编码和实数编码。对于 问题解X,X=(x1,x2,…,xn),二进制编码是把X用0,1串表示,而实数编码是把X用一向量表示,即X= (x1,x2,…,xn),xi是实数。编码设计应适合要解决的问题,应考虑完全性、封闭性、可扩展性和复 杂性等。完全性是指分布在所有问题域的解都可能被构造出来;封闭性是指每个基因编码对应一个可接受 的个体,不产生无效的个体;可扩展性是指对于具体问题,要考虑编码形式与大小影响下的解码时间;复 杂性是指整体考虑基因型的结构复杂性、解码复杂性、计算复杂性等。
(3)均匀交叉
均匀交叉则是依概率交换两个父辈个体基因串的每一位。其过程是:先随机的产生一个与父辈个体基
因串具有同样长度的二进制串,其中0表示不交换,1表示交换。这个二进制串称为交叉模板;然后根
据该模板对两个父辈基因串进行交叉,得到的两个新基因串即为后代新个体。例如:
父辈个体1 :110010111000
(3)生存斗争和适者生存:具有适应性变异的个体被保留下来,不具有适应性变异的个 体被淘汰,通过一代代的生存环境的选择作用,性状逐渐逐渐与祖先有所不同,演变为 新的物种。 Mendel遗传学说
遗传以密码方式存在细胞中,并以基因形式包含在染色体内。每个基因有特殊的位置并 控制某种特殊性质。所以,每个基因产生的个体对环境具有某种适应性。
遗传算法的基本流程
(4)遗传操作设计
• 交叉算子 • 变异算子
A、交叉算子 交叉是把两个父代个体的部分结构加以重组而生成新个体的操作。交叉的作用,是使新的群体中的 个体具有多样性,扩大解的搜索空间,使个体对应的解逐步逼近局部最优解。
交叉算子设计一般要考虑三个问题: (1)交叉概率Pc的确定 (2)在Pc<1的情况下,判别两个个体是否要交叉。 (3)对交叉的个体采用何种形式交叉。
A’:1010 0 01010
变异点
(2)均匀变异算子 该变异方法是针对实数编码方式的。设v=(v1,v2,...,vm)是群体中体,Z=(z1,z2,…,zm)是变异产生的后
v a b 代。均匀性变异则是先在个体v中随机的选择一个分量 k,然后,在一个定义的区间[ k, k]中均匀
v 随机取一个数Vk1代替 k以得到Z,即Z=(v1,v2,…,vk1,…,vm)。
在n个个体组成的种群和给定交叉概率Pc的条件下,需要交叉的个体数为m=nXPc,每代交 叉时,随机抽取个体Xi和Xj,产生(0,1)区间的随机数r,如果r<Pc,则表示Xi和Xj要交叉, 否则不交叉,这样判别直至需要交叉个体数为m时停止。
遗传算法的基本流程
常见的交叉形式有以下几种:
(1)单点交叉 单点交叉右脚简单交叉,具体操作是:在个体基因串中随机设定一个交叉点。实行交叉时,该点 前或后的两个个体的部分结构进行互换,并生成两个新个体。当基因链码的长度为n时,可能有 n-1个交叉点位置。
遗传算法中的相关概念
遗传算法用到各种进化和遗传学得概念。以下是一些主要的概念: (1)串(String):它是个体(Individual)的形式,在算法中为二进制串,并且对应于遗传学中的染色 体(Chromosome). (2)群体(Population):个体的集合称为群体,串是群体的元素。 (3)群体规模(Population Size):在群体中个体的数量称为群体规模,又称群体的大小。 (4)基因(Gene):基因是串中的元素,基因用于表示个体的特征。例如有一个串S=1011,则其中 1,0,1,1这四个元素分别称为基因,它们的值称为等位基因。 (5)基因位置(Gene Position):一个基因在串中的位置称为基因位置,有时也简称基因位。基因位 置由串的左边向右计算,例如在串S=1011中,0的基因位是3.基因位置对应于遗传学中的地点 (Locus). (6)适应度(Fitness):表示某一个体对于环境的适应程度。
遗传算法的基本流程
(3)适应度函数
适应度函数设计是模拟自然选择,进行遗传进化操作的基础,它的评估是遗传操作的依据。适应度 函数值即适应度。由于下面定义的选择概率以适应度为基础,因此适应度是非负的。
方法一:对于求目标函数最大值的优化问题,变换方法为:
F(X) =
f(X)+Cmin if f(X)+Cmin> 0
遗传算法(Genetic Algorithm)
Keynote :尤志强
遗传算法与模拟退火算法一样是为解决组合优化问题而提出!
人工智能在信息处理和解决组合爆炸方面遇到的困难越来越明显迫使 寻求一种适合于大规模问题并具有自组织、自适应、自学习能力的算 法,基于生活进化论的遗传算法被提出!
遗传算法
遗传算法简称GA(Genetic Algorithms)是1962年由美国Michigan大学的Holland教授提出的模 拟自然界遗传机制和生物进化论而成的一种并行随机搜索最优化方法。 遗传算法是以达尔文的自然选择学说(适者生存)以及Mendel遗传学说(基因遗传原理)为基 础发展起来的。 算法思路: GA将问题的求解表示成“染色体”的适者生存过程,通过“染色体”群的一 代代不断进化,包括复制、交叉、变异等操作,最终收敛到“最适应环境”的个体,从 而求得问题的最优解或满意解。
父辈个体2 :101011101011
模板 :
001101011100
后代个体1 :111011101000
后代个体2 :100010111011
均匀交叉在交换位时不考虑其所在位置,破坏模式的概率较大。但另一方面它能搜索到一些前面基于 点的交叉方法无法搜索到的模式。
遗传算法的基本流程
B、变异算子
变异是对群体中的个体的某些基因值得变动。变异的作用是使种群中的某些个体的基因(位)产生 突变引入原种群不含有的基因,形成的新个体与其他的个体有所不同。与交叉算子的作用是使对应 解逐步逼近局部最优解相比,变异算子的作用是使个体对应的解逐步逼近全局最优解。
变异算子设计也要考虑三个问题: (1)变异概率Pm的确定。 (2)在Pm<1的情况下,判别个体的某基因是否要变异。 (3)对需变异的基因采用何种形式变异。
若种群有n个个体,且每一个个体都有N个基因,给定的变异概率为Pm,则需要变异的基因数为 M=nXNXPm,每代变异时,随机抽取个体Xi及某一基因,产生(0,1)区间的随机数r,如果r<Pc,则 表示要变异,,否则不变异,这样判别直至需要变异的基因数为M时停止,一般地,一个个体变异 的基因数控制为最多一个是较合理的。
特点:隐含并行性和全局解空间搜索
GA的应用领域:机器学习、模式识别、图像处理、神经网络、优化控制、组合优化等
遗传算法中的自然法则
自然选择学说包括以下三个方面:
(1)遗传:这是生物的普遍特征,亲代把生物信息交给子代,子代总是和亲代具有相同 或相似的性状。生物有了这个特征,物种才能稳定存在。
(2)变异:亲代和子代之间以及子代的不同个体之间的差异,称为变异。变异是随机发 生的,变异的选择和积累是生命多样性的根源。
,则Pi(Xi)=qi-qi-1,产生n个随机数rk,对每一个随机数,判断其落在
那个概率区间内,则复制相应的Xi,可以得到选择复制后的n个新一代个体。可以看 到适应值越大的染色体被选中(复制)的概率也越大。
B、期望值方法
把每一个体的适应度与平均适应度进行比较,以确定该个体在下一代的复制数,即每个个体 在下一代生存的期望数目为Ni=round(p(xi)*N) ,其中round(x) 表示与x距离最小的整数。 可以看到适应值越大的染色体被选中(复制)的数目也越多。
(2)初始群体的生成
在遗传算法处理流程中,继编码设计后的任务是初始群体的生成,并以此为起点一代代进化直到满足 某种进化停止准则终止进化过程,初始群体也称为进化的初始代,即第一代。初始群体的个体一般可 采用随机产生,一般群体可表示为Z={Xi|Xi=(xi1,xi2,…..xin)},i=1,2,…N},即Xi是染色体或 个体,xi是基因或位。若是实数编码,则xi
遗传算法的基本流程
常用的变异形式:
(1)基本变异算子 基本变异算子是针对二值基因链码而言。其具体操作是:对群体中基因链码随机挑选C个基因位置并 对这些基因位置的基因值以变异概率P取反,即0变成1,1变成0。当C=1时,表示一个基因值取反。 基本位变异运算的示例如下所示:
基本位变异
A:1010 1 01010
上的,其目的是把优胜的个体遗传到下一代,选择操作的实现是根据适应度大小按照某种策略从父 代中挑选个体进入中间群体。选择算子设计依赖选择概率,个体Xi选择概率定义为
reli
fi
N
fi
i 1
其中fi是群体中第i个个体的适应值,N是群体的规模。
当reli越大时,个体Xi被选择遗传(复制)到下一代的可能性越大。目前常用的遗 传选择算子主要有以下几种:
0
if f(X) Cmax
其中,Cmax是一个适当地相对比较大的数,它可用下面几种方法求得: • 预先指定的一个较大的数。 • 进化到当前代为止的最大目标函数值。 • 当前代或最近几代群体中的最大目标函数值。
Βιβλιοθήκη Baidu
遗传算法的基本流程
从群体中选择优胜的个体,淘汰劣质的个体的操作称为选择。它是建立在群体中个体适应值的基础
相关文档
最新文档