遗传算法原理
‘壹’ 怎么用遗传算法理论优化测试用例
明公开了一种基于遗传算法的测试用例优化方法,其特征在于:采用遗传算法所存在的思想,通过优化选择 测试用例,用最小的代价达到最大的覆盖率,找到测试用例选取的有效解决策略,该方法主要包括:编码策略和适应度函数以及测试用例群体选择,遗传
‘贰’ 遗传算法原理与应用实例的介绍
《遗传算法原理与应用实例》主要结合应用实例系统讨论、介绍遗传算法原理及其应用,主要内容包括:遗传算法的基本原理和数学机理、解决连续问题优化的遗传算法和分布式遗传算法、遗传算法的实现技术、遗传算法应用实例,并给出了两个典型的遗传算法源程序。《遗传算法原理与应用实例》在详细介绍遗传算法理论与方法的同时,还给_出了基于遗传算法的费托合成反应动力学模型参数优化的详细设计应用。
‘叁’ 遗传算法——理论·应用与软件实现
遗传算法——理论、应用与软件实现
王小平、曹立明着
西安交通大学出版社
有一份PDF的,扫描版,不算很清晰,
需要的读者话可以联系:[email protected] ···
‘肆’ 什么是遗传算法
遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。它是由美国的J.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。遗传算法的这些性质,已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它是现代有关智能计算中的关键技术。
对于一个求函数最大值的优化问题(求函数最小值也类同),一般可以描述为下列数学规划模型:
遗传算法式中x为决策
变量,式2-1为目标函数式,式2-2、2-3为约束条件,U是基本空间,R是U的子集。满足约束条件的解X称为可行解,集合R表示所有满足约束条件的解所组成的集合,称为可行解集合。
遗传算法的基本运算过程如下:
a)初始化:设置进化代数计数器t=0,设置最大进化代数T,随机生成M个个体作为初始群体P(0)。
b)个体评价:计算群体P(t)中各个个体的适应度。
c)选择运算:将选择算子作用于群体。选择的目的是把优化的个体直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。选择操作是建立在群体中个体的适应度评估基础上的。
d)交叉运算:将交叉算子作用于群体。所谓交叉是指把两个父代个体的部分结构加以替换重组而生成新个体的操作。遗传算法中起核心作用的就是交叉算子。
e)变异运算:将变异算子作用于群体。即是对群体中的个体串的某些基因座上的基因值作变动。
群体P(t)经过选择、交叉、变异运算之后得到下一代群体P(t 1)。
f)终止条件判断:若t=T,则以进化过程中所得到的具有最大适应度个体作为最优解输出,终止计算。
遗传算法是从代表问题可能潜在的解集的一个种群(population)开始的,而一个种群则由经过基因(gene)编码的一定数目的个体(indivial)组成。每个个体实际上是染色体(chromosome)带有特征的实体。染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现(即基因型)是某种基因组合,它决定了个体的形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。因此,在一开始需要实现从表现型到基因型的映射即编码工作。由于仿照基因编码的工作很复杂,我们往往进行简化,如二进制编码,初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代(generation)演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度(fitness)大小选择(selection)个体,并借助于自然遗传学的遗传算子(genetic operators)进行组合交叉(crossover)和变异(mutation),产生出代表新的解集的种群。这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码(decoding),可以作为问题近似最优解。
‘伍’ 遗传算法路径规划是什么原理
遗传算法有相当大的引用。遗传算法在游戏中应用的现状在遗传编码时, 一般将瓦片的坐标作为基因进行实数编码, 染色体的第一个基因为起点坐标, 最后一个基因为终点坐标, 中间的基因为路径经过的每一个瓦片的坐标。在生成染色体时, 由起点出发, 随机选择当前结点的邻居节点中的可通过节点, 将其坐标加入染色体, 依此循环, 直到找到目标点为止, 生成了一条染色体。重复上述操作, 直到达到指定的种群规模。遗传算法的优点:1、遗传算法是以决策变量的编码作为运算对象,可以直接对集合、序列、矩阵、树、图等结构对象进行操作。这样的方式一方面有助于模拟生物的基因、染色体和遗传进化的过程,方便遗传操作算子的运用。另一方面也使得遗传算法具有广泛的应用领域,如函数优化、生产调度、自动控制、图像处理、机器学习、数据挖掘等领域。2、遗传算法直接以目标函数值作为搜索信息。它仅仅使用适应度函数值来度量个体的优良程度,不涉及目标函数值求导求微分的过程。因为在现实中很多目标函数是很难求导的,甚至是不存在导数的,所以这一点也使得遗传算法显示出高度的优越性。3、遗传算法具有群体搜索的特性。它的搜索过程是从一个具有多个个体的初始群体P(0)开始的,一方面可以有效地避免搜索一些不必搜索的点。另一方面由于传统的单点搜索方法在对多峰分布的搜索空间进行搜索时很容易陷入局部某个单峰的极值点,而遗传算法的群体搜索特性却可以避免这样的问题,因而可以体现出遗传算法的并行化和较好的全局搜索性。4、遗传算法基于概率规则,而不是确定性规则。这使得搜索更为灵活,参数对其搜索效果的影响也尽可能的小。5、遗传算法具有可扩展性,易于与其他技术混合使用。以上几点便是遗传算法作为优化算法所具备的优点。遗传算法的缺点:遗传算法在进行编码时容易出现不规范不准确的问题。
‘陆’ 遗传算法 什么是染色体的可行性
1.2 遗传算法的原理 遗传算法GA把问题的解表示成“染色体”,在算法中也即是以二进制编码的串。并且,在执行遗传算法之前,给出一群“染色体”,也即是假设解。然后,把这些假设解置于问题的“环境”中,并按适者生存的原则,从中选择出较适应环境的
‘柒’ 遗传算法和强化学习最大的的区别是什么
有监督的学习、无监督的学习和强化学习。 强化学习采用的是边获得样例边学习的方式,在获得样例之后更新自己的模型,利用当前的模型来指导下一步的行动,下一步的行动获得回报之后再更新模型
遗传算法的原理 遗传算法GA把问题的解表示成“染色体”,在算法中也即是以二进制编码的串。并且,在执行遗传算法之前,给出一群“染色体”,也即是假设解。然后,把这些假设解置于问题的“环境”中,并按适者生存的原则
‘捌’ Visio怎样绘制遗传算法原理图
在文本工具旁有个“绘图工具”----点选里面的铅笔工具(ctrl+4),按住shift,可以画出圆弧。(需要练习一下,因为很容易画出直线。个人经验是按住shift,鼠标快速滑出圆弧后,再调整圆弧大小。)
‘玖’ 求分享 遗传算法——理论、应用与软件实现与遗传算法原理及应用这两本电子书,谢谢
您也给我发一下吧,谢谢!邮箱:[email protected]
‘拾’ 非线性解析反演与遗传算法的结合反演方法
周辉
(青岛海洋大学海洋地球科学学院,青岛266003)
何樵登
(长春地质学院地球物理系,长春130026)
摘要各向异性介质参数反演通常为非线性优化问题。非线性反演方法可以分为两大类:随机搜索方法,如Monte Carlo法、模拟退火和遗传算法及基于非线性最小平方理论的非线性解析反演方法。遗传算法能寻找到全局最优解,但它为一种较费时的方法。非线性解析反演方法能给出一个与初始模型有关的局部最优解。然而,这种方法具有较快的收敛速度。遗传算法与非线性解析反演方法相结合的反演方法利用这两种反演方法的优点而克服其缺点。因此,结合反演方法既能快速收敛,又能寻找到全局最优解。如何合理地将遗传算法和非线性解析反演方法结合是十分重要的。本文提出一种结合方案,即在连续若干次遗传算法迭代后作一次非线性解析反演。理论算例表明结合反演方法具有上述特点。
关键词遗传算法非线性解析反演非线性结合反演各向异性介质
1引言
遗传算法为随机搜索类方法之一,它以概率论为理论基础,用于求解多极值复杂优化问题[9]。遗传算法不要求已知模型空间中后验概率密度的形状并能广泛搜索模型空间。遗传算法模拟自然选择和遗传规律,并遵循适者生存的原则。
遗传算法由Holland在1975年提出[4]。Berg首先将遗传算法应用于地球物理优化问题[1]。Stoffa等系统地研究了种群大小、交叉概率、选择概率和变异概率对多参数优化问题收敛性和收敛速度的影响[11]。Sen等讨论了在选择概率中引入温度参数的作用并提出一些退火方案[10]。周辉等则研究了目标函数与收敛速度和解的精度的关系[16]。
基于最小平方优化理论的非线性反演方法是两大类反演方法之一。当给定的初始模型位于目标函数全局最优解所在的峰谷附近时,这种下降类方法能给出正确解而与初始模型位置无关。下降类算法研究得较深入,应用较广。
Tarantola提出一种基于广义最小二乘法的多维多偏移距声波地震波形解释的一般性非线性地震波形反演方法[12]。随后,Tarantola将该理论推广于各向同性介质的弹性波反演[13]。Gauthier等用理论数据验证了Tarantola提出的方法的正确性[2]。稍后,Tarantola研究非线性解析法反射波弹性反演的策略,指出以纵横波的波阻抗和密度作为反演参数,才尽可能使反演参数之间相互独立[14]。Pan用τ—P变换研究层状声学介质中平面波地震记录非线性解析反演的理论和可行性[6]。为了更多地利用地震数据中的信息,包括VSP资料中反射和转换信息,Mora作了一些工作[5]。当仅用反射数据时反演主要解决引起反射的P波和S波的波阻抗突变。当利用转换数据时,则能分辨大尺度的P波和S波速度变化。Sambridge等改进了修改模型的方法[8]。在子空间中,可同时得到P波、S波波阻抗和密度。周辉等将非线性梯度反演方法推广于多维、多道、多分量任意弹性各向异性介质参数的反演[17]。
非线性解析反演方法和遗传算法结合的反演方法利用非线性解析反演和遗传算法的优点,克服它们的缺点。因此,结合反演方法不仅能搜索到全局最优解,而且能较快地收敛。Porsani等在遗传算法和广义线性反演方法相结合方面作了一些研究[7]。
本文讨论各向异性介质的非线性解析反演方法和遗传算法与非线性解析反演方法相结合的结合反演方法[17]。对于遗传算法读者可参考遗传算法的相关文献[3,9~11]。
2各向异性介质参数非线性解析反演方法
2.1共轭梯度法
反演的目的是利用地面或井中测得的位移场ui(xr,t)求取地下介质密度分布ρ(x)和弹性参数分布Cijkl(x)。ρ(x)、Cijkl(x)称为模型参数。x为研究介质中或边界上任一点,x=(x1,x2,x3),xr为接收点。反演的目标是使目标函数
岩石圈构造和深部作用
取极小值。其中Cd、Cm分别为数据(波场)和模型参数的协方差算子。m0为先验模型参数,m为反演过程中求得的模型参数。由于模型参数有多个,故用向量表示。ucal为给定m的波动方程正演记录,uobs为观测波场,上角标t表示转置。地震记录u和模型参数m之间的函数关系为
岩石圈构造和深部作用
g为非线性算子,(2)式为波动方程的算子形式。记第n次迭代时的模型参数为mn,则有
岩石圈构造和深部作用
及共轭梯度法的迭代公式[15]
岩石圈构造和深部作用
其中Gn为g对mn的Frechet导数,ηn为一常数,可由多种方法计算[5,8]。
梯度
式(4)为梯度反演方法的基本公式。当该公式中的每一量都已知时,迭代就可进行。在这些变量中,最关键的是梯度向量。
2.2目标函数
在最小二乘理论中,权函数是协方差算子逆的核。假设数据集中的误差是不相关的,它仅取决于时间或源和接收器的位置,那么有[14]
岩石圈构造和深部作用
其中σ为数据的均方差。
2.3各向异性介质中的弹性波动方程
令fi(x,t;xs)是第s次激发的内体力密度,Ti(x,t;xs)是地球表面S的应力矢量分量,ni(x)是表面的单位法向分量。那么与第s次激发相应的位移由以下微分方程组给出[15]
岩石圈构造和深部作用
2.4梯度向量
式(4)中梯度向量的分量为[17]
岩石圈构造和深部作用
其中,T为地震记录的长度,
岩石圈构造和深部作用
其中,t∈[T,0],
3结合反演方法
3.1遗传算法和非线性解析反演方法的优缺点
遗传算法是利用概率论来求解多极值复杂优化问题的一种随机搜索方法,由一组随机选取的模型开始,不需要更多的先验信息,广泛而有效地对模型空间的最优部分采样。尽管遗传算法是基于自然选择、遗传规律,搜索模型空间的最优部分而求得最优解,但它是一种计算量很大的方法。由于地震模型空间大,用全局最优化方法估计各向异性介质参数的地震波形反演十分费时。
目标函数的梯度信息是非线性解析反演方法修改模型参数的依据,它能给出一个接近初始模型的一个局部最优解。如果初始模型选择得合适,即当初始模型处在全局最优解所在的目标函数低谷时,非线性解析反演方法能收敛于全局最优解。然而,恰好给出一个接近全局最优解的初始模型的概率是非常小的,尤其对没有模型参数的任何先验信息的情况。但应强调的是,非线性解析反演方法具有较快的收敛速度。
发挥非线性解析反演方法快速收敛和遗传算法能搜索到全局最优解的优点,而克服前者仅能寻找到局部最优解和后者运算量大的缺点是很有意义的。非线性解析反演方法和遗传算法相结合的反演方法可达到上述目的。在结合反演方法中,遗传算法的作用是提供接近全局最优解的模型,非线性解析反演的作用是尽快求出全局最优解。因此,结合反演方法具有搜索到全局最优解的能力和比遗传算法收敛速度快的特点。
3.2结合方案
遗传算法在优化过程中连续不断地搜索整个模型空间。在每次迭代结束后,得到一个本代的最优模型。根据遗传算法的数学原理[3],最优模型的数量在下一代中得以增加,同时经交叉和变异作用又有新的模型产生。在下一代种群中,最优模型可能与前一代的相同,也有可能劣于前一代的最优模型。所有这些最优模型可能在目标函数的同一低谷处,也有可能在其它低谷处。遗传算法寻找最优模型要经过多次迭代才能确定一个极值。遗传算法的随机性导致遗传算法是一种费时的方法。然而正是遗传算法的这种随机性保证了它能搜索到全局最优解。
如果将每次遗传算法迭代的最优解作为非线性解析反演的初始模型,非线性解析反演可以找出与初始模型毗邻的局部最优解。由于非线性解析反演是一种确定性的方法,它按目标函数的梯度方向修改模型,所以非线性解析反演方法只需几次迭代即可收敛。非线性解析反演求得的解是否为全局最优解,非线性解析反演方法本身是无法得以保证的。只有当遗传算法提供接近全局最优解的初始模型时,非线性解析方法反演才能收敛到全局最优解。
结合反演方法中遗传算法和非线性解析反演方法的匹配方式是十分重要的。非线性解析反演方法得到接近遗传算法提供的初始模型的局部最优解后,在以后若干代中因遗传算法的随机性而使其最优解与该局部最优解相同。如果每次遗传算法迭代后作非线性解析反演,那么结合反演的结果在几代内都是相同的。显然其中的一些非线性解析反演是没有必要的。因此,结合方式应为在连续多次遗传算法迭代后作一次非线性解析反演,然后将非线性解析反演的结果作为下一代种群中的一个母本模型。图1为结合反演的框图。
图1结合反演框图
4算例
为了验证结合反演方法的优越性,对一维多层横向各向同性介质参数的反演理论实例作了分析。
图2是目标函数值与迭代次数的关系图。在该结合反演算例中每次遗传算法迭代后就作一次非线性解析反演迭代。结合反演的误差在开始几次迭代中下降很快,尤其在前3次。结合反演方法在第10次迭代达到的较小误差,遗传算法在第42次迭代才达到。结合反演的误差比遗传算法的跳跃得严重。这是因为非线性解析反演得到的模型在遗传算法中作为母代参加繁衍。这个模型因遗传算法的随机性常常被新的模型替代。这两个模型可能位于目标函数两个不同的低谷中,因此非线性解析反演的结果不同。
尽管结合反演的目标函数有些振荡,但也存在连续几次迭代目标函数几乎不变的现象。这意味着这几次迭代的最优模型是很接近的。在这种情况下非线性解析反演不能提供较大的改进。所以,此时的非线性解析反演是没有必要的,否则只能增加计算量。
图2结合反演(实线)和遗传算法(虚线)的误差与迭代次数的关系
结合反演中每次遗传算法迭代后作一次非线性解析反演迭代
图3是另一个例子。在该结合反演例子中,每五次遗传算法迭代作一次非线性解析反演。在这里遗传算法占主要地位。此时结合反演的误差函数明显比遗传算法的小。结合反演的误差在第5次迭代末突然下降,并在第10次迭代时的小误差,遗传算法在42代才达到。遗传算法始终没有到达结合反演的最小误差。结合反演的误差在后期迭代过程中平稳下降,这是遗传算法占主导地位的原因。
从该例可知,若遗传算法与非线性解析反演方法比较合理地结合,结合反演方法比遗传算法具有快得多的收敛速度。
5结论
非线性结合反演方法扬遗传算法和非线性解析反演方法之长,抑其之短,它是一种具有较快收敛速度的全局反演方法。
在结合反演中遗传算法和非线性解析反演方法的结合方式是重要的。从算例可得出,五次遗传算法迭代后作一次非线性解析反演的结合反演的效果明显优于每次遗传算法迭代后都作非线性解析反演的结合反演的效果。但是在结合反演中连续作多少次遗传算法迭代及连续迭代次数在整个迭代过程中的可变性还有待于进一步研究。
图3结合反演(实线)和遗传算法(虚线)的误差与迭代次数的关系
结合反演中每五次遗传算法迭代后作一次非线性解析反演迭代
在结合反演中遗传算法的作用是提供接近全局最优解的初始模型。结合反演的运算速度主要取决于遗传算法的运算速度。均匀设计理论可以应用于遗传算法以加快随机搜索的速度。
与遗传算法相同,其它随机搜索方法也可用来与非线性解析反演方法形成结合反演方法。
参考文献
[1]E.Berg.Simple convergent genetic algorithm for inversion of multiparameter data.SEG60 Expanded Abstracts,1990,Ⅱ,1126~1128.
[2]O.Gauthier,J.Virieux and A.Tarantola.Two-dimensional nonlinear inversion of seismic waveforms:Numerical results.Geophysics,1986,51,1387~1403.
[3]D.E.Goldberg.Genetic Algorithms in Search,Optimiztion,and Machine Learning.Addison-Wesley,Reading,MA,1989.
[4]J.H.Holland.Adaptation in Natural and Artifical Systems.The University of Michigan Press,Ann Arbor,1975.
[5]P.Mora.2D elastic inversion of multi-offset seismic data.Geophysics,1988,52,2031~2050.
[6]G.S.Pan,R.A.Phinney,and R.I.Odom.Full-waveform inversion of plane-wave seismograms in stratified acoustic media:Theory and feasibility.Geophysics,1988,53,21~31.
[7]M.J.Porsani,P.L.Stoffa,M.K.Sen,et al..A combined Genetic and linear inversion algorithm for seismic wave-form inversion.SEG63 Expanded Abstracts,1993,692~695.
[8]M.S.Sambridge,A.Tatantola and Kennet.An alternative strategy for nonlinear inversion of seismic waveforms.Geophysical Prospecting,1991,39,723~736.
[9]M.Sambridge,and G.Drijkoningen.Genetic algorithms in seismic waveform inversion.Geophys.J.Int.,1992,109,323~342.
[10]M.K.Sen,P.L.Stoffa.Rapid sampling of model space using genetic algorithms:examples from seismic waveform inversion.Geophys.J.Int.,1992,109,323~342.
[11]P.L.Stoffa,M.K.Sen.Nonlinear multiparametre optimization using genetic algorithms:Inversion of plane-wave seismograms.Geophysics,1991,56,1794~1810.
[12]A.Tarantola.Inversion of seismic reflection data in the acoustic approximation.Geophysics,1984(a),49,1259~1266.
[13]A.Tarantola.The seismic reflection inverse problem.In:F.Santosa,Y.-H.Pao,W.W.System,and C.Holland Eds.Inverse problems of acoustic and elastic waves.Soc.Instr.Appl.Math.,1984(b),104~181.
[14]A.Tarantola.A strategy for nonlinear elastic inversion of seismic reflection data.Geophysics,1986,51,1893~1903.
[15]A.Tarantola.Inverse problem theory:Methods for data fitting and model parameter estimation.Elsevier Science Publ.Co.Inc.,1987.
[16]周辉,何樵登.遗传算法在各向异性介质参数反演中的应用.长春地质学院学报,1995,25,增刊1,62~67.
[17]周辉.各向异性介质波动方程正演及其非线性反演方法研究.长春地质学院博士论文,1995.