遗传算子
词条百科 0
目录
什么是遗传算子
遗传算子是一种操作者在使用遗传算法来引导算法朝解决给定问题。共有三种主要类型的算子(变异、交叉和选择),它们必须相互配合才能使算法成功。遗传算子用于创建和维护遗传多样性(变异算子),将现有解决方案(也称为染色体)组合成新解决方案(交叉)并在解决方案之间进行选择(选择)。在他的书中讨论了遗传编程的使用为了优化复杂问题,计算机科学家JohnKoza还确定了一个“反转”或“置换”算子;然而,这个算子的有效性从来没有被最终证明过,这个算子也很少被讨论。
变异(或类变异)算子被称为一元算子,因为它们一次只对一条染色体进行运算。相比之下,交叉算子被称为二元算子,因为它们一次对两条染色体进行操作,将两条现有的染色体组合成一条新的染色体。
操作员
遗传变异是进化过程的必要条件。遗传算法中使用的遗传算子类似于自然界中的遗传算子:适者生存,或选择;繁殖(交叉,也称为重组);和突变。
组合运算符
虽然每个算子都用于改进由单独工作的遗传算法产生的解决方案,但这些算子必须相互协作才能使算法成功找到好的解决方案。单独使用选择运算符将倾向于用总体中最佳解决方案的副本填充解决方案总体。如果在没有变异算子的情况下使用选择和交叉算子,算法将趋于收敛到局部最小值,即问题的一个很好但次优的解决方案。单独使用变异算子会导致随机游走通过搜索空间。只有同时使用这三个算子,遗传算法才能成为一种耐噪声的爬山算法,从而为问题提供良好的解决方案。
内容来源于网络,本内容不代表16map.com立场,内容投诉举报请联系16map.com客服。如若转载,请注明出处:https://16map.com/wiki/nmdeyi0lnitc