遗传算法( GA , Genetic Algorithm ): 利用自然界中的自然选择、交叉、变异求得一些函数的最优解。 如我们要解答1/(|x1| |x2| |x3| |x4| 1)的最大值,步骤如下:
这样在子代中,经常会产生优秀的染色体,不断地更新后,最优适应值总会靠近标准答案。 见我的测试结果:
但也并非总能获得非常优秀的答案,如:
主要原因在于以下几点: 1.适应性函数的选择不太恰当,它可能会使得答案陷入局部最优。 2.初始种群太小,无法获得准确答案 3.种群有一定几率过早地收敛 但是遗传算法总是能得到良好的解。至少在我的测试数据里结果经常是0.93,离标准答案的差是7%,这是还能够接受的水平 详细地代码将于后天讲解,若您有兴趣的话可以上网搜索遗传算法,先试试看。
欢迎关注微信公众号:幻象客 https://www.huanxiangke.com 欢迎进入极致分享: https://alltoshare.com |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|