An Optimal Maximal Independent Set Algorithm for Bounded ...
Maximal Independent Set
description
Transcript of Maximal Independent Set
![Page 1: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/1.jpg)
1
Maximal Independent Set
![Page 2: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/2.jpg)
2
Independent Set (IS):
In a graph G=(V,E), |V|=n, |E|=m, any set of nodes that are not adjacent
![Page 3: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/3.jpg)
3
Maximal Independent Set (MIS):
An independent set that is nosubset of any other independent set
![Page 4: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/4.jpg)
4
Size of Maximal Independent Sets
A graph G… …a MIS of min size……a MIS of max size
Remark 1: The ratio between the size of a maximum MIS and a minimum MIS is unbounded (i.e., O(n))!Remark 2: finding a minimum/maximum MIS is an NP-hard problem, while a MIS can be found in polynomial time
![Page 5: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/5.jpg)
5
Applications in DS: network monitoring
• A MIS is also a Dominating Set (DS) of the graph (the converse in not true, unless the DS is independent), namely every node in G is at distance at most 1 from at least one node in the MIS (otherwise the MIS could be enlarged, against the assumption of maximality!)
In a network graph G consisting of nodes representing processors, a MIS defines a set of processors which can monitor the correct functioning of all the nodes in G (in such an application, one should find a MIS of minimum size, to minimize the number of sentinels, but as said before this is known to be NP-hard)
![Page 6: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/6.jpg)
6
A Sequential Greedy algorithm
Suppose that will hold the final MISI
Initially I
G
![Page 7: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/7.jpg)
7
Pick a node and add it to I1v
1v
Phase 1:
1GG
![Page 8: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/8.jpg)
8
Remove and neighbors )( 1vN1v
1G
![Page 9: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/9.jpg)
9
Remove and neighbors )( 1vN1v
2G
![Page 10: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/10.jpg)
10
Pick a node and add it to I2v
2v
Phase 2:
2G
![Page 11: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/11.jpg)
11
2v
Remove and neighbors )( 2vN2v
2G
![Page 12: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/12.jpg)
12
Remove and neighbors )( 2vN2v
3G
![Page 13: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/13.jpg)
13
Repeat until all nodes are removed
Phases 3,4,5,…:
3G
![Page 14: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/14.jpg)
14
Repeat until all nodes are removed
No remaining nodes
Phases 3,4,5,…,x:
1xG
![Page 15: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/15.jpg)
15
At the end, set will be a MIS of I G
G
![Page 16: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/16.jpg)
16
Worst case graph (for number of phases):
n nodes, n-1 phases
Running time of the algorithm: Θ(m)
Number of phases of the algorithm: O(n)
![Page 17: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/17.jpg)
17
Homework
Can you see a distributed version of the algorithm just given?
![Page 18: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/18.jpg)
18
A General Algorithm For Computing a MIS
Same as the sequential greedy algorithm, but at each phase, instead of a single node, we now select any independent set (this selection should be seen as a black box at this stage)
The underlying idea is that this approach will be useful for a distributed algorithm
![Page 19: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/19.jpg)
19
Suppose that will hold the final MISI
Initially I
Example:
G
![Page 20: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/20.jpg)
20
Find any independent set 1I
Phase 1:
And insert to :1I I 1III
1GG
![Page 21: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/21.jpg)
21
1I )( 1INremove and neighbors
1G
![Page 22: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/22.jpg)
22
remove and neighbors 1I )( 1IN
1G
![Page 23: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/23.jpg)
23
remove and neighbors 1I )( 1IN
2G
![Page 24: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/24.jpg)
24
Phase 2:
Find any independent set 2I
And insert to :2I I 2III
On new graph
2G
![Page 25: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/25.jpg)
25
remove and neighbors 2I )( 2IN
2G
![Page 26: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/26.jpg)
26
remove and neighbors 2I )( 2IN
3G
![Page 27: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/27.jpg)
27
Phase 3:
Find any independent set 3I
And insert to :3I I 3III
On new graph
3G
![Page 28: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/28.jpg)
28
remove and neighbors 3I )( 3IN
3G
![Page 29: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/29.jpg)
29
remove and neighbors 3I )( 3IN
No nodes are left
4G
![Page 30: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/30.jpg)
30
Final MIS I
G
![Page 31: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/31.jpg)
31
1. The algorithm is correct, since independence and maximality follow by construction
2. The number of phases depends on the choice of the independent set in each phase: The larger the subgraph removed at the end of a phase, the smaller the residual graph, and then the faster the algorithm. Then, how do we choose such a set, so that independence is guaranteed and the convergence is fast?
Analysis
![Page 32: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/32.jpg)
32
Example:If is MIS, 1 phase is needed
1I
Example:If each contains one node, phases may be needed
kI)(n
(sequential greedy algorithm)
![Page 33: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/33.jpg)
33
A Randomized Sync. Distributed Algorithm
•Follows the general MIS algorithm paradigm, by choosing randomly at each phase the independent set, in such a way that it is expected to remove many nodes from the current residual graph•Works with synchronous, uniform models, and does not make use of the processor IDs
Remark: It is randomized in a Las Vegas sense, i.e., it uses randomization only to reduce the expected running time, but always terminates with a correct result
![Page 34: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/34.jpg)
34
Let be the maximum node degree in the whole graph
d
1 2 d
Suppose that d is known to all the nodes (this may require a pre-processing)
![Page 35: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/35.jpg)
35
Elected nodes are candidates forindependent set
Each node elects itself with probability
At each phase :k
kI
dp
1
1 2 d
kGz
z
![Page 36: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/36.jpg)
36
However, it is possible that neighbor nodes are elected simultaneously (nodes can check it out by testing their neighborhood)
Problematic nodeskG
![Page 37: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/37.jpg)
37
All the problematic nodes step back to the unelected status, and proceed to the next phase. The remaining elected nodes formindependent set kI
kGkI
kIkI
kI
![Page 38: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/38.jpg)
38
Success for a node in phase : disappears at the end of phase(enters or )
Analysis:
kGz
kI
1 2 y
No neighbor elects itself
z
z
k
)( kIN
k
A good scenariothat guaranteessuccess
elects itself
![Page 39: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/39.jpg)
39
Basics of ProbabilityLet A and B denote two events in a probability space;
let
1. A (i.e., not A) be the event that A does not occur;2. AՈB be the event that both A and B occur;3. AUB be the event that A or (non-exclusive) B occurs.
Then, we have that:1. P(A)=1-P(A);2. P(AՈB)=P(A)·P(B) (if A and B are independent)3. P(AUB)=P(A)+P(B)-P(AՈB) (if A and B are
mutually exclusive, then P(AՈB)=0, and P(AUB)=P(A)+P(B)).
![Page 40: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/40.jpg)
40
Fundamental inequality
tk2
t ekt
1kt
1e
k 1,k
t k,|t|
2,7182...e
![Page 41: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/41.jpg)
41
Probability for a node z of success in a phase: P(success z) = P((z enters Ik) OR (z enters N(Ik))
≥ P(z enters Ik)
i.e., it is at least the probability that it elects itself AND no neighbor elects itself, and since these events are independent, if y=|N(z)|, then
1 2 y
p
p1
p1p1
z
No neighbor elects itself
elects itself
P(z enters Ik) = p·(1-p)y (recall that p=1/d)
![Page 42: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/42.jpg)
42
Probability of success for a node in a phase:
2ed1
d1
1ed1
d1
1d1
p)p(1p1pd
dy
At least
For 2d
First (left) ineq. with t =-1
![Page 43: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/43.jpg)
43
Therefore, node disappears at the end of phase with probability at least
1 2 y
z
z
ed21k
Node z does not disappear at the end of phase k with probability at most
2ed1
1
![Page 44: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/44.jpg)
44
after phases
Definition: Bad event for node :
ned ln4
node did not disappear
This happens with probability P(ANDk=1,..,4ed lnn (z does not disappear at the end of phase
k))
i.e., at most:
2ln2
ln22ln411
21
12
11
needed n
nedned
z
z
(first (right) ineq. with t =-1 and n =2ed)
Independent events
![Page 45: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/45.jpg)
45
after phases
Bad event for G:
ned ln4
at least one node did not disappear
This happens with probability (notice that events are not mutually exclusive): P(ORxG(bad event for x)) ≤
nnnx
Gx
11) for event P(bad 2
![Page 46: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/46.jpg)
46
within phases
Good event for G:
ned ln4
all nodes disappear
This happens with probability:
n1
-1G] for event bad of ty[probabili1
(i.e., with high probability)
![Page 47: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/47.jpg)
47
Total number of phases:
)log(ln4 ndOned # rounds for each phase: 31. In round 1, each node adjusts its neighborhood (see
round 3 of the previous phase), and then tries to elect itself; if this is the case, it notifies its neighbors;
2. In round 2, each node receives notifications from neighbors, decide whether it is in Ik, and notifies neighbors;
3. In round 3, each node receiving notifications from elected neighbors, realizes to be in N(Ik), notifies its
neighbors about that, and stops. total # of rounds: (w.h.p.))log( ndO
(w.h.p.)
Time complexity
![Page 48: Maximal Independent Set](https://reader031.fdocuments.in/reader031/viewer/2022013101/56813a28550346895da20c36/html5/thumbnails/48.jpg)
48
Homework
Can you provide a good bound on the number of messages?