来源:DeepHub IMBA

遗传算法可以做什么?

遗传算法是元启发式算法之一。它有与达尔文理论(1859 年发表)的自然演化相似的机制。如果你问我什么是元启发式算法,我们最好谈谈启发式算法的区别。

启发式和元启发式都是优化的主要子领域,它们都是用迭代方法寻找一组解的过程。启发式算法是一种局部搜索方法,它只能处理特定的问题,不能用于广义问题。而元启发式是一个全局搜索解决方案,该方法可以用于一般性问题,但是遗传算法在许多问题中还是被视为黑盒。

那么,遗传算法能做什么呢?和其他优化算法一样,它会根据目标函数、约束条件和初始解给我们一组解。

最优局部解与最优全局解

遗传算法是如何工作的?

遗传算法有5个主要任务,直到找到最终的解决方案。它们如下。

  • 初始化

  • 适应度函数计算

  • 选择

  • 交叉

  • 突变


定以我们的问题

我们将使用以下等式作为遗传算法的示例。它有 5 个变量和约束,其中 X1、X2、X3、X4 和 X5 是非负整数且小于 10(0、1、2、4、5、6、7、8、9)。使用遗传算法,我们将尝试找到 X1、X2、X3、X4 和 X5 的最优解。

将上面的方程转化为目标函数。遗传算法将尝试最小化以下函数以获得 X1、X2、X3、X4 和 X5 的解决方案。

由于目标函数中有 5 个变量,因此染色体将由 5 个基因组成,如下所示。


初始化

在初始化时,确定每一代的染色体数。在这种情况下,染色体的数量是 5。因此,每个染色体有 5 个基因,在整个种群中总共有 25 个基因。使用 0 到 9 之间的随机数生成基因。

在算法中:一条染色体由几个基因组成。一组染色体称为种群

下图是第一代的染色体。


适应度函数计算

它也被称为评估。在这一步中,评估先前初始化中的染色体。对于上面示例,使用以下的计算方式。

这是第一代种群中的第一个染色体。

将 X1、X2、X3、X4 和 X5 代入目标函数,得到 53。

适应度函数是 1 除以误差,其中误差为 (1 + f(x))。

下面公式中加 1 是为了避免零问题

这些步骤也适用于其他染色体。

选择

轮盘赌法是遗传算法中的一种随机选择方法。这就像赌场里的轮盘赌。它有一个固定点,并且轮子旋转直到轮子上的一个区域到达固定点的前面。

在遗传算法的背景下,具有较高适应度值的染色体将更有可能在轮盘赌中被选中。

首先,计算 5 条染色体的总适应度值。

总计 = 												

