【控制】遗传算法(GA,Genetic Algorithm)及 Matlab 实现
文章目录
- 基本框架
- 编码
- 适应度函数
- 初始群体选取
- Ref.
遗传算法(Genetic Algorithm,GA)最早是由美国的 John holland于20世纪70年代提出,该算法是根据大自然中生物体进化规律而设计提出的。是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。该算法通过数学的方式,利用计算机仿真运算,将问题的求解过程转换成类似生物进化中的染色体基因的交叉、变异等过程。在求解较为复杂的组合优化问题时,相对一些常规的优化算法,通常能够较快地获得较好的优化结果。遗传算法已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。
基本框架
编码
由于遗传算法不能直接处理问题空间的参数,因此必须通过编码将要求解的问题表示成遗传空间的染色体或者个体。这一转换操作就叫做编码,也可以称作(问题的)表示(representation)。
评估编码策略常采用以下3个规范:
- 完备性(completeness): 问题空间中的所有点(候选解)都能作为GA空间中的点(染色体)表现。
- 健全性(soundness): GA空间中的染色体能对应所有问题空间中的候选解。
- 非冗余性(nonredundancy): 染色体和候选解一一对应。
适应度函数
进化论中的适应度,是表示某一个体对环境的适应能力,也表示该个体繁殖后代的能力。遗传算法的适应度函数也叫评价函数,是用来判断群体中的个体的优劣程度的指标,它是根据所求问题的目标函数来进行评估的。
遗传算法在搜索进化过程中一般不需要其他外部信息,仅用评估函数来评估个体或解的优劣,并作为以后遗传操作的依据。由于遗传算法中,适应度函数要比较排序并在此基础上计算选择概率,所以适应度函数的值要取正值。由此可见,在不少场合,将目标函数映射成求最大值形式且函数值非负的适应度函数是必要的。
初始群体选取
遗传算法中初始群体中的个体是随机产生的。一般来讲,初始群体的设定可采取如下的策略:
- 根据问题固有知识,设法把握最优解所占空间在整个问题空间中的分布范围,然后,在此分布范围内设定初始群体。
- 先随机生成一定数目的个体,然后从中挑出最好的个体加到初始群体中。这种过程不断迭代,直到初始群体中个体数达到了预先确定的规模。
Ref.
- 遗传算法-百度百科
- 大话遗传算法(含Matlab代码)
【控制】遗传算法(GA,Genetic Algorithm)及 Matlab 实现相关推荐
- GA遗传算法c语言,遗传算法GA(Genetic Algorithm)入门知识梳理
一.遗传算法进化论背景知识 作为遗传算法生物背景的介绍,下面内容了解即可: 种群(Population):生物的进化以群体的形式进行,这样的一个群体称为种群. 个体:组成种群的单个生物. 基因 ( G ...
- 第九课 遗传算法( Genetic Algorithm, GA)
遗传算法概述 遗传算法( Genetic Algorithm, GA) 是一种进化算法, 其基本原理是仿效生物界中的"物竞天择. 适者生存" 的演化法则, 它最初由美国Michig ...
- (二)遗传算法(Genetic Algorithm, GA)流程
(二)遗传算法(Genetic Algorithm, GA)流程 1. 遗传算法流程 2. 关键参数说明 1. 遗传算法流程 一点说明: 在遗传算法中,将nnn维决策向量X\bf{X}X=[x ...
- 遗传算法(Genetic algorithm,GA)前世今生(python实现)
遗传算法(Genetic algorithm,GA)模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法. 19世纪40年代,有学者开始研究利 ...
- 机器学习中的数学——遗传算法(Genetic Algorithm)
分类目录:<机器学习中的数学>总目录 相关文章: · 梯度下降法(Gradient Descent) · 随机梯度下降(Stochastic Gradient Descent, SGD) ...
- 遗传算法(Genetic Algorithm)详解与实现
遗传算法(Genetic Algorithm)详解与实现 遗传算法简介 类比达尔文进化论 达尔文进化理论 遗传算法对应概念 遗传算法理论 图式定理(schema theorem) 遗传算法与传统算法的 ...
- 遗传算法(Genetic Algorithm)及python实现
遗传算法 遗传算法 遗传算法的定义 遗传算法的流程 具体实现过程 适应度评估 选择 交叉 变异 代码实现 引用 遗传算法 遗传算法的定义 遗传算法(Genetic Algorithm, GA)是一种以 ...
- R语言基于遗传算法(Genetic Algorithm)进行特征筛选(feature selection)
R语言基于遗传算法(Genetic Algorithm)进行特征筛选(feature selection) 特征选择的目的 1.简化模型,使模型更易于理解:去除不相关的特征会降低学习任务的难度.并且可 ...
- 遗传算法 (Genetic Algorithm)
遗传算法 (Genetic Algorithm) 基础信息 选择策略: 物竞天择,适者生存.即按照某一特定条件进行选择. 遗传因子: 在计算机中是用0/1编码来完成的 遗传方式: 交叉.变异 选择策略 ...
- 遗传算法(Genetic Algorithm,GA)-基于MATLAB环境实现
1.GA简介 genetic algorithm,美国Holland教授创立,基于达尔文进化论和孟德尔的遗传学说.遗传算法类比了生物界中自然选择.交叉.变异等自然进化方式,利用数码串类比染色体,通过选 ...
最新文章
- macaca之app-inspector
- NHibernate快速起步
- Visual c++6.0 如何自定义一个光标,使其变成字
- OpenGL之深入解析坐标系
- c# 衍生类和基类的构造顺序
- python培训一般要多久_入门 Python 要多久时间?该如何学习?
- 一上来,就问原理,问上亿(MySQL)大表的索引优化,我的天...
- iOS 数据库操作(使用FMDB)
- 把excel每一行中的数据输出为一个txt文档的VBA函数
- 针对不同手机系统的LBS地图定位解决方案
- vc mysql ado blob_在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除。...
- 博客园9月份第3周51Aspx源码发布详情
- NB-IOT基础模型搭建思路
- ESP8266-Arduino编程实例-HMC5883L磁场传感器
- 织梦模板(dedecms) 文章页调用 浏览次数(阅读量,访问量)
- 苹果ios8_手机资讯:你必须要知道的iOS8实用小技巧汇总
- linux 电脑观看电视,使用Zattoo在您的Ubuntu桌面上观看直播电视
- 直播带货开发,实现主播和用户连麦的方式
- 服务器的远程无法断开,远程桌面客户端断开连接且无法重新连接到同一会话
- x%3e=y%3e=z的c语言表达式,我的C语学习笔记-C语言教程(三).doc
热门文章
- Codeforces Round #554 (Div. 2) 1152A - Neko Finds Grapes
- ECMAScript5 ES5
- SQL Server学习1(建数据库,建表,建约束)
- Vector和LinkedList源代码阅读笔记
- Recommend索引
- UA MATH563 概率论的数学基础 中心极限定理15 Kolmogorov 0-1律
- UA MATH567 高维统计I 概率不等式8 亚指数范数
- 初次使用PyCharm
- 认识VC++类向导的使用
- ORACLE锁学习总结