我想使用遗传算法来确定从 A 到 B 的最佳路径,并满足某些条件(长度、转弯次数等)。
路径的一个例子是:向上 4,向左 8,向下 3,向右 3,向下 1,向左 10,向上 4,向左 1,向上 3
问题是,我不太清楚如何以一种好的方式来表示这样的信息,以便在遗传算法中使用,尤其是因为路径的长度是可变的。
有没有人有什么好的想法来做这样的事情?
回答:
我不确定你的表示问题到底是什么,所以我怀疑你提出这个问题是因为对遗传算法的染色体字符串存在误解。从理论上讲,如果你采取额外的步骤来划分你的单个基因,染色体字符串不必在整数边界上显式重组,这将允许你以基因到基因为基础进行重组。这解决了可变长度基因的问题,例如你的“路径”。重组可变长度基因只是在突变方法中添加另一个变体的问题,特别是“使用此元素或删除此元素”,除了标准的“使用来自 A 的元素或来自 B 的元素”,如果你的基因可以分解为离散元素,就像你的路径一样。