【问题标题】:Bipartite seating arrangement on round tables圆桌上的双边座位安排
【发布时间】:2016-07-24 17:15:05
【问题描述】:

假设我们有两个群体,女性和男性。每个女人都有一组她们感兴趣的男人。我们将他们的兴趣表示为二分图中的边。

现在,我们正在尝试将每个人都安排在圆桌会议上,例如,如果您围着桌子转,每个座位将由一对有联系的夫妇占据。所以,如果你顺时针绕桌子走,例如,一个座位可能有一个女人对坐在下一个座位上的男人感兴趣,这也可能是坐在下一个座位上的女人的兴趣,所以向前。每张桌子至少需要有 k 个客人。

我正在尝试使用最大流量来设计一种算法来满足这些要求,我非常感谢一些想法

【问题讨论】:

  • 目前还不清楚这里的实际限制是什么。 必须女性座位旁边的两个座位由她喜欢的男人占据吗?如果是这样,如果某个女人只喜欢一个男人或不喜欢男人,会发生什么?如果 2 位女性只喜欢相同的 2 位男性,但 k >= 5 意味着这 2 位男性不能坐在两位女性旁边,会发生什么情况?

标签: algorithm graph matching bipartite


【解决方案1】:

这个问题通常是 NP-hard。想象一下,您有一个包含 2n 个节点的图,并且您只有一个大小为 2n 的表。现在,当且仅当图表具有哈密顿循环时,有一种方法可以让每个人以您想要的方式坐在桌子周围。由于二部图上的哈密顿循环问题是 NP-hard,因此您的问题也是 NP-hard。因此,我怀疑是否有一种很好的方法可以使用 max-flow 来解决这个特定问题,除非您构建一个指数级大的图。

【讨论】:

  • 如果我们有 n 个女人和 n 个男人,会有解决方案吗?
  • 除非两个类具有相同的数量或节点,否则您不能在二分图中有哈密特隆环。你明白为什么了吗?
猜你喜欢
  • 2016-03-15
  • 1970-01-01
  • 2015-02-21
  • 1970-01-01
  • 1970-01-01
  • 2021-01-06
  • 1970-01-01
  • 1970-01-01
  • 2023-01-08
相关资源
最近更新 更多