【问题标题】:Finding equally-sized mutually exclusive complete subgraphs within a graph whose union is the entire graph在其并集是整个图的图中找到大小相等的互斥完整子图
【发布时间】:2021-06-22 22:15:00
【问题描述】:

输入
具有 n 个顶点和一个整数 k 的无向图 G,使得 k 除以 n。
所有顶点的集合用V表示。

输出
一组 S 的顶点集,使得:

  1. S 有 k 个元素
  2. S 的每个元素都是 G 中的一个完整子图(每个元素中的所有顶点在 G 中都共享一条边)
  3. S 的所有元素都是互斥的(元素之间没有共同的顶点)
  4. S的所有元素的并集等于V
  5. S 的所有元素都有 n / k 基数

背景
我经营一个小型戏剧阅读小组,有时我们喜欢阅读大型戏剧。我想以这样一种方式为一个小团体投一部大戏,这样一个人就不会扮演一组彼此共享场景的角色。我意识到这个问题可以用图论来表述,我很好奇一个好的解决方案是什么样的。

【问题讨论】:

  • 按照您描述的方式(包括标题),S 的任何一对元素之间(顶点)之间都不能有边。因此,只有当 G 与 k 断开连接时,才能存在解决方案或更多组件。那是你的意图吗?如果是这样,这更好地描述为装箱。
  • 你有人物、人物和场景。人物到场景是一个固定的二分图。您需要一个从人到受约束的角色的二分图。正确的?你能解释一下它是如何映射到你的输入和输出定义的吗? ñ? k?
  • 我怀疑这个问题是 NP 完全的(它似乎介于 clique 和 set cover 之间)。不过我没有证据。如果我能想出一个,我会把它作为一个完整的答案发布。
  • 想必你也希望每个人都有尽可能多的角色,而不是让任何人没有角色?那么这会成为一个优化问题吗?
  • @IanMercer 已编辑以明确每个人应分配相同数量的角色。也可以——你可以用二分图来表述问题。问题中给出的准备好的表述是正确的原因如下:

标签: algorithm graph-theory subgraph undirected-graph


【解决方案1】:

这个问题基本等同于graph coloring。图着色给了我们一个图,并要求我们给每个节点一个颜色,这样没有边有相同颜色的端点。在这里,我假设节点是角色,边缘是至少在一个场景中一起出现的角色,颜色是扮演角色的人,你特别想要一种使用 k 种颜色的颜色(对于 k 个人)。

图形着色是 NP 难的,但除非图形很大,否则约束规划求解器(例如,CP-SAT)应该可以轻松使用它,并另外处理优化目标,例如(例如)最大化最小数量每个人的行数。

【讨论】:

  • 在问题中,我的意思是边缘表示彼此不共享场景的角色。但是,用具有相反含义的边缘来制定问题并用图形着色来解决它是等效的——正如你所说。理想情况下,每种颜色都有相同数量的节点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-18
  • 1970-01-01
  • 2011-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多