第三章-遗传算法的理论基础
- 格式:doc
- 大小:368.00 KB
- 文档页数:11
遗传算法综述王宏杰魏先峰薛周建彭丹(贵州大学电子科学与信息技术学院,贵州贵阳550025)摘要:近年来遗传算法越来越广泛地受到世界各国学者的关注,本文简述了遗传算法的发展、特点及其应用。
关键词:遗传;搜索;遗传算法1引言遗传算法(G enet i c A l gori t hm,缩写为G A),是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。
它是由美国的J.H ol l and 教授1975年首先提出来的,近年来,由于遗传算法求解复杂优化问题的巨大潜力和工程等领域的成功应用,受到了国内外学者的广发关注。
2遗传算法的发展早在上个世纪40年代,就有学者开始研究如何利用计算机进行生物模拟的技术,他们从生物学的角度进行了生物的进化过程模拟、遗传过程模拟等研究工作。
进入60年代后,美国密执安大学的H oll and教授及其学生们受到这种模拟技术的启发,创造出了一种基于生物遗传和进化机制的适合于复杂系统优化计算的自适应概率优化技术…遗传算法。
进入90年代,遗传算法迎来了兴盛发展时期,无论是理论研究还是应用研究都成了十分热门的课题。
尤其是遗传算法的应用研究显得格外活跃,不但它的应用领域扩大,而且利用遗传算法进行优化和规则学习的能力也显著提高,同时产业应用方面的研究也在摸索之中。
此外一些新的理论和方法在应用研究中亦得到了迅速的发展,这些无疑都给遗传算法增添了新的活力。
遗传算法的应用研究已从初期的组合优化求解扩展到了许多更新、更工程化的应用方面。
3遗传算法的特点G A是一种利用自然选择和进化思想在高维空间中寻优的方法,它不一定能寻得最优点,但是它可以找到更优点。
因此G A 可能会暂时停留在某些非最优点上,直到变异发生使它跃居到另一个更优点上。
G A寻优过程的一个重要特点是它始终保持整个种群的进化,这样即使某个体在某时刻丧失了有用的特征,这种特征也会被其他个体所保留并延续发展下去。
目录目录 (1)摘要 (3)第一章概论 (5)1.1 课题来源 (5)1.2 水箱控制策略的研究 (5)1。
3 本文研究课题 (6)第二章三容水箱系统简介及数学模型 (7)2。
1 三容水箱系统的总体结构及工作原理 (7)2。
1。
1 三容水箱试验系统的总体结构 (7)2。
1。
2 三容水箱试验台控制结构的组成 (8)2.1。
3 单入单出一阶对象的结构 (9)2.2 三容水箱系统的特点 (10)2。
3 实验建模法推导三容水箱系统的数学模型 (10)2。
4 系统的性能分析 (12)2。
5 本章小结 (15)第三章基于三容水箱系统的PID控制算法研究 (15)3。
1 PID控制原理简介 (15)3。
2 基于Z—N的算法实现 (17)3。
2。
1 数字PID控制算法简介 (17)3。
2。
2 积分分离PID控制算法 (18)3。
2.3 基于Z—N整定法的Kp、Ki、Kd控制参数整定 (20)3.3 基于遗传算法的PID控制的设计 (23)3。
3.1 遗传算法简介 (23)3。
3.2 基于遗传算法PID参数整定的算法设计 (25)3。
4 适应度目标函数讨论 (31)3。
5 基于自适应遗传算法改进的PID参数整定 (32)3.5.1 自适应遗传算法 (32)3。
5。
2 基于自适应遗传算法求解最优化模型 (34)3.6 基于自适应遗传算法的改进 (36)3.7 本章小结 (38)第四章总结 (38)4.1 结论 (38)4.2 后续工作 (39)参考文献 (39)致谢 (40)附录1 常规遗传算法PID整定程序 (41)附录2 计算目标函数值的子程序chap5-3f.m (48)附录3 基于自适应遗传算法的PID整定程序 (50)附录4 快速仿真曲线程序 (56)摘要我们知道三容水箱系统是工业过程控制中许多被控对象的典型抽象模型,在非线性、大惯性过程控制研究应用中具有广泛代表性.近年来国内外许多学者对三容水箱系统的建模方法、控制算法及故障诊断等方面进行了探讨。
单亲遗传算法:现状与展望1李茂军,罗安,刘定国长沙理工大学电气与信息工程学院,长沙(410076)湖南大学电气与信息工程学院,长沙(410082)摘要:首先介绍单亲遗传算法的诞生背景和特点,然后介绍单亲遗传算法的理论和应用研究现状,最后给出了单亲遗传算法的进一步研究方向。
关键词:遗传算法,单亲遗传算法,遗传算子,收敛性,研究现状1引言自从美国Michigan大学Holland教授[1]等人于20世纪70年代提出遗传算法(GA)以来,即受到了广大研究工作者的关注。
Goldberg[2]等人对遗传算法的发展作出了重要的贡献。
进入20世纪90年代,国内外学者对遗传算法的理论和应用研究作了大量的工作[3,4],取得了辉煌的成就。
Holland教授在文献[1]中提出的遗传算法后来被人们称为简单遗传算法。
简单遗传算法计算效率不高,且不是全局收敛的[4]。
为了提高遗传算法的计算效率,人们提出了各种各样的改进遗传算法。
单亲遗传算法(PGA)就是近年来发展起来的一种改进遗传算法。
本文首先介绍单亲遗传算法的诞生背景和特点,然后介绍单亲遗传算法的研究现状,最后介绍单亲遗传算法的未来发展方向。
2单亲遗传算法的提出传统遗传算法(TGA)模拟自然界生物的双亲繁殖方式,主要利用交叉算子繁殖后代。
传统遗传算法在采用非序号编码(包括二进制编码、实数编码等)且所求解问题属无约束优化问题时是有效的。
对于组合优化问题,如TSP问题[5],使用序号编码比非序号编码更简单,更直接,但序号编码的染色体不能使用常规交叉算子,必须使用PMX、OX和CX[6]等特殊的交叉算子,而这些特殊的交叉算子遗传操作复杂,计算效率不高,且缺乏理论基础,这在很大程度上限制了序号编码遗传算法的推广应用。
针对于传统遗传算法在求解组合优化问题时的上述不足,文献[7]提出了一种单亲遗传算法。
单亲遗传算法主要采用序号编码,不使用传统遗传算法的交叉算子,而代之以仅在一条染色体上操作的基因重组等遗传算子,即单亲遗传算法只通过单个个体繁殖后代。
部分交叉匹配交叉遗传算法-概述说明以及解释1.引言1.1 概述在计算机科学和优化问题领域中,部分交叉匹配和交叉遗传算法是两种常见的优化技术。
它们分别基于不同的原理和策略,用于解决各种实际问题和优化目标。
部分交叉匹配是一种基于交叉操作的优化方法。
在部分交叉匹配中,我们将两个父代个体的染色体部分交换,以生成新的个体。
这种交叉方式能够保留原始个体的一些有利特征,同时引入新的变异和多样性,从而增加了搜索空间和解空间的覆盖程度。
部分交叉匹配在优化问题的搜索过程中表现出了良好的性能和适应性。
另一方面,交叉遗传算法是一种基于生物遗传学原理的优化算法。
在遗传算法中,个体的染色体是通过模拟自然选择和遗传操作来进化的。
交叉操作是其中的关键步骤,它将两个父代个体的染色体部分随机交换,以生成新的个体。
通过交叉操作,遗传算法能够有效地探索解空间和搜索最优解的可能性。
结合部分交叉匹配和交叉遗传算法可以综合利用它们的优势和特点,以更高效地解决优化问题。
通过部分交叉匹配,我们可以增加搜索空间和解空间的覆盖程度,同时引入新的变异和多样性。
而交叉遗传算法则能够模拟自然选择和进化的过程,以找到更优解。
通过结合这两种技术,我们可以充分发挥它们的优势,提高解决问题的效率和准确性。
在本文中,我们将详细介绍部分交叉匹配和交叉遗传算法的原理、特点和应用。
我们还将探讨如何结合这两种技术,并通过实验验证它们的效果和性能。
最后,我们将总结这两种方法在优化问题中的应用前景,以及可能的局限性和改进方向。
通过本文的研究和分析,我们希望读者能够深入了解部分交叉匹配和交叉遗传算法在优化问题中的应用价值,同时对如何结合它们进行更高效的问题求解有所启发。
文章结构部分的内容应该包括对整篇文章的组织和结构进行介绍,概括说明各个章节或部分的主要内容。
文章的结构通常遵循一个逻辑框架,以确保读者能够清晰地理解文章的主题和内容。
因此,本篇文章的结构部分需要介绍各个章节或部分的主要内容,以及它们在整篇文章中的位置和作用。
智能制造系统中的工艺过程建模与优化第一章引言随着人工智能和大数据技术的迅速发展,智能制造已经成为现代制造业的重要发展方向之一。
在智能制造系统中,工艺过程建模与优化是一项关键任务。
本文将从工艺过程的概念出发,介绍智能制造系统中的工艺过程建模方法,并探讨如何利用优化算法对工艺过程进行优化。
第二章工艺过程建模方法2.1 工艺过程的概念工艺过程是生产过程中产生产品或服务的重要环节,它包括物料流、能源流、信息流和控制流。
对工艺过程进行建模可以帮助企业理解和控制生产过程,并为优化提供基础。
2.2 基于物理模型的建模方法基于物理模型的建模方法是根据工艺过程的实际物理规律,建立数学模型来描述工艺过程的行为。
常用的方法包括物质平衡模型、能量平衡模型和动力学模型等。
这种方法需要对生产过程进行深入的分析和研究,适用于复杂的工艺过程。
2.3 基于统计模型的建模方法基于统计模型的建模方法是通过分析历史数据,建立统计模型来预测和优化工艺过程。
常用的方法包括回归分析、时间序列分析和人工神经网络等。
这种方法适用于数据量较大且规律难以用物理模型描述的情况。
2.4 基于人工智能的建模方法基于人工智能的建模方法是利用机器学习和深度学习等技术,通过训练模型来预测和优化工艺过程。
这种方法可以处理大规模的数据和复杂的非线性关系,适用于各种类型的工艺过程。
第三章工艺过程优化算法3.1 遗传算法遗传算法是一种基于生物进化原理的优化算法,通过模拟自然选择和遗传机制,搜索最优解。
在工艺过程优化中,可以将工艺参数作为遗传算法的染色体,根据适应度函数评估每个个体的适应度,通过交叉和变异等操作产生新的个体,并不断迭代搜索最优解。
3.2 粒子群算法粒子群算法是一种基于群体智能的优化算法,通过模拟群体中个体之间的协作和信息交流,搜索最优解。
在工艺过程优化中,可以将工艺参数看作粒子的位置,根据适应度函数评估每个粒子的适应度,通过更新速度和位置来搜索最优解。
3.3 模拟退火算法模拟退火算法是一种基于物理退火原理的优化算法,通过模拟固体物质退火过程,降低系统能量,搜索最优解。
板材切割优化算法的实现与比较第一章引言板材切割是制造业中重要的工艺之一,目的是最大限度地利用板材,减少浪费。
随着计算机技术的不断发展,利用计算机实现板材切割优化算法已成为当前工业界广泛关注的研究领域之一。
板材切割的优化算法旨在找到一种最优的切割方案,以最小化废料数量或最大化使用率。
本文将介绍两种常见的板材切割优化算法,分别是贪心算法和遗传算法,通过实验比较两种算法的性能,并着重讨论如何在实际应用中选择最佳的算法。
第二章贪心算法贪心算法是一种简单的启发式算法。
它的主要思想是在每一步中选择当前最好的选择,以期望最终结果也是最佳的。
在板材切割问题中,贪心算法的具体实现如下:1.按照板材尺寸排序,从最大的板材开始切割。
2.选择合适的模板尺寸,以覆盖需要切割的板材。
3.尽可能多地剪出这一模板所能承载的片材数量。
4.重复步骤2和3,直至所有板材都被切割完毕。
尽管贪心算法非常简单易懂,但是在实际应用中,它并不总是最优的。
由于贪心算法只考虑当前的最优解,而忽视了全局最优解,因此在处理一些复杂的切割情况时可能出现不好的结果。
第三章遗传算法遗传算法是一种进化算法,其核心思想是通过模拟自然选择和遗传的过程,寻找最优解。
在板材切割问题中,遗传算法的具体实现如下:1.初始种群的生成:随机生成一组合法的切割方案,作为初始种群。
2.适应度函数的确定:以废料数量或使用率作为适应度函数。
3.选择:按照适应度函数的大小,选择某些个体作为下一代的父母。
4.交叉:通过随机选择两个父母来生成子代,交叉的位置也是随机的。
5.变异:通过随机的方式来改变个体的某个优化参数。
6.新种群的生成:将交叉和变异产生的子代和父代合并生成新的种群。
7.重复步骤3至6,直到达到终止条件。
可以看出,遗传算法能够全面考虑切割问题的多种变量和约束条件,因此,它通常比贪心算法更加优秀。
但是,由于遗传算法的实现非常复杂,计算量较大,因此速度相对较慢,不适合处理实时性要求比较高的切割场景。
【⼈⼯智能】《⼈⼯智能》课程习题《⼈⼯智能》课程习题第⼀章绪论1-1. 什么是⼈⼯智能?试从学科和能⼒两⽅⾯加以说明。
1-2. 在⼈⼯智能的发展过程中,有哪些思想和思潮起了重要作⽤?1-3. 为什么能够⽤机器(计算机)模仿⼈的智能?1-4. 现在⼈⼯智能有哪些学派?它们的认知观是什么?1-5. 你认为应从哪些层次对认知⾏为进⾏研究?1-6. ⼈⼯智能的主要研究和应⽤领域是什么?其中,哪些是新的研究热点?第⼆章知识表⽰⽅法2-1状态空间法、问题归约法、谓词逻辑法和语义⽹络法的要点是什么?它们有何本质上的联系及异同点?2-2设有3个传教⼠和3个野⼈来到河边,打算乘⼀只船从右岸渡到左岸去。
该船的负载能⼒为两⼈。
在任何时候,如果野⼈⼈数超过传教⼠⼈数,那么野⼈就会把传教⼠吃掉。
他们怎样才能⽤这条船安全地把所有⼈都渡过河去?再定义描述过河⽅案的谓词:L-R(x, x1, y, y1,S):x1个修道⼠和y1个野⼈渡船从河的左岸到河的右岸条件:Safety(L,x-x1,y-y1,S’)∧Safety(R,3-x+x1,3-y+y1,S’)∧Boat(L,S)动作:Safety(L,x-x1,y-y1,S’)∧Safety(R,3-x+x1,3-y+y1,S’)∧Boat(R,S’)R-L (x, x1, y, y1,S):x2个修道⼠和y2个野⼈渡船从河的左岸到河的右岸条件:Safety(R,3-x-x2,3-y-y2,S’)∧Safety(L,x+x2,y+y2,S’)∧Boat(R,S)动作:Safety(R,3-x-x2,3-y-y2,S’)∧Safety(L,x+x2,y+y2,S’)∧Boat(L,S’)(2) 过河⽅案Safety(L,3,3,S0)∧Safety(R,0,0,S0)∧Boat(L,S0)L-R(3, 1, 3, 1,S0) L-R(3, 0, 3, 2,S0)Safety(L,2,2,S1)∧Safety(R,1,1,S1)∧Boat(R,S1)Safety(L,3,1,S1’)∧Safety(R,0,2,S1’)∧Boat(R,S1’)R-L (2, 1, 2, 0,S1) R-L (3,0, 1, 1,S1’)Safety(L,3,2,S2)∧Safety(R,0,1,S2)∧Boat(L,S2)L-R(3, 0, 2, 2,S2)Safety(L,3,0,S3)∧Safety(R,0,3,S3)∧Boat(R,S3)R-L (3, 0, 0, 1,S3)Safety(L,3,1,S4)∧Safety(R,0,2,S1)∧Boat(L,S4)L-R(3, 2, 1, 0,S4)Safety(L,1,1,S5)∧Safety(R,2,2,S5)∧Boat(R,S5)R-L (1, 1, 1, 1,S5)Safety(L,2,2,S6)∧Safety(R,1,1,S6)∧Boat(L,S6)L-R(2, 2, 2, 0,S6)Safety(L,0,2,S7)∧Safety(R,3,1,S7)∧Boat(R,S7)R-L (0, 0, 2, 1,S7)Safety(L,0,3,S8)∧Safety(R,3,0,S8)∧Boat(L,S8)L-R(0, 0, 3, 2,S8)Safety(L,0,1,S9)∧Safety(R,3,2,S9)∧Boat(R,S9)R-L (0, 1, 1, 0,S9)Safety(L,1,1,S10)∧Safety(R,2,2,S10)∧Boat(L,S10)2-3利⽤图2.3,⽤状态空间法规划⼀个最短的旅⾏路程:此旅程从城市A开始,访问其他城市不多于⼀次,并返回A。
姓名日期1月15日1月16日1月15日照了一些资料看,把模糊的地方进一步弄懂,书看了两章进一步看书和看网上查阅到的资料14日之前看了遗传算法的简介,大体了解,记住了算法流程,染色体编码法有点模糊,用遗传算法求解,大概了解,细节有点不清楚1月14日1月16日看一下GA算法的马氏链描及其收敛性1月14日1月17日由于考试,只剩下晚上的时间,所以继续14日的编码,然后上网遗传算法的应用继续看我下的那本《遗传算法和数据编码的结合》的数值优化部码,格雷码编码,以及更优化的杂交和变异方法,然后看下本书的例子看优化部分的局部微调以及处理约束技巧部分,上网查看遗传算做什么东西陈常涛莫海涌杨向涛1月15日1月16日看陈常涛发给我的电子书籍(上面讲的蛮细的)第一章,遗传算1月15日看第二章,遗传算法的运行步骤看第三章,遗传算法的理论基础曾勇 任务安排1月14日继续前两日看的遗传算法和数据编码的第一部分遗传算法的主要以及熟悉遗传算法的步骤,编码实现一个简单函数的最优解搜索在网上查阅有关遗传算法的相关知识,算子,以及在哪方面有比和其他算法比较的优缺点1月13日1月14日看了下遗传算法的基本流程,以及GA算法的特点,看了下模式定理1月13日看了下遗传算法的起源,以及生物学原理,了解了算法的基本思想(即为什么优解),了解了一些概念名词,位串编码,变异,交叉,潜在解,遗传算子,了解了遗索的优缺点,以及爬山法等无特殊情况可完成算法流程已经大概熟悉了,自己用word文档写了一遍,写了下有关算子的基本原理,比如变异算子如何实现变异等。
编码已完成大部分,只剩变异算子没有实现体编码和浮点数编码方点不清楚 不是很理解 已完成 已完成 百分之百 已完成 任务完成进度后上网查查资料,看些编码预计会完成,不过效果还得等运行出来才知道优化部分,包括浮点编然后看下本书的例子这个进度说不准遗传算法的应用,想想进度说不准,看是否能看懂和记住 预计完成遗传算法的主要特征的主要特征和理论基础的最优解搜索面有比较卓越的应用,看了下模式定理为什么该算法能搜索到最在解,遗传算子,了解了遗传算法搜。
自然界始终是人类灵感的重要来源。
仿生学直接模仿生物界的现象和原理,而另外一些研究方向则起源于对自然现象或过程的模拟,如控制论,人工神经网络,模拟退火算法,元胞自动机等。
遗传算法(genetic algorithms)也是其中之一。
早在20世纪50年代就有将进化原理应用于计算机科学的努力,但缺乏一种普遍的编码方法,只能依赖于变异而非交配产生新的基因结构。
50年代末到60年代初,受一些生物学家用计算机对生物系统进行模拟的启发,Holland开始应用模拟遗传算子研究适应性。
在Bagley1967年关于自适应下棋程序的论文中,他应用遗传算法搜索下棋游戏评价函数的参数集,并首次提出了遗传算法这一术语。
1975年Holland出版了遗传算法历史上的经典著作《自然和人工系统中的适应性》,系统阐述了遗传算法的基本理论和方法,并提出了模式定理(schemata theorem),证明在遗传算子选择、交叉和变异的作用下,具有低阶、短定义距以及平均适应度高于群体平均适应度的模式在子代中将以指数级增长,这里的模式是某一类字符串,其某些位置有相似性。
同年,DeJong完成了他的博士论文《遗传自适应系统的行为分析》,将Holland的模式理论与他的计算试验结合起来,进一步完善了选择、交叉和变异操作,提出了一些新的遗传操作技术。
进入80年代后,遗传算法得到了迅速发展,不仅理论研究十分活跃,而且在越来越多的应用领域中得到应用。
1983年,Holland的学生Goldberg将遗传算法应用于管道煤气系统的优化,很好地解决了这一非常复杂的问题。
1989年,Goldberg 出版了《搜索、优化和机器学习中的遗传算法》一书,这本可能是遗传算法领域被引用次数最多的书为这一领域奠定了坚实的科学基础。
80年代中期,Axelrod和Forrest合作,采用遗传算法研究了博奕论中的一个经典问题--囚徒困境。
在机器学习方面,Holland自提出遗传算法的基本理论后就致力于研究分类器系统(classifier system),Holland 希望系统能将外界刺激进行分类,然后送到需要的地方去,因此命名为分类器系统,这里的classifier是指一个二进制串,代表一类情况。
遗传算法与人工生命算法的融合研究在计算机科学领域,遗传算法和人工生命算法是两种常见的优化算法。
它们分别基于生物进化和生命模拟的原理,通过模拟遗传和进化过程来解决问题。
近年来,研究人员开始将这两种算法进行融合研究,以探索更加高效和强大的优化算法。
遗传算法是一种通过模拟自然选择和遗传机制来搜索最优解的算法。
它的基本思想是将问题的解表示为一个个体的基因型,通过交叉和变异操作来产生新的个体,并通过适应度评估来选择优秀的个体。
这种算法适用于解决复杂的优化问题,如旅行商问题和机器学习的参数优化。
人工生命算法是一种模拟生物进化和生命演化过程的算法。
它通过创建一系列的个体,并通过模拟生物的生长、繁殖和竞争等过程来进行优化。
与遗传算法不同的是,人工生命算法更加注重个体之间的相互作用和环境的影响。
这种算法适用于解决复杂的自适应问题,如智能体的行为学习和群体行为模拟。
将遗传算法和人工生命算法进行融合研究,可以充分发挥它们各自的优势,创造出更加高效和强大的优化算法。
首先,通过引入生命演化的概念,可以使遗传算法更加灵活和自适应。
例如,在交叉和变异操作中引入某种生命演化的规则,可以使得个体的基因型更好地适应环境的变化。
其次,通过引入遗传机制,可以使人工生命算法更加高效和稳定。
例如,在个体的生长和繁殖过程中,通过选择优秀个体的基因进行遗传,可以加速优化过程并提高收敛性。
融合遗传算法和人工生命算法的研究还可以进一步拓展到多种领域。
例如,在智能体的行为学习中,可以将遗传算法和人工生命算法相结合,通过模拟生物的进化过程来优化智能体的行为策略。
在机器学习的领域,可以将遗传算法和人工生命算法应用于神经网络的结构优化和参数调整,以提高学习性能和泛化能力。
然而,遗传算法和人工生命算法的融合研究也面临一些挑战和困难。
首先,两种算法的理论基础和实现方式存在差异,需要进行深入的理论研究和算法改进。
其次,融合算法的设计和参数调整也需要进行大量的实验和验证,以找到最佳的融合方式和参数设置。
第三章 遗传算法的理论基础遗传算法有效性的理论依据为模式定理和积木块假设。
模式定理保证了较优的模式(遗传算法的较优解)的样本呈指数级增长,从而满足了寻找最优解的必要条件,即遗传算法存在着寻找到全局最优解的可能性。
而积木块假设指出,遗传算法具备寻找到全局最优解的能力,即具有低阶、短距、高平均适应度的模式(积木块)在遗传算子作用下,相互结合,能生成高阶、长距、高平均适应度的模式,最终生成全局最优解。
Holland 的模式定理通过计算有用相似性,即模式(Pattern)奠定了遗传算法的数学基础。
该定理是遗传算法的主要定理,在一定程度上解释了遗传算法的机理、数学特性以及很强的计算能力等特点。
3.1 模式定理不失一般性,本节以二进制串作为编码方式来讨论模式定理(Pattern Theorem)。
定义3.1基于三值字符集{0,1,*}所产生的能描述具有某些结构相似性的0、1字符串集的字符串称作模式。
以长度为5的串为例,模式*0001描述了在位置2、3、4、5具有形式“0001”的所有字符串,即(00001,10001) 。
由此可以看出,模式的概念为我们提供了一种简洁的用于描述在某些位置上具有结构相似性的0、1字符串集合的方法。
引入模式后,我们看到一个串实际上隐含着多个模式(长度为 n 的串隐含着2n 个模式) ,一个模式可以隐含在多个串中,不同的串之间通过模式而相互联系。
遗传算法中串的运算实质上是模式的运算。
因此,通过分析模式在遗传操作下的变化,就可以了解什么性质被延续,什么性质被丢弃,从而把握遗传算法的实质,这正是模式定理所揭示的内容定义3.2 模式H 中确定位置的个数称作该模式的阶数,记作o(H)。
比如,模式 011*1*的阶数为4,而模式 0* * * * *的阶数为1。
显然,一个模式的阶数越高,其样本数就越少,因而确定性越高。
定义3.3模式H 中第一个确定位置和最后一个确定位置之间的距离称作该模式的定义距,记作)(H δ。
比如,模式 011*1*的定义距为4,而模式 0* * * * *的定义距为0。
模式的阶数和定义距描述了模式的基本性质。
下面通过分析遗传算法的三种基本遗传操作对模式的作用来讨论模式定理。
令)(t A 表示第t 代中串的群体,以),,2,1)((n j t A j =表示第t 代中第j 个个体串。
1.选择算子在选择算子作用下,与某一模式所匹配的样本数的增减依赖于模式的平均适值,与群体平均适值之比,平均适值高于群体平均适值的将呈指数级增长;而平均适值低于群体平均适值的模式将呈指数级减少。
其推导如下:设在第t 代种群)(t A 中模式所能匹配的样本数为m ,记为),(t H m 。
在选择中,一个位串j A 以概率/j j iP f f=∑被选中并进行复制,其中j f 是个体)(t A j 的适应度。
假设一代中群体大小为n ,且个体两两互不相同,则模式H 在第1+t 代中的样本数为:()(,1)(,)if H m H t m H t nf +=∑(3.1)式中,)(H f 是在t 时刻对应于模式的位串的平均适值。
令群体平均适值为_/if fn =∑,则有)1,(+t H m =_)(),(fH f t H m (3.2)现在,假定模式H 的平均适值高于群体平均适值,且设高出部分为,_f c c 为常数,则有)1,(+t H m =),()1(),(___t H m c ff c f t H m +=+ (3.3)假设从0=t 开始,c 保持为常值,则有)1)(0,()1,(c H m t H m +=+ (3.4)2.交叉算子然而仅有选择操作,并不能产生新的个体,即不能对搜索空间中新的区域进行搜索,因此引入了交叉操作。
下面讨论模式在交叉算子作用下所发生的变化,这里我们只考虑单点交叉的情况。
模式H 只有当交叉点落在定义距之外才能生存。
在简单交叉(单点交叉)下H 的生存概率)1/()(1--=t H P s δ。
例如一个长度为5的串以及隐含其中的两个模式为A = 010110 H 1 = *1* * *0 H 2 =* * *11*我们注意到模式H1的定义距为4,那么交叉点在6-1=5个位置随机产生时,H 1遭破坏的概率5/1)1/()(2=-=m H P d δ,即生存概率为5/4。
而交叉本身也是以一定的概率c P 发生的,所以模式H 的生存概率为)1/()(112-⋅-=-=m H P P P P c d c s δ (3.5)现在我们考虑交叉发生在定义距内,模式H 不被破坏的可能性。
在前面的例子中,若与A 交叉的串在位置2、6上有一位与A 相同,则H 1将被保留。
考虑到这一点,式(3.5) 给出的生存概率只是一个下界,即有)1/()(1-⋅-m H P P c s δ (3.6)可见,模式在交叉算子作用下长度短的模式将增多。
3.变异算子假定串的某一位置发生改变的概率为m P ,则该位置不变的概率为1-m P ,而模式H 在变异算子作用下若要不受破坏,则其中所有的确定位置(‘0’或‘1’的位)必须保持不变。
因此模式H 保持不变的概率为)()1(H o m P -,其中)(H o 为模式H 的阶数。
当1<<m P 时,模式H 在变异算子作用下的生存概率为m H o m s P H o P P )(1)1()(-≈-= (3.7)综上所述,模式H 在遗传算子选择、交叉和变异的共同作用下,其子代的样本数为])(1][1)(1[)(),()1,(_m cP H o l H P fH f t H m t H m ---≥+δ(3.8)式(3.8)忽略了极小项m c P H o l H P ⋅+-⋅)()1/()(δ。
通过式(3.8) ,我们就可以给出模式定理。
定理3.1(模式定理)在遗传算子选择、交叉和变异的作用下,具有阶数低、长度短、平均适值高于群体平均适应度的模式在子代中将以指数级增长。
统计学的研究表明:在随机搜索中,要获得最优的可行解,则必须保证较优解的样本呈指数级增长,而模式定理保证了较优的模式(遗传算法的较优解)的样本呈指数级增长,从而给出了遗传算法的理论基础。
另外,由于遗传算法总能以一定的概率遍历到解空间的每一个部分,因此在选择算子的条件下总能得到问题的最优解。
3.2 积木块假设由模式定理可知,具有阶数低、长度短、平均适值高于群体平均适值的模式在子代中将以指数级增长。
这类模式在遗传算法中非常重要,在这一节给这些模式一个特别的名字——积木块(Building block)。
定义3.4 阶数低、长度短和适值高的模式称为积木块。
由模式定理可知,积木块将以指数级增长。
正如搭积木一样,这些“好”的模式在遗传操作下相互拼搭、结合,产生适应度更高的串,从而得到更优的可行解,这正是积木块假设所揭示的内容。
假设3.1 (积木块假设(Building Block Hypothesis)) 阶数低、长度短、适应度高的模式(积木块)在遗传算子作用下,相互结合,能生成阶数高、长度长、适值高的模式,可最终生成全局最优解。
与积木块一样,一些好的模式在遗传算法操作下相互拼搭、结合,产生适应度更高的串,从而找到更优的可行解,这正是积木块假设所揭示的内容。
下面用图来说明遗传算法中积木块生成最优解的过程。
假设每代种群规模为8,S i 表示每代群体中第i 个个体,问题的最优解由积木块AA 、BB 、CC 组成。
图3.1为初始种群,个体S 1、S 7含有AA ,个体S 4、S 8含有BB ,个体S 3含有CC 。
S 1S 2 S 3 S 4 S 5 S 6 S 7S 8 图3.1 初始种群当种群进化一代后,图3.2为第二代种群,个体S 1、S 3、S 7含有AA ,个体S 2、S 7含有BB ,个体S 3、S 6含有CC 。
个体S 3含有AA 、CC ,个体S 7含有AA 、BB 。
当种群进化到第二代后,图3.3为第三代种群,在群体中,出现了含有积木块AA 、BB 、CC 的个体S 3,个体S 3就是问题的最优解。
S 1 S 2 S 3 S 4 S 5 S 6 S 7 S 8图3.2 第二代种群S 1 S 2 S 3 S 4 S 5 S 6 S 7 S 8图3.3 第三代种群模式定理保证了较优的模式(遗传算法的较优解)样本数呈指数增长,从而满足了寻找最优解的必要条件,即遗传算法存在着寻找到全局最优解的可能性。
而这里的积木块假设则指出,遗传算法具备找到全局最优解的能力,即积木块在遗传算子作用下,能生成阶数高、长度长、适应度高的模式,最终生成全局最优解。
3.3 欺骗问题在遗传算法中,将所有妨碍适应度高的个体的生成从而影响遗传算法正常工作的问题统称为欺骗问题(DeceptiveProblem)。
遗传算法运行过程具有将阶数低、长度短、平均适应度高于群体平均适应度的模式重组成高阶模式的趋势。
如果在低阶模式中包含了最优解,则遗传算法就可能找出这个最优解来。
但是低阶、高适应度的模式可能没有包含最优串的具体取值,于是遗传算法就会收敛到一个次优的结果。
下面给出有关欺骗性的概念。
定义3.5(竞争模式) 若模式H和'H 中,*的位置完全一致,但任一确定位的编码均不同,则称H 和'H 互为竞争模式。
定义3.6(欺骗性)假设)(X f 的最大值对应的X 的集合为*X ,H 为一包含*X 的m 阶模式。
H 的竞争模式为'H ,而且)()('H f H f >,则f 为m 阶欺骗。
定义3.7(最小欺骗性)在欺骗问题中,为了造成骗局所需设置的最小的问题规模(即阶数) 。
其主要思想是在最大程度上违背积木块假设,是优于由平均的短积木块生成局部最优点的方法。
这里的“最小”是指问题规模采用两位。
下面是一个由4个阶数为2、有2个确定位置的模式集:)11(*1*****1***)10(*0*****1***)01(*1*****0***)00(*0*****0***f f f f 为简单(达到最小)起见,我们不考虑*位,令)11(f 为全局最优解,为了欺骗遗传算法,Goldberg 设计了两种情况:Type1:)00()01(f f > Type2:)01()00(f f >满足*)1(*)0(f f >或者)1(*)0(*f f >。
按Holland 的模式定理,最小欺骗问题将给遗传算法造成很大困难,遗传算法甚至找不到最优解。
但Goldberg 实验的结果却是:Type1问题基本上都很快找到了最优解,Type2问题找到和找不到两种情况都可能出现。
遗传算法中欺骗性的产生往往与适应度函数确定和调整、基因编码方式选取相关。
采用合适的编码方式或调整适应度函数,就可能化解和避免欺骗问题。