手推遗传算法(Genetic Algorithm,GA)的详细步骤图解相关推荐

  1. 优化算法之手推遗传算法(Genetic Algorithm)的详细步骤图解

    来源:DeepHub IMBA 本文约2000字,建议阅读5分钟 本文为你详细讲解遗传算法. 遗传算法可以做什么? 遗传算法是元启发式算法之一.它有与达尔文理论(1859 年发表)的自然演化相似的机制 ...

  2. 路径算法:遗传算法 (Genetic Algorithm, GA)

    遗传算法简介 遗传算法是受自然进化理论启发的一系列搜索算法.通过模仿自然选择和繁殖的过程,遗传算法可以为涉及搜索,优化和学习的各种问题提供高质量的解决方案.同时,它们类似于自然进化,因此可以克服传统搜 ...

  3. 遗传算法(Genetic Algorithm,GA)实现数据排序,python

    遗传算法(Genetic Algorithm,GA)实现数据排序,python 遗传算法是一种比较广泛.通用的算法体系,为了说明遗传算法的原理和实现,现在用GA解决一个计算机科学最基本.最古老的问题: ...

  4. uniform crossover(均匀交叉),遗传算法(Genetic Algorithm,GA),python

    uniform crossover(均匀交叉),遗传算法(Genetic Algorithm,GA),python 假设有双亲p1和p2的二进制基因染色体表达,子代的基因以等概率(50%)来自双亲中之 ...

  5. 遗传算法 python 简书_遗传算法(Genetic Algorithm ,GA)学习笔记

    1 遗传算法的概念 1.1 遗传算法的科学定义 遗传算法(Genetic Algorithm, GA) 是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程 ...

  6. 优化算法之遗传算法(Genetic Algorithm, GA)

    目录 概述 相关术语 遗传算法的实现过程 遗传算法的一般步骤 代码描述 解码 相关问题 适应度函数 选择函数 小问题: 交叉.变异 相关问题 完整代码 疑惑点(感谢大佬解答) 个人修改代码(类形式) ...

  7. 遗传算法 python 简书_【算法】超详细的遗传算法(Genetic Algorithm)解析

    00 目录 遗传算法定义 生物学术语 问题导入 大体实现 具体细节 代码实现 01 什么是遗传算法? 1.1 遗传算法的科学定义 遗传算法(Genetic Algorithm, GA)是模拟达尔文生物 ...

  8. 【算法】超详细的遗传算法(Genetic Algorithm)解析

    转自:https://www.jianshu.com/p/ae5157c26af9 [算法]超详细的遗传算法(Genetic Algorithm)解析 00 目录 遗传算法定义 生物学术语 问题导入 ...

  9. 超详细的遗传算法(Genetic Algorithm)解析【转】

    00 目录 遗传算法定义 生物学术语 问题导入 大体实现 具体细节 代码实现 01 什么是遗传算法? 1.1 遗传算法的科学定义 遗传算法(Genetic Algorithm, GA)是模拟达尔文生物 ...

  10. (二)遗传算法(Genetic Algorithm, GA)流程

    (二)遗传算法(Genetic Algorithm, GA)流程 1. 遗传算法流程 2. 关键参数说明 1. 遗传算法流程   一点说明:   在遗传算法中,将nnn维决策向量X\bf{X}X=[x ...

最新文章

  1. 互联网协议 — VRRP 虚拟路由器冗余协议
  2. Oracle数据库锁诊断
  3. python 判断字典key是否存在_神奇的VBA字典,判断数据是否重复
  4. FPGA(5)--VHDL--10十进制计数器及7段显示译码器
  5. Android学习之反编译工具的使用
  6. Windows Mobile 模拟器网络连接设置
  7. 本地上支持apache多站点访问
  8. 数据库SQL语句之外键
  9. 2020-04-03-功能性光学脑成像
  10. 导入不在是用mysqldump 而是用mysql -u xxx -p /home/aa.sql
  11. 首次!TinyML低功耗边缘侧机器学习技术论坛-亚洲分会来到中国!
  12. 华为机试【连续出牌数量】
  13. jmeter 5.5+influxdb 2.0+grafana v9.3.2 - 压测看板setup
  14. 中国移动网站控件引发的蓝屏问题分析
  15. 外部地址是什么意思_NAT网络地址转换
  16. ap的ht模式_华通AP-HT-WD400AP-IN系列
  17. Power BI学习笔记
  18. HTML5期末大作业:响应式旅游风景家乡网站设计——衢州旅游网站(5页) HTML+CSS+JS 旅游网页设计成品 dw旅游景点介绍网页制作
  19. gitLab代码拉取到本地
  20. 中国专用车行业市场规模及未来发展趋势

热门文章

  1. 数字电路-04 触发器Flip-flop!
  2. Warmup Learning
  3. RED5的API介紹-4
  4. 异常(Exceptions)
  5. 设计模式之原型模式(C语言)
  6. 【ThreeJS】基础教学 创建一个立方体
  7. 1.14 JavaScript5:常用DOM操作
  8. 全卷积神经网络(FCN)
  9. SISR深度学习主要方法简述
  10. C++优化三板斧:Three Optimization Tips for C++