Motivation
A maximal independent set (MIS) of a graph is a set of pairwise non-adjacent vertices to which no further vertex can be added. Sequentially an MIS is found greedily in linear time, but the greedy scan is inherently serial. Whether an MIS can be computed by a fast parallel algorithm was a central question of parallel complexity in the early 1980s: Karp and Wigderson gave the first NC algorithm (STOC 1984), and Luby's paper, SIAM J. Comput. 15(4):1036–1053, 1986, gave a much simpler one. MIS is a subroutine of many parallel and distributed graph algorithms (colouring, matching, symmetry breaking), and Luby's randomized algorithm remains the standard one in distributed computing.
The paper's second contribution, the subject of this mission, is a general method for removing randomness: analyse the randomized algorithm under pairwise independence only, then realize pairwise independent random variables on a sample space of polynomial size and try every sample point in parallel. The same method, often attributed jointly to Luby (1986) and to Alon, Babai and Itai (J. Algorithms 7, 1986), became a standard tool of derandomization.
Setting
Let G=(V,E) be a finite simple graph with n=∣V∣ vertices labelled 0,…,n−1. The algorithm keeps a set I (initially empty) and the current graph G′=(V′,E′), the subgraph of G induced on V′ (initially V′=V). For W⊆V′ the neighbourhood is N(W)={i∈V′:∃j∈W,(i,j)∈E′}. Each execution of the loop body selects an independent set I′⊆V′, adds it to I, and deletes I′∪N(I′) from V′; the loop runs while V′=∅. Write d(i) for the degree of i in G′, Yk for the number of edges of G′ before the k-th execution, and sum(i)=∑j∈adj(i)1/d(j).
Algorithm B's select step draws a coin coin(i)∈{0,1} for each vertex, with Pr[coin(i)=1]=1/2d(i), puts X={i:coin(i)=1}, and removes from X the endpoint of smaller degree of every edge inside X (both endpoints on a tie).
The sample space. Fix a prime q with n≤q≤2n. The sample points are the pairs (x,y) with 0≤x,y≤q−1, each of probability 1/q2. With n(i)=⌊q/2d(i)⌋, the coin of vertex i at (x,y) is 1 iff (x+y⋅i)modq<n(i), so Pr[coin(i)=1]=pi′=⌊q/2d(i)⌋/q, and distinct coins are pairwise independent.
Algorithm D. Each execution of the loop body first moves the isolated vertices of G′ into I. Then:
- Case 1. If a vertex i of maximum degree has d(i)≥n/16, it joins I, and {i}∪N({i}) is deleted.
- Case 2. Otherwise all q2 sample points are tried, the one whose coins make Algorithm B's select step eliminate the most edges is kept, and its I′ is used.
No random bits are used.
Formalization targets
Goal: the round bound and correctness of Algorithm D
For every graph G on n vertices, every prime q with n≤q≤2n, and every run of Algorithm D (every tie-break among maximum-degree vertices and every maximizing sample point), the loop body is executed exactly k times, with
k ≤ log(18/17)log(n2)+16 ≤ 25⋅log2n+16,
and the output I is a maximal independent set of G.
Milestones
- The sample space: Lemma 1, Pr[Xi=Rj]=nij/q, and Lemma 2, Pr[Xi=Rj,Xi′=Rj′]=nijni′j′/q2 for i=i′.
- The Technical Lemma: for p1≥⋯≥pn≥0 and c>0, maxl(αl−cβl)≥21min{αn,1/c}.
- The two steps of the proof of Theorem 1: E[Yk−Yk+1]≥21∑id(i)Pr[i∈N(I′)], and 21∑sum(i)≤2d(i)sum(i)+∑sum(i)>2d(i)≥∣E′∣.
- Lemma C and Theorem 2: with pairwise independent coins of law 1/2d(i),
Pr[i∈N(I′)]≥81min{sum(i),1},E[Yk−Yk+1]≥161Yk.
- The rounding bound 98pi≤pi′≤pi when d(i)<n/16.
- Lemma D and Theorem 3: with pairwise independent coins of law pi′ and all d(i)<n/16,
Pr[i∈N(I′)]≥91min{sum(i),1},E[Yk−Yk+1]≥181Yk.
- In Case 2 some sample point eliminates at least 1/18 of the edges; Case 1 occurs at most 16 times in any run before it terminates.
Significance
The goal is the deterministic half of Luby's result: an MIS is computed in O(logn) parallel rounds with no randomness, which places MIS in deterministic NC. The pairwise-independent analysis (Lemmas C, D, Theorems 2, 3) is the reusable part: it shows that the Monte Carlo algorithm's progress guarantee survives when mutual independence is weakened to pairwise independence, which is what makes a sample space of size q2=O(n2) sufficient. Lemmas 1 and 2 are the standard construction of pairwise independent variables with prescribed rational marginals.
All of these results are proved in the paper. None is formalized on the platform. A related but different object is the platform's dot-product hash family (AlmostLossless.pairwiseIndependent_dotHash), which has uniform marginals over a field and is not the q2-point matrix space with prescribed marginals nij/q. The companion mission A Simple Parallel Algorithm for the Maximal Independent Set Problem I formalizes Theorem 1, the mutually independent analysis of Algorithms A and B.
Difficulty
The obvious route to Theorem 2 repeats the proof of Lemma B, which lower-bounds Pr[i∈N(I′)] by a product over independent events. Under pairwise independence the probability of an intersection of three or more coin events is not determined by the marginals, so that product argument fails, and the constant degrades from 81 to 161.
The round bound needs a separate argument for high-degree vertices. The rounded probabilities pi′ are close to pi only when q/2d(i) is large, which is why vertices of degree at least n/16 are handled by Case 1. Counting the Case 1 rounds uses the vertex count n of the original graph, not of the current one. Correctness at termination requires an invariant linking I, V′ and G across both kinds of rounds and the deletion of isolated vertices.
Formalization scope
Vertices are Fin n with labels 0,…,n−1, which is §4.2's indexing of X0,…,Xn−1; the label enters Z/qZ as a residue, and labels are distinct mod q because n≤q. The current graph is the induced subgraph kept on the full vertex type, with deleted vertices isolated. One execution of the loop body is a relation between states (I,V′) that leaves the maximizing vertex (Case 1) and the maximizing sample point (Case 2) free, as the page does, and a run is any sequence of states starting at (∅,V) that follows the relation while V′=∅. The goal asks for the first index k with V′=∅, so a statement about a later state or a bound on k without termination does not meet it.
The conditions d(i)≥n/16 and d(i)<n/16 are encoded exactly as n≤16d(i) and 16d(i)<n in N. ⌊q/2d(i)⌋ is natural-number division. The printed code tests (x+y⋅i)modq≤n(i), which puts n(i)+1 residues in X and contradicts pi′=⌊piq⌋/q stated on the same page; the formalization uses the strict test.
Lemmas C, D and Theorems 2, 3 quantify over every probability space carrying measurable, pairwise independent (IndepFun for each pair of distinct vertices) coins with the stated marginals at vertices of positive degree. Replacing pairwise by mutual independence, or fixing the probability space, would weaken them. They are stated for a fixed current graph, that is, as the expectation conditional on the state before the round, which is what their proofs establish. Expectations are Bochner integrals of a function with finitely many values and are therefore genuine. Lemma 2 carries the hypothesis i=i′, implicit on the page.
The development needs the induced subgraph and degree bookkeeping from Mathlib's SimpleGraph, pairwise independence from ProbabilityTheory.IndepFun, finite counting in ZMod q, and real logarithms. The pairwise-independent analysis (Lemma C to Theorem 3) and the sample-space lemmas are reusable beyond this mission. Contributions to any milestone are welcome.
Selected references
- M. Luby, A Simple Parallel Algorithm for the Maximal Independent Set Problem, SIAM J. Comput. 15(4):1036–1053, 1986. https://doi.org/10.1137/0215074
- R. M. Karp and A. Wigderson, A Fast Parallel Algorithm for the Maximal Independent Set Problem, J. ACM 32(4):762–773, 1985. https://doi.org/10.1145/4221.4226
- N. Alon, L. Babai and A. Itai, A Fast and Simple Randomized Parallel Algorithm for the Maximal Independent Set Problem, J. Algorithms 7(4):567–583, 1986. https://doi.org/10.1016/0196-6774(86)90019-2