多项式时间用户配对算法

时间:2013-04-23 17:39:34

标签: algorithm computer-science

我有一个问题。考虑具有不同权重的用户,这取决于当前的频道。如果渠道好,权重很高。我不得不以这样的方式配对用户,即系统的总重量应该是最大的。我会详细说明。考虑4个频道和8个用户,现在我必须将配对用户放置在每个频道中,使得权重总和最大并且所有用户将被配对。请建议一些除最佳(强力)以外的多项式时间算法,当用户数量很大时,这些算法会变得很复杂,这对我有很大的帮助。

谢谢和问候, srinu。

1 个答案:

答案 0 :(得分:1)

弗拉基米尔·科尔莫戈罗夫于2009年发表Blossom V: a new implementation of a minimum cost perfect matching algorithm,为“计算无向加权图中最小成本的完美匹配问题”提供了多项式算法。

通过更改权重的符号,更改为最高成本是微不足道的。

该算法具有最差的案例复杂度O(n ^ 3m)(但对于典型示例通常要快得多)。 n是节点数,m是边数。在你的情况下,我相信所有n ^ 2个边都存在,因此复杂度为O(n ^ 5)。

如果您的图表是二分的,那么有更快的算法(例如,用户分为两类,例如男性和女性,您必须始终将男性与女性匹配)但我不相信您的情况?

此算法的软件实现是here