Algorithm 在尽可能少的组中匹配兼容的个体
我正在寻找一种算法来解决以下问题 假设我有n个人。我有一个矩阵,它描述了所有个体之间的关系。例如,单个1与单个2兼容,这在矩阵中给出了1。单个2与3不兼容,这在矩阵中给出了0。例如,不相容性是“它们放在一起时会打架” 现在,我必须把这些人分成几个小组,让他们乘公共汽车旅行。我希望1组中的所有人都能相互兼容。唯一让我感兴趣的是尽量减少组的数量。那么,是否有一种算法可以将兼容的人分组到尽可能少的组中 我知道这类似于许多现有的分组算法(如稳定婚姻算法和sortalikes),但我找不到一种算法来最小化组的数量Algorithm 在尽可能少的组中匹配兼容的个体,algorithm,sorting,grouping,combinatorics,Algorithm,Sorting,Grouping,Combinatorics,我正在寻找一种算法来解决以下问题 假设我有n个人。我有一个矩阵,它描述了所有个体之间的关系。例如,单个1与单个2兼容,这在矩阵中给出了1。单个2与3不兼容,这在矩阵中给出了0。例如,不相容性是“它们放在一起时会打架” 现在,我必须把这些人分成几个小组,让他们乘公共汽车旅行。我希望1组中的所有人都能相互兼容。唯一让我感兴趣的是尽量减少组的数量。那么,是否有一种算法可以将兼容的人分组到尽可能少的组中 我知道这类似于许多现有的分组算法(如稳定婚姻算法和sortalikes),但我找不到一种算法来最小化
有人有主意吗 支持大卫的评论。每个人都是一个节点,两个人之间的边表示他们不兼容。用尽可能少的颜色给图表上色;每种颜色都是一组。@斯塔克:仅当图形为平面时。如果每个人都讨厌对方(完整的图形,而不是平面),他们都必须乘坐自己的巴士。感谢各位,引入了图形着色算法,结果非常好。