Man*_*áoz 12 artificial-intelligence graph mutation genetic-algorithm
我正在玩一个遗传算法,我想在其中进化图形.当染色体是图形时,您是否知道应用交叉和变异的方法?
或者我错过了图表的编码,让我在位串上应用"常规"交叉和变异?
非常感谢!任何帮助,即使它与我的问题没有直接关系,我们表示赞赏!
曼努埃尔
Nat*_*ohl 13
我喜欢Sandor建议使用Ken Stanley的NEAT算法.
NEAT旨在发展具有任意拓扑的神经网络,但这些只是基本的有向图.在NEAT之前有许多方法可以发展神经网络,但NEAT最重要的贡献之一是它提供了一种在两个具有不同toplogies的网络之间进行有意义交叉的方法.
为了实现这一目标,NEAT使用每个基因附带的历史标记在交叉期间"排列"两个基因组的基因(生物学家称之为突触).例如:
在NEAT http://natekohl.net/media/neat-crossover.png中使用不同拓扑的交叉
(在这个例子中,每个基因都是一个框,代表两个节点之间的连接.每个基因顶部的数字是该基因的历史标记.)
总结:基于历史标记排列基因是在没有昂贵的拓扑分析的情况下在两个网络之间执行交叉的原则方式.