【发布时间】:2010-06-03 01:04:27
【问题描述】:
换句话说,有人可以发布在简单图中找到“最大”独立集的方向吗?
我从 ETH 网站上读到了一些东西,它说人们可以在 O(n) 中找到这样的东西,只需选择一个随机顶点 v,然后扫描其余顶点并尝试查找从 v 到其余顶点是否存在边。
谢谢
【问题讨论】:
换句话说,有人可以发布在简单图中找到“最大”独立集的方向吗?
我从 ETH 网站上读到了一些东西,它说人们可以在 O(n) 中找到这样的东西,只需选择一个随机顶点 v,然后扫描其余顶点并尝试查找从 v 到其余顶点是否存在边。
谢谢
【问题讨论】:
是的,根据定义,最大独立集是一个独立集,在不违反“独立”条件的情况下,不能再向其添加顶点。
因此,仅选择顶点直到您无法再选择为止会给您一个最大的独立集,可以在线性时间内完成(即线性 |V| + |E|)。
注意,这与 最大 独立集不同,后者是最大可能大小的独立集,并且发现是 NP-Hard。
【讨论】:
在网上找到了这个,可能来自一个课程”伴随着文本“并行计算简介”,Addison Wesley,2003 年
寻找最大独立集 (MIS)
parallel MIS algorithms use randimization to gain
concurrency (Luby's algorithm for graph coloring).
Initially, each node is in the candidate set C. Each
node generates a (unique) random number and
communicates it to its neighbors.
If a nodes number exceeds that of all its neighbors, it
joins set I. All of its neighbors are removed from C.
This process continues until C is empty.
On average, this algorithm converges after O(log|V|)
such steps.
【讨论】: