Graph 如何通过添加总权重最小的边来查找从源到目标的路径

Graph 如何通过添加总权重最小的边来查找从源到目标的路径,graph,connectivity,Graph,Connectivity,我在三维空间中有大约100个原子。每个原子都是一个节点。当两个节点之间的距离小于0.32 nm且权重等于距离时,将在两个节点之间添加边。我想找到从源节点到目标节点的路径。由于100个原子没有完全连接,有时我找不到路径 我想做的是添加一个或多个边,使源和目标连接起来。同时,我还希望最小化新添加边的总权重。同样,根据两个节点的距离计算权重 这是一种最小割的逆问题。有什么算法可以帮助做到这一点吗 非常感谢 一种方法似乎是使用图搜索算法来寻找最短路径,就像Dijkstra的算法一样,并且可能从两端(源和

我在三维空间中有大约100个原子。每个原子都是一个节点。当两个节点之间的距离小于0.32 nm且权重等于距离时,将在两个节点之间添加边。我想找到从源节点到目标节点的路径。由于100个原子没有完全连接,有时我找不到路径

我想做的是添加一个或多个边,使源和目标连接起来。同时,我还希望最小化新添加边的总权重。同样,根据两个节点的距离计算权重

这是一种最小割的逆问题。有什么算法可以帮助做到这一点吗


非常感谢

一种方法似乎是使用图搜索算法来寻找最短路径,就像Dijkstra的算法一样,并且可能从两端(源和目的地)工作

唯一的区别是,您无法知道任何边是否确实存在,因此您正在创建图形。如果从A开始,图的节点是A,B,C,D,E,那么需要检查A-B,A-C,A-D和A-E是否存在。如果只有A-B存在,则检查B-C、B-D和B-E

这将是O(| V | ^2),但实际上取决于探索了多少边

如果您只对添加长度超过0.32 nm的边感兴趣,同样的想法也适用。只是路径长度计算发生了变化。任何小于.32 nm的边都是零长度,或者只是短得多(因为它们变得不那么重要)。如果最后一点不起作用,那么它会变得有点棘手