遗传算法原理及算法步骤(学习篇·上)
本博文源于数学建模之常见优化算法的遗传算法。之前看见过国一论文用过遗传算法,遗传算法跟元胞机有点关系,什么关系没有研究,如果有机会还是要看看元胞机,毕竟都是智能优化算法。本篇博文没有程序。
遗传算法起源
遗传算法全名:Genetic Algorithm简称GA。通过模拟生物进化过程与机制来解决实际问题的一种智能技术,还有一种别称叫做:启发式算法。
遗传算法生动举例
这个例子也被遗传算法广为传颂:在一座山上目标找到山上最高点,现在往山上撒一匹麋鹿,过一段时间,将低于海拔xx米的鹿群杀死,然后再过一段时间,再把低于xx米的一匹鹿杀死,以此类推,剩下最后一只或几个必然是最优解。
算法原理
一般步骤如下:
- 对于自变量的离散通常选用二进制编码,离散精度的高低决定了编码长度。这一步称为初始化种群
- 种群选择:对于种群我们采用选择,目标选出好的,一般采用随机选择
- 种群交叉:这个部分开始做交叉优化了,一般采用单点选择。
- 种群变异:对于变异就是通过变异概率翻转某个位的值,比如1变成0,0变成1之类的,一般的变异概率为0到0.05
- 轮盘赌选择变异后结果:这里会产生一个如何轮盘赌,我们每次产生的交叉结果,转成十进制后累加,求总和,然后每个点求各自概率,然后开始做P次循环,在[0,1]之间随机产生随机数r,根据随机数选择个体i。
算法步骤
因此算法步骤如下:
- 随机产生初始种群,每个个体代表此个体染色体的基因编码。
- 在确定个体适应度的同时,判断其适应度是否符合优化准则,若符号,则输出最佳个体及其代表的最优解,否则转向3
- 依据“适者生存,优胜劣汰”的准则选择再生个体,适应度高的个体被选中的概率大,反之淘汰
- 根据已知的交叉方法和概率及其变异方法和概率产生新的个体,并通过交叉和变异产生的新一代的种群,返回到2
遗传算法原理及算法步骤(学习篇·上)相关推荐
- 集成学习(Bagging、Boosting、Stacking)算法原理与算法步骤
集成学习 概述 严格意义上来说,集成学习算法不能算是一种机器学习算法,而像是一种模型优化手段,是一种能在各种机器学习任务上提高准确率的强有力技术.在很多数据挖掘竞赛中,集成学习算法是比赛大杀器,能很好 ...
- 多变异位自适应遗传算法(MMAdapGA)的算法原理、算法步骤和matlab实现
算法原理 自适应遗传算法是交叉概率和变异概率能够随使用度自动改变,以求得相对某个解的最佳交叉概率和变异概率.本算法是在自适应遗传算法中引进多变异位,以增加种群的多样性. 自适应遗传算法中的交叉概率和变 ...
- PCA(Principal Component Analysis)的原理、算法步骤和实现。
PCA的原理介绍: PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分 ...
- 人工智能学习笔记:基本遗传算法及其改进算法
文章目录 1 引言 2 基本思想及发展历史 3 基本遗传算法详细步骤 3.1 编码 3.2 初始群体设定 3.3 设计适应度函数 3.4 遗传操作 3.4.1 选择 3.4.2 交叉 3.4.3 变异 ...
- 如何用免费GPU学习AI算法?这篇算法资源大集锦别错过
上一次写了篇 1 AI Studio是什么 AI Studio 是百度提供的一个针对 AI 学习者的在线一体化开发实训平台.平台集合了 AI 教程,深度学习样例工程,各领域的经典数据集,云端的运算及存 ...
- 我学习CRC32、CRC16、CRC原理和算法的总结(与WINRAR结果一致)
原文地址:http://wenku.baidu.com/view/fb791c0203d8ce2f006623f5.html 我学习CRC32.CRC16.CRC原理和算法的总结(与WINRAR结果一 ...
- 学AI买计算机,如何用免费GPU学习AI算法?这篇大集锦不要错过
AI Studio是什么 AI Studio是百度提供的一个针对AI学习者的在线一体化开发实训平台.平台集合了AI教程, 深度学习样例工程, 各领域的经典数据集, 云端的运算及存储资源, 以及比赛平台 ...
- python算法教程百度云_如何用免费GPU学习AI算法?这篇算法资源大集锦别错过
飞桨开发者投稿 上一次写了篇薅GPU百度AI Studio计算资源的文章,收到很多AI算法初学者私信,问我能不能补充一些AI Studio的学习资源.有求必应向来是我的风格,于是我加入了AI Stud ...
- 数据结构与算法——从零开始学习(一)基础概念篇
系列文章 第一章:基础知识 第二章:线性表 第三章:栈和队列 第四章:字符串和数组 第五章:树和二叉树 第六章:图 第七章:排序算法 前言 数据结构:是指相互之间存在一种或多种特定关系的数据元素的集合 ...
- 不用找了,学习BM算法,这篇就够了(思路+详注代码)
写在前面 在计算机科学里,Boyer-Moore字符串搜索算法是一种非常高效的字符串搜索算法.它由Bob Boyer和J Strother Moore设计于1977年.此算法仅对搜索目标字符串(关键字 ...
最新文章
- 【gradle】问题及解决
- WEB 进程的查看和关闭(kill)
- python打乱list_超实用!每 30 秒学会一个 Python 小技巧,GitHub 标星 5300!
- js获取单选按钮的值
- 值得一做》关于并查集的进化题目 BZOJ1015(BZOJ第一页计划)(normal-)
- java 输出视频文件格式_java – 如何从各种视频文件格式中提取元数据?
- trucksim安装教程
- JAVA学生成绩管理系统(增删改查)
- php解析bt,php读取BT文件信息lightbenc.php库使用说明
- 戴德金之连续性和无理数的中文翻译
- linux 下安装openoffice服务 百度文库在线预览 doc转pdf、pdf转swf格式
- QT .pro文件详解
- 一种Vin码扫描识别sdk技术
- PHP将处理图片为圆角
- Bilibili视频爬虫
- 百度地图API之本地搜索与范围搜索
- 电机控制----FOC框架讲解
- BPMN 2.0 快速使用文档
- 【产品应用】DIY案例第一期:基于CW32的蓝牙无刷遥控车
- 台式计算机主要有哪些硬件组成,计算机的硬件组成有哪些?计算机的硬件组成介绍...