查找无交集的最大集合数

问题描述 投票:1回答:1

我有多组(大约100个左右)数字,范围从1到32,每个数字不超过32个。

例如:

[1,2]
[3,4]
[1,2,3]

我正在尝试做的算法是输出最大的集合并集,它们之间没有交集。

示例的输出为[[1,2], [3,4]],它们之间没有任何交集,并且它们的并集大于集合[[1,2,3]]

[我试图找到一个二部图的最大匹配,其中将集合映射到数字,但是我立即感到困惑,因为问题不在于只找到一个匹配,而是一个集合到多个数字。

[写出多项式时间复杂度的算法似乎很困难,任何时间复杂度不超过2 ^ n的想法都会受到赞赏。

algorithm graph intersection
1个回答
0
投票

您正在描述的问题称为set-packing problem,并且已知为NP难题。结果,我们不知道有任何多项式时间算法可以解决此问题,如果P≠NP则不存在。

© www.soinside.com 2019 - 2024. All rights reserved.