maximum_independent_set#

maximum_independent_set(G)[source]#

返回一个近似最大独立集。

独立集或稳定集是图中的一个顶点集合,集合中的任意两个顶点都不相邻。也就是说,对于集合 I 中的任意两个顶点,它们之间没有边连接。等价地说,图中的每条边在集合 I 中最多有一个端点。独立集的大小是其包含的顶点数量 [1]

最大独立集是给定图 G 的最大独立集,其大小记为 \(\alpha(G)\)。寻找这样一个集合的问题称为最大独立集问题,这是一个 NP-难的优化问题。因此,不太可能存在一个高效的算法来找到图的最大独立集。

独立集算法基于 [2]

参数:
GNetworkX 图

无向图

返回:
iset集合

近似最大独立集

抛出:
NetworkXNotImplemented

如果图是有向图或多重图。

注释

在最坏情况下找到独立集的 \(O(|V|/(log|V|)^2)\) 近似解。

参考文献

[2]

Boppana, R., & Halldórsson, M. M. (1992). Approximating maximum independent sets by excluding subgraphs. BIT Numerical Mathematics, 32(2), 180–196. Springer.

示例

>>> G = nx.path_graph(10)
>>> nx.approximation.maximum_independent_set(G)
{0, 2, 4, 6, 9}