遗传算法基本理论及实例.pdf
《遗传算法基本理论及实例.pdf》由会员分享,可在线阅读,更多相关《遗传算法基本理论及实例.pdf(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录一、遗产算法得由来.1二、遗传算法得国内外研究现状.2三、遗传算法得特点.3四、遗传算法得流程.5五、遗传算法实例.9六、遗传算法编程.13七、总 结.15附录一:运行程序.16遗传算法基本理论与实例一、遗产算法得由来遗传算法(G e n e t i c AI g o r i t h m,简 称G A)起源于对生物系统所进行得计算机模拟研究。20世 纪4 0年代以来,科学家不断努力从生物学中寻求用于计算科学与人工系统得新思想、新方法。很多学者对关于从生物进化与遗传得激励中开发出适合于现实世界复杂适应系统研究得计算技术生物进化系统得计算模型,以及模拟进化过程得算法进行了长期得开拓性得探索与研
2、究。J o h n H、H o l l a n d教授及其学生首先提出得遗传算法就就是一个重要得发展方向。遗传算法借鉴了达尔文得进化论与孟德尔、摩根得遗传学说。按照达尔文得进化论,地球上得每一物种从诞生开始就进入了漫长得进化历程。生物种群从低级、简单得类型逐渐发展成为高级复杂得类型。各种生物要生存下去及必须进行生存斗争,包括同一种群内部得斗争、不同种群之间得斗争,以及生物与自然界无机环境之间得斗争。具有较强生存能力得生物个体容易存活下来,并有较多得机会产生后代;具有较低生存能力得个体则被淘汰,或者产生后代得机会越来越少。,直至消亡。达尔文把这一过程与现象叫做“自然选择,适者生存”。按照孟德尔与
3、摩根得遗传学理论,遗传物质就是作为一种指令密码封装在每个细胞中,并以基因得形式排列在染色体上,每个基因有特殊得位置并控制生物得某些特性。不同得基因组合产生得个体对环境得适应性不一样,通过基因杂交与突变可以产生对环境适应性强得后代。经过优胜劣汰得自然选择,适应度值高得基因结构就得以保存下来,从而逐渐形成了经典得遗传学染色体理论,揭示了遗传与变异得基本规律。遗传算法由美国得J o h n H、H o l l a n d教 授19 75年首先提出,其主要特点就是直接对结构对象进行操作,不存在求导与函数连续性得限定;具有内在得隐并行性与更好得全局寻优能力;采用概率化得寻优方法,能自动获取与指导优化得搜
4、索空间,自适应她调整搜索方向,不需要确定得规则。遗传算法得这些性质,已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制与人工生命等领域。它就是现代有关智能计算中得关键技术。二、遗传算法得国内外研究现状遗传算法得鼻祖就是美国M i c h i g a n大学得H o l l a n d教授及其学生。她们受到生物模拟技术得启发,创造了 一种基于生物遗传与进化机制得适合于复杂系统优化得自适应概率优化技术遗传算法。19 67年,H o l l a n d得学生B a g l e y在其博士论文中首次提出了“遗传算法”一词,她发展了复制、交叉、变异、显性、倒位等遗传算子,在个体编码上使用双倍体
5、得编码方法。H o l l a n d教授用遗传算法得思想对自然与人工自适应系统进行了研究,提出了遗传算法得基本理论模式定理(S c h e m a T h e o r e m)并 于19 57年出版了第一本系统论述遗传算法与人工自适应系统得专著Ad a p t a t i o n i n Na t u r a I a n d Ar t i f i c i a I S y s t e m s。20 世纪8 0年代,H o l l a n d教授实现了第一个基于遗传算法得机器学习系统,开创了遗传算法得机器学习得新概念。19 75年,De J o n g基于遗传算法得思想在计算机上进行了大量得纯数
6、值函数优化计算实验,建立了遗传算法得工作框架,得到了一些重要且具有指导意义得结论。19 8 9年,G o I d b e r g出版了G e n e t i c AI g o r i t h m i nS e a r c h,O p t i m i za t i o n a n d M a c h i n e L e a r n i n g一书,系统地总结了遗传算法得主要研究成果,全面完整得论述了遗传算法得基本原理及其应用。19 9 1年,Da v i d出 版 了 H a n d b o o k o f G e n e t i c AI g o r i t h m s一书,介绍了遗传算法在科
7、学计算、工程技术与社会经济中得大量实例。19 9 2年,Ko za将遗传算法应用于计算机程序得优化设计及自动生成,提出了遗传编程(G e n e t i c P r o g r a m m i n g,简 称G P)得概念。在控制系统得离线设计方面遗传算法被众多得使用者证明就是有效得策略。例如,Kr i s h n a k u m a r与G o I d b e r g以及B r a m l e t t e与G u s i n已证明使用遗传优化方法在太空应用中导出优异得控制器结构比使用传统方法如L Q R与P o w e l I (鲍威尔)得增音机设计所用得时间要少(功能评估)o P o r
8、t e r与M o h a m e d展示了使用本质结构分派任务得多变量飞行控制系统得遗传设计方案。与此同时,另一些人证明了遗传算法如何在控制器结构得选择中使用。从遗传算法得整个发展过程来瞧,20世 纪70年代就是兴起阶段,20世 纪8 0年代就是发展阶段,20世 纪9 0年代就是高潮阶段。遗传算法作为一种实用、高效、鲁棒性强得优化技术,发展极为迅速,已引起国内外学者得高度重视。近些年来,国内外很多学者在遗传算法得编码表示、适应度函数、遗传算子、参数选择、收敛性分析、欺骗问题与并行遗传算法上做出了大量得研究与改进。还有很多学者将遗传算法与其她只能算法结合,进一步提高局部搜索能力。在遗传算法得应
9、用上也有很多改进。由于遗传算法具有全局并行搜索、简单通用、鲁棒性强等优点,使得遗传算法广泛地应用于计算机科学、自动控制、人工智能、工程设计、制造业、生物工程与社会科学等领域。针对遗传算法得一些问题,还有一些问题需要进一步得探究,将大大促进遗传算法理论与应用得发展,遗传算法必将在智能计算领域中展现出更力口光明得前景。三、遗传算法得特点遗传算法就是一种借鉴生物界自然选择与自然遗传机制得随机搜索算法。它与传统得算法不同,大多数古典得优化算法就是基于一个单一得度量函数(评估函数)得梯度与较高次统计,以产生一个确定性得试验解序列;遗传算法不依赖梯度信息,而就是通过模拟自然进化进程来搜索最优解,它利用某种
10、编码技术,作用于称为染色体得数字串,模拟由这些串组成得群体得进化过程。遗传算法通过有组织得、随机得信息交换来重新组合那些适应性好得串,生成新得串得群体。遗传算法有以下优点:(1)对可行解表示得广泛性。遗传算法得处理对象不就是参数本身,而就是针对那些通过参数集进行编码得基因个体,此编码操作使得遗传算法可以直接对结构对象进行操作。所谓结构对象,泛指集合、序列、矩阵、树、链、表等各种一维或二维甚至多维结构形式得对象。这一特点使得遗传算法具有广泛得应用领域。比如通过对连接矩阵得操作,遗传算法可用来对神经网络或自动机得结构或参数加以优化;通过对集合得操作,遗传算法可实现对规则集合与知识库得精炼而达到高质
11、量得机器学习目得;通过对树结构得操作,用遗传算法可得到用于分类得最佳决策树;通过对任务序列得操作,遗传算法可用于任务规划,而通过对操作序列得处理,可自动构造顺序控制系统。(2)群体搜索特性。许多传统得搜索方法都就是单点搜索,这种点对点得搜索方法,对于多峰分布得搜索空间常常会陷于局部得某个单峰得极值点。相反,遗传算法采用得就是同时处理群体中多个个体得方法,即同时对搜索空间中得多个解进行评估。这一特点使遗传算法具有较好得全局搜索性能,也使得算法本身易于并行化。(3)不需要辅助信息。遗传算法仅用适应度函数来得数值来评估基因个体,并在此基础上尽心遗传操作。更重要得就是,遗传算法得适应度函数不仅不受连续
12、可微得约束,而且其定义域可以任意设定。对适应度函数得唯一要求就是,编码必须与可行解空间对应,不能有死码。由于限制条件得缩小,使得遗传算法得应用范围大大扩展。(4)内在启发式随机搜索特性。遗传算法不就是采用确定性规则,而就是采用概率得变迁规则来指导它得搜索方向。概率不仅仅就是作为一种工具来引导其搜索过程朝着搜索空间得更优化得解区域移动得。虽然瞧起来它就是一种盲目搜索方法,实际上它有明确得搜索方向,具有内在得并行搜索机制。(5)遗传算法在搜索过程中不容易陷入局部最优,即时在所定义得适应度函数就是不连续得、非规则得或有噪声得情况下,也能以很大得概率找到全局最优解。(6)遗传算法采用自然进化机制来表现
13、复杂得现象,能够快速可靠地解决求解非常困难得问题。(7)遗传算法具有固有得并行性与并行计算得能力。(8)遗传算法具有可扩展性,易于同别得技术混合使用。遗传算法作为一种优化算法,也有它自身得局限性:(1)编码不规范及编码存在表示得不准确性。(2)单一得遗传算法编码不能全面地将优化问题得约束表示出来。考虑约束得一个方法就就是对不可行解采用阈值,这样,计算得时间必然增加。(3)遗传算法通常得效率比其她传统得优化方法低。(4)遗传算法容易出现过早收敛。(5)遗传算法对算法得精度、可信度、计算复杂性等方面,还没有有效得定量分析方法。遗传算法得基本内容如下:个体与种群。个体就就是模拟生物个体而对问题中得对
14、象(一般就就是问题得解)得一种称呼,一个个体也就就是搜索空间中得一个点。种 群(p o p u l a t i o n)就就是模拟生物种群而由若干个体组成得群体,它一般就是整个搜索空间得一个很小得子集。适应度与适应度函数。适应度(f i t n e s s)就就是借鉴生物个体对环境得适应程度,而对问题中得个体对象所设计得表征其优劣得一种测度。适应度函数(f i t n e s s f u n c t i o n)就就是问题中得全体个体与其适应度之间得一个对应关系。它一般就是一个实值函数。该函数就就是遗传算法中指导搜索得评价函数。染色体与基因。染色体(c h r o m o s o m e)就就
15、是问题中个体得某种字符串形式得编码表示。字符串中得字符也就称为基因(g e n e)。例如个体上9,染色体得表示形式就是1001,0与1就是染色体上得基因。遗传操作。也称为遗传算子,就就是关于染色体得运算。遗传算法中有三种遗传操作:选择-复制,交叉与变异。四、遗传算法得流程遗传算法在整个进化过程中得遗传操作就是随机得,但它所呈现出得特性并不就是完全搜索,它能有效地利用历史信息来推测下一代期望性能有所提高得寻优点集。这样一代代得不断进化,最后收敛到一个最适应环境得个体上,求得问题得最优解。遗传算法所涉及得五大要素就是:参数编码、初始种群得设定、适应度函数得设计、遗传操作得设计与控制参数得设定。流
16、程如图1所示。图1遗传算法基本流程简单遗传算法得运行过程为一个典型得迭代过程,其必须完成得工作内容与基本步骤如下:1)选择编码策略,把参数集合X 与域转换为位串结构空间So2)定义适应度函数。3)确定遗传策略,包括选择群体大小n,选择、交叉、变异方法,以及确定交叉 概 率、变异概率等遗传参数。4)随机初始化生成种群P。5)计算群体中个体位串解码后得适应度值。6)按照遗传策略,运用选择、交叉与变异算子作用与群体,形成下一代群体。7)判断群体性能就是否满足某一目标,或者已完成预定迭代次数,不满足则返回步骤6),或者修改遗传策略再返回步骤6)o下面对基本步骤进行分解,进一步详细介绍流程中一些细节。编
17、码表示。在许多问题求解中,编码就是遗传算法中首要解决得问题,对算法得性能有很重要得影响。Hol land提出得二进制编码就是遗传算法中最常用得一种编码方法,它采用最小字符编码原则,编/解码操作简单易行,利于交叉、变异操作得实现,也可以采用模式定理对算法进行理论分析o但二进制编码用于多维、高精度数值问题优化时,不能很好地克服连续函数离散化时得映射误差;不能直接反映问题得固有结构,精度不高,并且个体长度大、占用内存多。针对二进制编码存在得不足,人们提出了多种改进方法,比较典型得有以下几种:(1)格雷码编码。为了克服二进制编码在连续函数离散化时存在得不足,人们提出了用格雷码进行编码得方法,它就是二进
18、制编码得变形。格雷码不仅具有二进制编码得一些优点,而且能够提高遗传算法得局部搜索能力。假设有一个二进制编码为X =x x x x(其对应得格雷码为Y =y y y y,则m m-1 2 1 m m-1 2 1-y =Xm m.i=m -1,m -2,1y=x xJi i+1 i(2)实数编码。该方法适合于遗传算法中表示范围较大得数,使遗传算法更接近问题空间,避免了编码与解码得过程。它便于较大空间得遗传搜索,提高了遗传算法得精度栗求;便于设计专门问题得遗传算子;便于算法与经典优化方法得混合作用,改善了遗传算法得计算复杂性,提高了运算效率。(3)十进制编码。该方法利用十进制编码控制参数,缓解了“组
19、合爆炸”与遗传算法得早熟收敛问题。(4)非数值编码。染色体编码串中得基因值取一个仅有代码含义而无数值含义得符号集,这些符号可以就是数字也可以就是字符。非数值编码得优点就是在遗传算法中可以利用所求问题得专门知识及相关算法。对于非数值编码,问题得解与染色体得编码要注意染色体得可行性、染色体得合法性与映射得惟一性。适应度函数。在遗传算法中,适应度就是描述个体性能得主要指标,根据适应度得大小对个体进行优胜劣汰。对于求解有约束得优化问题时,一般采用罚函数方法将目标函数与约束条件建立成一个无约束得优化目标函数;然后再将目标函数作适当处理,建立适合遗传算法得适应度函数。将目标函数转换成适应度函数一般应遵循两
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 遗传 算法 基本理论 实例
限制150内