📜  遗传算法-交叉

📅  最后修改于: 2020-11-24 07:11:10             🧑  作者: Mango


在本章中,我们将讨论交叉算子及其其他模块及其用途和优点。

交叉介绍

交叉运算符类似于复制和生物交换。在这种情况下,选择了一个以上的亲本,并利用亲本的遗传材料产生了一个或多个后代。交叉通常在概率很高的遗传算法中应用– p c

交叉算子

在本节中,我们将讨论一些最常用的交叉运算符。请注意,这些交叉运算符非常通用,并且GA Designer可能会选择实施特定于问题的交叉运算符。

一分频

在此单点交叉中,选择一个随机交叉点,并交换其两个父级的尾巴以获取新的后代。

一分频

多点交叉

多点交叉是单点交叉的一般化,其中交替的部分被交换以获得新的后代。

多点交叉

均匀交叉

在均匀的交叉中,我们不会将染色体分为多个片段,而是分别对待每个基因。在这种情况下,我们实质上是为每个染色体翻转一个硬币,以决定是否将其包含在后代中。我们还可以将代币偏向一位父母,以使该父母的孩子拥有更多的遗传物质。

均匀交叉

整体算术重组

这通常用于整数表示,并通过使用以下公式通过取两个父级的加权平均值来工作-

  • 子1 =α.x+(1-α).y
  • 子2 =α.x+(1-α).y

显然,如果α= 0.5,则两个子元素将相同,如下图所示。

整体算术重组

戴维斯的订单交叉(OX1)

OX1用于基于置换的交叉,目的是向后代传递有关相对顺序的信息。它的工作原理如下-

  • 在父级中创建两个随机交叉点,并将它们之间的线段从第一个父级复制到第一个后代。

  • 现在,从第二个父级的第二个交叉点开始,将剩余的未使用的数字从第二个父级复制到第一个子级,环绕列表。

  • 对第二个孩子重复上述操作,但其父级角色将相反。

戴维斯的订单转换

还有很多其他分频器,例如部分映射分频器(PMX),基于订单的分频器(OX2),随机分频器,环形分频器等。