背景
写这篇博客是因为虽然现在网络上关于遗传算法的文章很多,但大都晦涩难懂,对新手很不友好,博主虽然也不精通,但有一点小心得,觉得可以帮助新手入入门。
入门小提示
想要提升的同学,光看本文是不够的,需要进一步学习,因为本文的目的只是辅助同学们入门而已。
本文让种群不断迭代,每代数量呈指数级递减直至1个,并不一定非要如此,算法没有标准答案,只有性能的优劣,每代种群的数量不变或减少或增多,都不是唯一的,一切视具体情况和你的算法来定。
遗传算法通俗解释
遗传算法要干啥:从一个庞大的种群中不断的挑选优良的个体——适应度高的个体,来互相杂交、变异来生成新的一代个体,然后重复这个过程,经过很多代的种群迭代之后,选出一个特性最优的个体(就和培育一些特殊品种的猫狗、植物一样,让你不断繁衍,最后选出特性较好的个体,比如恶霸犬、杂交水稻)。
遗传率是啥:为了保证最后只有一个个体能够留存下来,我们需要设置每一代繁衍到下一代的遗传率,用遗传率乘以种群数量再取整——下一代个体的数量。
为啥要选择:在大自然中,特性优良的个体并不一定会或有机会繁衍下一代&