Java 具有障碍物和空间约束的路径总代价最小化

Java 具有障碍物和空间约束的路径总代价最小化,java,algorithm,neural-network,shortest-path,minimization,Java,Algorithm,Neural Network,Shortest Path,Minimization,我有一个在二维网格上排列的节点网络。我希望通过连接来连接成对的节点,这些连接将占用2D网格上的物理空间。现在的连接本身就是障碍,未来的连接必须走一条避免交叉的道路 我目前正在使用A*算法,并逐步建立连接。虽然它找到了从开始到结束节点的最短路径,但是它不考虑需要进行的其他连接,因此连接所有对之后的总路径代价不是最优的。p> 有人知道是否有一种算法可以解决这个问题,或者这是一个NP完全问题吗?如果您对相关材料有任何指导,我们将不胜感激。您似乎正在努力寻找, 其中,节点是图形顶点,所需连接是其边。 在

我有一个在
二维网格上排列的节点网络
。我希望通过连接来连接成对的节点,这些连接将占用2D网格上的物理空间。现在的连接本身就是障碍,未来的连接必须走一条避免交叉的道路

我目前正在使用
A*算法
,并逐步建立连接。虽然它找到了从开始到结束节点的最短路径,但是它不考虑需要进行的其他连接,因此连接所有对之后的总路径代价不是最优的。p>
有人知道是否有一种算法可以解决这个问题,或者这是一个NP完全问题吗?如果您对相关材料有任何指导,我们将不胜感激。

您似乎正在努力寻找, 其中,节点是图形顶点,所需连接是其边。 在您的案例中,最小亏格可以解释为所需的最小边交叉数。 寻找最小长度的连接会让事情变得更加困难(或者是吗?)

最小图亏格本身是NP完全的(特别是它的判定版本——图是否可以嵌入亏格小于
k
的曲面)。 因此,如果任务是找到这样一条交叉次数最少的路径,那么您的问题也是NP难问题


然而,如果只考虑平面的图形,那么可以在线性时间内找到平面嵌入。

我的直觉说它是NPC,因为限制在路径上,但这只是直觉:非常有趣的问题!(+1)你想解决这样的问题吗:?填充的网格有多大?有多少对连接?允许对角连接路径吗?我不明白你所说的“相交”是什么意思。路径是否需要保持在网格上(从一个节点跳到下一个节点),或者它们是否可以按照自己的意愿在二维空间中旋转?如果是前者,两条边怎么会相交?