【问题标题】:Is there an algorithm to find the best set of Pairs of vertices in a weighted graph without repetition?有没有一种算法可以在没有重复的情况下找到加权图中的最佳顶点对集?
【发布时间】:2011-05-03 01:45:46
【问题描述】:

是否有任何有效的算法可以在具有偶数个顶点的完整加权图中找到具有以下属性的边集。

  • 对于满足其他可能标准的任何集合,该集合具有最小、最大的边权重
  • 每个顶点都连接到集合中的一条边

所有权重都是正数

d我想不出比蛮力更好的方法,但我不认为它是 NP hard。

【问题讨论】:

  • “可能的最小最大权重”是指集合中的最大边权重是所有可能集合中的最小值吗?如果是,那为什么不直接选择空集,如果不允许,就选择单边的集合,也就是权重最小的边。
  • 已编辑以进行更正。我其实有这个需求。
  • 啊,那为什么不把最后两条语句组合成“每个顶点都连接到集合中的一条边”:-)
  • 我已经这样做了,因为这是个好主意。
  • 除非您进一步限制图形(例如它是二分的吗?),甚至不一定有解决方案:例如4 个顶点 a、b、c、d 与 3 条边 ab、ac、ad。

标签: algorithm graph complexity-theory graph-algorithm


【解决方案1】:

试试这个(我只是想到了这个,所以我既没有证据证明它会给出最佳答案,也没有证据表明它是否会在每种情况下产生解决方案):

  1. 搜索最重的顶点 V(A, B)
  2. 从图中删除顶点 V
  3. 如果 A 仅连接到单个其他顶点 T(A, C),则删除所有连接到 C 的其他边,对这些边也重复步骤 3
  4. 如果 B 仅连接到单个其他顶点 S(B, D),则删除所有连接到 D 的其他边,对这些边也重复第 4 步
  5. 从第 1 步开始重复

【讨论】:

  • 这是我的贪心算法。我认为它不会给出正确的答案,因为解决方案集可能不会保持最重的边缘。
  • 示例 ABCD、AB:100、BC:10、CD:10、DA:10、AC:10、BD:10。一个解集是 AC、BD,它不包含最重的边 AB。
  • @ashaw:实际上,在这种情况下,算法会删除 AB,并留下一个最佳的 20 权重解决方案。我的算法不起作用的图表是:ABCD,AB:100,CD:10,AC:80,BD:80,AD:80,BC:80。最优解集是 (AB,CD)=110,但算法会产生次优的 160 解,因为它很早就决定 100 不在解集中。
  • 啊,但这不是问题,因为我们试图找到最大边最小的集合。
  • @ashaw:我想我误解了一些东西,你能给出几个示例图,以及它们各自的预期解决方案吗?你能更严格地定义“最小最大边”吗?
【解决方案2】:

在多项式时间内解决此问题的一种方法如下:

  1. 在 O(E log E) 时间内对边缘权重进行排序
  2. 对于每条边,在 ~O(E) 时间内为其分配一个伪权重 E' = 2^{position in the ordering}
  3. 在 O(V^3) 时间内找到伪权重之间的最小权重完美匹配(取决于您选择的算法,它可能更慢或更快)

这会最小化完美匹配所包含的最大边,这正是您在 O(V^3) 时间内所寻找的。

下面给出了如何执行第 3 部分的资源
[1]http://www2.isye.gatech.edu/~wcook/papers/match_ijoc.pdf
[2]http://www.cs.illinois.edu/class/sp10/cs598csc/Lectures/Lecture11.pdf
[3]http://www.cs.ucl.ac.uk/staff/V.Kolmogorov/papers/blossom5.ps

http://ciju.wordpress.com/2008/08/10/min-cost-perfect-matching/ 提供示例 C++ 源代码

【讨论】:

  • 这不是我的问题的答案。我不是要找到最小边的总和,而是找到最大边最低的集合,我已经编辑了问题以使其更清楚
  • 在排序中取 2^position 的点是为了保证这确实找到了最低的最大边,因为任何边的伪权重大于较小边的伪权重之和,强制不惜一切代价避免大边缘的算法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-04
  • 1970-01-01
  • 2011-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多