CS255
Chris Pollett
Mar 7, 2022
Input: G=(V,E) Output: A maximal independent set I contained in V 1. I := emptyset 2. Repeat { a) For all v in V do in parallel If d(v) = 0 then add v to I and delete v from V. else mark v with probability 1/(2d(v)). b) For all (u,v) in E do in parallel if both u and v are marked then unmark the lower degree vertex. c) For all v in V do in parallel if v is marked then add v to S d) I := I union S e) Delete S union Gamma(S) from V and all incident edges from E } Until V is empty.
Lemma*. Let `v` in `V` be a good vertex with degree `d(v) > 0`. Then, the probability that some vertex `w in Gamma(v)` gets marks is at least `1- exp(-1/6)`.
Lemma**. During any iteration, if a vertex `w` is marked then it is selected to be in `S` with probability at least `1/2`.
Lemma#. The probability that a good vertex belongs to `S cup Gamma(S)` is at least `(1- exp(-1/6))/2`.
Lemma## In a graph `G=(V,E)`, the number of good edges is at least `|E|/2`.
Proof. Our original graph was undirected. Direct the edges in `E` from the
lower degree-point to the higher degree endpoint, breaking ties arbitrarily. Let `d_i(v)` be the
indegree of `v` and `d_o(v)` be the out-degree. From the definition of goodness, we have for
each bad vertex:
`d_o(v) - d_i(v) ge (d(v))/3 = (d_o(v) + d_i(v) )/3`
For all `S`, `T` contained in `V`, define the subset of the edges `E(S,T)` as those edges directed from vertices
in `S` to vertices in `T`; further, let `e(S,T) = |E(S,T)|`. Let `V_G` and `V_B` be the sets of
good and bad vertices respectively. The total degree of the bad vertices is given by:
`2e(V_B, V_B) + e(V_B, V_G) + e(V_G, V_B)`
`= sum_(v in V_B) (d_o(v) + d_i(v))`
`le 3 sum_(v in V_B)(d_o(v) - d_i(v))`
`= 3 sum_(v in V_G)(d_i(v) - d_o(v))`
`= 3[(e(V_B, V_G) + e(V_G, V_G)) - (e(V_G, V_B) + e(V_G, V_G))]`
`= 3[e(V_B, V_G) - e(V_G, V_B)]`
`le 3[e(V_B, V_G) + e(V_G, V_B)]`
The first and last expressions in this sequence of inequalities imply that
`e(V_B,V_B) <= e(V_B,V_G) + e(V_G,V_B)`.
Since every bad edge contributes to the left side, and only
good edges to the right side, the result follows.
Theorem. The Parallel MIS algorithm has an EREW PRAM implementation running in expected time `O(log^2 n)` using `O(n+m)` processors.
Proof. Notice each round is `O(log n)` time on `O(n+m)` processors. Since a constant fraction of the edges are incident on good vertices and good vertices get eliminated with a constant probability, it follows that the expected number of edges eliminated during an iteration is a constant fraction of the current set of edges. So after `O(log n)` iteration we will have gotten down to the empty set. QED
Which of the following statements is true?
Synch-CCP: Input: Registers C[0] and C[1] initialized to 0. Output: Exactly one of the register has the value #. 0 P[i] is initially scanning the register C[i] and has its local variable B[i] initialized to 0. 1 Read the current register and obtain a bit R[i]. 2 Select one of three cases: (a) case [R[i] = #]: halt; (b) case [R[i] = 0, B[i] = 1]: write # into the current register and halt; (c) case [otherwise]: assign an unbiased random bit to B[i] and write B[i] into the current register. 3 P[i] exchanges its current register with P[1-i] and returns to step 1.