We will look at problems which are local symmetry breaking, where the goal is to break symmetry among nodes that are quite close, typically neighbors. A fundamental problem in this category is the Maximal Independent Set (MIS) problem. We will look at a MIS Algorithm that takes rounds. Another way to view this analysis is that each node (with high probability) needs only information about its neighborhood.
A fundamental open question in distributed computing is to fully characterize the locality of MIS. We can show a highly non-trivial locality lower bound of for MIS.
Besides MIS, another local symmetry breaking problem is coloring. Both are related to each other in some way, yet they have their own characteristics.
We will consider the synchronous LOCAL model, although all the algorithms will work seamlessly in the CONGEST model as well, for the following problems. As usual we consider the network as an undirected connected graph of nodes. All nodes have unique identifiers and can be represented in bits. We also assume that all nodes are awake initially and start executing the algorithm simultaneously.
Maximal Independent Set (MIS)
An useful property of MIS is that it is also a dominating set. In fact it is a minimal dominating set (MDS) as well. A dominating set could be used as a network backbone for routing - it is enough to find routes between the nodes in the dominating set; any other node can route by sending it to any of its dominator first.
Fast Distributed MIS Algorithms:
The output of each node in this problem would be whether the corresponding node is in the MIS or not. Let be the set of vertices in that are adjacent to . Let denote the close neighborhood of , i.e., the set consisting of and .
The outline of the algorithm would be somewhat like this . In every round, it finds an independent set and adds it to (which is empty initially) as well as deletes from the graph. This is easy to implement in a linear fashion - Choose some arbitrary node, turn off its neighbors (essentially deleting the nodes) and continue the same process with the remaining graph, until the graph becomes empty.
To get a faster algorithm, an obvious strategy is to include as many nodes in the MIS in a round as possible. Consider a node . Clearly, either or at least one of its neighbors should be in the MIS.
MIS Algorithm 1:
Each node chooses itself to be in the MIS with probability . To handle the scenario of two neighboring nodes choosing themselves, the ties are broken based on the degrees with higher degree node favored. This makes sense since once this high degree node comes to MIS, it will eliminate more neighbors.
Pseudocode:
flag = not decided // flag = true if the node is in MIS else false
while(flag is not decided){
if(degree[v] = 0){
flag = true
}
else
mark flag = true with a probability 1/(2* degree[v])
if(flag = true){
receive message from neighbor
if there is a neighbor with flag = true and degree > degree[v]{
flag = false
}
}
if(flag = true){
notify neighbors.
}
else if(flag = false){
if there is a neighbor with flag = true{
delete itself and all its edges from the network.
flag = false.
}
}
}
Analysis:
Claim 1:
MIS Algorithm 1 runs in with high probability, where is the maximum node degree.
Claim 2:
Consider any node in phase . One of the following events will happen - The status of will be determined or will drop below .
Proof:
For the sake of analysis, we divide the algorithm into phases - In the first phase, we will consider the nodes having degree between . In phase , the nodes considered will have degree between .
Thus, there will be phases. At the end of phase , the status of all nodes of degree higher than would have been decided.
Consider phase 1. We lower bound the probability that a status of will be determined in one round. This can be done in two ways:
- enters MIS or
- a neighbor of enters MIS.
We can lower bound the probability that a neighbor of enters MIS as follows in two ways:
- A neighbor of , say marks itself.
- At least one of ‘s marked neighbors remain marked after the tie-breaking step.
The probability that none of the neighbors of enter the MIS is at most
This is because all the neighbors of have degree at most and . Hence the probability that a neighbor of enters the MIS is at least .
Let’s bound the probability of the second way, given that at least one of the neighbor of has marked itself. Among all the neighbors of that are marked, consider the one with highest degree and highest priority as . Now it is enough to focus on the neighbors of that are not in since is the highest degree by assumption among .
Thus we can bound the probability of the following event, independent of the nodes in : The probability that at least one of the neighbors of (excluding those in ) is marked is at most
Thus the probability that none of its neighbors are marked is at least . Therefore, probability of both the events happening is . Let be the number of rounds this phase runs. Then probability that for a given node , both the events doesn’t happen is .
Let , then by the union bound, the probability that there is a node that such that its status isn’t determined as well it’s degree doesn’t drop below is at most
Thus, with probability at least , all nodes would have either their status determined or their degree would have dropped below . Similar argument can be applied for subsequent phases, by applying union bound over all the phases, the status of all nodes will be determined with high probability in rounds.
MIS Algorithm 2:
Lets cut the slack and dive into the pseudocode directly.
Pseudocode:
flag = undecided
while(flag is undecided){
if(degree[v] = 0):
flag = true
else
flag = true
Choose a random real number uniformly and independently from [0 , 1]
Let this number be rank[v]. Notify this to the neighbors
if flag = true
if lower-ranked neighbor has flag = true
flag = undecided // Tie-breaking step
if flag = true
flag = true
send message to its neighbors
if there is a neighbor with flag = true
delete the node and all the edges from the network
flag = false
}
Analysis:
Claim:
In one iteration of the while
loop of the algorithm, the expected number of edges deleted is at least half the number of edges in the current graph.
Proof:
Let be the set of edges at the beginning of an iteration. Replace each undirected edge with two directed edges and . Call a node eligible with respect to if is the smallest ranked node among . If is eligible w.r.t , it will be in MIS as it is the lowest ranked node among .
This probability can be derived directly using symmetry, since probability that at least one of the nodes from having the smallest number is , therefore the required probability is at least . This can also be shown using integration.
Let random variable denote the number of directed outgoing edges incident to that get deleted when is eligible w.r.t . . Note that this is an undercounting, since we are not counting the edges removed when is deleted that are outgoing from . But this is to ensure that we don’t overcount the outgoing edges of that will be deleted when we calculate the total over all edges. More precisely, Let denote the total number of directed edges deleted in the iteration. Then
Note that is the lowest ranked among if it is eligible w.r.t . This guarantees that no two neighbors of simultaneously try to delete the outgoing edges of .
By Linearity of Expectation, the expected total number of directed edges deleted is
Since there directed edges, the actual number of edges deleted is at least .
Claim:
The algorithm terminates in iterations with high probability.
Proof:
Let be the number of edges remaining after th iteration. The expected number of edges remaining after iterations is at most . Let . Plugging this in, we get the expected number of edges remaining as
Using Markov’s inequality,
Since , therefore , we can conveniently chose so that the probability that at least one edge will remain after iterations is at most .
Coloring
We already saw an -round algorithm for directed paths. A similar algorithm can be applied for rooted trees as well. Follow the same strategy, but instead each node comparing its color with its parent instead of its successor. By this way, we can maintain the legality each round. We can view this algorithm on rooted trees working on each disjoint path on the tree separately from a node.
coloring on bounded degree graphs:
Lets now see a coloring algorithm for a general bounded degree graph along the lines of the algorithm we saw previously.
Consider a vertex , and let it have (at most ) neighbors: . Initially each node takes it own ID as its color. Let be the bit representation. Let be the bit representation of the index of the first (least significant) bit where differs from for all . Then sets it color to be
where represents the th bit in .
This again can be viewed similar to the algorithm presented for rooted trees, here we have parents at most for each node and we break the symmetry with each parent. This algorithm reduces the number of bits in the colors from to at most in one step. Thus, by applying this reduction times, the number of bits in the colors reduce to at most . Hence the total number of colors in the graph is at most .
Now we reduce this to in rounds. In each round, one color higher than is eliminated. This is straightforward - choose a set of nodes with color , let’s say . Now find the minimum color that is not present among the neighbors of this node and recolor it with that color. Since initially legality was preserved before these rounds, no two adjacent nodes will be recoloring themselves, thus preserving legality. We continue the same process for nodes with color , and so on.
Claim:
Any graph with maximum degree can be colored in rounds using colors. If we assume , then such a graph can be colored in rounds.