遗传算法综述.docx

上传人:b****6 文档编号:8160670 上传时间:2023-01-29 格式:DOCX 页数:8 大小:39.17KB
下载 相关 举报
遗传算法综述.docx_第1页
第1页 / 共8页
遗传算法综述.docx_第2页
第2页 / 共8页
遗传算法综述.docx_第3页
第3页 / 共8页
遗传算法综述.docx_第4页
第4页 / 共8页
遗传算法综述.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

遗传算法综述.docx

《遗传算法综述.docx》由会员分享,可在线阅读,更多相关《遗传算法综述.docx(8页珍藏版)》请在冰豆网上搜索。

遗传算法综述.docx

遗传算法综述

 

算法设计与分析

结课论文

 

题目:

遗传算法的分析与研究

 

学生姓名:

***

学号:

**********

专业:

计算机科学与技术

年级:

2011级

完成日期:

2013年2月21日

指导教师:

成绩:

遗传算法的分析与研究

 

摘要:

遗传算法(GeneticAlgorithm,GA)是一类借鉴生物界自然选择和自然遗传机制的随机化搜索算法,其主要特点是群体搜索策略和群体中个体之间的信息交换,搜索不依赖于梯度信息。

它尤其适用于处理传统搜索方法难于解决的复杂和非线性问题,可广泛用于组合优化、机器学习、自适应控制、规划设计和人工生命等领域。

本文从遗传算法的起源谈起,论述了遗传算法的基本思想和基本原理,并对其性能和收敛性进行了分析,最后还介绍了几种改进的遗传算法及其在求解旅行商问题(TSP)方面的应用。

关键词:

遗传算法,搜索算法,TSP,遗传算法收敛性

1.引言

在自然界中,生物要生存下去,就必须进行生存斗争。

在生存斗争中,具有有利变异的个体容易存活下来,并且有更多的机会将有利变异传给后代;具有不利变异的个体就容易被淘汰,产生后代的机会也少得多。

因此,凡是在生存斗争中获胜的个体都是对环境适应性比较强的。

达尔文把这种在生存斗争中适者生存,不适者淘汰的过程叫做自然选择。

遗传算法是根据这种生物的自然进化思想而启发得出的一种全局优化算法。

遗传算法是由美国的J.Holland教授于1975年在他的专著《自然和人工系统的适应性》中首先提出的,他将遗传算法应用于函数优化中,设计了遗传算法执行策略和性能评价指标。

1989年,Goldberg出版了专著《搜索、优化和机器学习中的遗传算法》,系统总结了遗传算法的主要研究成果,全面完整的论述了遗传算法的基本原理和应用,奠定了现代遗传算法的科学基础。

遗传算法,在本质上是一种不依赖具体问题的直接搜索方法,是一种求解问题的高效并行全局搜索方法。

遗传算法在模式识别、神经网络、图像处理、机器学习、工业优化控制、自适应控制、负载平衡、电磁系统设计、生物科学、社会科学等方面都得到了应用。

在人工智能研究中,现在人们认为“遗传算法、自适应系统、细胞自动控制、混沌理论与人工智能一样,都是对今后十年的计算技术有重大影响的关键技术”。

目前在遗传算法的研究中,尽管还存在一些有争议的问题,甚至还有某些截然不同的学术观点和设计原则,一时尚难统一,整个遗传算法的理论基础还比较薄弱,但是很多实例及应用充分表明,模拟自然进化的搜索过程往往可以产生非常简单、通用和鲁棒性很强的计算方法。

如今,无论是对遗传算法的理论研究还是应用研究都分外活跃。

2.遗传算法的特点

2.1遗传算法的基本思想

遗传算法抽象于生物体的进化过程,通过全面模拟自然选择和遗传机制,形成一种具有“生成+检验”特征的搜索算法。

遗传算法以编码空间代替问题的参数空间,以适应度函数为评价依据,以编码群体为进化基础,以对群体中个体位串的遗传操作实现选择和遗传机制,建立起一个迭代过程。

与传统搜索算法不同,遗传算法从一组随机产生的初始解(称为种群)开始搜索过程,群体中的每个个体是问题的一个解(称为染色体),这些染色体在后续迭代中不断进化(称为遗传)。

