遗传算法归纳

遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规律(适者生存、优胜劣汰遗传机制)演化而来的随机化搜索方法。

 

其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。

基本术语

 

染色体(Chromosome)

染色体又可以叫做基因型个体(individuals),一定数量的个体组成了群体(population),群体中个体的数量叫做群体大小。

基因(Gene)

基因是串中的元素,基因用于表示个体的特征。例如有一个串S=1011,则其中的1,0,1,1这4个元素分别称为基因。它们的值称为等位基因(Alletes)。

基因地点(Locus)

基因地点在算法中表示一个基因在串中的位置称为基因位置(Gene Position),有时也简称基因位。基因位置由串的左向右计算,例如在串 S=1101 中,0的基因位置是3。

基因特征值(Gene Feature)

在用串表示整数时,基因的特征值与二进制数的权一致;例如在串 S=1011 中,基因位置3中的1,它的基因特征值为2;基因位置1中的1,它的基因特征值为8。

适应度(Fitness)

 

  各个个体对环境的适应程度叫做适应度(fitness)。为了体现染色体的适应能力,引入了对问题中的每一个染色体都能进行度量的函数,叫适应度函数. 这个函数是计算个体在群体中被使用的概率。

 

遗传算法步骤:

 

遗传算法是基于生物学的,理解或编程都不太难。下面是遗传算法的一般算法:

1创建一个随机的初始状态

初始种群是从解中随机选择出来的,将这些解比喻为染色体或基因,该种群被称为第一代,这和符号人工智能系统的情况不一样,在那里问题的初始状态已经给定了。

2评估适应度

对每一个解(染色体)指定一个适应度的值,根据问题求解的实际接近程度来指定(以便逼近求解问题的答案)。不要把这些“解”与问题的“答案”混为一谈,可以把它理解成为要得到答案,系统可能需要利用的那些特性。

3繁殖(包括子代突变)  

带有较高适应度值的那些染色体更可能产生后代(后代产生后也将发生突变)。后代是父母的产物,他们由来自父母的基因结合而成,这个过程被称为“杂交”。

4下一代

如果新的一代包含一个解,能产生一个充分接近或等于期望答案的输出,那么问题就已经解决了。如果情况并非如此,新的一代将重复他们父母所进行的繁衍过程,一代一代演化下去,直到达到期望的解为止。

并行计算

非常容易将遗传算法用到并行计算和群集环境中。一种方法是直接把每个节点当成一个并行的种群看待。然后有机体根据不同的繁殖方法从一个节点迁移到另一个节点。另一种方法是“农场主/劳工”体系结构,指定一个节点为“农场主”节点,负责选择有机体和分派适应度的值,另外的节点作为“劳工”节点,负责重新组合、变异和适应度函数的评估。

流程

 

 

编码策略:二进制编码、格雷码编码、浮点编码

 

选择策略:

1轮盘赌选择选择误差较大
2随机竞争选择比轮盘赌选择较好
3最佳保留选择保证迭代终止结果为历代最高适应度个体
4无回放随机选择降低选择误差
5确定性选择选择误差更少、操作简易
6柔性分段复制有效防止基因缺失、但需要选择参数
7自适应柔性分段式动态群体选择群体自适应变化、提高搜索效率
8无回放式余数随机选择误差最小
9均匀排序与适应度大小差异程度正负无关
10稳态复制保留父代中高度适应的串
11最优保存策略
12排挤选择提高群体的多样性

 

 

交叉算子:

 

1单点交叉标准遗传算法成员符号
2两点交叉使用较多符号
3均匀交叉每一位以相同概率交叉符号
4多点交叉交叉点大于2符号
5部分匹配交叉
序号
6顺序交叉
序号
7循环交叉
序号
8启发式交叉
序号
9基于位置交换
序号
10算数交换
序号

 

 

变异算子:

1基本位突变标准遗传算法成员符号
2有效基因突变避免有效基因缺失符号
3自适应有效基因突变

最低有效基因个数

自适应变化

符号
4概率自调整突变

两个串的相似性确定

突变概率

符号
5均匀突变每一个实属元素以相同的概率在域内变动实数
6非均匀突变使整个矢量在解空间轻微变动实数
7边界突变适用于最优解位于或者接近于可行解的边界时的一类带约束条件的问题实数
8高斯近似突变提高对重点搜索区域的局部搜索性能实数
9基零突变
实数

适应度函数:

       设计满足条件:

      1.单值·、连续、非负、最大化。

2.合理、一致性。要求适应度值反应对应解的优劣情况。

3.计算量小。

4.适用性强。

适应度尺度的变换:线性尺度变换、乘幂尺度变换、指数尺度变换。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值