Neural network 两个具有不同创新编号的相同基因

Neural network 两个具有不同创新编号的相同基因,neural-network,genetic-algorithm,evolutionary-algorithm,Neural Network,Genetic Algorithm,Evolutionary Algorithm,在一篇关于NEAT算法的论文中,作者指出 一个可能的问题是,如果同一结构性创新不止一次偶然发生,那么同一代人将获得不同的创新数量。然而,通过保存当前一代中发生的创新列表,可以确保当同一代中通过独立突变多次出现相同结构时,每个相同突变都被分配相同的创新编号 这是有道理的,因为你不希望相同的基因以不同的创新数字结束。如果他们这样做了,那么在跨越两个基因相同但创新数字不同的基因组时就会出现问题,因为你最终会得到一个后代,每个父母的每个基因都有一个副本,从而产生两次相同的连接 但对我来说没有意义的是,如

在一篇关于NEAT算法的论文中,作者指出

一个可能的问题是,如果同一结构性创新不止一次偶然发生,那么同一代人将获得不同的创新数量。然而,通过保存当前一代中发生的创新列表,可以确保当同一代中通过独立突变多次出现相同结构时,每个相同突变都被分配相同的创新编号

这是有道理的,因为你不希望相同的基因以不同的创新数字结束。如果他们这样做了,那么在跨越两个基因相同但创新数字不同的基因组时就会出现问题,因为你最终会得到一个后代,每个父母的每个基因都有一个副本,从而产生两次相同的连接

但对我来说没有意义的是,如果两个基因之间发生突变,那么下一代会发生同样的突变?在这篇论文中,很明显,为了避免“创新数字爆炸”,只保留了当前一代中的突变列表,但没有具体说明如果相同的突变发生在不同的一代中会发生什么


你有没有保存一份基因对及其相应的创新编号的全球列表来防止这个问题?是否有一个原因,为什么只有相同的突变发生在同一代,而不考虑跨代突变的情况下发生什么?

< P>不,你没有保持一个全球基因配对列表。如果你想避免同样的突变发生,你可以这样做。但我想指出的是:这无关紧要。同一突变发生的唯一影响是,你将进行一些不必要的计算,你的全球创新数量将增加

然而,对于未来的基因组,它们不可能有两个相同的创新编号

匹配基因是遗传的 随机的,而不相交的基因(中间不匹配的基因)和多余的 基因(那些最终不匹配的基因)是从更合适的父母那里遗传来的


因此,当两个相同的创新发生时,它们要么是不相交的,要么是多余的基因。这些遗传自更健康的父母,只有一个父母更健康,因此一个后代永远不会有相同的创新基因。

查看“整洁用户”页面,特别是第九个(从第三个到最后一个)页面,解决了这个问题。太好了!非常感谢。它会被允许不使用任何创新数字吗?当然!我根本没有在我的报告中使用创新数字。我用a为每个连接基因创建一个唯一的编号(提供
from
索引和
to
索引作为输入)。如果两个基因组具有相同的唯一编号:普通基因,否则:多余基因。