Artificial intelligence 允许在遗传算法交叉中进行不兼容的更改

Artificial intelligence 允许在遗传算法交叉中进行不兼容的更改,artificial-intelligence,genetic-algorithm,evolutionary-algorithm,crossover,Artificial Intelligence,Genetic Algorithm,Evolutionary Algorithm,Crossover,我正试图为骑行轨迹编写一个遗传算法,并考虑如何实现变异/交叉。目标是发展a)一个完整的环路和b)一个令人兴奋的旅程(我有这个标准) 我有大约六十件可供选择,但并非所有的都是相互兼容的。例如,一个轨道件可以向左倾斜,另一个轨道件可以向右倾斜 当允许变异时,我可以努力只允许轨迹片段变异为具有兼容角度的其他片段。或者,我只能在共享相同角度的点跨越两条轨道。然而,这可能会限制进行后续可能会有成果的高级探索的能力 与之类似的是,您试图生成任何有效单词或有效句子。英语有一条规则(由这个例子组成,不知道它是否

我正试图为骑行轨迹编写一个遗传算法,并考虑如何实现变异/交叉。目标是发展a)一个完整的环路和b)一个令人兴奋的旅程(我有这个标准)

我有大约六十件可供选择,但并非所有的都是相互兼容的。例如,一个轨道件可以向左倾斜,另一个轨道件可以向右倾斜

当允许变异时,我可以努力只允许轨迹片段变异为具有兼容角度的其他片段。或者,我只能在共享相同角度的点跨越两条轨道。然而,这可能会限制进行后续可能会有成果的高级探索的能力

与之类似的是,您试图生成任何有效单词或有效句子。英语有一条规则(由这个例子组成,不知道它是否正确)辅音永远不能跟在Z后面。你应该只允许元音在Z之后变异吗


这有什么意义吗?或者你应该允许每一种类型的突变而丢弃那些不好的

您可以尝试两种方法:

  • 将“工件兼容性要求”作为约束进行管理并使用二维向量作为适应值

    第一个元素是应用于轨道的惩罚函数的结果(测量违反约束的量,例如轨道件与最大允许角度的偏差总和)

    第二个要素是标准的、基本的目标函数

    比较两个适应度值时:

  • 任何可行的解决方案都比任何不可行的解决方案更可取
  • 在可行解中,目标函数值较好的解是首选解
  • 在不可行解中,约束冲突较小的解是首选解
  • 通过这种方式,你可以对不可行的解决方案施加选择性压力,使其更接近可行区域(但不可行的解决方案可以用于探索)

    这是-Kalyanmoy Deb中描述的方法

  • 尝试类似的方法

    程序树必须通过一个简单的“胚胎轨迹”开始的生长过程映射到轨迹。轨道电路是通过在轨道建设计划中应用各种功能逐步发展起来的 树

    可能是电路构造程序中的函数 树可以通过兼容的签名进行分组,这种方法是可行的


    • 与manlio的回答不同的一种方式是使用间接编码。您可以设计这样的编码,以确保所有解决方案的有效性。看看语法演变和解决方案的编码方式,甚至直接用描述解决方案的语法