• 遗传算法-编码


    编码是建立 基因型 与 表现型 的映射关系

    编码原则

    完备性(completeness):问题空间的所有解都能表示为所设计的基因型;

    健全性(soundness):任何一个基因型都对应于一个可能解;

    非冗余性(non-redundancy):问题空间和表达空间一一对应

    二进制编码

    解决常规问题最常用的编码方式

    编码原则

    二进制的位数由 解空间 大小决定,如 解空间为 0-10,则 编码位数为 3 位 111=12

    优缺点

    优点-简单

    编码、解码操作简单;

    交叉、变异便于实现;

    缺点-变化剧烈且不连续

    二进制编码,随机改变一个位置的数字,可能带来几十(2^4=16)甚至上百(2*10=128)的变化,这使得搜索过程变化剧烈,故而

    变异过程不连续;

    局部搜索(小范围搜索)能力较差;

    不适合高精度问题;

    一句话,个体长度较短时,无法满足精度要求;个体长度较长时,增加解空间的搜索难度

    浮点数编码

    编码原则

    根据业务自行设定,一个个体可以是一个浮点数,也可以是多个,如 1.2-3.2-5.3-7.2-1.4-9.7

    优点

    适用于数值比较大的解

    适用于精度较高的解

    适用于解空间较大的情况

    摘录他人

    1. 改善了遗传算法的计算复杂性,提高了运算交率
    2. 便于遗传算法与经典优化方法的混合使用
    3. 便于设计针对问题的专门知识的知识型遗传算子
    4. 便于处理复杂的决策变量约束条件

    交叉变异的特点

    如果是 多个浮点数,基本和二进制的 单点交叉、多点交叉 等雷同,

    如果是 单个浮点数,有其方式,也很灵活,

      // 如交叉:随机产生介于 父亲和母亲 间的一个数,(5.5,7, 6.3),

      // 如变异:随机加上一个 (-1, 1)之间的一个数

    符号编码

    摘录他人

    1. 符合有意义积术块编码原则
    2. 便于在遗传算法中利用所求解问题的专门知识
    3. 便于遗传算法与相关近似算法之间的混合使用。

    实值编码

    根据实际情况编码

    参考资料:

    https://www.jianshu.com/p/ae5157c26af9  超详细的遗传算法(Genetic Algorithm)解析

    https://blog.csdn.net/u010451580/article/details/51178225/

  • 相关阅读:
    每日口语(6.12)
    The usage of thumb
    Chart相关网站
    每日口语(6.14)
    我为世界杯狂
    一个很简单的javascript问题,看你能否答对
    【转】理解伪元素:Before和:After
    JS BOM之location.hash详解
    JS BOM之location对象
    JS BOM之location.hash的用法
  • 原文地址:https://www.cnblogs.com/yanshw/p/14547224.html
Copyright © 2020-2023  润新知