遗传算法
Posted 代码空间
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了遗传算法相关的知识,希望对你有一定的参考价值。
遗传算法(Genetic Algorithms, GA)是一种随机优化算法,用于解决结构复杂的优化问题。遗传算法模仿自然界中生物的进化过程,即适者生存,不适者淘汰的过程。其过程如下:
(1) 随机生成一些个体(Individual),构成一个种群(Population),对每一个解进行评估,获得它的适应度函数值(Fitness Value),此过程叫做初始化种群(Initializing);
(2) 按照一定的规则进行随机选择,如轮盘赌或者其他方法,目的是使得适应度函数值高的个体被选中的概率大,反之被选中的概率小,此过程叫做选择(Selection),没被选中的个体丢弃不再被考虑;
(3) 从选择以后的种群中,按照一定的概率随机选择一定的个体,配对进行基因的交换,目的是把两个个体中的优秀基因集中到一个个体,有可能生成更加优秀的个体,这个过程叫做交叉(Crossover);
(4) 对种群中的个体,按照一定的概率随机选择一定的个体,使其部分基因发生随机改变,目的是有可能随机生成更加优秀的个体,这个过程叫做变异(Mutation);
(5) 对经过选择、交叉、变异后的所有个体,计算适应度函数值,回到第2步,开始下一代(Generation)循环。
循环的次数根据一定的条件判断,如设定的代数,或者连续多少代适应度函数值没有被提高。
以上是关于遗传算法的主要内容,如果未能解决你的问题,请参考以下文章