230 likes | 258 Vues
A Randomized Distributed Algorithm for the Maximal Independent Set Problem in Growth-Bounded Graphs. Beat Gfeller, Elias Vicari ETH Zurich, Switzerland. PODC 2007. Maximal Independent Set ( MIS ). In general: captures some aspects of distributed symmetry-breaking
E N D
A Randomized Distributed Algorithmfor the Maximal Independent Set Problem in Growth-Bounded Graphs Beat Gfeller, Elias Vicari ETH Zurich, Switzerland PODC 2007
Maximal Independent Set (MIS) In general: • captures some aspects of distributed symmetry-breaking • important building block for many distributed algorithms In growth-bounded graphs (wireless networks): • (1+)-approximation MDS and MCDS in O(TMIS) time. • O(1) degree, O(1) stretch spanner in O(TMIS). • independent • maximal
Overview • Related Work • Model • Our Algorithm and its Analysis • Conclusion
³ ´ ( ) ¡ ¢ 1 ¤ ¤ ¤ ( ( ( ( ) ) ) ) p l l l l l O O O O ¢ o = l l l n o o o o g g g g n n n o g n o g n o g o g n Related Work • In General Graphs: • an time randomized algorithm [Luby85] • an time lower bound [KMW04] • deterministic time algorithm [AGLP89, PS92] • In Growth-Bounded Graphs: • Lower bound , holds even for ring networks (they are GBGs) [Linial87, Naor91] • deterministic time algorithm [Kuhn, Moscibroda, Nieberg, Wattenhofer, DISC 05] • deterministic time algorithm with distance measuring [KMW05]
The Model • Synchronous message passing, synchronous wake-up • Message size O(log n) bits • No node/transmission failures, no collisions • Network modelled as a Growth-Bounded Graph • Each node knows its neighbors and can distinguish them v r = 2 |MIS| ≤ f(r) „Compute a MIS“ = each node knows whether it is in MIS
µ A crucial concept: t-ruling set t-ruling set RV: every node has a node in R within distance t t = 2 independent t-ruling set
Det. O(log Δ log*n)-time algorithm for GBGs • General idea [KMNW05]: • Compute a t-ruling independent set • expand this set into a MIS in O(t ·log*n) time • Structure of step 1: Repeat: compute a 2-ruling set R on G. G’ = G[R]. Until: R is an independent set. By induction: 2t-ruling after t iterations t = 2 for a fast MIS algorithm, this process should terminate quickly! w’’ 6 4 5 3 1 2 v w’ w
Det. O(log Δ log*n)-time algorithm for GBGs • General idea [KMNW05]: • Compute a t-ruling independent set • expand this set into a MIS in O(t ·log*n) time • [KMNW05]: step 1 in O(log Δ · log*n) time, t = O(log Δ), deterministic → MIS in O(log Δ · log*n) • [This work]: step 1 in O(loglog n· log*n) time, t = O(loglog n), randomized → MIS in O(loglog n· log*n) t = 2
Our Randomized Ruling Set – Algorithm • Compute O(loglog Δ)-ruling set with induced degree O(log5 n) in O(loglog Δ · log*n) time using randomization • Make this set independent, but still O(loglog n)-ruling using the det. O(log Δ log*n) time algorithm “Interleaving” the two algorithms: → knowledge of n not required
The Main Ideas • Repeatedly choose a 2-ruling subset which induces a “low” degree. • Reduce the degree from d to dc for some c < 1 → O(loglog Δ) steps (logarithm decreases geometrically) • In a d-regular graph, each node should stay with probability 1/d(1-c) → expected degree dc, 2-ruling with high probability • In general graph? → first, remove nodes with much smaller or larger degree!
[ [ Algorithm “RandStep” – view of a node u • neighbor v with dv>(du)2 ? → u joins S (“small”) • not in S: neighbor of u in S? → u joins B (“big”) • not in S or B: u joins R with probability 1/(du)1/4 (“red”) • not in S,B,R, no neighbor in S,B,R→ u joins G (“green”) • G’=G[S R G] dv=2 du=5 dw=2 dq=2
[ [ w’’ 6 4 5 3 1 2 v w’ w Analysis: ruling-property • neighbor v with dv>(du)2 ? → u joins S (“small”) • not in S: neighbor of u in S? → u joins B (“big”) • not in S or B: u joins R with probability 1/(du)1/4 (“red”) • not in S,B,R, no neighbor in S,B,R→ u joins G (“green”) • G’=G[S R G] By construction: 2-ruling after one iteration By induction: 2t-ruling after t iterations
[ = 1 2 2 ( ) ( ) d d d · · u v u Analysis: nodes outside SB • neighbor v with dv>(du)2 ? → u joins S • not in S: neighbor of u in S? → u joins B Thus, for each node u not in S or B: for all neighbors v of u
= 1 2 2 ( ) ( ) d d d · · u v u : Analysis: high-degree red nodes • A high-degree red node u reduces its degree a lot w.h.p. - Neighbors of red nodes: in R or G (never in S) - red node u has high degree → its neighbors also have high degree: Green neighbors: Lemma:High-degree nodes do not become green w.h.p. → high-degree red node has no green neighbors w.h.p.
= 1 2 2 ( ) ( ) d d d · · 1 · u v u : k n Analysis: high-degree red nodes • A high-degree red node u reduces its degree a lot w.h.p. - Neighbors of red nodes: in R or G (never in S) - red node u has high degree → its neighbors also have high degree: Red neighbors: → neighbors of u join R with probability 1/(dv)1/4 ≤ 1/(du)1/8 → E[# neighbors of u that join R (+1)] ≤ du · (du)-1/8 = (du)7/8 Chernoff-Bound: P[# neighbors of u that join R (+1) > 2du7/8] if du ≥ 9k2log2 n
Analysis: Conclusion • W.h.p., neither R nor G contains a node with degree > 2Δ7/8 as long as Δ> c·log5n • S contains only nodes with degree ≤ Δ1/2 • W.h.p., the degree decreases in each iteration from Δ to 2Δ7/8, as long as Δ > c·log5n. • W.h.p., after O(loglog Δ) iterations Δ < c·log5n. Theorem: In any graph, after O(loglog Δ) iterations of Algorithm “RandStep”, the remaining set is O(loglog Δ)-ruling and has induced degree O(log5n) with probability 1-O(1/nk), for any k > 3.
Conclusion Summary: • Randomized MIS-computation in GBGs vs. in general graphs: O(loglog n log* n) vs. O(log n) • Randomized MIS computation in GBGs can be done almost as fast as with distance information in UDGs/UBGs. Open problems: • Is O(loglog n log*n) tight? Or is O(log*n) achievable? • Still open: polylog-time deterministic MIS algorithm in general graphs
Thank you! Questions? Comments?
1 d · ³ ´ u = = k 1 2 1 2 = ¡ : 1 2 2 d d ¡ ( ) ( ) 1 · n d d d ¡ · · · e u u u v u : Analysis: high-degree green nodes [detailed] • No high-degree node becomes green w.h.p. For each node u in G (i.e. not in S or B): for all neighbors v of u Recall: 3. not in S or B→ u joins R with probability 1/(du)1/4 u in G: - u has no neighbor in S,B→ each neighbor is a candidate for R - all du-1 neighbors of u had probability ≥ 1/(du)1/2 to join R - P[u joins G] = P[u joins G | u S,B] ≤ P[u and no neighbor of u joins R | u S,B] If du≥ k2 log2 n, this is
1 k = 1 2 2 ( ) ( ) n d d d · · u v u Analysis: high-degree green nodes • High-degree nodes do not become green w.h.p. For each node u in G (i.e. not in S or B): for all neighbors v of u u in G: - u has no neighbor in S,B→ each neighbor is a candidate for R [ 3.not in S or B: u joins R with probability 1/(du)1/4 ] - all du-1 neighbors of u had probability ≥ 1/(du)1/2 to join R Lemma: If du≥ k2 log2 n, P[u joins G] ≤ . TODO: maybe omit altogether! just mention lemma in red node analysis.
= 7 8 1 1 d 1 ¡ · · · 3 e k ¡ 1 = k 1 2 2 ( ) ( ) n d d d n · · u v u Analysis: high-degree red nodes • A high-degree red node reduces its degree a lot w.h.p. For each node u in R (i.e. not in S or B): for all neighbors v of u Recall: 3. not in S or B→ u joins R with probability 1/(du)1/4 → neighbors of u join R with probability at most 1/(du)1/8 → E[# neighbors of u that join R (+1)] ≤ du · (du)-1/8 = (du)7/8 Chernoff-Bound: P[# neighbors of u that join R (+1) > 2du7/8] if du ≥ 9k2log2 n If du ≥ 9k4log4 n, P[any neighbor of u joins G]
Analysis: high-degree red nodes neighbors of red nodes: red or green (never small) if a red node has high degree, its neighbors also have high degree (although possibly smaller) we show: high-degree nodes are very unlikely to become green -> w.h.p. a high-degree red node has no green neighbors. what about the number of red neighbors? well, they all become red with probability at most … so expected number.. chernoff..
[ = 1 2 2 ( ) ( ) d d d · · u v u Analysis: nodes outside SB • neighbor v with dv>(du)2 ? → u joins S • not in S: neighbor of u in S? → u joins B Thus, for each node u not in S or B: for all neighbors v of u u