Friday, April 11, 2008 * Maximal Independent Set MAXIMAL INDEPENDENT SET A maximal independent set is a maximal set of nodes in a graph, no two of which are adjacent. Note that there are several maximal independent sets, and a maximal set may be much smaller than a maximum set. E.g., consider the star graph. Given a coloring with C colors computed in T time, an MIS can be obtained in an additional C time. In step i, a node with color i adds itself to the MIS if it has no adjacent node already in the MIS. So total time = T + C. Thus, for bounded-degree graphs and trees, we have an O(log^* n) algorithm for computing the MIS. Luby's algorithm for general graphs: Repeat: 1. Node v marks itself with probability 1/(2d(v)), where d(v) is current degree of node. 2. If no higher degree neighbor of v is also marked (breaking ties by ID), node v joins the MIS. Otherwise, node v unmarks itself. 3. If a node has a neighbor in MIS, it removes itself for future rounds. We will prove that the above algorithm computes an MIS in O(log n) rounds with high probability. Lemma: A node v joins the MIS with probability at least 1/(4d(v)). Proof: Probability that node is marked in step 1 is 1/(2d(v)). The probability that a neighbor w is marked is at most 1/(2(d(w))). We have to only worry about marked nodes with degree at least d(v) since other nodes will be eliminated. So the probability that any neighbor with higher degree will be marked is at most d(v)*(1/(2d(v))) = 1/2, giving the probability of v joining to be at least 1/(4d(v)). End Proof Call a node good if Sum_{w neighbor of v} 1/(2d(w)) >= 1/6. Call an edge (u,v) good if either u or v is good. Lemma: A good node will be removed with probability at least 1/36. Proof: Fix a good node v. If v has a neighbor of degree 2, then it is easy. So assume for the remainder that all neighbors of v have degree at least 3. There exists a subset X of neighbors w such that sum of 1/(2d(w)) is at least 1/6 and at most 1/3. Let P be the probability that v will be removed. P >= Pr[there exists u in X such that u is in MIS] >= Sum_{u in X} Pr[u in MIS] - Sum_{u!=w, both in X} Pr[u in MIS and w in MIS] >= Sum_{u in X} (1/4d(u)) - Sum_{u!=w, both in X} Pr[u marked and w marked] >= Sum_{u in X} (1/4d(u)) - Sum_{u,w in X} Pr[u marked]*Pr[w marked] >= Sum_{u in X} (1/4d(u)) - (Sum_{u in X} 1/(2d(u)))*(Sum_{u in X} 1/(2d(u))) >= Sum_{u in X} (1/2(d(u))) [1/2 - Sum_{u in X} 1/(2d(u))] >= Sum_{u in X} 1/6 * [1/2 - 1/3] = 1/36. End Proof Lemma: Any time, at least half the edges are good. Proof: Direct edges toward higher degree nodes. We show that bad nodes have outdegree at least twice their indegree. Otherwise, at least 1/3 of its neighbors have degree at most d(v), but then Sum_{w neighbor of v} 1/(2d(w)) >= (d(v)/3)*(1/(2d(v))) = 1/6, a contradiction. Number of edges directed into bad nodes is at most half the number of edges directed out of bad nodes, thus at most half the total number of edges. Thus, the number of edges directed into good nodes is at least half the number of edges. These edges are all good. End Proof