【发布时间】:2018-11-06 07:25:30
【问题描述】:
我目前正在实现 Kenneth Stanley 开发的 NEAT 算法,以原始的paper 为参考。
在描述交叉方法的部分,有一件事让我有点困惑。
所以,上图说明了 NEAT 的交叉方法。为了决定一个基因是从哪个父母那里继承来的,这篇论文是这样说的:
匹配的基因是遗传的 随机,而不相交的基因(那些在中间不匹配的)和多余的 基因(那些最终不匹配的)是从更合适的父母那里继承而来的。
对于匹配的基因 (1 - 5),这很容易理解。您只是从 Parent1 或 Parent2 随机继承(两者都有 50% 的机会)。但是对于不相交的 (6-8) 和多余的 (9-10) 基因,您不能从更合适的父母那里继承,因为您只有在 Parent1 或 Parent2 中拥有这些基因。
例如:
Parent1 的适应度高于 Parent2。不相交基因6只存在于Parent2中(当然,因为不相交和多余的基因只存在于一个亲本中) 所以,你不能决定从更合适的父母那里继承这个基因。所有其他不相交和多余的基因也是如此。您只能从它们所在的父级继承它们。
所以我的问题是:你是否可能从更合适的父母那里继承所有匹配的基因,然后接管不相交和多余的基因?还是我在这里误解了什么?
提前致谢。
【问题讨论】:
标签: neural-network genetic-algorithm evolutionary-algorithm crossover