algorithm - 集合中互斥项的子集

algorithm - 集合中互斥项的子集

我认为你不太可能找到一个有效的通用算法来解决这个问题,因为我相信它是 NP 完备的。

如果你有一个有效的算法来解决这个问题,那么你可以解决最大独立集问题。

证明草图

假设你有一个图,然后为每条边构造一个包含 {i,j} 的集合,其中 i 和 j 是由边连接的顶点。

那么这些集合的最大子集 T 将是您的图形的最大独立集。

转换为最大独立集

更有用的是,您还可以通过为图找到最大独立集来表达您的问题,其中 a 和 b 之间存在边,当且仅当存在一个同时包含 a 和 b 的集合时。

然后,您可以使用一些标准求解器来解决最大独立集问题,例如Pythons NetworkX 中的求解器。

推荐文章

如何还原默认的Photoshop设置
best365官网投注链接

如何还原默认的Photoshop设置

📅 07-11 👁️‍🗨️ 6166
[影音]更换耳机单元的方法
beat365进不去

[影音]更换耳机单元的方法

📅 07-06 👁️‍🗨️ 2244