在图中找到一个节点,以最小化其他两个节点之间的距离



i有一个定向的加权图G,带有V顶点和E边缘。给定两个节点中的两个节点,例如A和B,并且给定一个表示为W(a,b)的边缘A-B的重量,我需要找到一个节点C,以便max(w(a,c),w(a,c),w(b,c))在所有可能性中都是最小的。我的意思是C都可以使用的所有值。我不知道这是否完全清楚,如果不是,我会尝试更加精确。

如果通过w(a,c),您确实是指边缘的重量图表,这是您所能期望的,假设您始终需要在图中阅读。

如果通过w(a,c),您的意思是从a到c的成本最低的成本,请注意,大多数遇到路径的算法,例如http://en.wikipedia.org/wiki/wiki/wiki/dijkstra's_algorithm,in事实计算从A到其他节点的成本最低的成本。如果您既有从A到每个节点的成本,又要从每个节点到B。

来解决每个节点,从而解决问题。

因此,请进行一次运行,以从A到其他节点来计算成本,然后逆转节点中的边缘,然后进行另一个运行以计算出从B到反向图中其他节点的成本最低路径。然后,对于每个节点,您的成本最低(a,c)和最低成本W(c,b),因此您可以依次检查每个节点以查看哪个是最好的。

如果您的图包含周期,则需要http://en.wikipedia.org/wiki/floyd–Warshall_algorithm之类的东西。如果它具有负周期,您将遇到问题。

尚不清楚您要问什么,但这是一种加权距离的方法:将其视为r^n中的距离问题,其中实际的直线距离与C在任何维度上的实际直线距离乘以获得加权距离的路径维度的重量。使整个表达式成为加权距离的总和,并使用第二个衍生测试来最大化此表达式。

欢呼,安德鲁

最新更新