遗传算法中的每一步都不可少吗

题主你好。 你理解的也是对了,“只要让适应度高的个体在后代中出现的概率高不就行了吗”,的确是这样,我们是会尽可能的保留适应度高的值,然后以此为父代,继续进化。遗传算法中最主要的优化操作 (optimal operation)是 :1.交叉。2.突变。这也是遗传算法这个名字的由来。对于这个例子 f(x)=x1^2+x2^2。按照题主的思想,是正确的,因为它太简单了,所以用不上这些复杂的步骤。但是在处理大量的复杂的问题的时候,交叉和变异操作的好处就体现出来了。i.e.,比如这些的问题遗传算法中的每一步都不可少吗
【遗传算法中的每一步都不可少吗】
对于一个复杂的问题来说,它或许存在多个局部最优解,和一个全局最优解。例如:遗传算法中的每一步都不可少吗

图中黑色的部分都是局部最优解,而只有蓝色的圆圈才是全局最优解。遗传算法中交叉和突变的作用,即使对决策变量X进行巨大的变形,使其能够有机会随意的找到全局最优解附近的解。你可以把遗传算法理解为不知道任何条件的,随意的算的。就像你考试不会做选择题,随机选择ABDC一样。 不过遗传算参考了达尔文生物进化的规律,将所谓了随机进行了一定的优化。所以这种算法在工程上的应用还是不错的。(当然和具有先验条件的算法相比(如牛顿迭代,拟牛顿法),其迭代次数和花销是十分巨大的。遗传算法有着广阔的前景,在遗传算法的基础上,科研人员们又提出了进化算法,蚁群算法,免疫算法,粒子群算法等优化算法。。。简单的回答了一下,抛砖引玉。以上。参考文献: Deb K, Pratap A, Agarwal S, et al. A fast and elitist multi-objective genetic algorithm: NSGA II. IEEE Transactions on Evolutionary Computation, 2002, 6(2):182-197. 公茂果, 焦李成, 杨咚咚,等. 进化多目标优化算法研究. 软件学报, 2009, 20:271-289.
■网友
遗传算法解决的是这类问题叫做优化问题。优化问题的一般形式为:有一组变量,有一个objective function(或者适应度),寻找这组变量的最优解,使得objective function的值最小(适应度最高)。对于遗传算法来说,每个个体对应一组变量取值。不管是进行变异还是交配操作,都是在这组变量空间里随机取点,希望在采样足够多的情况下,出现适应度最高的个体。遗传算法的最大问题在于它是一种启发式算法。对于启发式算法来说,不管你如何优化,或增加代数,没有找到适应度最高个体(最优解)的保证。对于没有更好解决方案的问题来说,使用遗传算法时,就需要加大采样量,这样漏掉最优解的可能就会变小。而加大采样量无非就是增大每代里面个体的个数和增加代数。例外一点,你最开始找到的较优解(适应度高的个体),有可能和最优解(适应度最高的个体)相差很远,如果只是在较优解附近寻找,而不继续大范围采样的话,很有可能会漏掉最优解。
■网友
变异有助于勘探能力,交叉有助于开采能力
■网友
最近在玩遗传算法的人来强行回答一发 :) 其实呢,遗传算法算是进化算法的一个小分支,而进化算法 里面operation of evolution 至少包括遗传变异以及 estimation of distribution 三种,然后进化算法中的另一个小分支 rvolution of strategie 就是没交叉只有变异哒。实际操作中,针对大量不同问题,各种operation 的使用要分情况看啊。。。。


    推荐阅读