我正在通过以下论文学习NEAT:http://nn.cs.utexas.edu/downloads/papers/stanley.ec02.pdf
我对调整适应度如何惩罚大型物种并防止它们主导种群感到困惑,我将通过一个例子展示我的当前理解,希望有人能纠正我的理解。
假设我们有两个物种,A和B,上一代A表现很好,被赋予了更多的后代,这一代它们有4个后代,它们的适应度是[8,10,10,12],而B有2个后代,它们的适应度是[9,9],因此它们调整后的适应度将是A[2, 2.5, 2.5, 3]和B[4.5, 4.5]。
现在谈到分配后代,论文中指出:“每个物种被分配一个可能不同的后代数量,按其成员生物的调整适应度f'_i
之和成比例分配。”
因此,调整后的适应度之和A为10,B为9,因此A获得更多的后代并继续增长,那么这个过程如何惩罚大型物种并防止它们主导种群呢?
回答:
很好的问题!我完全同意你引用的论文部分指出,后代是根据物种内调整适应度之和分配的。由于调整适应度是通过将适应度除以物种成员数量来计算的,这在数学上相当于根据每个物种的平均适应度分配后代(如你的例子所示)。正如你所说,仅此一点不应该有限制大型物种增长的效果。
除非我遗漏了什么,否则论文中没有足够的信息来确定A)是否有未在论文中提及的额外实现细节导致这种选择方案产生了所述效果,B)这是论文写作中的错误,还是C)这是算法的实际实现方式,而物种分化对作者认为的原因没有帮助。
关于选项A:在你引用的行之后,论文接着说“物种然后通过首先从种群中淘汰表现最差的成员来繁殖。然后整个种群被每个物种中剩余生物的后代所取代。”这可以实现为每个物种主要替换自己的最弱生物,这将使竞争主要在物种内部发生。这是一种称为拥挤的技术(在该论文引用的Mahfoud,1995年论文中引入),如果与某些其他实现决策结合,它可以产生与适应度共享相似的效果。然而,如果他们这样做了,没有提及,然后说他们使用的是适应度共享而不是拥挤,这将非常奇怪。所以我认为这个解释不太可能。
关于选项B:大多数计算机科学期刊论文,如这一篇,都是基于一组会议论文,这些论文最初是呈现工作的。大部分关于NEAT的物种分化研究的会议论文在这里:https://pdfs.semanticscholar.org/78cc/6d52865d2eab817aaa3efd04fd8f46ca8b61.pdf。在解释适应度共享时,那篇论文说:“物种根据它们的平均调整适应度是否高于或低于种群平均值来增长或缩小”(强调是我的)。这与你链接的论文中提到的调整适应度之和不同。如果他们实际上使用的是平均值(并错误地说是总和),他们将有效地将每个物种的成员数量除以两次,这将使所有其他声明准确,并使数据有意义。
关于选项C:这一个似乎不太可能,因为图7看起来确实有稳定的共存时间比没有某种负频率依赖性时预期的要长。此外,他们显然在剖析物种分化的效果上投入了很多努力,所以我不期望他们会错过这样的东西。特别是在这样一个影响深远的论文中,许多人已经在此基础上构建了自己的工作。
总的来说,我认为我的选择是解释B – 这是一个单词错误,显著改变了含义。但很难确定无疑。