码迷,mamicode.com
首页 > 编程语言 > 详细

遗传算法

时间:2018-05-27 13:49:01      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:变异   sel   次数   初始化   优秀   没有   优化   设定   开始   

遗传算法(Genetic Algorithms, GA)是一种随机优化算法,用于解决结构复杂的优化问题。遗传算法模仿自然界中生物的进化过程,即适者生存,不适者淘汰的过程。其过程如下:

(1) 随机生成一些个体(Individual),构成一个种群(Population),对每一个解进行评估,获得它的适应度函数值(Fitness Value),此过程叫做初始化种群(Initializing);

(2) 按照一定的规则进行随机选择,如轮盘赌或者其他方法,目的是使得适应度函数值高的个体被选中的概率大,反之被选中的概率小,此过程叫做选择(Selection),没被选中的个体丢弃不再被考虑;

(3) 从选择以后的种群中,按照一定的概率随机选择一定的个体,配对进行基因的交换,目的是把两个个体中的优秀基因集中到一个个体,有可能生成更加优秀的个体,这个过程叫做交叉(Crossover);

(4) 对种群中的个体,按照一定的概率随机选择一定的个体,使其部分基因发生随机改变,目的是有可能随机生成更加优秀的个体,这个过程叫做变异(Mutation);

(5) 对经过选择、交叉、变异后的所有个体,计算适应度函数值,回到第2步,开始下一代(Generation)循环。

循环的次数根据一定的条件判断,如设定的代数,或者连续多少代适应度函数值没有被提高。

遗传算法

标签:变异   sel   次数   初始化   优秀   没有   优化   设定   开始   

原文地址:https://www.cnblogs.com/mstk/p/9095638.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!