遗传算法是从编码工作开始的,一开始需要实现从表现型到基因型的映射(即编码),初始种群产生后,遗传算法主要通过选择、交叉、变异实现运算。

通过运算生成下一代染色体(称为后代)。

染色体好坏用适应度来衡量,根据适应度的大小从上一代和后代中选择个体,作为下一代群体,再继续进化。

这样经过若干代之后,算法收敛于最好的染色体,它很可能就是问题的最优解或次优解。

2.2遗传算法的主要特点

根据达尔文的自然选择学说和孟德尔的遗传变异学说建立起来的遗传算法是一种鲁棒的、自适应的、开放性的随机优化算法。

遗传算法的优化对象是参数的编码而非参数本身。

遗传算法对一些个体进行进化操作,这些个体是基于某种编码方式而获得的位串,因此遗传算法首先有一个有限的字母表。

通常遗传算法的编码方式是基于二进制的编码。

遗传算法通过适应值函数即目标函数来计算每个个体的适应值大小,而不需要其它有关问题的信息和推导,算法的独立性强,使得遗传算法能够形成一种通用算法框架,在处理完全不同的问题时,仅需要稍加修改就可以移植使用,降低了推广的成本。

遗传算法的寻优规则是由概率确定的,而非确定性的。

算法的目标函数给出一个进化的方向和目标,但算法以何种路径进行搜索则是概率确定的。

因此遗传算法被称为是一种随机优化算法。

但这点并不意味着遗传算法是完全地进行随机搜索。

遗传算法在解空间中进行高效的启发式搜索,而不是盲目地穷举或者完全随机的搜索。

由上所述可知,遗传算法与传统优化方法相比有以下特点:

(1)遗传算法的自组织、自适应性(智能性)。

应用遗传算法求解问题时,在编码方案、适应度函数及遗传算子确定后,算法将得用进化过程中获得的信息自行组织搜索。

由于基于自然的选择策略为“适者生存,不适应者初淘汰”,因而适应度大的个体具有较高的生存概率。

通常,产生更适应环境的后代。

遗传算法的这种自组织、自适应特征,使它同时具有能根据环境变化来自动发现环境的特性和规律的能力。

(2)遗传算法的并行性。

它的并行性表现在两个方面:

一是遗传算法是内在并行的即遗传算法本身非常适合大规模并行。

最简单的并行方式是让数台计算机各自进行独立种群的演化计算,等到运算结束时才通信比较,选取最佳个体。

遗传算法适合在目前所有的并行机或分布系统上进行并行处理,而且对并行效率没有太大的影响。

二是遗传算法的内含并行性。

遗传算法按并行方式搜索一个种群数目的点,而不是单点。

由于遗传算法采用种群的方式组织搜索,因而可以同时搜索空间内的多个区域,并相互交流信息。

(3)遗传算法的处理对象不是参数本身,而是对参数集进行了编码的个体。

此编码操作使得遗传算法可直接对结构对象进行操作。

(4)在标准的遗传算法中,基本上不需要其他的辅助信息,而仅用适应度函数值来评估个体,并在此基础上进行遗传操作。

它尤其适用于处理传统优化算法难于解决的复杂和非线性问题。

3.遗传算法的理论基础

模式定理与积木块假设构成了遗传算法的基础理论,虽然它们还存在缺陷,但了解模式定理有助于理解遗传算法的优化机理。

3.1模式定理

模式是指种群个体基因串中的相似样板,它用来描述基因串中某些特征位相同的结构。

在二进制编码中,模式是基于三个字符集(0,1,*)的字符串,符号*代表任意字符,即0或者1。

例如:

模式*001描述了在位置2、3、4具有形式“001”的所有字符串,即{0001,1001}。

这里,我们先给出模式的两个重要概念:

模式阶和定义距。

模式中确定位置的个数称为模式的阶,例如(10**1)的阶为3。

模式中第一个确定位置和最后一个确定位置之间的距离称为模式的定义距,例如(10**1)的定义距为4。

模式定理表述如下:

具有低阶、短定义距以及平均适应度高于种群平均适应度的模式在子代中呈指数增长。

