• 初识遗传算法


    遗传算法的实现主要包含以下7个重要问题:

    1、染色体的编码

    2、群体初始化

    3、适应值评估

    4、选择种群

    5、种群交配

    6、种群变异

    7、算法流程

    下面分别简单的介绍

    1、染色体编码

      解决问题解的表示就是染色体的编码方式,编码方式的选择会对后面的操作造成重要影响,常用的比较简单的编码方法

    二进制编码方法(Binary Representation)和浮点数编码方法(Float Point Representation)

    2、群体初始化

      采用随机数初始化的方法,对染色体的每一维变量进行初始化赋值。

    3、适应值评价

      评估函数用于评估各个染色体的适应值,进而区分优劣,评估函数常常根据问题的优化目标来确定。

    4、选择算子

      遗传算法的传统选择算子的作用 是根据适应值函数的值从种群中选出优秀的个体, 包括轮盘赌选择锦标赛选择

    5、交配算子

      交配算子是获取新的优秀个体的重要手段,两个父体通过交配操作交换各自优秀的基因,从而获得更加优秀的个体。

    交配算子有:部分匹配交配、顺序交配(OX交配)、循环交配和边重组等。

    6、变异算子

       变异操作发生在某个染色体的某个基因上,它将可变性引入群体中,增强了群体的多样性,从而提供了从局部最优

    中跳出来的一种手段。变异方法也是一个随机的、盲目的变异,因此需要使用比较小的变异概率(pm)来控制以避免造

    成种群的破坏。经常使用的变异算子有“基于位置的变异”和“基于次序的变异”。

    7、算法流程

      step1:初始化规模为N的群体,其中染色体的每个基因的值采用随机数产生。当前进化代数g=0

      step2:采用评估函数对群体所有染色体进行评价,计算每个染色体的适应值,保存适应值最大的染色体best。

      step3:采用合适的选择算法对群体的染色体进行选择操作,产生同规模的种群。

      step4:按给定的交配概率从种群中选择染色体进行交配,没有交配的染色体直接复制进入新的种群。

      step5:按给定的变异概率对新种群染色体的基因进行变异操作,变异后的染色体取代原有染色体进入新群体,未变异

    的染色体直接进入新群体。

      step6:变异后的新种群取代原有群体,重新计算染色体的适应值,若群体最大适应值高于best的适应值,则群体最大

    适应值对应的染色体替代best。

      step7:当前进化代数g加1,如果g达到规定的最大进化代数或者best达到规定的误差要求,算法结束,否则返回step3

    在后面的博客中会写遗传算法的应用,初步决定是解方程和TSP问题。

    解方程:http://www.cnblogs.com/catcher1994/p/4512450.html

    TSP问题:http://www.cnblogs.com/catcher1994/p/4513305.html

  • 相关阅读:
    物喻十例
    小写金额转换成大写
    让电脑启动更快十招
    计算机技术
    DOS 全集
    python基础 day14 匿名函数 内置函数 闭包
    python基础 day13 生成器,列表推导式、生成器表达式
    python基础 day12 函数名的应用 新特性:格式化输出 f-string 迭代器
    python基础 day 11 函数参数
    python基础 day 10 函数初识
  • 原文地址:https://www.cnblogs.com/catcher1994/p/4489730.html
Copyright © 2020-2023  润新知