预定义数量的节点的最大权重匹配(MWM)

时间:2018-06-05 09:23:26

标签: algorithm graph matching

我得到一个加权图,并希望找到一组边,使得每个节点仅入射到一个边并且使得所选边权重的总和最大化。据我所知,这个问题通常被称为最大权重匹配,并且存在快速近似值:https://web.eecs.umich.edu/~pettie/papers/ApproxMWM-JACM.pdf

然而,对于我的应用程序,如果只有一定比例的节点配对会更好。对于我的应用程序来说,配对的节点在它们之间具有较高的权重,这一点更为重要。让一些节点不成对不是一个大问题。

目前,我按降序对节点之间的权重进行排序,并始终选择权重最高的边,直到我配对一定数量的节点。当然,我确保节点对是互斥的。这只是原始问题的1/2近似值,对于修改后的问题可能更糟糕。

你能否为这个问题建议一个算法,或者告诉我这个问题是如何被调用的?

1 个答案:

答案 0 :(得分:0)

一些想法。

  1. 这个问题的贪婪算法是2近似。想象一下,在执行贪婪算法期间,我们以下列方式保持得分与最佳解决方案。每次我们为贪婪的解决方案添加边缘时,我们都会删除最优解决方案中的事件边缘,我声称它必须具有不大于贪婪边缘的权重。如果没有从最佳解决方案中删除边缘,我们将删除两个最重的边缘,我声称必须具有不大于贪婪边缘的权重。由于贪婪的解决方案必须至少有一半的边缘与最优解决方案,我声称最后没有留下最佳边缘,因此贪婪是2近似,因为我们从未删除超过2倍的权重与每个贪婪的边缘

  2. 完整的20,000顶点图就在那一行,我不知道整数编程是不是一个好主意。我认为它仍然值得一试,因为它很容易。

  3. 有多项式时间算法用于计算两个拟阵的交集中的最大权重独立集合(对于这个问题,匹配的拟阵和均匀的拟阵,其基数大小等于所需匹配的大小)。我不知道它们是否实用。