(计算机软件与理论专业论文)遗传优化算法及其在数据挖掘中的应用.pdf_第1页
(计算机软件与理论专业论文)遗传优化算法及其在数据挖掘中的应用.pdf_第2页
(计算机软件与理论专业论文)遗传优化算法及其在数据挖掘中的应用.pdf_第3页
(计算机软件与理论专业论文)遗传优化算法及其在数据挖掘中的应用.pdf_第4页
(计算机软件与理论专业论文)遗传优化算法及其在数据挖掘中的应用.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

遗传优化算法及其在数据挖掘中的应用 摘要 本文对滤传算法静生物学原愆,数学鏊番 i j ,搜索梳溪帮特校体了全西深入 的分析,并在此基础上从解决现有的早熟收敛难题和提商约束优化搜索的效率 跌及深索毅瓣执行繁略出发,提出瑟令方露匏薪内容。 1 为了排除性能增益不大的个体,防止算法陷入局部极优,提出了扰动执 行繁蝰,即对质产生瓣蜃代个体藏攘一定l 漆度数拨动,露决定蹩否接受该居找, 从而防止了不良个体无条件地进入候选集。 2 。为馒舞法在陷入局部极优屠能自动跳出,提出了模拟蚂蚁受食的技孬繁 略,这种策略是模拟蚂蚁觅食中不断调整不断转移目标而启发设计的,要点楚 在算法进入局部极优后不露执行原有的交叉操作,两是与游荡个体相交叉,米 得到交叉的个体剐阻后备个体稻替换。 3 为提高约束优化的搜索质黧,提出了基因优劣编粥,其爨点是精确模拟 鑫然避纯枫镄,藿黧强调番基函倥对优纯羁标的价值作照,越有利予谯化目标 的基因位越有价值,从而使问题空间的有益信息得到了充分利用。 4 在分类麓翻疆褒系统中,为了更好缝提齑舞法的寻饶帮保饶能力,提出 了基翱动态排序方法,即把各基因位按重露性大小进行排序,在此基础上再进 行交叉操佟。 关键字:遗传算法、收敛、编码,分类鬏烈、数掇挖撼。 g e n e t i co p t i m i z a t i o na l g o r i t h ma n d i t sa p p l i c a t i o n i nd a t am i n i n g a b s t r a c t m a t h e m a t i cb a s e ,s e a r c h i n gm e c h a n i s ma n df e a t u r e so fg e n e t i ca l g o r i t h m h a v e b e e n a n a l y z e dc o m p l e t e l y ,a n d i no r d e rt oo v e r c o m e e a r l yc o n v e r g e n c e a n d i m p r o v e e f f e c t i v e n e s so fs e a r c h i n ga n de x p l o r i n g ,f o l l o w i n gw o r kh a sb e e n d o n e : 1 i no r d e rt o p r e v e n ta l g o r i t h m f r o m e n t e r i n g t ol o c a l i l a x ,d i s t u r b i n g i m p l e m e n ts t r a t e g y h a sb e e n b r o u g h tf o r w a r d ,t h a t i s p u t ad i s t u r bo nn e w i n d i v i d u a l sa n dt h e nj u d g ew h e t h e rt oa c c e p ti t ,s ob a d i n d i v i d u a l sc a n tb e a c c e p t e du n e 。n 鑫i t i o n a l l y ; 2 i no r d e rt oh e l pa l g o r i t h mj u m po u to fl o c a lm a x ,s i m u l a t i n ga n ts e a r c h i n g f o o ds t r a t e g yh a sb e e nb r o u g h tf o r w a r d ,i ti s d e s i g n e db a s e do n a n t5 s s e a r c h i n g f o o db e h a v i o r i t sc o r ei sw h e na l g o r i t h me n t e r si n t ol o c a lm a x ,p u ti n d i v i d u a l st o c r o s sw i t hi d l ei n d i v i d u a l sa n dr e p l a c et h o s eb ys p a r e di n d i v i d u a l sw h i c hd o n t h a v ec r o s sw i t hi d l ei n d i v i d u a l s 3 i no r d e rt oi m p r o v es e a r c h i n gq u a l i t yo fr e s t r i c t i n go p t i m i z a t i o n ,g o o da n d b a dg e n ec o d em e t h o dh a sb e e nb r o u g h tf o r w a r d ,i t sf o c u sl a y si ne m p h a s i z i n gt h e v a l u eo fg e n et ot a r g e t sa n dm o r ep r e c i s e l ys i m u l a t ee v o l v e m e n tm e c h a n i s ms ot h a t u s e f u li n f o r m a t i o ni np r o b l e ms p a c ew i l lb eu s e dc o m p l e t e l y 4 a p p l i c a t i o n o f g e n e t i ca l g o r i t h mi nd a t am i n i n g h a sb e e ns t u d i e d ,b a s e do n g e n eh y p o t h e s i sg e n ed y n a m i c s o r tm e t h o dh a sb e e nb r o u g h tf o r w a r d i t sf e a t u r ei s c o m p o n e n to fg e n e sc a l 3b e c o m el o n g e ra n db e t t e rg e n ec o m p o n e n t a n db e c a u s eo f d y n a m i cs o r t ,g o o dg e n ec o m p o n e n t c a nb e k e p te f f e c t i v e l y k e y w o r d s :g e n e t i ca l g o r i t h m ,c o n v e r g e n c e ,c o d e ,c l a s s i f i c a t i o nr u l e ,d a t a m i n i n g , 独翎性声嘴 本人声嘲所呈交纳学位论文是本人在导师指罨吓进行的研究工作及取得的研究戚果。据 我辑知,滁了文中特别热戳檬志帮致落抟地方辨,论文中不包窘其德a 已经发表或撰写过的 磷窥戒栗,瓷不包窘受获褥盎墨王堑太鲎斌荬憾教寅视梅戆学位袋试书蠢使爱过麓耪 辩。与我嗣工作的弱恚对本骚究骄傲的任何羹献均瀑在论文中襻了蠲确的说甥j 袭示谢 意。 攀谴论文伟蠹签字:签字翻期:年月基 学位论文舨投使用授权书 零学佼论文手笮囊笼垒了解室! 薹簸鑫皇有关漂馨、毽嗣学链论文辫裁定,有救裸警 并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅缄惜阀。率人授权佥 l l 王墼蠢警可瓯游学垃论文鹣垒部或帮分论文蠹容缓入鸯美数嚣霹遴 亍援索,可强莱爆影 印、缩印域扫描等复制手段保存、汇编学位论文。 1 9 8 1b r i n d l e研究遗传算法中的选择和支配问题 1 9 8 3 s w i g g e r遗传算法用非稳定问题的粗略研究 1 9 8 3w e t z e l用遗传算法解决旅行商问题( t s p ) 1 9 8 4m a u l d i n基本遗传算法用启发知识维持遗传多样性 1 9 8 5b o o k e r建议采用部分匹配计分,分享操作和交叉限制法 1 9 8 5 g o l d b e r gt s p 中采用部分匹配交叉 1 9 8 5s c h e f f e r多种群遗传算法用于解决多目标优化问题 1 9 8 6 g o l d b e r g最优种群大小的估计 1 9 8 6g r e f e n s t e t t e无级遗传算法控制的遗传算法 1 9 8 7 g 0 1 d b e r g复制交叉的最小欺骗问题 1 9 8 7 g 0 1 d b e r g借助于分享函数的小生境和特种归纳法 1 9 8 7 g 0 1 d b e r g复制和交叉的有限马氏链 1 9 8 7 g 0 1 d b e r g双倍染色体遗传算法用于非稳定函数优化 1 9 8 7o i i v e r 排列重组算子的模拟和分析 1 9 8 7s c h a l f e r 串编码自适应交叉试验 1 9 8 7 w h i t i e y子孙测试用于遗传算法的选择操作 1 2 遗传算法的特点 对所有的优化问题都可以归结为求下面问题的解 霉嚣( x ) ( 1 1 ) 其中q 某个1 1 维空间( 例如r ”) 上的子集,厂o r 1 是一个待优化的函 数,在某些情况下,可能无解析表达式,如x 取为温度,q = 0 ,1 0 0 ,厂为人 体给定环境下的适应程度,就没有解析表达式。为了求解各种优化问题,人们 发展了许多优化算法,如单纯形法,梯度法,模拟退火法,神经网络法等等, 这些算法各有其长处和不足,与这些算法相比,遗传算法具有如下的主要特点: 1 参变量集的某种编码作为运算对象 遗传算法不是直接作用在参变量上,而是利用参变量集的某种编码作为运 算、搜索对象。这种处理方式使得人们可以在优化过程中借鉴生物学中染色体 和基因等概念,可以模仿自然界中生物进化与遗传变异,也使得人们可方便地 设计遗传算子。另外对于一些非数值优化问题或难以用数值概念加以描述的问 题而只能用编码优化。 2 遗传算法在点群中而不是在一个单点上进行寻优 传统的优化方法往往从解空间中的一个初始点出发单点迭代,而形成解空 间的一条轨迹。单点所提供的信息毕竟不多,因此搜索效率不高,甚至搜索过 程陷入局部而停滞不前。遗传算法是从多个个体组成的初始种群起始的种群空 间的搜索迭代过程,从而形成解空间的多条搜索轨迹。搜索的每一步都利用了 各个个体所提供的信息即群体信息,这些信息可以避免一些不必要的点或区域。 而且群体搜索具有天然的并行性,适用于在当代或未来的以分布并行为特征的 智能计算机上发挥作用。 3 遗传算法只利用适应度信息,无需导数或其他辅助信息 传统的优化方法不仅利用目标函数的具体值,而且通常也需要导数等其它 一些辅助信息来确定搜索方向。而遗传算法仅使用由目标函数变换得到的适应 度作为搜索指导,并且个体的适应度可以不依赖于目标函数的精确估值,这使 得遗传算法不仅可以用于有目标函数的但难以求出导数或导数不存在的优化问 题的求解,更为重要的是可用于那些目标函数无法明确表达,或表达但无法估 值的优化问题。 4 遗传算法利用概率搜索规则,而非确定性规则 大多数传统优化算法都使用确定性的规则进行搜索,即从一个搜索点到另 一个搜索点有确定的转移关系,这种确定性很难使搜索具有定向性,因而难以 达到全局最优解,并且数值稳定性不好,遗传算法使用概率规则,因而是一种 随机搜索技术,尤其是其选择、交叉、变异等操作都是以一种概率方式进行的, 它熊以一定瓣概察寒接受性裁不好的个体,麸蠢有裁予葵法跨寝局部最优磐 而且概率搜索机制的一个好处魁算法具有较好的稳健性。 1 3 遗传算法麓拼究现款 垦蘸煮关遗传筹法懿大传摄絮已经澎或,人键黢徽夔主娶工馋囊中在算法 的理论基础,算法设计,执行策略和应用拓展研究。遗传算法虽然在许多领域 中得到了广泛而且成功的应用,但其理论基础还远来牢固逸建立起来。除模式 定瑷等个别结论以外,犬部分结论还没肖得到严格论证。其搜索机理、收敛憾、 可行性、和有效性至今还没有个令人信服的一般性结论,尤其是可行性和戆 解性拍醑究,还没有任街弓 入注礤韵威粱。 遗传算法的理论基础研究主要集中在对其搜索机理,收敛性,收敛速成, 萋絷往,窍效往,缝惩毪等基本润遥戆探索,箕蠢的怒扶理认阐疆工作原理与 性态,为辫法的发展,比较与应用提供理论基础。遗传算法的搜索机理主要是 澄溪算法爨麓鹰鸯效王俘瓣,这方瑟静代表残桊是王至0 l l a 麓玲瓣模式定瑾,戮 及由此产生的积术块假设与隐含的并行性,这三个结论共同称为遗传算法的模 式壤论,势且誊嚣被用采惩释舅法鲍攘索援利以及算法靛畜效性,这氇是迄今 为止有关搜索机制方面最有价值的理论成果。但是得到严格数学证明的只有模 式定理。 关于冀法的收敛性研究一直是理论研究的核心。目前最为成熟的工具是马 氏链模型,但马氏链模型只能处理二进制算法,由于对于较大规模的种群其转 移缒阵也糯当大,要具体分析确定转移矩阵的性态十分困难,这种工具的最大 弱点是只能分析时齐情况。对于连续优化问题,多位作者采用了连续( 积分舞 子) 模鍪,这静摸登把遗俦算法纳入曩一般静随梳搜索框架肉,把迭代过程视 为可行解空间上某些抽象分布的构造和演化,然后运用有关全局搜索的已有的 收敛萑理论来磅究连续编褥髓遗传算法瓣蔹敛键,荠霉密了当释群蕊穰趋向予 无穷大时种群的概率分布对应的密度函数应满足的递归公式。但不足是对适应 度爨数或耱群援模要麓戬严播戆隈割,濒褥窭戆结论饺其舂一定豹蓬论意义, 而蜜用价值不大。与收敛性分析紧密相关的是遗传算法的收敛速度,这方面的 成鬃不仅可以从癸一个侧露来阐爨遗传冀法黪收敛性,嚣且对于建立会透酶姆 枫准则以及恰当的度量准则以及全面,客观地评价各种执行策略有着十分重要 的作用。健到耳懿为止,有关收敛速度秘复杂度研究仅疆于某蹙特殊的壤形。 收敛速度的估计有不同的准则,常见以种群平均适应度,以发现最优解的概率, 以种群概率分布趋向于平稳分布的速率等。有一些学者不是从_ 纛接考虑收敛遮 度,丽是遴过信计在一定准鲻下遗传算法满足终止条件所需的迭代次数来说明 它的浙近行为,例如通过引进模式的可靠性概念并建立棚应的随机可靠性模型, 来分拳亍瑟究掰需静演讫代数。弱弼骂氏镳模垄中首次虱达豹概念,估计在一定 4 的漫信水平下,访阉到所有的状态所需越平均避化代数。 克服早收敛现象一蠢是一个重要的研究方向,算法的早收敛严重影响了算 法的实际应用,对此许多学者作了大量的研究工作,霞魏最灏的成果有p o t h s j c g i d d e r l $ td 敬y a d a w sb t 4 1 所提出的基于变迁和人工干预的方法来克服早 收敛,t s u t s u i 5 1 等提出分岔算法,这种方法在执行过程中允许算法出现多个演化 方向,疑两更有幂j 于寻找全是簸优解,以及徐宗本高勇所发袭的遗传算法早 收敛特征及预防1 1 9 。 算法浚诗与耪静编褥方式与凝戆氛彳亍策路有藿紧寮静联系。强魏掰提出的 新的编码方式有m a t h i a s 和w h i t l e y 所提出的6 编码以及o o l d b e r g t 删所提出 懿混琵缟鼹。薮戆挟行繁赂趣关茨残暴主要有p o t t e r 穗d ej o n g l 所握密麓 共存演化算法以及c o l o r i 和d o r g o f 2 5 】所提出的蚁群算法。 在应用研究中,k o z a 口q 摄瞧了遗传缡程戆撅念,鑫兹歪是露内努有关遗 传算法的皮用研究中的墩热点。p o n n a m b a l a m 等人在1 9 9 9 至2 0 0 3 年度连续发 表了有关遗传算法在车间调度中应用论文,使褥遗传冀法在这个极其复杂懿优 化领域显示出无与伦眈的优越悭以及王凌、郑大钟所发表有关车间调度的多篇 论文和论罄。 1 4 本文工作概述 本文从克服遗传算法的早收敛现象提高约束优化的质量和丰富其内容出 发,尤其怒如何解决早收敛问题做了研究。 一是对一类魏束优纯问题撬出了一种基因优劣编码。出发点是翼好地模拟 生物进化的内在的机制,更充分地利用进化机制的优化作用。这类问题的特点 是羧饶解必须潢是定鹣约束条件,话绕瓣遗佼箅法虽然也糍够对之作出茯化, 但由于抛弃了问题可用信息,因此优化效果不理想。馨因优劣编码正是从这一 点褒改善後伲效聚魏。凳癸,为了热袋舞法敬波敛速嶷,文申辩适应发送行了 分析和论证,指出了传统的适应度定义不利于快速找到最优解,因此给出了适 应发斡另秘定义。 二是对于遗传算法存在的早收敛现象,本文提出了扰动执行以及模拟蚂蚁 觅食的聪; 申茨略。这两秘方法鸯羲不同熙侧重患,扰动援行方法的墅戆是在逃 化过程中避免演化渐渐陷入到局部最优,采用的办法怒在执行中对遗传算子加 以定幅度的随机扰动,处于扰动范围内个体才保留下来,磷则不论个体的逶 应发怎样,都予弧淘汰,这些适应度增蔬不大的个体彼往是让算法过早陷八塌 部最优的主要因豢,在进化过程中以一定的概率淘汰它们就很有必要。模拟蚂 蚁觅食策旗酶重患是在算法陷入精部最优看,使算法煞够自动跳出局部最优, 从而使进化顺利进行下去。其执行特点怒模仿蚂蚁的行为动态地调整执行策略, 霞舞法麓够在貉入惩黎甓饶嚣能够垂动浚弱出皋,然藉采取裙应静照理方法, 使演纯聪簧局部最饯。 针对所作的主溪的工作,本文利用v c 开发环境构造了相应的实验系统, 从实践上进一步论证本文的作的工作。针对在数据挖攮中的应用,本文剥用遗 传算法构造了分类规刚提取系统,并在模式定溅的基础上,对遗传算法的执行 过程作出了改进,使得进化过程有效寻找有价馕的模式并在进化过程中保持这 些模式不被遗传操作破坏。另外本文对遗传算法的一般收敛性问题作了一些探 讨。 本文游主要工作集中在克黻零收敛,提高约束饶化的质量,探索新的编筠 方式,新的执行策略以及拓展遗传算法的应用研究。所提出的执行策略和编码 方式是对竞鼹遗传棼注瑗有海题佟爨豹瑟探索,掰绘窭豹算法在实涿应磊中可 以齑接利用来提升优化效果。因此本文的工作不仅有相当的理论意义,同时在 实践中也有很大蛉实月徐壤。 6 第二章遗传算法的基本要素及其数学描述 h o l l a n d 创建拣遗铸冀法剃媸某释编褥接零作鬟予橼为染鬯体的二遵裁数 串,蕻基本想想惫模掇由滤些串组成的群体迸化过程。遗传算法通过莉组织地 但是随毒几地傣息交换来重毅组合那些适应性好的串,在每一代中,利咫上一代 宰臻擒孛逶废链持静位稠教来生蹴一个新的串翡群体:蜀辫,偶尔也簧在串结 构中尝试用新的位和段来替代原米的部分。遗传搏法是一类随帆算法,但它不 是麓单蕊麓橇蓑索,露是有效逮剥霸已有瓣蔫爨宋整寻那些有希望蔹替解质羹 的串。类似于自然涟化,遗传算法通过作用于染色体上的基因,寻找妤的染色 抟采求鳋阕溪。 与自然界相似,遗传算法对求解问题的本身一无所知,它所需要的仅是对 算法蕊产生戆每个染夔俸遴嚣译份,并篓子适应袭来选择染色髂,使逶应毪菇 的染色体比适应性藏的染色体有更多的繁殖机会。遗传算法利用简单的编码投 术耦繁殖机耧来表现复杂鲍理象,姨瑟鳃凌棼常困难的阏题。符鼷是幽于它不 受搜索空蔺的限制能假设的约束,不必要求诸如连续性、导数襻在和单峰等假 设,以及其固有的并行性,因此襁到了越来越广泛的应瘸。 为了筷双生裼落亿过程与遗传变异机稍来求解问题( t 1 ) ,模拟避化算法 必须酋先把忧化变爨:x 一( x 。x ,x 。) 7 对应到生物种群蛉个体,且指定相应 弱个体逶密疫。在撼蒙拯逡各葬予之蓠,绘鑫个体空弼帮稀群窑离酌定义。 定义2 ,1 个体密间和种群空间 没f 是莓谴基瓣,己蔻锩定瓣壤霉长度,集合 h l = ( a = a l a 2 a l l a i 秣r ,i 。1 ,2 l , 稼为令褡空阉,对予任鹰正整馥m 乘积; 酣:= hl x h l x x h l 称麓m 除静群空淫密2 除耱群空疯称必母落空阕。最孛懿任一l 爪元素豫隽 个体,日? 中的任个体称为m 阶种群,灯;中的元素称为一对母体。 2 ,1 瀵转算法酶形瓮记蕹避 设爿j 楚辩群空阕,著设在选择算子s ( s e l e c t ) 懿律魇下,盔畿磁个薪令 体即选择缩粜形成个m 阶种群,设e ( e v o l v e m e n t ) 是繁殖算予,则一个模拟 进化葵法可默摧述成虹下翡踺极避程: x p + 1 ) 2 e 。s ( 膏o ) ) ,t 一0 ,l ,2 设s t 为h i 一矗f 的映射,躲选耩母俸的操作,e 鸯碍一h i 的映射, 辩拭彳亍交叉操作, m 为搿? 一臀静歃射,表示变异襟律,疋为曩一村的映 节 射,表示选择子代的操作。则一个g a 可以形式化地描述为 x ( t + 1 ) = s ,m c s ,( x ( t ) ) t = 0 ,1 ,2 ( 2 1 ) 令 s = s 、xs 2 :h :一h ! , e = mx c :h :一h :, 并记 y ( t ) 一m c s ( x ( t ) )( t = 0 ,1 ,2 ) 则通过对( 2 一1 ) 式两 边作用m c s 可知,( 2 1 ) 可等价地描述为: y ( t + 1 ) = e s y ( t ) ,t = 0 ,l ,2 由此可见,g a 可以看作n = m 时的模拟进化算法。 事实上,演化策略与遗传算法的区别仅在于使用不同的选择算子s 和繁殖 算子e 。再加之模拟进化算法基于特定的染色体编码格式p 和个体适应度度量 求解问题,且在模拟进化算法中使用一系列的可调参数,假设这些集合构成 ,则g a 可以表示成g a ( e ,j ,s ,e ,) 。 上式表示三层含意: 1 编码格式、适应度度量、选择算予、繁殖算子和参数集是模拟进化算 法的基本构成要素,不同的模拟进化算法其所应用p ,j ,s ,e ,的参数不相同。 2 对于确定的e 、j 、s 、e 、它表示一个特定的模拟进化算法。 3 模拟进化算法的性态是由e ,j ,s ,e ,所决定的。 2 2 遗传算法的数学描述 为了模拟生物进化过程与遗传变异来求解优化问题,遗传算法必须把优化 变量x = ( x 。,x :石。) 7 对应到生物种群中的个体,并指定相应的适应度。然后 按照优胜劣汰的原则进行繁殖操作,直到寻到满意解。因此必须合理地设计遗 传操作各个要素,下面给出构成遗传算法的各个要素的数学描述。 2 2 1 遗传编码 前文已经提到,遗传算法并不对实际优化变量进行操作,而是对表示可行 解的编码进行繁殖操作,通过进化来达到优化的目的。把问题空间的可行解变 换到s e c 可以处理的空间的转换方法叫编码。编码是算法设计的关键步骤,其 重要性体现在: 1 仅决定了个体基因的排列方式( 从而决定繁殖操作的形式) ,而且也决 定了从搜索到解空间的解码形式( 从而决定对所获解的翻译与理解) 。 2 决定了搜索的困难度与复杂性; 3 相应地决定了问题的求解精度。 定义2 2 遗传编码 设r 是等位基因,l 是编码长度,设h l = ( a = a l a 2 a l l a i r ,i - 1 ,2 l ,) 是个体空间,q = x = ( x 。,茁:x n ) 7 r ” 是问题1 1 的解空间,映射e :日l q 称为x 的编码当且仅当对任意的a h ,存在唯一的x - - - - - e 。1 ( a ) 与之 对应。而x 称为a 的解码。 一个编码e 称为是正则的当且仅当编码与解码一一对应,即对任意的x q 有且仅有一个个体a 与之对应。一个编码e 称为可拼接的当且仅当任何l 码 a 和k 码b 的拼接a v b 仍有意义且是k + l 码;一个编码是可分解的当且仅 当对于任何c h l ,可分解表示成c = a + b ,其中a h 。,b h 。,q 、b 是满足a + b = l 的任何正整数,且c 的解码在下述意义下是可分解的:存在 常数a ,b ,c 使得 粤_ 1 ( c ) = g - i ( 爿v b ) = 口g 一( 4 ) + b g 一( b ) + c 可见,一个编码格式事实上是对个体的解码规则,它并不一定要对解空间 中所有的个体提供编码和解码表示,然而如果编码是正则的,则搜索空间与解 空间的个体是一一对应的,于是所提供的不仅是解码规则也是唯一的编码表示。 使用正则编码能使遗传算法在搜索中具有更强的直观,且能充分利用原问题可 行邂 结构与特有性质,使得搜索更有效。可拼接编码可分解编码通常是遗传 算法实现自适应搜索的基础,为用“低精度计算”获得“高精度结果”和“小 算法”实现“大问题”提供了框架。 2 2 1 1 二进制编码 二进制编码是最常见的编码方式,即以二进制字符串0 和l 为等位基因 的定长编码,是当今数字计算机所普遍采用的编码方式。给定编码精度e ,取 m i 满足 ,= 警妞l - 1 ,2 n 的最夺整数,并指定对应关系: 0 0 0 0 0 0 0 0 0 0 0 0 一a 。 0 0 0 0 0 0 0 0 0 0 0 0 一a + 1 1 1 1 1 1 1 1 1 1 1 1 一 b 则任何m i 长的0 1 字符串4 = 5 b 。,d h b ,唯一对应一个实数x 。,定义为 叫- 1 ( 鳓弘+ ( 茎b j 2 j - ) 舞 9 令l = m 。+ 强嘲f v 坷耐,乱棼何l 长的。一1 字符串4 o ,1 r 表示为 2 坠坠! :丝哎壁翟:垒垒垒堡:竺查, a i4 2 a ” 并指定蕻编码l 。1 ( 4 ) 为 孽一( 蠢) = ( 孽_ ( z :) ,霉一( 叠2 ) ,。霉。( “。) ) 。 则f 。1 f 一) 显然给出q 中唯一的实数。 二进裁编码是逶瑶甓鞭易于各种避亿揉俸瀚一种编码形式,是应麓最为广 泛的一种编码。但不具备正则性,尤其是这种编码格式会破坏可行解空间中的 挺癸连续性。 2 2 。1 2 实数编码 对于高维连续优化问题,使用二进制编码常常是不便利的,主要体现在 是逡续量到亵鼗量存在量亿误差,这秘谈夔矮褥妥么禳难求出寓精疫瀚解要么 必须在一个很长染色体空间上进行搜二是不便于所求问题的特定知识,也不便 予开发针对专门阕题弱遗传算子,太稍在经典,爨亿中袋积累鲶籍蓼 遣裁无法缮 到利用,因此人们也常用实数编码方式来求解高维连续优化问题。即对任何x = ( x l ,x 2 x 。y q ,开壹接取染惩体缡码a e ( x ) = x lx 2 x 。h ,或取 一个同胚淤射妒,定义a = e ( x ) = 妒( 肖) = 【p ( 并) l( p ( z ) 2 妒( z ) 。这里 p ( 爿) 】i 是妒( x ) i 的第i 个分量( i = l ,2 一i n ) 2 2 1 3符号编码 符号编码是指个体染色体的码值取囱一无数值含义只有代码含义的符号 集。这个符号集可以一个字母表,也可以是一个数字枣号,还霹羰是拿代磷 表等。经常使用的一个例子是用 0 ,1 ) 表示各的路径。如中圈邮路问题旅 行磷问题等符号编码可以用以处理各种非数值优化和组食优化,优点在于便予 莽j 甭所求问题的专门知识,缺点怒设计邀化操作相对困难。 2 。2 。l 。毒求簿约豢往毯弱惩静蒸瓣爨劣编码 遗传算法来自予生物界,是对避化蛉模搬,蹋此进化的内农糗裁款决定了 算法豹本质特征。 生物体芹日种群的适应能力在逃化过程中总的趋势是在不断地提高,缀织枧 褐和运行模式也在不断趣完善,因此作为进化模拟的遗传算法鬣可行的,而其 有效性在于是否正确模拟了进化机制。从生物进化的角度来看,生物个体和生 耱静瓣耪遥疲麓力会箍着避亿不戮墙提嵩,毽并不是新裔静基围都在邋化,耐 是鸯剃于增强适应鼹力的鏊霞在避化,不利的基强在遐毒匕;生物在进化过程中 必然伴随部分基因的退化,没有遇化就没有进化。例如从类人猿到人类无疑怒 一种进化,但人类的攀援能力和消化能力却远不及猿类。目前蛇遗传葵法大都 注重了基因的进化而忽视了基因的退化,没有精确模拟进化机制。而虽在开始 个体适应度相差较大时,算法容易收敛劐局部最优而不再进化,即早熟现象, 其鞭因是个镩多祥往会邋速降低。为了凳准确趣模瓠了生物进化过程,充分利 用进化机制的优化作用和问题空间的固有信息,并在计算过程中尽量保持个体 豹多样挂,我餐爨潞了一葶孛摹霞後劣编磁。 基因优劣编码是对个体的组成部分进行分析处理,以找出个体中对目标解 有刹襄不利瓣罄分,繇钱努基毽秘劣势基嚣,嚣诧基嚣饶劣绩褥定义翔下: 设r ,是等位基因,l ,m 分别是两种基因的编码长度,设h f = ( a a i a 2 a l b l b 2 b r v l la i 1 7 ,b j a ,i = l ,2 l ,j = l ,2 m , 是令体空闻,q = f x 一 ( x 。,x 2 ) 7 r ” 是问题( 1 一1 ) 的解空间,映射e :日,q称为x 的编码当 且仅当对任意鲍a h l 存在唯一的x = e ( a 与之对应。 其中a i 是优势基因或基因组合,b j 怒劣势基因或基因组合,两种藻因可以 有巢种函数关系。这样就把个体中对目标解有利藕不利的基因分别标识出来了, 充分稍用了闯题空间的有藏信息。在疆索过程中优势基阂总趋势是进化而劣势 基因总趋势是退化。 慧静泉滋,不麓编鹞方式有麓不同翡饶缺点,有不同豹应用范围,舀前还 存在一套完整的理沦来指母编码的选择,需要应用者本人根据实际问题作出选 择。 2 2 2 适应废 适应度是遗传算法的另一个重要参数,在编码一定的情况下,适应度对 算法戆搜索效率良及收敛缝都夺蠹接熬影璃,冀定义魏下; 设瞄怒正实数集,称映射f :q 一聪是t u 7 题( 1 1 ) 的一个遮应度嘲数当且 仅当f 蒡珏f 窍耀固懿全局极大焦点且渍是: ,( x 1 ) ,( x 2 ) 0 = = f ( x ,) f ( z ,) 一 根据以上的定义,显然存在多糖方法绘是逶疲篷函数,最明爨懿可以定义f ( x ) 一e x p ( f ( x ) ) 和 f ( x ) ;a f ( x ) + c 作为邋应度。对每个个体,模拟进化算法都要按一 定的规剐指定相应的适应艘,通常情况下,适应度确定瓶刘应使个体的适应度 与其对应的个体表现型x 的目标函数值棚关联,x 越接近于目标函数驰全局最 大毽煮,冀适应凄应越大;反之斑越小。僵对予荨优来说,并不一定总要遵循 这一点。 逶应发豹确定遇害轰袄了应麓耆对个俸静评价标准哥珏援索缀弼,在进化酌 不同除段可以根据实际情况作出些调整。在第t 代,为了避兔对质爨不商鲍 解的重复援索,可以修正蕊适应度使这些个体通过进化而淘汰一部分。在算法 开始时,由于个体差异比较明显,某些优秀个体会迅速在后代占据越米越多的 份颧,从而导致多样性豹丧失,这时就应压缩优秀个体豹适应度,缩小差异。 相反,到了后期,种群中的个体邋应度相差不大,就要扩大差努。常用的调整 方法有: 1 线隧尺度变换 假定j 是襟适应魔,j 是变换着的适应艘,则线性变换公式是: ( 爿) = a j ( a ) + ,v a h , 2 ,乘幂尺度交换 公式为: ,( “) = j 2 ( a ) ,v a h , 3 。指数尺度变换 公式为: j ( 固= e x p ( - f j ( a ) ) ,v a 臻 系数多决定了变换斡禳款程度,移越小,原有缒适应度数个体其毅黪适应 度与其它个体的差异就越大,反之就越小。 上面的适应度定义的一个特点是耳拣鳃的适应度最大,但这种定义并不总 利于寻找最优解,原因是生物种群在一定的外界环境下,其进化是一个无限的 过程,作为进化过程模拟的遗传算法从本质上说应是不收敛的。个优化算法 的筑劣,不仅仅在予是否收敛,凳重要的燕我羁弱标解的速度,如果算法收敛, 但收敛速度相当慢也是没有实用价值的。面目前的遗传簿法为了收敛,大都施 船了各耱条件,不仅洚低了算法静寻谯速度,焉且算法豹狡毁速度往往氇福当 慢。遗传算法的优点在于冀种群搜索机制,但又怒以个体的差异为搜索旗础的, 困 l 魄越遥邋强标解,个终麓雾就越枣,舅法匏收敛速覆簸越漫,算法簧最终浚 敛到最优解会用去很长时间,甚甄来回震荡,几乎收敛不到最优解。 从上嚣躲分援可燕,瀵铸算法豹收敛缝稆寻找最爨艇的遮浚是毒一定矛鬟 的。对于多数优化问题,大都无法通过严格证明什么样的解才照最优解,即使 算法收敛,也很少让算法运行到收敛后才婷止,实际应嬲中大都采取谗录当懿 最优解的方式。为了综合收敛性和寻优速度,在适应度定义中不要求最优解的 适应度为最大,只霾求处予解空间中适威度最大个体的某个领域内。麟此得裂 下瑟的适应度定义; 设x 。是问题( 卜1 ) 的最优解,称映射f :q 一群烂问题( 1 1 ) 的一个适应 度滋数当量仅当 i 2 f ( x ,) f ( 盖2 ) 0 。 f ( x 1 ) f ( 盖2 ) f m 。( 一) 8 ( x ) | p 一z 。fi = l ,2 、m ,j ( i + l ,i + 2 。n ) f 一煎 t 一掣 ”“l荟文“) o 满足邈择算子躺定义,即比例选择怒选择冀子。 用适成度比例法进行选择复制时,首先计算每个染色体的适应度,然后按 毙鲷予吾染色俸适应度静橛率遥释进入交叉( 毯配) 鬃的染色体,萁鼹体步骤 如下: 筵l 爹诗冀簿争染穗落静逶应凄麓厂f 舅,) ; 第2 步累加所有染色体的适应度值,得最终累加值s u m = yf ( x ,) ,每 令个诲被选择款掇率是 9 nk p ( x 。) 一厂( 五) 苁蜀) ,令s ( o ) = o ,s ( 是 = p 瞄) 虽= 1 ,2 。髓; 仁1f l 第3 步 产生一个隧极数,o f f ( y ) 成立。一令瀵塞集中懿每一 个个体的适应度都大于满意集之外的个体。显然全局最恍解只会在满意榘产生。 对于任意的个体x 。 b ( x 。) = h 。lf ( ) f ( z 。) 为由一。诱爵的满意 集。 种群满意集 设牙嚣芋跫任一种群,x 。怒中的激优个体,由五所诱导 的满意集称为由贾诱导的满意集,记为 b o ( x ) 2 盖g 抒。: ( z ) f ( 甄) 这个满意集也称为贾的满意集。由此可得到繁殖算予的描述: 一个随机映射操作e :日y 一日j v 称为是繁殖算子,当且仅当它满足: p e ( 盖) nb 。( x ) 巾) 0 从定义可以发现,一个繁殖算子是这样一种操作,它作用在沁前种群贾上 生成新的种群e ( x ) ,而新的种群有可能有比旧的种群z 中更满意的个体,否 则产生退化。上面的条件是描述了繁殖算子的基本要求,对于保证算法的收敛 性而言未必是足够的。交叉和变异算子都是繁殖算子,下面具体讨论。 2 2 3 3 交叉算子( c r o s s o v e r ) 选择操作虽然能够从旧种群中选择出优秀者,但不能创造新的染色体。交 叉操作模拟生物进化过程中的繁殖现象,通过两个染色体的交换组合,来产生 新的优良品种,从而检测搜索空间中新的点。 设m = 2 n ,一个随机映射操作 c :日r 日,称为是交叉算子,当且仅当 它满足: 对任何最优种群j ,即n ( 元) = m 有 p n ( c ( x ) ) = n ) 0 对任何齐次种群【x 】u 有 p c 【x 】 = 【互】 = 0 1 单点交叉 最简单交叉算子是单点交叉,其的作用过程如下 ( 1 ) 在匹配集中任选两个个体x = ( x 工: 2 ( y 。y 2 y y y ,y l ) 这一对个体称为双亲; ( 2 ) 随机选择一点交换点位置i ( 1 t l ,l 是染色体数字串的 长度) ; ( 3 ) 按预先给定的交叉概率尸。交换双亲染色体交换点右边的部分,生成 后代个体。即 。r = ( z tz 2 x i ly ty + 1 y ) y = ( y 1 y 2 ,y t lz t 工f + 1 x l ) 下面证明一点交叉的如下性质:设( a ,b ) h ;则 p ( c ( a ,b ) =y ) = 螺 三 ( 1 - - n ) + 笪 。 如果y a 如果y = a 其中k = k ( a ,b ,y ) 为用一点交叉( a ,b ) 可以生成y 的交叉点个数 ( k 5 0 ,1 2 l - 1 ) 证明: 1 6 设y a ,由于交叉点可以在0 1 l 1 中任选且机会相同,而每种 交叉点的选择通过一点交叉可能是y ,也可能不是y ,由于表示的交叉点通过 交叉后可生成y 于是p ( c ( a ,b ) = y ) = k p l ,当y = a 时,a与 b 不交叉自然生成y = a ,此种情况发生的概率是( 1 一只) ,依概率的加法 公式有: e c ( a ,b ) 2 y ) 2 ( 1 一只) tk 芝l 根据上述性质,对任何最优种群j + ,有p f n ( c ( 2 + ) ) = m p c ( 2 ) = x : ) ( 1 一只) + k e l “【1 一( l 一1 ) p l “ 0 而且自然满足p c ( x 】) 一 x 】 = l 所以单点交叉变换是交叉算子。证毕。 另外由上面的性质可知: p c ( 盖) nb e ( x ) 中) p 五c ( x ) p c ( ,x ,) = x , j 2l ,2 ,m ) ( 1 一只) + k 只l 0 这里假设x 是最佳个体( 从而x 。b 。( 2 ) ) ,于是由定义,单点交叉算子 也是繁殖算子。 一点交叉算子的一个重要特性是它可产生与原配对串完全不同的子代串; 另一个重要特性是它不会改变原配对串中相同的位,一个极端情况是当两个配 对串相同时,交叉算子不起作用。 2 改进的交叉算子 f 1 ) 多点交叉 交叉运算的目的是把交叉的两个染色体中性能优良的组合,遗传到下一代 某个染色体中,使之具有父辈染色体的优良性能。但是,在某些情况下,一点 交叉运算无法达到这个目的,无论交叉点选在何处,都可能使优良组合由于交 叉运算而被分割或丢弃。而采用多点交叉就可以避免这个问题。多点交叉是对 一点交叉的拓广,其操作与一点交叉类似,也是先确定交叉点数,随机选择交 叉点( 位置) ,再进行交换操作。若取交叉点数为l ,多点交叉就变成了一点交 叉。若为偶数,可视染色体为一个基因头尾相接组成的环,绕着环匀速前进, 随机地选择交叉点,再交换两个父辈染色体中由交叉点确定的弧段。n c 为奇 数时,则取缺省交叉点为染色体的位置0 ( 即染色体的头部) ,就可等效为偶数 点交叉的情况。 ( 2 ) 一致交叉 这是多点交叉的另一种实现方式,使用随机产生的、长度与父辈染色体相 同的二进制掩码决定父辈染色体中交换的对应位,掩码为0 的位交换,掩码为 1 的不交换( 交换规则也可以相反,即掩码为1 的位交换) 。从原理上讲,一 致交换会生成任意新的组块,有利于搜索到解空间中新的区域,但也有可能因 进行一致交换而破坏父辈染色体中性能优良组块的遗传。 ( 3 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论