【问题标题】:Graph theory: weighted undirected network图论:加权无向网络
【发布时间】:2018-10-28 11:14:52
【问题描述】:

我有 21 分 (A-U)。我有一个两点之间的无向弧列表(21 * 20 弧)。我也有每个弧的重量。我想选择一些弧来形成一个网络,以最小化 A 和每个 B-U 的权重总和(即 A 和 B、A 和 C、A 和 D 等)。我应该使用哪种算法?我如何在 R 中做到这一点?

这对应于这样的故事。我想设计一个交通网络,可以让国家首都与州首府轻松连接。

【问题讨论】:

  • Computer Science 可能更适合询问算法的问题,但请记住在提问之前阅读他们的帮助中心。

标签: r graph


【解决方案1】:

您似乎正在寻找从一个点到另一个点的最佳路径。 要解决这个问题,您应该尝试使用 Ford-Fulkerson 算法。您也可以使用 Dijkstra 算法,但前提是您确定没有负循环

【讨论】:

  • 谢谢,Rabih,但两者都不能满足我。让我更准确地说明。假设我想在华盛顿特区和每个州首府之间建立一个网络。 Dijkstra 或 Ford-Fulkerson 的算法可以给出 DC 和每个州首府之间成本最低的路径。但是,纽约州首府通过宾夕法尼亚州首府与华盛顿特区相连,而不是华盛顿特区和纽约之间以及华盛顿特区和宾夕法尼亚州之间的两条单独的有向线路,效率更高。清楚了吗?
  • 如果我理解正确,您正在尝试建立将州首府连接到 DC 的最有效图。在这种情况下,您正在寻找覆盖树方法,其中您将所有图顶点连接到最小的成本。为此,请尝试检查 Kruskal 的算法,或 Prim 或 Solen 的算法。一般来说,在覆盖整个图表之前,您将避免使用任何循环
  • 是的,我确实知道最小生成树算法。谢谢!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-10
  • 2021-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-16
相关资源
最近更新 更多