Matlab下遗传算法的优化运用——展示为多维影像

本文介绍了遗传算法的基本原理和在Matlab环境下的应用,包括染色体编码、群体初始化、适应值评价、选择、交配和变异算子。通过轮盘赌选择算法进行种群选择,并利用单点交叉进行杂交操作,通过变异算子维持群体多样性。文章以多维优化问题为例,展示了遗传算法的迭代过程和结果。
摘要由CSDN通过智能技术生成

1 基本概念

借鉴自然进化的理念,问题优化的过程可以看成类似于生物进化的过程,通过模拟自然界的生物进化,研究者提出了一种解决优化问题的创造性方法———GA遗传算法。

1.1基本算法原理

GA算法最开始为一种随机自适应的全局搜索算法。
遗传算法正是通过模拟自然界中生物的遗传进化过程,对优化问题的最优解进行搜索。算法维护一个代表问题潜在解的群体,对于群体的优化,算法引入了类似自然进化中选择、交配、以及变异算子。遗传算法搜索全局最优解的过程是一个不断迭代的过程,每一次迭代相当于生物进化中的一次循环,直到满足算法的终止条件为止。

在遗传算法中,问题的每个有效解被称为一个“染色体”,在有些书籍中也称为“串”,相对于群体中每个生物个体,染色体的具体形式是一个使用特定编码方式生成的串,编码串中的每一个编码单元称为基因。

1.2 比较对应

在这里插入图片描述

1.3理论支持

①模式定理

对于遗传算法,Holland给出了著名的模式定理,为遗传算法提供了理论支持。

模式: 是指群体中编码的某些位置具有相似结构的染色体集合。这边可用0或1组成的二进制符号序列作为染色体的编码。其中如:
模式01 x x x 0 则表示以01开头且0结尾的编码串对应的染色体的集合。

阶: 模式中具有确定取值的基因个数,如0 1 x x x 0 的阶为3。

模式定义长度: 是指模式中第一个具有确定取指的基因到最后一个具有确定取值的基因的距离,上例为5。 而x 1 x x x x 定义长度为0.

该定理指出,遗传算法的实质是通过选择、交配、变异算子对模式进行搜索,缔结定义长度较小且平均适应高于群体平均适应值的模式在群体中方的比例将呈现指数级增长,即随着精华的不断进行,教优染色体个数将快速增加。模式定理证明了遗传算法寻求全局最优解的可能性,但是不能抱枕算法一定能找到全局最优解,Goldberg提出的积木块假设,能对该定理做出补充,说明遗传算法具有能找到全局最优解的能力。

2 具体算法流程

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

  1. 染色体的编码;
  2. 躯体的初始化;
  3. 适应值评价;
  4. 选择种族;
  5. 种族交配;
  6. 群体变异;
  7. 算法流程;

2.1 染色体的编码

目前用于染色体编码的方式有格雷码编码,字母编码,多参数交叉编码。这里我们采用两种较为简单的编码:二进制编码和浮点数(实数)编码。其中二进制编码较为简单,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值