在 NEAT 中如何确定用于交叉的基因组?

人工智能 遗传算法 整洁的 神经进化 交叉运营商 基因操作员
2021-10-22 22:04:35

如果我有每个基因组的适应度,我如何确定哪个基因组将与哪个基因组交叉,等等,以便我得到一个新的群体?

不幸的是,我在原始论文中找不到任何关于它的信息,所以我在这里问?

2个回答

NEAT(增强拓扑的神经进化)的原始工作是由 Ken Stanley 于 2002 年在德克萨斯大学奥斯汀分校完成的。该项目的网页在这里我建议您下载并阅读从该页面链接的论文。至于基因组对的选择,NEAT 使用了物种形成模型,因此这些对的选择被限制为至少更喜欢来自同一“物种”的对,假设物种已经进化,使得物种种群在繁殖下被隔离. 因此,已经“培育”到物种中的创新在繁殖下得以保存。在此类模型中,仅通过适应度进行选择是不够的。这与对选择不受约束的简单 GA 不同。

遗传算法的好处是它们是可交换的。如果你有每个人的适应度,任何算法(即轮盘赌、排名、锦标赛)都可以。