两个具有不同创新数的相同基因

时间:2017-05-20 14:43:13

标签: neural-network genetic-algorithm evolutionary-algorithm

在撰写有关NEAT算法的论文中,作者陈述

  

一个可能的问题是,如果偶然发生多次,同一结构创新将在同一代中获得不同的创新数字。然而,通过保留当前一代中发生的创新列表,可以确保当同一结构通过同一代中的独立突变不止一次出现时,每个相同的突变被赋予相同的创新数字。

这是有道理的,因为你不希望相同的基因最终得到不同的创新数字。如果他们这样做的话,当跨越具有相同基因但创新数量不同的两个基因组时会出现问题,因为你最终会得到一个后代,每个父母的每个基因的副本,创建相同的连接两次。

对我来说没有意义的是,如果两个基因之间发生突变会发生什么,然后在 next 代中会发生相同的突变?在本文中,非常明确的是,只保留当前一代中的突变列表以避免“创新数量激增”,但没有说明如果发生相同的突变会发生什么 不同的世代。

您是否保留了全球基因对列表及其相应的创新数据以防止此问题?是否有理由说明如果相同的突变发生在同一代并且没有考虑跨代突变的情况,那么该论文仅指定会发生什么?

1 个答案:

答案 0 :(得分:1)

没有。您没有保留基因对的全局列表。如果你想避免发生同样的突变,你可以。但是我想指出的是:并不重要。发生同一突变的唯一影响是你会做一些不必要的计算,你的全球创新数量会增加。

然而,对于未来的基因组,他们没有机会拥有两个同样创新的创新数字。

  

匹配基因是遗传的   随机的,而不相交的基因(那些在中间不匹配的基因)和过量   基因(那些最终不匹配的基因)是从更合适的父母继承的

因此,当两个相同的创新发生时,它们将是一个不相交或过多的基因。这些将从更合适的父继承,只有一个父母可以更健康,因此,后代永远不会有相同的创新基因。