为什么二倍体(显性/隐性)基因没有在遗传算法中广泛使用?


20

在遗传算法的大多数实现中,重点是交叉和变异。但是不知何故,它们中的大多数都忽略了基因的二倍体(显性/隐性)性质。就我(有限的)理解而言,基因的显性/隐性是决定生物体实际特征的一个非常重要的因素。

所以我的问题是,为什么在大多数实施方案中基因算法的基因没有二倍体性质?

是因为:

  • 它没有太大的好处
  • 它为原本简单的算法增加了不必要的复杂性
  • 很难实现

还是完全其他?

Answers:


16

我不知道真正的原因,但感觉很直观:让我们考虑一下基因的二倍体性质在RL中的作用。从本质上讲,即使隐性基因目前处于不利地位,它也可以将其保留在基因库中,并且偶尔会重现,这有两点:第一,它不会灭绝,如果变得有利则可以重新繁殖。其次,它可以确保某些种群多样性,因为您将连续具有两种表型-一部分种群具有该基因,而另一部分种群不具有该基因。

这两种方法都可以通过变异/交叉引擎以更简单的方式来实现-您可以直接“取回” 100000年前的随机性能良好的物品(这通常是自然不能做到的);并且您可以保留多个不同的亚种群,同时保护非主要亚种群免于灭绝,而自然界通常不会这样做。


2
因此,您是说只要我们实行精英主义,就不需要基因的“二倍体”吗?
Shayan RC

回忆上一代基因的能力是基因二倍性唯一的优势吗?无论是生物学还是算法?
Shayan RC

6
据我在生物学中所知,二倍体基因是一种针对人群的保护措施,这些人群都汇聚成一个单一的表型,随后被任何环境变化立即清除掉。
JDong 2014年

1

奥卡姆剃刀

在相互竞争的假设中,应选择假设最少的假设。同样:实体不得成倍增加。

如果两个假设都同样好,则选择更简单的版本,因为更复杂的版本会对您无法确定的事情做出假设。

问题是,二倍体显性和隐性基因是否提供了更多的功能,使我们能够描述更丰富的假设空间?

  • 我们可以做一些简单的突变无法实现的事情吗?不能。突变可以创建任何新序列。
  • 我们可以做一些不能通过二倍体显性和隐性基因实现的突变吗?是。突变允许任何随机的新序列,而二倍体基因只能恢复以前见过的东西并丢失。

要探索的唯一可能的好处是,二倍体基因是否会以某种方式更有效。从他们缺乏使用看来,事实并非如此。变异通常是答案中的微小变化。保留过去的良好答案的好处很小。它可以轻松地再次弹出。

生物学可以作为计算机模型的灵感,但很少有最佳答案。在涉及DNA方面,生物学是通过偶然和自然选择产生解决方案的。生物学也正在使用不同的原材料和工具来解决不同的问题。看一下鸟和蝙蝠的飞行方式。为什么我们的飞机没有设计成可以上下移动机翼以起飞或升空?因为这将是非常低效的。喷气推进器和直升机更适合我们的需求。我们可以运载更重的有效载荷,并且以比鸟类和蝙蝠更快的速度行进。


但是二倍体显性和隐性基因不是假设,而是一种实现方法。Occam的剃刀可以比喻很好,但这不是您实际使用的剃刀。
David Richerby '16

隐性基因将仍然是假设的一部分,因为必须将它们保留下来才能再次出现。这只是假说的一部分,除非与另一个隐性基因配对。
Charity Leschinski '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.