技术文章 > Python技术 > Python基础 > 正文

如何学习python遗传算法?

单独的数字大家可以直观看到理解,但是如果两个数字之间连接运算,那它就不是单独的数字,而是一个独立的组合,那大家还会理解是什么意思吗?相信很多人如果第一次看到,那肯定不理解,就跟我们编程时候,每个算数之间都有着各种各种的运算符号,让他们的意义不同,因此,系统的学习是非常重要的,一起来看下如何学习好遗传算法。

1. 遗传算法主要流程

 2. 遗传算法理论基础

模式(Schema):模式指有相同特征的子集,比如二进制字符串11***\(*为通配符\)可以代表八个个体(2x2x2)。

阶(Order):模式中确定位置的个数成为阶,比如1110*的阶为1

定义距(Defining Length):模式中第一个确定位置和最后一个确定位置之间的距离成为定义距

3. 遗传算法与传统算法的区别

遗传算法中的种群中始终维持一定数量的个体(每个个体都是问题的解),而传统算法中每次迭代都一般只保留最优解。

遗传算法用个体/基因型来代表问题的解,而传统算法的解一般都更直观。

遗传算通过计算适应度来计算最优解,而传统算法一般通过导数或梯度来计算最优解。

遗传算由概率驱动,比如杂交概率、突变概率等,而传统算法一般都是有确定性的。PS:因为遗传算法的每一次迭代就朝着最优解的方向前进,即便遗传算法的过程有不确定性,但遗传算法最终的最优解一般都是确定的。

4. 什么情景使用遗传算法

当遇到以下类型的问题时,可以尝试遗传算法:

当问题的数学表达过于复杂或很难用数学表达时:遗传算法只需要定义个体、种群,选择、杂交、突变方法和适应度方程就可以求最优解。

当数据含较多噪音时:遗传算法受数据中异常值的影响较小。

当外部环境在不断变化时:遗传算法的种群始终保有一定数量的个体(解),因此遗传算法可以适应数据的改变,并针对新的环境产生新的最优解。

相信大家在浏览过系统的学习遗传算法各个阶段的内容,逐一去攻破,会比较容易好上手遗传算法的哦~如果大家对这个算法感兴趣的话,可以多浏览几遍以上内容,就可以了解怎么开始学习遗传算法啦~

免费视频教程
本文原创发布python学习网,转载请注明出处,感谢您的尊重!
相关文章
 python开发小程序流程如何?
 python input变量怎么赋值?
 python中的遗传算法库怎么使用?
 python算法库怎么安装?
相关视频章节
 网络爬虫
 云端部署Web应用程序视频
 Web应用框架Flask和文件模板
 Web应用程序开发概述
 继承和多态
作者信息

php中文网

认证0级讲师

最近文章
python3如何改变默认的ascii编码?830
视频教程分类