【问题标题】:Polynomial time user pairing algorithm多项式时间用户配对算法
【发布时间】:2013-04-17 01:03:20
【问题描述】:

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

感谢和问候, 斯里努。

【问题讨论】:

  • 这听起来很像“稳定的婚姻问题”(甚至更接近于其鲜为人知的亲戚“加权匹配问题”)。

标签: algorithm computer-science


【解决方案1】:

Vladimir Kolmogorov 于 2009 年发表了Blossom V: a new implementation of a minimum cost perfect matching algorithm,它为“在无向加权图中计算最小成本的完美匹配问题”提供了一种多项式算法。

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

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

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

此算法的软件实现是here

【讨论】:

  • 生成的图看起来像完整的二分图,其中每个用户都映射到其他每个用户,我必须解决这个问题,以便一旦映射的用户不会与其他用户再次映射.. 谢谢为您提供宝贵信息。如果我的图是完整的二分图,你能否建议我用于用户配对的算法。(除了匈牙利算法)因为它已经用于调度研究)。
猜你喜欢
  • 1970-01-01
  • 2012-01-03
  • 2014-04-05
  • 1970-01-01
  • 2014-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-26
相关资源
最近更新 更多