生物进化过程的计算模型——遗传算法
-
遗传算法(Genetic Algorithm, GA)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。
实际上它是这样一种算法,就类似于自然界种群中的生物繁衍一样,通过不断的进化和变异不断产生更加适应环境的个体,这对比与我们的算法,种群就是我们的样本集合,个体则是我们单独的每个样本,样本中的每个数据则表示一个基因,进化和变异则是对样本之间的数据进行处理,更加适应环境的说法则类似于一个评价的标准,类似于神经网络中的损失函数,用于衡量进化和变异得到的新样本。用算法流程图来形容就是文末图片所示。
其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,不需要确定的规则就能自动获取和指导优化的搜索空间,自适应地调整搜索方向。
神经网络——试图模拟人类神经系统的软件系统——为人工智能研究提供了富有成效的舞台。另一个前途无量的典范是达尔文的进化论。在自然界中,自然选择以几千或几百万年计。在计算机内部,进化(或迭代过程,通过应用小增量变化来改进问题的拟解决方案)进行的速度则稍快。这可以与动植物世界中的进化过程进行比较和对比——在动植物世界中,物种通过自然选择、繁殖、突变和重组等遗传操作来适应环境。
遗传算法(GA)是来自一般领域,即所知的进化计算(evolutionary computation)的具体方法。进化计算是人工智能的分支,在进化计算中,问题的拟解决方案可以适应环境,就像在真实世界中动物适应环境一样。在GA中,问题被编码为串。
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