模式和遗传算法的搜索机制
来源:互联网 发布:php从入门到精通第5版 编辑:程序博客网 时间:2024/05/22 00:16
在“遗传算法初步解析”中,相信看过的人已经初步了解这个算法的过程。但在最后有一个问题,遗传算法的选择,交叉,变异的操作是怎么影响到最后的结果的?在讲解这个问题前,先了解一个概念:模式。下图是一个官方的定义:
其实模式就是一个概括的东西,我的理解是把大家都有的东西抽象出来就是一个模式,定义比较难懂,举个例子就明白了,先看下面一组染色体:
111 100 101 110 ---------(一)
这就是一个模式,他是一个(1××)模式,其中×表示任意的0或者1,
再比如
1100 1101 1000 1001 -------(二)
也是一个模式,它是(1×0×)模式。模式的确定位很好理解,就是确定了的位数,模式(一)模式的阶就是确定位的长度,上面模式(一)的阶是1,模式(二)的阶是2,模式的定义长度是第一个确定位到最后一个确定位的距离,模式(一)的定义长度是0,模式(二)的定义长度是2.还有一个比较重要的概念:极小模式,在上面的(二)中,它们既属于(1*0*)模式,也属于(1×××)模式,也属于(××0×)模式,但是只有(1×0×)是它的极小模式。
现在来看看选择交叉变异这些操作对遗传算法的影响,首先画个图:
在上面这张图中,a代表种群A的空间,b代表种群A的极小模式,c代表全局空间,当对种群A进行选择操作时,搜索范围只会出现在a空间,对种群A进行交叉操作时,搜索范围会限于b空间,只有加上变异操作,才能对整个空间进行搜索。举个简单的例子:
假如种群A是: 1100 1101 1000 1001 它的极小模式是(1×0×)
则a就是种群本身,对应选择操作的范围,b是模式(1×0×),对应交叉操作的范围,c是整个4位二进制串(××××),对应变异操作的范围。
从上面的描述来看,如果把选择和交叉看作是局部最优解的话,变异则是保证全局最优解的必要条件。所以说没有变异操作的遗传算法能够得到最优解的条件是初始种群的极小模式包含最优解。
顺便附带说一下遗传算法的模式定理: 在标准遗传算法中,具有低阶,短定义长度,平均适应度高出种群平均适应度的模式将依指数级增长。
附两张《计算智能》一书中的图,介绍模式定理的证明过程:
参考:计算智能一书。作者 徐宗本
- 模式和遗传算法的搜索机制
- 《遗传算法的数学基础》阅读笔记 (2)_遗传机制和遗传算法。
- 遗传算法与直接搜索工具箱学习笔记 十-----遗传算法的工作原理
- 遗传算法与直接搜索工具箱学习笔记 十-----遗传算法的工作原理
- 遗传算法与直接搜索工具箱学习笔记 六-----模式搜索相关术语解析
- 遗传算法与直接搜索工具箱学习笔记 七-----模式搜索工作原理详解
- 遗传算法与直接搜索工具箱学习笔记 六-----模式搜索相关术语解析
- 遗传算法与直接搜索工具箱学习笔记 七-----模式搜索工作原理详解
- 遗传算法的基本原理和方法(转)
- 遗传算法的基本原理和方法
- 演化策略和遗传算法的区别
- 遗传算法的基本原理和matlab实现
- 遗传算法的基本原理和方法
- 遗传算法的基本原理和matlab实现
- 遗传算法中函数运行的计时器机制实现(c++)
- 随机搜索算法之遗传算法简介
- 遗传算法的理解和自编的利用遗传算法进行路径寻优
- 遗传算法的资源
- Ubuntu下Git配置学习笔记
- JAVA UNICODE转中文
- .asmx文件的作用以及用法
- Linux 常见特殊符号
- 黑马程序员_正则表达式
- 模式和遗传算法的搜索机制
- HDOJ 1495 非常可乐 (bfs)
- 树型结构的四种建模方法
- ubuntun11.10 下安装gedit的Source Code Browser插件
- radio button 的用法
- freeglut-2.8.0在VS2008下编译配置
- Unicode时RegSetValueEx注意事项
- 中国Internet九大骨干网
- P2P之UDP穿透NAT的原理与实现(附源代码)