遗传算法学习心得体会0.docx
- 文档编号:29104662
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:10
- 大小:22.36KB
遗传算法学习心得体会0.docx
《遗传算法学习心得体会0.docx》由会员分享,可在线阅读,更多相关《遗传算法学习心得体会0.docx(10页珍藏版)》请在冰豆网上搜索。
遗传算法学习心得体会0
遗传算法学习心得体会
篇一:
遗传算法总结
遗传算法
概念
遗传算法是模仿自然界生物进化机制发展起来的随机全局搜索和优化方法,它借鉴了达尔文的进化论和孟德尔的遗传学说。
其本质是一种高效、并行、全局搜索的方法,它既能在搜索中自动获取和积累有关空间知识,并自适应地控制搜索过程以求得最优解遗传算法操作使用适者生存的原则,在潜在的解决方案种群中逐次产生一个近视最优方案。
在遗传算法的每一代中,根据个体在问题域中的适应度值和从自然遗传学中借鉴来的再造方法进行个体选择,产生一个新的近视解。
这个过程导致种群中个体的进化,得到的新个体比原个体更适应环境,就像自然界中的改造一样。
应用
遗传算法在人工智能的众多领域具有广泛应用。
例如,机器学习、聚类、控制(如煤气管道控制)、规划(如生产任务规划)、设计(如通信网络设计、布局设计)、调度(如作业车间调度、机器调度、运输问题)、配置(机器配置、分配问题)、组合优化(如TSP、背包问题)、函数的最大值以及图像处理和信号处理等等。
遗传算法多用应与复杂函数的优化问题中。
原理
遗传算法模拟了自然选择和遗传中发生的复制、交叉、和变异等现象,从任一初始种群出发,通过随机选择、交叉、变异操作,产生一群更适合环境的个体,使群体进行到搜索空间中越来越好的区域,这样一代一代地不断繁衍进化,最后收敛到一群最适合环境的个体求得问题的最优解。
算法流程1.编码:
解空间中的解数据x,作为作为遗传算法的表现型形式。
从表现
型到基本型的映射称为编码。
遗传算法在进行搜索之前先将解空间的解数据表示成遗传空间的基本型串结构数据,这些串结构数据的不同的组合就构成了不同的点。
2.初始种群的形成:
随机产生n个初始串数据,每个串数据称为一个个体,
n个串数据构成了一个群体。
遗传算法以这n个串结构作为初始点开始迭代。
设置进化代数计数器t0;设置最大进行代数T;随机生成m个个体作为初始群体P(0)。
3.适应度检测:
适应度就是借鉴生物个体对环境的适应程度,适应度函数
就是对问题中的个体对象所设计的表征其优劣的一种测度。
根据具体问题计算P(t)的适应度。
4.选择:
将选择算子作用于群体。
选择的目的是把优化的个体直接遗传到
下一代或通过配对交叉产生新的个体再遗传到下一代。
选择操作是建立在群体中个体的适应度评估基础上的。
5.交叉:
将交叉算子作用于群体。
所谓交叉是指把两个父代个体的部分结
构加以替换重组而生成新个体的操作。
遗传算法中起核心作用的就是交叉算子。
6.变异:
将变异算子作用于群体。
即是对群体中的个体串的某些基因座上
的基因值作变动。
群体P(t)经过选择、交叉、变异运算之后得到下一代群体P(t+1)。
7.终止条件判断:
若t到的具有最大适应度个体作为最优解输出,终止计算。
遗传算法流程图如下图所示:
遗传算法
下几种:
适应度比例方法、随机遍历抽样法、局部选择法。
其中轮盘赌选择法是最简单也是最常用的选择方法。
在该方法中,各个个体的选择概率和其适应度值成比例。
设群体大小为n,其中个体i的适应度为,则i被选择的概率,为遗传算法
2、交叉:
在自然界生物进化过程中起核心作用的是生物遗传基因的重组(加上变异)。
同样,遗传算法中起核心作用的是遗传操作的交叉算子。
所谓交叉是指把两个父代个体的部分结构加以替换重组而生成新个体的操作。
通过交叉,遗传算法的搜索能力得以飞跃提高。
交叉算子根据交叉率将种群中的两个个体随机地交换某些基因,能够产生新的基因组合,期望将有益基因组合在一起。
根据编码表示方法的不同,可以有以下的算法:
a)实值重组(realvaluedrecombination)
1)离散重组(discreterecombination)
2)中间重组(intermediaterecombination)
3)线性重组(linearrecombination)
4)扩展线性重组(extendedlinearrecombination)。
b)二进制交叉(binaryvaluedcrossover)
1)单点交叉(single-pointcrossover)
2)多点交叉(multiple-pointcrossover)
3)均匀交叉(uniformcrossover)
4)洗牌交叉(shufflecrossover)
5)缩小代理交叉(crossoverwithreducedsurrogate)。
3、变异
变异算子的基本内容是对群体中的个体串的某些基因座上的基因值作变动。
依据个体编码表示方法的不同,可以有以下的算法:
a)实值变异
b)二进制变异。
一般来说,变异算子操作的基本步骤如下:
a)对群中所有个体以事先设定的编译概率判断是否进行变异
b)对进行变异的个体随机选择变异位进行变异。
例:
简单一元函数优化
求下面函数的最大值:
f(x)=xsin(10*pi*x)+2.0,-1程序:
figure
(1);
fplot('variable.*sin(10*pi*variable)+2.0',[-1,2]);%画出函数曲线
%定义遗传算法参数
nind=40;%个体数目(numberofindividuals)
maXGEn=25;%最大遗传代数(maximumnumberofgenerations)PREci=20;%变量的二进制位数(Precisionofvariables)
GGaP=0.9;%代沟(Generationgap)
trace=zeros(2,maXGEn);%寻优结果的初始值
Fieldd=[20;-1;2;1;0;1;1];%区域描述器(Buildfielddescriptor)
chrom=crtbp(nind,PREci);%初始种群
gen=0;%代计数器
variable=bs2rv(chrom,Fieldd);%计算初始种群的十进制转换objV=variable.*sin(10*pi*variable)+2.0;%计算目标函数值
whilegenFitnV=ranking(-objV);%分配适应度值(assignfitnessvalues)
Selch=select('sus',chrom,FitnV,GGaP);%选择
Selch=recombin('xovsp',Selch,0.7);%重组
Selch=mut(Selch);%变异
variable=bs2rv(Selch,Fieldd);%子代个体的十进制转换
objVSel=variable.*sin(10*pi*variable)+2.0;%计算子代的目标函数值
[chromobjV]=reins(chrom,Selch,1,1,objV,objVSel);%重插入子代的新种群
variable=bs2rv(chrom,Fieldd);
gen=gen+1;%代计数器增加
%输出最优解及其序号,并在目标函数图像中标出,Y为最优解,i为种群的序号
[Y,i]=max(objV);holdon;
plot(variable(i),Y,'bo');
trace(1,gen)=max(objV);%遗传算法性能跟踪trace(2,gen)=sum(objV)/length(objV);
end
variable=bs2rv(chrom,Fieldd);%最优个体的十进制转
holdon,grid;
plot(variable,objV,'b*');
figure
(2);
plot(trace(1,:
));
holdon;
plot(trace(2,:
),'-.');grid
legend('解的变化','种群均值的变化')
篇二:
计算智能学习心得体会
计算智能学习心得体会
本学期我们水利水电专业开了“计算智能概论”这门课,有我们学院的金菊良教授给我们授课,据说这门课相当难理解,我们课下做了充分的准备,借了计算智能和人工智能相关方面的书籍,并提前了解了一点相关知识,我感觉看着有点先进,给我们以往学的课程有很大区别,是一种全新的概念和理论,里面的遗传算法、模糊集理论、神经网络更是闻所未闻,由于课前读了一些书籍,我以为课堂上应该能容易理解一点,想不到课堂上听着还是相当玄奥,遗传算法还好一点,因为高中学过生物遗传,遗传算法还能理解一点。
像模糊集理论神经网络便不知所云了。
虽然金老师讲课生动形象,幽默风趣,而且举了好多实际的例子,但有一些理论有点偏难。
计算智能(computationalinterlligence,简称ci)并不是一个新的术语,早在1988年加拿大的一种刊物便以ci为名。
1992年,美国学者Jamesc.Bezdek在论文《计算智能》中讨论了神经网络、模式识别与智能之间的关系,并将留能分为生物智能、人工智能和计算智能三个层次。
1993年,Bobmarks写了一篇关于计算留能和人工留能区别的文章,并在文中给出了对ci的理解。
1994年的国际计算智能会议(wccL)的命名就部分地源于Bob的文章,这次iEEE会议特国际神经网络学会(nnc)发起的神经网络(icnn)、模糊系统(Fuzz)和进化计算(icEc)三个年度性会议合为一体,并出版了名为《计算智能》的论文集。
此后,ci这个术语就开始被频繁地使用,同时也出现了许
多关于ci的解释。
1992年,Jamesc.Bezdek提出,ci是依靠生产者提供的数字、数据材料进行加工处理,而不是依赖于知识;而aiglJ必须用知识进行处理.1994年,James在F1orida,orlando,iEEEwcci会议上再次阐述他的观点,即智能有三个层次:
(1)生物智能(Biologicalintelligence,简称Bi),是由人脑的物理化学过程反映出来的,人脑是有机物,它是智能的基础。
(2)人工智能(artificialintelligence,简称ai),是非生物的,人造的,常用符号来表示,ai的来源是人类知识的精华。
(3)计算智能(computerintellienceence,简称ci),是由数学方法和计算机实现的,ci的来源是数值计算的传感器。
虽然有好多计算智能理论还不太清楚,但是我对新知识还是相当渴望的,因为我本身比较爱学习,且喜欢读书。
我感觉学到了许多知识:
计算智能是一门经验科学,它研究自然的或人工的智能行为形成之原理以“推理即计算”为基本假设,开发某种理论、说明某项智能可以算法化,从而可以用机器模拟和实现;寻求和接受自然智能之启迪,但不企图完全仿制人类智能,其中心工程目标是研究设计和建立智能计算系统的方法。
由于我们只有16课时,所以我们学的面并不广,金老师主要教了一些计算智能方面的经典理论,我们所学的计算智能所涉及的领域主要包括以下三方面:
遗传算法、人工神经网络方法和模糊集理论。
遗传算法最早由美国michigan大学JohnH.Holland教授提出,
按照生物进化过程中的自然选择(selection)、父代杂交(crossover)和子代变异(mutation)的自然进化(naturalevolution)方式,编制的计算机程序,能够解决许多复杂的优化问题,这类新的优化方法称之为遗传算法(geneticalgorithm,Ga)[7]。
Ga模拟生物进化过程中的主要特征有:
(1)生物个体的染色体(chromosomes)的结构特征,即基因码序列(seriesofgeneticcode)决定了该个体对其生存环境的适应能力。
(2)自然选择在生物群体(population)进化过程中起着主导作用,它决定了群体中那些适应能力(adaptability)强的个体能够生存下来并传宗接代,体现了“优胜劣汰”的进化规律。
(3)个体繁殖(杂交)是通过父代个体间交换基因材料来实现的,生成的子代个体的染色体特征可能与父代的相似,也可能与父代的有显著差异,从而有可能改变个体适应环境的能力。
(4)变异使子代个体的染色体有别于其父代个体的染色体,从而也改变了子代个体对其环境的适应能力。
(5)生物的进化过程,从微观上看是生物个体的染色体特征不断改善的过程,从宏观上看则是生物个体的适应能力不断提高的过程。
作为利用自然选择和群体遗传机制进行高维非线性空间寻优的一类通用方法,遗传算法(Ga)不一定能寻得最优(optimal)点,但是它可以找到更优(superior)点,这种思路与人类行为中成功的标志是相似的。
例如不必要求某个围棋高手是最优的,要战胜对手只需他(她)比其对手更强即可。
因此,Ga可能会暂时停留在某些非最优点上,直到变异发生使它迁移到另一更优点上。
遗传算法随编码
方式、遗传操作算子的不同而表现为不同形式,因此难以象传统的共轭梯度法那样从形式上给以明确定义,它的识别标志在于它是否具有模拟生物的自然选择和群体遗传机理这一内在特征。
目前国内外普遍应用的实施方案是标准遗传算法(SimpleGeneticalgorithm,SGa)。
BP神经网络
BP神经网络是用反向传播学习算法(back-propagationalgorithm,BP算法)训练的一种多层前馈型非线性映射网络,网络中各神经元接受前一级的输入,并输出到下一级,网络中没有反馈联接。
BP神经网络通常可以分为不同的层(级),第j层的输入仅与第j–1层的输出联接。
由于输入层节点和输出层节点可与外界相连,直接接受环境的影响,所以称为可见层,而其它中间层则称为隐层(hiddenlayer)。
决定一个BP神经网络性质的要素有三个:
网络结构、神经元作用函数和学习算法,对这三个要素的研究构成了丰富多彩的内容,尤其是后者被研究得最多。
BP算法是目前应用最为广泛且较成功的一种算法,它解决了多层前馈网络的学习问题,从而使该网络在各方面获得了广泛应用。
它利用梯度搜索技术(gradientsearchtechnique)使代价函数(costfunction)最小化。
()BP算法把一组样本的输入输出问题归纳为一非线性优化问题,它使用了最优化方法中最常用的负梯度下降算法。
用迭代运算求解网络权重和阈值对应于网络的学习记忆过程,加入隐层节点使得优化问题的可调参数增加,从而可得到更精确的解。
模糊集理论
模糊集理论(又称模糊数学,fuzzymathematics)就是应用模糊集这一模拟人脑模糊思维的数学工具,来描述、分析、识别、分类、判断、推理、决策和控制各种模糊事物所形成的一门现代应用数学分支学科。
经典数学仅考虑现实世界的数量而抛弃现实世界的质量,而模糊集理论则反映了现实世界数量与质量的统一性,是对经典数学的一种补充和完善。
定义模糊集、模糊关系的不同运算(目前主要是代数运算),就可得到相应的不同模糊数学方法。
目前已研究成熟并广为应用的模糊数学方法主要有模糊模式识别、模糊聚类分析、模糊综合评价、模糊推理、模糊控制等方法。
在现代科学技术体系中定性因素和主观因素定量化处理的方法至今仍很少,而模糊数学方法正是其中的典型代表,目前已在各科学和工程领域得到了广泛的成功应用,其主要原因在于它异于其它方法的一些显著特点:
(1)模糊集的引入改善了二值逻辑中硬性的分类方法,是普通集合的推广,使模糊数学方法更加接近于广泛存在模糊性和不精确性的现实世界,也更加接近于人类思维方式。
这些真实性使得模糊数学方法能很好地平衡系统的复杂性与描述系统的精确性,也有助于模糊数学方法充分提取各种专家经验信息和其它人类语言信息。
(2)当系统为多输入多输出、强非线性、定性信息与定量信息混杂的动态系统时,系统的数学模型非常复杂或根本就不存在确定性数学模型,常规方法难以或不能有效处理这样的复杂系统,而模糊数学方法可以用建立在语言型经验之上的模糊集及其运算就可以简便有效地处理,有时甚至不需要辅以确定的数学模型。
(3)模糊数学方法可以直接利用人类语言型概念及其运算,
篇三:
遗传算法总结
遗传算法总结
遗传算法是借鉴生物的自然选择和遗传进化机制而开发出的一种全局自适应概率搜索算法。
一、遗传算法流程图
图1遗传算法流程图
二、遗传算法的原理和方法
1)染色体编码
把一个问题的可行解从其解空间转换到遗传算法所能处理的搜索空间的转换方法就称为编码。
deJong曾提出了两条操作性较强的实用编码原则:
编码原则一:
应使用能易于产生与所求问题相关的且具有低阶、短定义长度模式的编码方案;编码原则二:
应使用能使问题得到自然表示或描述的具有最小编码字符集的编码方案。
编码方法主要有以下几种:
二进制编码方法、格雷码编码方法、浮点数编码方法、符号编码方法、参数级联编码方法、多参数交叉编码方法。
2)适应值计算
由解空间中某一点的目标函数值f(x)到搜索空间中对应个体的适应度函数值
Fit(f(x))的转换方法基本上有一下三种:
a.直接以待解的目标函数值f(x)转化为适应度函数值Fit(f(x)),令
?
f(x)目标函数为最大化函数
Fit(fx())=?
?
?
f(x)目标函数为最小化函数
?
cmax?
f(x)f(x)?
cmax
b.对于最小值的问题,做下列转化Fit(f(x))?
?
,其中cmax是
0其他?
f(x)的最大输入值。
c.若目标函数为最小值问题,Fit(f(x))?
1
c?
0,c?
f(x)?
0
1?
c?
f(x)
1
c?
0,c?
f(x)?
0
1?
c?
f(x)
若目标函数为最大值问题,Fit(f(x))?
3)选择、交叉、变异
遗传算法使用选择算子来对群体中的个体进行优胜劣汰操作:
根据每个个体的适应度值大小选择。
适应度较高的个体被遗传到下一代群体中的概率较大;适应度较低的个体的被遗传到下一代群体中的概率较小。
其中选择的方法有:
轮盘赌选择、随机竞争选择、最佳保留选择、无回放随机选择、确定式选择等。
遗传算法中的所谓交叉运算,是指对两个相互配对的染色体按某种方式相互交换其部分基因,从而形成两个新的个体。
交叉操作主要有单点交叉、两点交叉与多点交叉、均匀交叉和算数交叉四种。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 遗传 算法 学习心得 体会