模式定理保证了较优的模式(遗传算法的较优解)的数目呈指数增长,为解释遗传算法机理提供了数学基础。

模式定理阐述了遗传算法的理论基础,不仅说明了模式的增加规律,而且也给遗传算法的应用提供了指导作用。

但需要指出的是,模式定理是在研究函数优化过程中,基于二进制编码方案得出的,对于其它的编码方式,模式定理不一定适用。

此外,还应指出的是,模式定理本身还存在一定缺陷,定理还不够完善。

3.2积木块假设

模式定理说明了具有某种结构特征的模式在遗传进化过程中其样本数将按指数级增长,这种模式就是具有低阶、短的模式定义长度,且平均适应度高于群体平均适应度的模式。

这种类型的模式被称为基因块或积木块(buildingblock)。

之所以称之为积木块,是由于遗传算法的求解过程并不是在搜索空间中逐一地测试各个基因的枚举组合,而是通过一些较好的模式,像搭积木一样,将它们拼接在一起,从而逐渐地构造出适应度越来越高的个体编码串。

积木块假设:

遗传算法通过短定义距、低阶以及高平均适应度的模式,在遗传操作下相互结合,最终接近全局最优解。

模式定理保证了较优模式的样本数呈指数增长,从而使遗传算法找到全局最优解的可能性存在;而积木块假设则指出遗传算法有能力使优秀的模式向着更优的方向进化,即遗传算法有能力搜索到全局最优解。

目前为止,绝大多数的遗传算法的实践和应用都支持积木块假设,如组合优化问题、平滑多峰问题以及带干扰多峰问题等。

然而,积木块假设始终没能得到一个数学上的证明。

4.遗传算法和其它传统搜索方法的对比

首先让我们把它和几个主要的传统搜索方法作一简要对比,以此来看看遗传算法的鲁棒性到底强在哪里?

作为一个搜索方法,它的优越性到底体现在何处?

解析方法是常用的搜索方法之一。

它通常是通过求解使目标函数梯度为零的一组非线性方程来进行搜索的。

一般而言,若目标函数连续可微,解的空间方程比较简单,解析法还是可以用的。

但是,若方程的变量有几十或几百个时,它就无能为力了。

爬山法也是常用的搜索方法。

它和解析法一样都是属于寻找局部优解的方法。

对于爬山法而言,只有在更好的解位于当前解附近的前提下,才能继续向优解搜索。

显然这种方法对于具有单峰分布性质的解空间才能进行行之有效的搜索,并得到最优解,而对于如图4所示的多峰空间,爬山法(包括解析法)连局部最优解都很难得到。

图4多峰空间

另一种典型的搜索方法是穷举法。

该方法简单易行,即在一个连续有限搜索空间或离散无限搜索空间中,计算空间中每个点的目标函数值,且每次计算一个。

显然,这种方法效率太低而鲁棒性不强口许多实际问题所对应的搜索空间都很大,不允许一点一点地慢慢求解。

随机搜索方法比起上述的搜索方法有所改进,是一种常用的方法,但它的搜索效率依然不高。

一般而言,只有解在搜索空间中形成紧致分布时,它的搜索才有效。

但这一条件在实际应用中难于满足.需要指出的是,我们必须把随机搜索(randomsearch)方法和随机化技术(randomizedtechnique)区分开来。

遗传算法就是一个利用随机化技术来指导对一个被编码的参数空间进行高效搜索的方法。

而另一个搜索方法—模拟退火(stimulateannealing)方法也是利用随机化处理技术来指导对于最小能量状态的搜索。

因此,随机化搜索技术并不意味着是无方向搜索,这一点是与随机搜索有所不同的。

当然,前述的几种传统的搜索方法虽然鲁棒性不强,但这些方法在一定的条件下,尤其是将它们混合使用也是有效的。

不过,当面临更为复杂的问题时,必须采用像遗传算法这样更好的方法。

5.遗传算法的应用

GA最直接的应用或许就是多元函数的优化问题。

如果函数表达式是清楚的,又具有良好的分析性质,自然用不着GA。

但若所讨论的函数受到严重的噪声干扰而呈现出非常不规则的形状,同时所求的也不一定非是精密的最大(小)值,则GA就可以找到它的应用。

