我正在尝试为骑行轨迹编写遗传算法,并考虑如何实现突变/交叉。目标是发展 a) 一个完整的循环 b) 一个令人兴奋的旅程(我对此有标准)。
我有大约 60 件可供选择,但并非所有件都相互兼容。例如,一个轨道件可以向左倾斜,而另一个轨道件可以向右倾斜。
当允许突变时,我可以努力只允许轨道片段突变为具有兼容角度的其他片段。或者,我只能在具有相同角度的点处交叉两条轨道。然而,这可能会限制进行高级探索的能力,而这些探索可能会取得丰硕的成果。
与流行的“Hello World”示例类似的是,您正在尝试生成任何有效的单词或任何有效的句子。英语有一个规则(为这个例子弥补,不知道它是否属实)辅音不能跟随 Z。你应该只允许元音在 Z 之后发生变异吗?
这有任何意义吗?还是应该只允许所有类型的突变并丢弃不好的突变?