首页 > 代码库 > 找最大独立集问题-Finding a Maximal Independent Set

找最大独立集问题-Finding a Maximal Independent Set

1. 独立集和最大独立集:A set of vertices I ? V is called independent if no pair of vertices in I is connected via an edge in G. An independent set is called maximal if by including any other vertex not in I, the independence property is violated.

    下图是独立集和最大独立集的例子:

2. Finding a Maximal Independent Set (MIS) 

1) Simple algorithms start byMIS I to be empty, and assigning all vertices to a candidate set C. Each vertex generates a(unique) random number and communicates it to its neighbors.
2) If vertex v‘s number less than that of all its neighbors, it joins set I. All of its neighbors are removed from C.
3) This process continuesuntil C is empty.

    On average, this algorithmconverges after O(log|V|) such steps. 下图是找MIS的例子: