是否有任何有效的算法找到集的边缘具有下列属性,在一个完整的加权图与一个偶数的顶点。

  • 设置具有最小的、最边缘重量的任何设置,肉类的其他标准可能
  • 每一个顶点是连接到一边设置

所有权是正面的

迪不能认为一个更好的比暴力,但我不认识到它作为NP难。

有帮助吗?

解决方案

一种方法来解决这个问题在多项式时间如下:

  1. 排序的边缘重O(E记录E)时间
  2. 每个边缘,分配给它一个伪重E'=2^{位置在定购}在-O(E)时间
  3. 发现的最小重量完美的匹配之间的伪重的东西的喜欢O(V^3)时(根据不同的算法你挑选,也可能是慢或快的)

这样可以最大限度地减少最大的边缘,完美的配对包含,而这正是你在找什么东西像O(V^3)时间。

来源如何做到部分3下面给出
[1] http://www2.isye.gatech.edu/~wcook/文件/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

有样品C++源提供 http://ciju.wordpress.com/2008/08/10/min-cost-perfect-matching/

其他提示

试试这个(我就想这样我已经有了既没有证明,它将得到一个最佳的答案,或者是否会产生一个解决方案在每一个案件):

  1. 搜索的最重顶点V(A、B)
  2. 删除顶点V从图
  3. 如果一只连接到一个单一的其他顶点T(A、C)然后去除所有其他边缘连接到C,重复步骤3与这些边缘以及
  4. 如果B只是连接到一个单一的其他顶点S(B、D)然后去除所有其他边缘连接D,重复步骤4与这些边缘以及
  5. 重复步骤#1
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top