本博文源于数学建模之常见优化算法的遗传算法。之前看见过国一论文用过遗传算法,遗传算法跟元胞机有点关系,什么关系没有研究,如果有机会还是要看看元胞机,毕竟都是智能优化算法。本篇博文没有程序。

遗传算法起源

遗传算法全名:Genetic Algorithm简称GA。通过模拟生物进化过程与机制来解决实际问题的一种智能技术,还有一种别称叫做:启发式算法。

遗传算法生动举例

这个例子也被遗传算法广为传颂:在一座山上目标找到山上最高点,现在往山上撒一匹麋鹿,过一段时间,将低于海拔xx米的鹿群杀死,然后再过一段时间,再把低于xx米的一匹鹿杀死,以此类推,剩下最后一只或几个必然是最优解。

算法原理

一般步骤如下:

  • 对于自变量的离散通常选用二进制编码,离散精度的高低决定了编码长度。这一步称为初始化种群
  • 种群选择:对于种群我们采用选择,目标选出好的,一般采用随机选择
  • 种群交叉:这个部分开始做交叉优化了,一般采用单点选择。
  • 种群变异:对于变异就是通过变异概率翻转某个位的值,比如1变成0,0变成1之类的,一般的变异概率为0到0.05
  • 轮盘赌选择变异后结果:这里会产生一个如何轮盘赌,我们每次产生的交叉结果,转成十进制后累加,求总和,然后每个点求各自概率,然后开始做P次循环,在[0,1]之间随机产生随机数r,根据随机数选择个体i。

算法步骤

因此算法步骤如下:

  1. 随机产生初始种群,每个个体代表此个体染色体的基因编码。
  2. 在确定个体适应度的同时,判断其适应度是否符合优化准则,若符号,则输出最佳个体及其代表的最优解,否则转向3
  3. 依据“适者生存,优胜劣汰”的准则选择再生个体,适应度高的个体被选中的概率大,反之淘汰
  4. 根据已知的交叉方法和概率及其变异方法和概率产生新的个体,并通过交叉和变异产生的新一代的种群,返回到2

遗传算法原理及算法步骤(学习篇·上)相关推荐

  1. 集成学习(Bagging、Boosting、Stacking)算法原理与算法步骤

    集成学习 概述 严格意义上来说,集成学习算法不能算是一种机器学习算法,而像是一种模型优化手段,是一种能在各种机器学习任务上提高准确率的强有力技术.在很多数据挖掘竞赛中,集成学习算法是比赛大杀器,能很好 ...

  2. 多变异位自适应遗传算法(MMAdapGA)的算法原理、算法步骤和matlab实现

    算法原理 自适应遗传算法是交叉概率和变异概率能够随使用度自动改变,以求得相对某个解的最佳交叉概率和变异概率.本算法是在自适应遗传算法中引进多变异位,以增加种群的多样性. 自适应遗传算法中的交叉概率和变 ...

  3. PCA(Principal Component Analysis)的原理、算法步骤和实现。

    PCA的原理介绍:  PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分 ...

  4. 人工智能学习笔记:基本遗传算法及其改进算法

    文章目录 1 引言 2 基本思想及发展历史 3 基本遗传算法详细步骤 3.1 编码 3.2 初始群体设定 3.3 设计适应度函数 3.4 遗传操作 3.4.1 选择 3.4.2 交叉 3.4.3 变异 ...

  5. 如何用免费GPU学习AI算法?这篇算法资源大集锦别错过

    上一次写了篇 1 AI Studio是什么 AI Studio 是百度提供的一个针对 AI 学习者的在线一体化开发实训平台.平台集合了 AI 教程,深度学习样例工程,各领域的经典数据集,云端的运算及存 ...

  6. 我学习CRC32、CRC16、CRC原理和算法的总结(与WINRAR结果一致)

    原文地址:http://wenku.baidu.com/view/fb791c0203d8ce2f006623f5.html 我学习CRC32.CRC16.CRC原理和算法的总结(与WINRAR结果一 ...

  7. 学AI买计算机,如何用免费GPU学习AI算法?这篇大集锦不要错过

    AI Studio是什么 AI Studio是百度提供的一个针对AI学习者的在线一体化开发实训平台.平台集合了AI教程, 深度学习样例工程, 各领域的经典数据集, 云端的运算及存储资源, 以及比赛平台 ...

  8. python算法教程百度云_如何用免费GPU学习AI算法?这篇算法资源大集锦别错过

    飞桨开发者投稿 上一次写了篇薅GPU百度AI Studio计算资源的文章,收到很多AI算法初学者私信,问我能不能补充一些AI Studio的学习资源.有求必应向来是我的风格,于是我加入了AI Stud ...

  9. 数据结构与算法——从零开始学习(一)基础概念篇

    系列文章 第一章:基础知识 第二章:线性表 第三章:栈和队列 第四章:字符串和数组 第五章:树和二叉树 第六章:图 第七章:排序算法 前言 数据结构:是指相互之间存在一种或多种特定关系的数据元素的集合 ...

  10. 不用找了,学习BM算法,这篇就够了(思路+详注代码)

    写在前面 在计算机科学里,Boyer-Moore字符串搜索算法是一种非常高效的字符串搜索算法.它由Bob Boyer和J Strother Moore设计于1977年.此算法仅对搜索目标字符串(关键字 ...

最新文章

  1. 【gradle】问题及解决
  2. WEB 进程的查看和关闭(kill)
  3. python打乱list_超实用!每 30 秒学会一个 Python 小技巧,GitHub 标星 5300!
  4. js获取单选按钮的值
  5. 值得一做》关于并查集的进化题目 BZOJ1015(BZOJ第一页计划)(normal-)
  6. java 输出视频文件格式_java – 如何从各种视频文件格式中提取元数据?
  7. trucksim安装教程
  8. JAVA学生成绩管理系统(增删改查)
  9. php解析bt,php读取BT文件信息lightbenc.php库使用说明
  10. 戴德金之连续性和无理数的中文翻译
  11. linux 下安装openoffice服务 百度文库在线预览 doc转pdf、pdf转swf格式
  12. QT .pro文件详解
  13. 一种Vin码扫描识别sdk技术
  14. PHP将处理图片为圆角
  15. Bilibili视频爬虫
  16. 百度地图API之本地搜索与范围搜索
  17. 电机控制----FOC框架讲解
  18. BPMN 2.0 快速使用文档
  19. 【产品应用】DIY案例第一期:基于CW32的蓝牙无刷遥控车
  20. 台式计算机主要有哪些硬件组成,计算机的硬件组成有哪些?计算机的硬件组成介绍...

热门文章

  1. 自定义 Bean 作用域
  2. PCB Layout 设计流程
  3. 漏洞复现永恒之蓝MS-17010+修复
  4. redis 的过期策略都有哪些?内存淘汰机制都有哪些?
  5. C陷阱与缺陷 个人阅读笔记
  6. 驱动开发:BSOD 0x7E(8000003)或命中断点卡住,__security_init_cookie导致
  7. oracle建表语句
  8. 水经注叠加cad_如何下载矢量格式的CAD等高线
  9. win10录屏_win10系统的电脑怎么录屏?这些录屏快捷键你都知道吗
  10. LabVIEW 2021 工具包