一般说来,在一些实际问题中应用GA时,首先要解决两个问题:

(1)编码的设计;

(2)适应度函数的确定。

对函数优化问题,这两个问题乍一看来都比较容易解决。

特别是,有现成的二进位制可将变量取的值编为二元的位串,很是方便。

实际不然。

因为对一般的二进位制,有时增加1,需要改变所有的位元,如011为十进制的3,而4为100,这就造成困难。

为此,设计了一种所谓的“格雷码”(graycodes)。

这种码的特点是增加或减少1都只需要改动一个位元。

当然,根据不同需要还可设计各种不同的码。

这在包括飞机设计、信号检测以至非线性差分方程组稳定域的确定等近百种问题中有广泛应用。

GA另一个十分引入注目的应用领域是机器学习。

这是因为,与传统的优化技术比较,GA的特点在于:

1)GA的工作对象不是决策变量本身,而是将有关变量进行编码所得的码,即位串;

2)传统的寻优技术都是从一个初始点出发,再逐步迭代以求最优解。

GA则不然,它是从点的一个群体出发经过代代相传求得满意解;

3)GA只充分利用适应度函数(目标函数)的信息而完全不依靠其它补充知识;

4)GA的操作规则是概率性的而非确定性的。

这就表明,GA较为适合于维数很高、总体很大、环境复杂、问题结构不十分清楚的场合,机器学习就属这类情况。

一般的学习系统要求具有随时间推移逐步调整有关参数或者改变自身结构以更加适应其环境,更好完成目标的能力。

由于其多样性与复杂性,通常难以建立完善的理论以指导整个学习过程,从而使传统寻优技术的应用受到限制,而这恰好能使GA发挥其长处。

有时,问题的数学结构十分清楚,但由于某些原因,如维数太高或计算量太大,依靠传统方法实际上难以求解。

运筹学中许多排序问题,如旅行商问题、工序安排、设备布置等都属此类。

GA在这方面也有大量工作。

以旅行商问题为例:

设有几个城市,则很自然会把旅行方式编为n个正整数{1,2,…,n}的一个排列;但是,这种编码不适用于GA,因为交换算子作用于两个排列所得的结果有时是没有意义的。

为克服这个困难,或是要设计新的编码规则;或是要适当修改原有的交换算子。

GA在这一领域中的应用,引起运筹学界的重视:

1995年,国际运筹学专业期刊《Computers&OperationResearch》以GA为主题编发了一期特刊,组织了包括四个方面内容的12篇论文。

期刊主编RaffSJ在特刊前言中把GA称为“对当前运筹学有巨大兴趣的课题。

”这一点决非偶然,进入70年代后期,运筹学面临新的挑战,由于研究工作过分“学院化”,使理论发展在一定程度上与实际脱节。

原来生气勃勃的运筹学出现了沉闷的局面;另一方面,计算技术、控制技术的智能化趋势已不能满足于传统优化方法的框架;特别是,传统运筹学理论缺乏对变动环境的适应性,“造成‘最优’解维持最优的寿命在很多情况下甚至比求解所耗费的时间还要来得短”。

因此,GA的崛起,对运筹学无疑是一个有力的推动。

在复杂性问题的研究中,GA也崭露头角,倍受青睐。

什么叫复杂性问题,大家看法不一。

共同认识还是有的,即复杂性问题应是多层次、多因素,其相互作用是非线性、不确定和不稳定的,这样的学习问题自然属复杂性研究的范畴。

事实上,在复杂系统例如适应性系统学习策略的研究中,GA占重要地位。

另一个典型例子是地震数据反演问题:

由于介质参数的模型非常大,同时观测数据不完备、噪音的存在、源的情况复杂且未知,很难用传统的方法求得目标函数的全局最优值,而只能求一定意义下的“满意解”。

这时,可供选择的方法之一自然是GA。

值得注意的是,近年来,GA在商业应用方面取得一系列重要成果。

或许这也是它受到学术界之外的企业界、政府部门以及更广泛的社会阶层普遍重视的原因。

GA的商业应用五花八门,覆盖面甚广,Coldborg在Comm.ACM上的一篇专论较为详细地介绍了美国近年来的一些成果。

