Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
遗传算法 人工智能_人工智能十大算法,希望能够帮助你!!!。
今天介绍另外一种朴素仿生学算法,遗传算法。听上去好像好高大上的样子,与生物、基因相关,其实思想非常简单,就是参考生物进化过程,模拟染色体DNA的交叉(染色体段的交换)和变异(基因突变就是在基因复制的时候某个碱基的密码发生变化如应该是A结果变成了T或者其他类型的碱基,碱基有ATCG四种)来生成不同的种群,用适应性函数(模拟环境筛选作用)来筛选出较好的子代,然后不断重复迭代这个过程直至达到最优。
遗传算法核心就是要确定适应函数如何设计、子代如何选择。适应性函数往往是从问题中综合而来,可以假设为已知。而子代的选择规则可以用朴素的概率论的思想表达。即适应性越强的子代,存活的概率越高(子代生存概率=子代适应性/所有子代适应性之和),求作为概率最大的子代进化(适应性函数是根据问题设计的,可以视为已知)。
但只考虑用适用性作为筛选标准会遇到陷入局部最大的问题,引入多样性评价可以解决这个问题(多样性评价,就是在适应性选择后用子代之间的差异最优为标准选择下一个子代。
不少问题都可以用上述思想来建模,例如一个计划包括了N个环节,求最优的计划。每个环节都可以看成为一个碱基(ATCG),通过遗传算法来求最优计划,变异意味着碱基序列发生变化如A-T/C/G,象征着基因位点的突变,而环节的交换可以看作染色体交换,适应性函数可以看作计划性能,通过进化(迭代若干次)得到最优计划。
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
下一篇
已是最新文章