遗传算法基本理论与实例【精品毕业设计】(完整版)
- 格式:docx
- 大小:267.88 KB
- 文档页数:18
遗传算法的原理及其应用实例遗传算法是一种受生物进化启发的优化算法。
它模拟了自然进化的过程,通过选择、交叉和变异等方式不断优化解决问题的方法。
遗传算法已经在很多领域得到了广泛应用,如机器学习、图像处理、数据挖掘、优化、智能控制等领域。
遗传算法的原理遗传算法的三个基本操作是选择、交叉和变异。
选择操作是基于适应度函数对个体进行评估,优秀的个体会有更大的概率被选中。
交叉操作是将两个或多个个体的部分基因进行互换,在新一代中产生更好的个体。
变异操作是根据一定的概率对个体的某些基因进行随机变异,以增加新的可能性。
遗传算法的应用实例1.优化问题遗传算法已成功应用于很多优化问题中。
例如,在工程设计领域中,遗传算法可以用来求解复杂的数学模型,以优化设计变量,如大小、材料和形状等,来满足特定的需求。
在机器学习和人工智能领域中,遗传算法被广泛用于模型优化和参数调整。
2.路径规划遗传算法还可以被用来解决复杂路径规划问题,如飞机航线规划、智能出租车路径规划等。
通过评估适应度函数,遗传算法可以找到一条最短或最优的路线,可以用于优化运输成本、提高效率等。
3.学习算法遗传算法还可用于生成人工神经网络的拓扑结构,进一步实现学习算法的优化。
遗传算法能够通过超参数的选择,使神经网络表现更好的能力,因此在很多领域中如自然语言处理、图像处理、语音识别等领域中被广泛应用。
总之,遗传算法不仅具有优化复杂问题的能力,而且还是一种可扩展,灵活,易用和高度可定制的算法。
随着计算力的增强和算法技术的提高,遗传算法在未来的发展中将会有更为广泛的应用。
遗传算法原理与应用实例遗传算法是一种模拟自然进化过程的优化算法,它通过模拟自然选择、交叉和变异等过程,不断优化解决问题的方案。
遗传算法具有全局搜索能力、并行计算能力和自适应性等优点,在许多领域得到了广泛应用。
遗传算法的原理遗传算法的基本原理是模拟自然进化过程,通过不断的选择、交叉和变异等操作,逐步优化解决问题的方案。
具体来说,遗传算法的过程包括以下几个步骤:1. 初始化种群:随机生成一组初始解作为种群。
2. 适应度评价:对每个个体进行适应度评价,即计算其解决问题的能力。
3. 选择操作:根据适应度大小,选择一部分个体作为下一代的父代。
4. 交叉操作:对父代进行交叉操作,生成新的子代。
5. 变异操作:对子代进行变异操作,引入新的基因。
6. 重复执行:重复执行2-5步,直到满足停止条件。
7. 输出结果:输出最优解。
遗传算法的应用实例遗传算法在许多领域都有广泛的应用,下面介绍几个典型的应用实例。
1. 机器学习遗传算法可以用于机器学习中的特征选择和参数优化等问题。
例如,在图像分类问题中,可以使用遗传算法选择最优的特征子集,从而提高分类准确率。
2. 优化问题遗传算法可以用于各种优化问题,如函数优化、组合优化和约束优化等。
例如,在工程设计中,可以使用遗传算法优化设计参数,从而降低成本或提高性能。
3. 人工智能遗传算法可以用于人工智能中的搜索和规划问题。
例如,在机器人路径规划中,可以使用遗传算法搜索最优路径,从而避免障碍物和优化路径长度。
4. 游戏设计遗传算法可以用于游戏设计中的智能体行为优化和关卡生成等问题。
例如,在游戏中,可以使用遗传算法优化智能体的行为策略,从而提高游戏体验。
总结遗传算法是一种强大的优化算法,具有全局搜索能力、并行计算能力和自适应性等优点,在许多领域得到了广泛应用。
通过模拟自然进化过程,遗传算法可以不断优化解决问题的方案,从而提高问题的解决能力。
遗传算法( GA , Genetic Algorithm ) ,也称进化算法。
遗传算法是受达尔文的进化论的启发,借鉴生物进化过程而提出的一种启发式搜索算法。
因此在介绍遗传算法前有必要简单的介绍生物进化知识。
一.进化论知识作为遗传算法生物背景的介绍,下面内容了解即可:种群(Population):生物的进化以群体的形式进行,这样的一个群体称为种群。
个体:组成种群的单个生物。
基因 ( Gene ) :一个遗传因子。
染色体 ( Chromosome ):包含一组的基因。
生存竞争,适者生存:对环境适应度高的、牛B的个体参与繁殖的机会比较多,后代就会越来越多。
适应度低的个体参与繁殖的机会比较少,后代就会越来越少。
遗传与变异:新个体会遗传父母双方各一部分的基因,同时有一定的概率发生基因变异。
简单说来就是:繁殖过程,会发生基因交叉( Crossover ) ,基因突变( Mutation ) ,适应度( Fitness )低的个体会被逐步淘汰,而适应度高的个体会越来越多。
那么经过N代的自然选择后,保存下来的个体都是适应度很高的,其中很可能包含史上产生的适应度最高的那个个体。
二.遗传算法思想借鉴生物进化论,遗传算法将要解决的问题模拟成一个生物进化的过程,通过复制、交叉、突变等操作产生下一代的解,并逐步淘汰掉适应度函数值低的解,增加适应度函数值高的解。
这样进化N代后就很有可能会进化出适应度函数值很高的个体。
举个例子,使用遗传算法解决“0-1背包问题”的思路:0-1背包的解可以编码为一串0-1字符串(0:不取,1:取);首先,随机产生M个0-1字符串,然后评价这些0-1字符串作为0-1背包问题的解的优劣;然后,随机选择一些字符串通过交叉、突变等操作产生下一代的M个字符串,而且较优的解被选中的概率要比较高。
这样经过G代的进化后就可能会产生出0-1背包问题的一个“近似最优解”。
编码:需要将问题的解编码成字符串的形式才能使用遗传算法。
基本遗传算法【精品毕业设计】(完整版)遗传算法1、遗传算法⽣物学基础和基本理论达尔⽂⾃然选择学说认为,⽣物要⽣存下去,就必须进⾏⽣存⽃争。
⽣存⽃争包括种内⽃争、种间⽃争以及⽣物跟⽆机环境之间的⽃争三个⽅⾯。
在⽣存⽃争中,具有有利变异(mutation)的个体容易存活下来,并且有更多的机会将有利变异传给后代;具有不利变异的个体就容易被淘汰,产⽣后代的机会也少得多。
因此,凡是在⽣存⽃争中获胜的个体都是对环境适应性⽐较强的。
达尔⽂把这种在⽣存⽃争中适者⽣存,不适者淘汰的过程叫做⾃然选择。
达尔⽂的⾃然选择学说表明,遗传和变异是决定⽣物进化的内在因素。
遗传是指⽗代与⼦代之间,在性状上存在的相似现象。
变异是指⽗代与⼦代之间,以及⼦代的个体之间,在性状上或多或少地存在的差异现象。
在⽣物体内,遗传和变异的关系⼗分密切。
⼀个⽣物体的遗传性状往往会发⽣变异,⽽变异的性状有的可以遗传。
遗传能使⽣物的性状不断地传送给后代,因此保持了物种的特性,变异能够使⽣物的性状发⽣改变,从⽽适应新的环境⽽不断地向前发展。
⽣物的各项⽣命活动都有它的物质基础,⽣物的遗传与变异也是这样。
根据现代细胞学和遗传学的研究得知,遗传物质的主要载体是染⾊体(chromsome),染⾊体主要是由DNA(脱氧核糖核酸)和蛋⽩质组成,其中DNA⼜是最主要的遗传物质。
现代分⼦⽔平的遗传学的研究⼜进⼀步证明,基因(gene)是有遗传效应的⽚段,它储存着遗传信息,可以准确地复制,也能够发⽣突变,并可通过控制蛋⽩质的合成⽽控制⽣物的性状。
⽣物体⾃⾝通过对基因的复制(reproduction)和交叉(crossover),即基因分离、基因⾃由组合和基因连锁互换)的操作使其性状的遗传得到选择和控制。
同时,通过基因重组、基因变异和染⾊体在结构和数⽬上的变异产⽣丰富多采的变异现象。
需要指出的是,根据达尔⽂进化论,多种多样的⽣物之所以能够适应环境⽽得以⽣存进化,是和上述的遗传和变异⽣命现象分不开的。
学校代码 10126 学号 00708037 分类号密级本科毕业论文基于遗传算法的图像阈值分割学院、系数学科学学院计算数学系专业名称信息与计算科学年级 2007级学生姓名刘家祥指导教师曹军2011年 5月 20 日内容摘要图像分割就是指把图像分成各具特性的区域并提取出感兴趣目标的技术和过程。
图像的分割是以灰度值作为分割的依据,通过各个像素的灰度值和事先确定的阈值的比较来分割图像。
如何确定最合适的阈值是处理好图像分割的关键,这自然成为一直以来分割算法研究的焦点。
遗传算法是对生物进化论中自然选择和遗传学机理中生物进化过程的模拟来计算最优解的方法。
遗传算法具有众多的优点,如鲁棒性、并行性、自适应性和快速收敛,可以应用在图像处理技术领域中图像分割技术来确定分割阈值。
本文主要介绍基于遗传算法的最小误差阈值法、最大类间方差法(Otsu法)以及最佳直方图熵法(KSW熵法)等三种方法分割图像。
关键词:图像分割,遗传算法,阈值分割AbstractImage segmentation refers to the image into regions each with characteristics and goals of the technology to extract and process of interest. Segmentation is a segmentation based on gray value, gray value of each pixel through the predetermined threshold value and comparing the image segmentation. How to determine the most appropriate threshold is the key to handling image segmentation, which has naturally become the focus of segmentation algorithms.Genetic algorithm is a biological theory of evolution and genetic mechanism of natural selection in biological evolution simulation method to calculate the optimal solution. Genetic algorithm has many advantages, such as robustness, parallel, adaptive, and fast convergence, can be used in the field of image processing image segmentation technique to determine the split threshold.In this paper, genetic algorithm based on minimum error threshold, the largest class variance (Otsu method) and the best histogram entropy (KSW entropy method) are three ways to split the image.Keywords : Image segmentation, genetic algorithms, threshold目录第一章绪论 .................................................. - 1 - 第二章遗传算法概述 ........................................ . - 2 -2.1遗传算法的研究历史....................................... - 2 -2.2生物背景................................................. - 2 -2.3遗传算法的基本思想....................................... - 3 -2.4遗传算法的几个概念....................................... - 4 -2.4.1适应度函数......................................... - 4 -2.4.2遗传算法最常用的算子............................... - 4 -2.5遗传算法运算的基本流程................................... - 5 - 第三章图像分割的现状 ........................................ - 7 -3.1图像分割简介............................................. - 7 -3.2图像分割方法............................................. - 8 -3.2.1基于边缘检测的分割................................. - 8 -3.2.2基于区域的分割..................................... - 8 -3.2.3边缘与区域相结合的分割............................. - 9 -3.3阈值选取................................................. - 9 - 第四章基于遗传算法的图像阈值分割 ........................... - 10 -4.1图像阈值................................................ - 10 -4.2阈值分割的原理.......................................... - 10 -4.3最小误差阈值法.......................................... - 11 -4.3.1最小误差法图像阈值分割............................ - 11 -4.3.2 利用遗传算法来改进最小误差法...................... - 12 -4.4 最大类间方差法(Otsu法)............................... - 13 -4.4.1最大类间方差法(Otsu法)阈值分割.................. - 13 -4.4.2 Otsu阈值分割的遗传算法设计........................ - 15 -4.5 KSW熵法................................................ - 17 -4.5.1 KSW熵阈值分割................................... - 17 -4.5.2 KSW单阈值分割的遗传算法设计..................... - 18 -4.5.3 KSW双阈值分割的遗传算法设计..................... - 19 - 第五章基于新的遗传算法的图像分割 ........................... - 25 -5.1混沌遗传算法............................................ - 25 -5.2量子遗传算法............................................ - 25 -5.3免疫遗传算法............................................ - 25 - 结论 .......................................................... - 26 - 致谢 .......................................................... - 27 - 参考文献: ..................................................... - 28 -内蒙古大学本科学年论文第- 1 - 页基于遗传算法的图像阈值分割第一章绪论图像分割是图像处理与计算机视觉的基本问题之一,是图像处理到图像分析的关键步骤。
遗传算法及其应用实例遗传算法(Genetic Algorithm)是由美国Michigan大学的Holland 教授(1969)提出,后经由De Jong(1975),Goldberg(1989)等归纳总结所形成的一类模拟进化算法。
遗传算法搜索最优解的方法是模仿生物的进化过程,即通过选择与染色体之间的交叉和变异来完成的。
遗传算法主要使用选择算子、交叉算子与变异算子来模拟生物进化,从而产生一代又一代的种群X (t )。
(1)选择算子:是模拟自然选择的操作,反映“优胜劣汰”原理。
它根据每一个个体的适应度,按照一定规则或方法,从t代种群X (t )中选择出一些优良的个体(或作为母体,或让其遗传到下一代种群X (t 1))。
(2)交叉算子:是模拟有性繁殖的基因重组操作,它将从种群X (t )所选择的每一对母体,以一定的交叉概率交换它们之间的部分基因。
(3)变异算子:是模拟基因突变的遗传操作,它对种群X (t )中的每一个个体,以一定的变异概率改变某一个或某一些基因座上的基因值为其他的等位基因。
交叉算子与变异算子的作用都在于重组染色体基因,以生成新的个体。
遗传算法的运算过程如下:步1(初始化)确定种群规模N,交叉概率P c,变异概率P m和终止进化准则;随机生成N个个体作为初始种群X (0);置t ← 0。
步2(个体评价)计算评估X (t )中各个体的适应度。
步3(种群进化)3.1.选择(母体)从X (t )中运用选择算子选择出M / 2对母体(M ≥ N)。
3.2.交叉对所选择的M / 2对母体,以概率P c执行交叉,形成M 个中间个体。
3.3.变异对M个中间个体分别独立以概率P m执行变异,形成M 个候选个体。
3.4.选择(子代)从上述所形成的M个候选个体中依据适应度选择出N个个体组成新一代种群X (t +1)。
步4(终止检验)如已满足终止准则,则输出X (t +1)中具有最大适应度的个体作为最优解,终止计算,否则置t ← t +1并转步2。
论文名称:遗传算法姓名:***学号:***********班级:计算机科学与技术1班院系:信息与电气工程学院日期:2014年6月18日摘要 (2)第一章引言 (3)1.1搜索法 (3)1.2遗传算法 (3)第二章遗传算法(Genetic Algorithms,GA) (4)2.1遗传算法的基本概念 (4)2.2遗传算法的实现步骤 (6)第三章遗传算法的特点及应用 (9)3.1遗传算法的特点 (9)3.2遗传算法的应用 (9)第四章遗传算法的缺点及发展 (12)4.1遗传算法的缺点 (12)第五章遗传算法代码实现 (13)附录遗传算法代码(GA Code) (14)摘要智能搜索算法包括遗传算法、禁忌算法、模拟退火算法等。
其中遗传算法(GA)是人类从基因遗传的生物进化思想的启发下提出的,它是一种进化计算,进化计算实质上是自适应的机器学习方法,遗传算法根据基因遗传时候的变化,它在运算的时候也分为选择、交叉、变异三种行为。
它比盲目的搜索效率高的多,又比专门的针对特定问题的算法通用性强,它是一种于问题无关的求解模式。
但是遗传算法又有很大的不确定性,以及过早的收敛性,所以可以和其他算法一起使用来对问题求解。
关键词:遗传算法;GA;实现;应用;改进第一章引言1.1搜索法人工智能问题广义地说,都可以看作是一个问题求解问题,在问题的求解过程中,人们所面临的大多数现实问题往往没有确定性的算法,通常需要用搜索算法来解决。
搜索法是人工智能中问题的求解的基本方法,搜索法可大致分为有信息搜索和无信息搜索,约束满足问题和博弈问题的求解均可表述为搜索过程。
搜索法的本质是再状态空间中从问题的初始状态搜索到通向目标状态的路径。
当前的智能搜索算法本质上也是搜索法,如遗传算法、蚁群算法、神经网络等。
一般搜索可以根据是否使用启发式信息分为盲目搜素和启发式搜索,也可以根据问题的表示方式分为状态空间搜索和与/或树搜索。
盲目搜索一般是指从当前状态到目标状态需要走多少步或者并不知道每条路径的花费,所能做的只是可以区分出哪个是目标状态。
目录1 引言 (1)2 问题描述 (2)3 基于遗传算法TSP算法 (2)3.1 基于遗传算法的TSP算法总体框架 (2)3.2算法的详细设计 (3)3.2.1 解空间的表示方式 (3)3.2.2 种群初始化 (4)3.2.3适应度函数 (4)3.2.4选择操作 (4)3.2.5交叉操作 (5)3.2.6变异操作 (6)3.2.7进化逆转操作 (6)3.3 实验结果分析 (7)4 基于模拟退火算法的TSP算法 (10)4.1 SA算法的实现过程 (10)4.2 算法流程图 (10)4.3模拟退火算法的实现过程 (10)4.4实验结果 (11)5 对两种算法的评价 (14)5.1遗传算法优缺点 (14)5.2 模拟退火算法的优缺点 (15)6结语 (15)参考文献 (17)附录: ............................................................................................................ 错误!未定义书签。
廊坊师范学院本科生毕业论文论文题目:基于遗传算法与模拟退火算法的TSP算法求解10大城市最短旅途论文摘要:TSP问题为组合优化中的经典的NP完全问题.本论文以某旅行社为中国十大旅游城市--珠海、西安、杭州、拉萨、北京、丽江、昆明、成都、洛阳、威海制定最短旅途为例,分别利用基于遗传算法的TSP算法与基于模拟退火算法的TSP算法求解10大城市旅游路线问题.本论文给出了遗传算法与模拟退火算法中各算子的实现方法,并展示出求解系统的结构和求解系统基于MATLAB的实现机制.利用MATLAB软件编程,运行出结果,并对基于遗传算法的TSP算法结果与基于模拟退火算法的TSP算法的结果进行比较,描述其优缺点,并选择最为恰当的TSP算法,实现最短旅途的最优解.关键词:遗传算法;模拟退火算法;TSP;最短路径;Title:TSP Algorithm Based on Genetic Algorithm or Simulated Annealing Algorithm for Solving the Shortest Journey of 10 CitiesAbstract:TSP problem is a classic NP problem about combinatorial optimization.This article takes a travel agency looking for the shortesttrip of ten tourist cities in China-Zhuhai,Xi'an,Hangzhou,Lhasa,Beijing,Lijiang,Kunming,Chengdu,Luoyang and Weihai forinstance,and solves this problem by TSP algorithm based on geneticalgorithm and simulated annealing algorithm.The article gives theimplementations of every operator of genetic algorithm and simulatedannealing algorithm and demonstrates the architecture and theimplementation mechanism of the solving system based on MATLAB.Iprogram and operate the results by MATLAB software,and compare theresults based on genetic algorithm and simulated annealingalgorithm.And describe their advantages and disadvantages so thatchoose the most appropriate TSP algorithm to achieve the optimalsolution for the shortest path.Keywords:genetic algorithm;simulated annealing algorithm;TSP;the shortest path1 引言TSP问题为组合优化中的经典问题,已经证明为一NP完全问题[1],即其最坏情况下的时间复杂性随着问题规模的扩大,按指数方式增长[2],到目前为止不能找到一个多项式时间的有效算法.TSP问题可描述为:已知n个城市相互之间的距离,某一旅行商从某个城市出发访问每个城市一次且仅一次,最后回到出发城市,如何安排才使其所走路线最短.TSP问题不仅仅是一个简单的组合优化问题,其他许多的NP完全问题可以归结为TSP问题,如邮路问题、装配线上的螺帽问题和产品的生产安排问题等,使得TSP问题的有效求解具有重要的意义.本文中的TSP算法主要采用遗传算法与模拟退火算法.遗传算法是一种进化算法,其基本原理是仿效生物界中的“物竞天择,适者生存”的演化法则[3].遗传算法把问题参数编码为染色体,再按照所选择的适应度函数,利用迭代的方式进行选择、交叉、变异以及进化逆转等运算对个体进行筛选和进化,使适应值大的个体被保留,适应值小的个体被淘汰[4],新的群体继承了上一代的信息,又优于上一代,这样反复循环,直至满足条件,最后留下来的个体集中分布在最优解的周围,筛选出最优个体作为问题的解.模拟退火算法的出发点是基于物理中固体物质的退火过程与一般的组合优化问题之间的相似性[5],该算法是一种优化算法,其物理退火过程由三部分组成,分别为:加温过程、等温过程、冷却过程.其中,加温过程对应算法设定初温,等温过程对应算法的Metropolis[6]抽样过程,冷却过程对应控制参数的下降.这里能量的变化就是目标函数,要得到的最优解就是能量最低态[7].Metropolis准则是SA算法收敛于全局最优解的关键所在,Metropolis 准则以一定的概率接受恶化解,这样就使算法跳离局部最优的陷阱.2 问题描述本案例为某旅行社为中国十大旅游城市,分别为珠海、西安、杭州、拉萨、北京、丽江、昆明、成都、洛阳、威海,根据全程路径最短为目的,制定最优的旅游顺序依次游玩这十个城市.这类问题就由TSP算法来解决,寻找出一条最短遍历这10个城市的路径.利用google地图找到城市坐标,下表为这十个城市的位置坐标如表2-1所示.表2-1 10个城市的位置坐标3 基于遗传算法TSP算法3.1 基于遗传算法的TSP算法总体框架TSP问题的遗传算法包括编码设计、种群初始化、适应度函数选择、终止条件设定、选择操作设定、交叉操作设定以及变异操作设定和进化逆转操作.为简化TSP问题的求解,假设每个城市和其它任意一个城市之间都以欧氏距离[8]直接相连.遗传算法TSP问题的流程图如图2-1所示.。
目录_一、遗产算法的由来 (2)二、遗传算法的国内外研究现状 (3)三、遗传算法的特点 (4)四、遗传算法的流程 (6)五、遗传算法实例 (10)六、遗传算法编程 (14)七、总结 .................. 错误!未定义书签。
附录一:运行程序.. (16)遗传算法基本理论与实例一、遗产算法的由来遗传算法(Genetic Algorithm,简称GA)起源于对生物系统所进行的计算机模拟研究。
20世纪40年代以来,科学家不断努力从生物学中寻求用于计算科学和人工系统的新思想、新方法。
很多学者对关于从生物进化和遗传的激励中开发出适合于现实世界复杂适应系统研究的计算技术——生物进化系统的计算模型,以及模拟进化过程的算法进行了长期的开拓性的探索和研究。
John H.Holland 教授及其学生首先提出的遗传算法就是一个重要的发展方向。
遗传算法借鉴了达尔文的进化论和孟德尔、摩根的遗传学说。
按照达尔文的进化论,地球上的每一物种从诞生开始就进入了漫长的进化历程。
生物种群从低级、简单的类型逐渐发展成为高级复杂的类型。
各种生物要生存下去及必须进行生存斗争,包括同一种群内部的斗争、不同种群之间的斗争,以及生物与自然界无机环境之间的斗争。
具有较强生存能力的生物个体容易存活下来,并有较多的机会产生后代;具有较低生存能力的个体则被淘汰,或者产生后代的机会越来越少。
,直至消亡。
达尔文把这一过程和现象叫做“自然选择,适者生存”。
按照孟德尔和摩根的遗传学理论,遗传物质是作为一种指令密码封装在每个细胞中,并以基因的形式排列在染色体上,每个基因有特殊的位置并控制生物的某些特性。
不同的基因组合产生的个体对环境的适应性不一样,通过基因杂交和突变可以产生对环境适应性强的后代。
经过优胜劣汰的自然选择,适应度值高的基因结构就得以保存下来,从而逐渐形成了经典的遗传学染色体理论,揭示了遗传和变异的基本规律。
遗传算法由美国的John H.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。
目录
_
一、遗产算法的由来 (2)
二、遗传算法的国内外研究现状 (3)
三、遗传算法的特点 (4)
四、遗传算法的流程 (6)
五、遗传算法实例 (10)
六、遗传算法编程 (14)
七、总结 .................. 错误!未定义书签。
附录一:运行程序.. (16)
遗传算法基本理论与实例
一、遗产算法的由来
遗传算法(Genetic Algorithm,简称GA)起源于对生物系统所进行的计算机模拟研究。
20世纪40年代以来,科学家不断努力从生物学中寻求用于计算科学和人工系统的新思想、新方法。
很多学者对关于从生物进化和遗传的激励中开发出适合于现实世界复杂适应系统研究的计算技术——生物进化系统的计算模型,以及模拟进化过程的算法进行了长期的开拓性的探索和研究。
John H.Holland 教授及其学生首先提出的遗传算法就是一个重要的发展方向。
遗传算法借鉴了达尔文的进化论和孟德尔、摩根的遗传学说。
按照达尔文的进化论,地球上的每一物种从诞生开始就进入了漫长的进化历程。
生物种群从低级、简单的类型逐渐发展成为高级复杂的类型。
各种生物要生存下去及必须进行生存斗争,包括同一种群内部的斗争、不同种群之间的斗争,以及生物与自然界无机环境之间的斗争。
具有较强生存能力的生物个体容易存活下来,并有较多的机会产生后代;具有较低生存能力的个体则被淘汰,或者产生后代的机会越来越少。
,直至消亡。
达尔文把这一过程和现象叫做“自然选择,适者生存”。
按照孟德尔和摩根的遗传学理论,遗传物质是作为一种指令密码封装在每个细胞中,并以基因的形式排列在染色体上,每个基因有特殊的位置并控制生物的某些特性。
不同的基因组合产生的个体对环境的适应性不一样,通过基因杂交和突变可以产生对环境适应性强的后代。
经过优胜劣汰的自然选择,适应度值高的基因结构就得以保存下来,从而逐渐形成了经典的遗传学染色体理论,揭示了遗传和变异的基本规律。
遗传算法由美国的John H.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。
遗传算法的这些性质,已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。
它是现代有关智能计算中的关键技术。
二、遗传算法的国内外研究现状
遗传算法的鼻祖是美国Michigan大学的Holland教授及其学生。
他们受到生物模拟技术的启发,创造了一种基于生物遗传和进化机制的适合于复杂系统优化的自适应概率优化技术——遗传算法。
1967年,Holland的学生Bagley在其博士论文中首次提出了“遗传算法”一词,他发展了复制、交叉、变异、显性、倒位等遗传算子,在个体编码上使用双倍体的编码方法。
Holland教授用遗传算法的思想对自然和人工自适应系统进行了研究,提出了遗传算法的基本理论——模式定理(Schema Theorem)并于1957年出版了第一本系统论述遗传算法和人工自适应系统的专著《Adaptation in Natural and Artificial Systems》。
20世纪80年代,Holland教授实现了第一个基于遗传算法的机器学习系统,开创了遗传算法的机器学习的新概念。
1975年,De Jong基于遗传算法的思想在计算机上进行了大量的纯数值函数优化计算实验,建立了遗传算法的工作框架,得到了一些重要且具有指导意义的结论。
1989年,Goldberg出版了《Genetic Algorithm in Search,Optimization and Machine Learning》一书,系统地总结了遗传算法的主要研究成果,全面完整的论述了遗传算法的基本原理及其应用。
1991年,David出版了《Handbook of Genetic Algorithms》一书,介绍了遗传算法在科学计算、工程技术和社会经济中的大量实例。
1992年,Koza将遗传算法应用于计算机程序的优化设计及自动生成,提出了遗传编程(Genetic Programming,简称GP)的概念。
在控制系统的离线设计方面遗传算法被众多的使用者证明是有效的策略。
例如,Krishnakumar和Goldberg以及Bramlette和Gusin已证明使用遗传优化方法在太空应用中导出优异的控制器结构比使用传统方法如LQR和Powell(鲍威尔)的增音机设计所用的时间要少(功能评估)。
Porter和Mohamed展示了使用本质结构分派任务的多变量飞行控制系统的遗传设计方案。
与此同时,另一些人证明了遗传算法如何在控制器结构的选择中使用。
从遗传算法的整个发展过程来看,20世纪70年代是兴起阶段,20世纪80年代是发展阶段,20世纪90年代是高潮阶段。
遗传算法作为一种实用、高效、鲁棒性强的优化技术,发展极为迅速,已引起国内外学者的高度重视。
近些年来,国内外很多学者在遗传算法的编码表示、适应度函数、遗传算子、参数选择、收敛性分析、欺骗问题和并行遗传算法上做出了大量的研究和改进。
还有很多学者将遗传算法和其他只能算法结合,进一步提高局部搜索能力。
在遗传算法的应用上也有很多改进。
由于遗传算法具有全局并行搜索、简单通用、鲁棒性强等优点,使得遗传算法广泛地应用于计算机科学、自动控制、人工智能、工程设计、制造业、生物工程和社会科学等领域。
针对遗传算法的一些问题,还有一些问题需要进一步的探究,将大大促进遗传算法理论和应用的发展,遗传算法必将在智能计算领域中展现出更加光明的前景。
三、遗传算法的特点
遗传算法是一种借鉴生物界自然选择和自然遗传机制的随机搜索算法。
它与传统的算法不同,大多数古典的优化算法是基于一个单一的度量函数(评估函数)的梯度和较高次统计,以产生一个确定性的试验解序列;遗传算法不依赖梯度信息,而是通过模拟自然进化进程来搜索最优解,它利用某种编码技术,作用于称为染色体的数字串,模拟由这些串组成的群体的进化过程。
遗传算法通过有组织的、随机的信息交换来重新组合那些适应性好的串,生成新的串的群体。
遗传算法有以下优点:
(1)对可行解表示的广泛性。
遗传算法的处理对象不是参数本身,而是针对那些通过参数集进行编码的基因个体,此编码操作使得遗传算法可以直接对结构对象进行操作。
所谓结构对象,泛指集合、序列、矩阵、树、链、表等各种一维或二维甚至多维结构形式的对象。
这一特点使得遗传算法具有广泛的应用领域。
比如通过对连接矩阵的操作,遗传算法可用来对神经网络或自动机的结构或参数加以优化;通过对集合的操作,遗传算法可实现对规则集合和知识库的精炼而达到高质量的机器学习目的;通过对树结构的操作,用遗传算法可得到用于分类的最佳决策树;通过对任务序列的操作,遗传算法可用于任务规划,而通过对操作序列的处理,可自动构造顺序控制系统。
(2)群体搜索特性。
许多传统的搜索方法都是单点搜索,这种点对点的搜索方法,对于多峰分布的搜索空间常常会陷于局部的某个单峰的极值点。
相反,遗传算法采用的是同时处理群体中多个个体的方法,即同时对搜索空间中的多个解进行评估。
这一特点使遗传算法具有较好的全局搜索性能,也使得算法本身易于并行化。
(3)不需要辅助信息。
遗传算法仅用适应度函数来的数值来评估基因个体,并在此基础上尽心遗传操作。
更重要的是,遗传算法的适应度函数不仅不受连续可微的约束,而且其定义域可以任意设定。
对适应度函数的唯一要求是,编码必须与可行解空间对应,不能有死码。
由于限制条件的缩小,使得遗传算法的应用范围大大扩展。
(4)内在启发式随机搜索特性。
遗传算法不是采用确定性规则,而是采用概率的变迁规则来指导它的搜索方向。
概率不仅仅是作为一种工具来引导其搜索过程朝着搜索空间的更优化的解区域移动的。
虽然看起来它是一种盲目搜索方法,实际上它有明确的搜索方向,具有内在的并行搜索机制。
(5)遗传算法在搜索过程中不容易陷入局部最优,即时在所定义的适应度函数是不连续的、非规则的或有噪声的情况下,也能以很大的概率找到全局最优解。
(6)遗传算法采用自然进化机制来表现复杂的现象,能够快速可靠地解决求解非常困难的问题。
(7)遗传算法具有固有的并行性和并行计算的能力。
(8)遗传算法具有可扩展性,易于同别的技术混合使用。
遗传算法作为一种优化算法,也有它自身的局限性:
(1)编码不规范及编码存在表示的不准确性。
(2)单一的遗传算法编码不能全面地将优化问题的约束表示出来。
考虑约束的一个方法就是对不可行解采用阈值,这样,计算的时间必然增加。
(3)遗传算法通常的效率比其他传统的优化方法低。
(4)遗传算法容易出现过早收敛。
(5)遗传算法对算法的精度、可信度、计算复杂性等方面,还没有有效的定量分析方法。
遗传算法的基本内容如下:
个体和种群。
个体就是模拟生物个体而对问题中的对象(一般就是问题的解)的一种称呼,一个个体也就是搜索空间中的一个点。
种群(population)就是模拟生物种群而由若干个体组成的群体,它一般是整个搜索空间的一个很小的子集。
适应度与适应度函数。
适应度(fitness)就是借鉴生物个体对环境的适应程度,。