例如,通用电器的计算机辅助设计系统Engeneous,这是一个混合系统(hybridsystem),采用了GA以及其他传统的优化技术做为寻优手段。

Engeneous已成功地应用于汽轮机设计,并改善了新的波音777发动机的性能。

美国新墨西哥州州立大学心理学系开发了一个所谓的Faceprint系统,可根据目击者的印象通过计算机生成嫌疑犯的面貌。

计算机在屏幕上显示出20种面孔,目击者按十分制给这些面孔评分。

在这基础上,GA按通常的选择、交换和突变算子生成新的面孔。

Faceprint的效果很好,已申报专利。

同一个州的一家企业——预测公司(PredictionCompany)则首先开发了一组用于金融交易的时间序列预测和交易工具,其中GA起了重要作用:

据说,这一系统实际运行效果很好,可以达到最好的交易员的水平,引起银行界的关注。

GA在军事上的应用也有报道:

如用于红外线图象目标判别的休斯遗传程序系统(Hughesgeneticprogrammingsystem),效果很好,以至准备把它固化成硬件。

在GA的应用研究和推广普及中,相应的程序环境的开发占有重要地位。

将GA程序环境(GAProgrammingEnvironments)区分为三类:

面向应用系统,面向算法系统以及工具。

下面列出了评价的一些系统。

例如,Splicer为NASA约翰逊航天中心信息系统理事会软件技术部研制的,是当时最完备的一种通用系统。

它由三个部分构成:

GA核、可交换表现库和适应度模块;有两个用户界面库,一对Macintoshes,一对Xwindows。

当用户使用Splicer解某个具体问题时,只要用C构造一个适应度模块而无需其他编程工作。

为大力推广GA,NASA以及政府项目承担者可免费使用Speicer1.0版本。

这些系统的研制开发和推广使用,对GA在美国的发展无疑起着积极推动作用

6.结语

遗传算法作为一种全局优化算法,越来越引起了人们的广泛关注,与传统的优化算法相比,它有其固有的优良特性,如全局搜索、隐并行、鲁棒性、操作简单等特点。

近几年来,GA在应用方面取得的丰硕成果,使人们对它的发展前景充满信心。

可以预期,拓广更加多样的应用领域,其中包括各种GA程序设计环境的开发,仍将是GA发展的主流。

事实上这也是本世纪高新技术迅速发展带有规律性的特点,即面向应用。

与此同时,这并不意味着理论研究会被忽视,这方面同样有大量工作要做。

例如:

控制参数的选择;交换和突变这两类最重要的算子的确切作用;并行GA和分布式GA的研究;其他类型生物机制的模仿等等。

自然,不论从理论还是应用的角度看,最紧迫的应是关于算法收敛性问题的研究,特别是过早收敛的防止。

这对GA的实际应用关系重大。

就GA本身的研究而言,我国起步较晚。

和国外工作比较,一个显著区别是,国内工作多只停留在论文这一层次,几乎没有看到具体实际应用,与研究成果商品化的差距就更远。

因此,在我国发展GA来促进高新技术的发展,首要将理论研究与实际应用紧密联系,并且要重视它的应用和推广普及。

参考文献

[1]段玉倩,贺家李.遗传算法及其改进[J].电力系统及其自动化学报,1998,03

(2):

14-17.

[2]席裕庚,柴天佑.遗传算法综述[J].控制理论与应用,1996,12:

43-51.

[3]唐穗欣.标准遗传算法的原理及算例[J].软件导刊,2007,01:

21-24.

[4]徐伟伟.遗传算法理论及其在智能控制中的应用[J].山东济南2004,12(6):

13-18.

[5]李敏强,寇纪淞,林丹等.遗传算法的基本理论与应用[M].1997,145-170.

[6]臧辉.遗传算法及其应用[J].武汉科技学院学报,1998,18(4):

27-29.

[7]郭绚,郭平,郑守淇.ParaGA:

一个并行遗传算法的C++类库[M].2005,148-182.

[8]高柯夫.演化算法的应用研究[M].1998,84-113.

[9]小平,曹立明.遗传算法——理论、应用与软件实现[M].西安交通大学出版社出版.2003,59-73.

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1