我想使用遗传算法在无向图中找到最短路径。关于Crossover和Mutation,我有两个问题。我一直在研究如何在相似的情况下执行交叉,并且最流行的算法似乎是PMX,我对此的理解是在2个父染色体之间交换部分路径来制作后代。我遇到的问题是,几乎所有后代都变得无效的范围很广,不存在吗?我想知道你是否可以为我确认一下,如果我错了,请纠正我并解释。
单独但相关的说明;我确实知道如何做到这一点,但我不知道它是否是一个好主意,只需选择2个父母,他们在路径中共享相同的节点并在那时交叉,所以所有的后代仍然有效。
我的第二个问题是突变;我对如何做到这一点有一个总体思路;选择一个节点并删除它,并通过另一种方法重新链接路径是明智的吗?
谢谢:)!
答案 0 :(得分:0)
首先,你研究了交叉和变异,因为你说你可能会失去一些有效的父母,但它是遗传算法中“精英主义”的概念。你应该克服你提出的交叉方法。因为在交叉本身我们有n方法要做,我建议你做第二次变异交叉顺序。这不是墨菲定律,所以要努力实现。