浅论遗传算法及其优化和算子选择

背景:遗传学和计算机的相交学科.

平行或关联算法:退火算法.神经网络模型

适用范围:.人工智能计算.已知

                  工程中全局最优解和局部最优解计算寻求最优解.已知

                  如果模拟可以尝试最优解值.未验证

说明:此文献给<疯狂程序员>作者boss绝和将来的我.

步骤0.编码和初始群体生成

定长二进制编码

步骤1.对当前群体的所有个体适应度计算

选中的数的函数值中除以平均数  一般不优化.就是这个值

步骤2.选择(内含复制和删除操作)

选中适应度(匹配度)最高的.删除最低的.把匹配最高的复制到删除里面.(占它的位置)

(删除几个文章并没有说.这个我后面讨论)

步骤3.杂交(交换)

几个算符的几个位进行交换这个取决于概率. 0.5~0.8

步骤4.变异

还是概率  0.1~0.01

步骤5.判定是否终止.终止输出结果.否则转步骤1.

举例

计算0~31内f(x)=x*x的最大值.

/**

*这个只是例子.并不注重结果.高数甚至初等数学很快就能算出来...

*/

第零步:编码

0~31全部转化为2进制. //准确来说这个不是二进制.而是二制.因为在这里不产生进位运算.

结果:0~31     00000~11111

选取x1=13=01101     x2=24=11000     x3=8=01000     x4=19=10011

第一步:适应度计算

f1=576     f2=361     f3=169     f4=64

p1=0.49     p2=0.31      p3=0.14       p4=0.05

第二步:选择

删除最低的. 8 复制最高的24

并且降序排列

x1=24     x2=24     x3=19    x4=13

第三步:杂交

不妨每次取x1和x4 x2和x3      //降序了嘛~~

随机算得x1 x4的K等于3.低三位交换.x2 x4K等于1交换末位.

结果{29,25,18,8}

第四步:变异

随机值太大.不变异.

 

循环5次后结果为{31,31,31,28}

第六次为{31,31,31,31}算法终止.

此过程为随机过程.后面加以讨论.

 

123是为什么系列

1.为啥是定长二(进)制编码?

用于简单开关判断.

1.5如何选取初始群体?

在(0,1)^n中平均选取.有利于多样性

2.为啥计算适应度?

有利于保留优良解.去掉劣解.但有的劣解容易得到最优解.

3.为啥选择包含删除和复制?

同上.复制有利于向最优解收敛.

4.为啥杂交?

有利于新物种的生成且保留优良属性.

5.为啥要变异?

有的杂交不出来.同时有利于保留样本多样性.甚至劣解有可能变异后产生优良解.

6.何时终止?

出现一致性.

下面的优化部分将分别对上面七个问题展开讨论.

                                                     优化部分和补充部分

一.算符定义的几个要点

1.单数字

对于直接可以二进制表示的.直接二进制表示的直接表示.

2.多变元开关

多编码.但是重要变元位数要少.防止杂交或者变异改变性质

3.非完备性编码

比如刚才是1~30

假设是M个.取**(2^n,m)=m yk=k*△=k*(2^n)/M

4.最小值不为0

移动到0.  比如1~32

5.混合的.

以上策略混合使用.

6.选取元素的个数.

1.0如果适应度计算简单则多选.如果计算复杂就少选.

2.0字符长则多选.否则少选

3.0变元多.多选.变元少.少选.

二.适应度

为了防止过早近亲繁殖.对于高的可以减少一些适应度.对于低的可以适当提高适应度.

三.选择

1)删除

选取0.1~0.2不宜太少.优良个体不突出.不宜太多.破坏种群多样性.

2)复制

一种是随机选取复制.一种是最高解复制.

cookie:几种复制策略

1.0  pi的选中用轮转法.比如x1的概率是0.1 x2是0.2 x3是0.7则0~0.10是X1 0.11~0.3是X2 0.31~1.00是X3

2.0 贪婪复制.对于高的0.8概率.对于低的0.2概率.

3.0级差选取. 贪婪复制的改进.多个级差.

4.0期望法:用期望代替概率.重新定义轮转.用分布律来.

四.杂交(交换)

杂交又叫交换

每个都是取随机数.0.5到0.8概率高了破坏优良.低了影响速度.

分为1位交换.2位交换和多位交换.

1位就是1位换.2位是直从i到j中间都换多位就是多个字段交换.

五.变异

每次取随机数.小于规定概率就突变一种策略是取反.一种策略是随机0或者1.后者是前者速度的0.5

变异有利于恢复种群多样性.有利于在解附近找更优解.(解的试探)

六.终止

终止条件根据情况选

条件1:对解有预测.出现就终止

条件2:对解有估计.逼近就终止.

条件3:对解有期望.超过期望就终止.

条件4:对计算次数有限制.达到就终止

条件5:解统一就终止  见例子

条件6:多样性变化不大就终止.

第六个特别适用于对解未知的计算

多样性计算   //这个貌似要搞矩阵.其实矩阵也就那么一点东西.

D(x)=(i=1,n)∑d(Ai,Ⅹ)=(i=1,n)∑((k=1,n)    min [  |aik-ak(的平均值)|]   )    

这个Ⅹ就是ai的平均值...这个aij是欧几里得距离的最小值..   //可以用我的算法算最短路径了

//用dijkstra算法也可以更推荐我的. 因为我的那个是并行计算.更快

 

最后两点

1.0这个计算是完备性计算吗?

数学指明这个虽然是避免了局部最优解还是没法完全消除.这个很可能是局部最优解

1.5怎么办?

要么划分子群出来.种群分类局部搜索.要么调整适应度.

2.0对于限制条件下的规定

f(x)=g(x)-α(i=1,n)∑Φ[ hi (x) ]

其中α是惩罚系数  Φ[ hi (x) ]=[hi(x)]^2  是惩罚函数

 

文献:信息科学中的软计算方法 郭嗣琮 东北大学出版社 2001年版

       人工智能方法与应用 尹朝庆 华中科技大学出版社 2007年版

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值