遗传算法 学习笔记

一.算法思想算法

       模拟达尔文进化论的天然选择和遗传学的生物进化过程造成的计算模型,是一种经过模拟天然进化过程搜索最优解的方法。框架

       应用:   函数优化、组合优化(NP问题、TSP问题)自动控制、机器人智能控制、组合图像处理和模式识别,人工生命、遗传程序设计。函数

2、算法核心优化

       遗传算法从表明问题可能解的一个种群开始,种群由染色体编码表示,产生初始种群以后,按照适者生存和优胜劣汰的原则,逐代演化产生愈来愈好的解,在每一代的进化过程当中,按照个体的适应度选择个体,借助遗传算子进行交叉变异产生新的种群,最终产生进化过程当中的最优解。编码


遗传算法中用到的基本概念: 染色体 种群  个体 适应度 选择 交叉 变异 编码 解码spa

3、算法框架设计

a)初始化:设置进化代数计数器t=0,设置最大进化代数T,随机生成M个个体做为初始群体P(0)。指针

b)个体评价:计算群体P(t)中各个个体的适应度。it

c)选择运算  :将选择算子做用于群体。选择的目的是把优化的个体直接遗传到下一代或经过配对交叉产生新的个体再遗传到下一代。选择操做是创建在群体中个体的适应度评估基础上的。 图像处理

      经常使用的选择算子有适应度比例方法,随机遍历抽样法、局部选择法,最经常使用的是轮盘赌的选择方法

d)交叉运算:将交叉算子做用于群体。遗传算法中起核心做用的就是交叉算子。

    根据编码的不一样,交叉算子有实值交叉和二进制交叉,二进制交叉又分为单点交叉和多点交叉和均匀交叉等。

e)变异运算:将变异算子做用于群体。便是对群体中的个体串的某些基因座上的基因值做变更。

    根据编码的不一样,变异算子有实值变异和二进制变异,通常变异几率小,大多为染色体单点变异。

群体P(t)通过选择、交叉、变异运算以后获得下一代群体P(t+1)。

f)终止条件判断:若t=T,则以进化过程当中所获得的具备最大适应度个体做为最优解输出,终止计算。

补充:

      轮盘赌选择算子

天然界中,越适应的个体就越有可能繁殖后代。可是也不能说适应度越高的就确定后代越多,只能是从几率上来讲更多。假设种群数目,某个个体其适应度为,则其被选中的几率为:

       

 好比咱们有5条染色体,他们所对应的适应度评分分别为:5,7,10,13,15。

        因此累计总适应度为:

                                 

        因此各个个体被选中的几率分别为:

                   

这个轮盘是按照各个个体的适应度比例进行分块的。你能够想象一下,咱们转动轮盘,轮盘停下来的时候,指针会随机地指向某一个个体所表明的区域,那么很是幸运地,这个个体被选中了。(很明显,适应度评分越高的个体被选中的几率越大。)

相关文章
相关标签/搜索