Algorithm 当顺序重要时,如何处理交叉?

Algorithm 当顺序重要时,如何处理交叉?,algorithm,genetic-algorithm,Algorithm,Genetic Algorithm,当孩子们必须有一个特定的顺序时,一个人如何越过父母 例如,当将遗传算法应用于固定顶点/边图上的旅行商问题时,您必须应对一个事实,即并非所有顶点都可以移动到其他顶点。这使得交叉变得更加困难,因为与TSP不同,TSP中的所有顶点都可能移动到所有其他顶点,当执行交叉时,必须在产生合法路径的点进行交叉。另一种选择是无论如何只交叉并拒绝非法路径,但风险是巨大的计算成本,并且几乎没有合法路径 我读过关于置换交叉的文章,但我不完全确定这是如何解决这个问题的。有人能给我指出正确的方向或建议吗?在遗传编程中,排序

当孩子们必须有一个特定的顺序时,一个人如何越过父母

例如,当将遗传算法应用于固定顶点/边图上的旅行商问题时,您必须应对一个事实,即并非所有顶点都可以移动到其他顶点。这使得交叉变得更加困难,因为与TSP不同,TSP中的所有顶点都可能移动到所有其他顶点,当执行交叉时,必须在产生合法路径的点进行交叉。另一种选择是无论如何只交叉并拒绝非法路径,但风险是巨大的计算成本,并且几乎没有合法路径


我读过关于置换交叉的文章,但我不完全确定这是如何解决这个问题的。有人能给我指出正确的方向或建议吗?

在遗传编程中,排序应该尽可能不受限制。也许您应该考虑为您的解决方案选择另一种格式。 例如,在你的TSP中,考虑密码子A->B/< 不要用“从A到B的边缘”的意思,你可以考虑“从A到B的最短路径”。这样,您的解决方案总是可行的。您只需预先计算最短路径矩阵作为预处理

现在,这并不能保证候选人在你的交叉后是可行的解决方案。为了保证你的解决方案仍然可行,你应该调整你的交叉点。例如,对于TSP,考虑序列:

1:A B C DEF G H

2:ADEGCBFH

随机选择一个轴(E,在我们的示例中)。这将导致完成以下顺序:

1分:A B C DE

2分:A DE

为了得到有效的解决方案,必须访问所有顶点。在1',F、G和H中必须进行访问。我们按顺序2订购。在2'中,G、C、B、F和H按1重新排序:

1分:A B C DEG F H

2分:A DEB C F G H


希望这能有所帮助。

在道林进化论中,如果一种新的生物无效,会发生什么?大自然是如何处理这一问题的?它被拒绝了,但达尔文进化论不必担心计算量的指数增长。不确定为什么所有接近票数的人都这么认为,这是一个完全有效的问题(而且是关于主题的问题)。同样的问题,措辞不同:,之前已经得到了回答:。顺便说一下,您从未验证过您的问题的任何答案。你可以考虑阅读网页来学习如何在网站上表现。