Java教程

遗传算法GA

本文主要是介绍遗传算法GA,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

参考资料:遗传算法入门详解

染色体chromosome/个体individual表示一个解,用位串表示。位串的每一位是一个基因。染色体的集合称为群体population。适应度函数用于对个体进行度量,通常是个体在群体中使用的次数。

C:个体编码方案,E:适应度函数,P0初始种群,M:种群大小,T:遗传算法终止条件。剩下的三个分别是选择selection/交叉crossover/变异mutation算子。

选择:产生新的群体,一般适应度越高,该个体进入新群体的概率就越大。例如轮盘赌法:

交叉:例如单点交叉:

变异:为了避免陷入局部最优解。例如单点变异,就只变异一个bit/基因。

全过程图:

这篇关于遗传算法GA的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!