Self-Stabilizing Graph Coloring Algorithms
The concept of self-stabilization in distributed systems was introduced by Dijkstra in 1974. A system is said to be self-stabilizing if (1) it can converge in finite time to a legitimate state from any initial state, and (2) when it is in a legitimate state, it remains so henceforth. That is, a self-stabilizing system guarantees to converge to a legitimate state in finite time no matter what initial state it may start with; or, it can recover from transient faults automatically without any outside intervention. This chapter first introduces the self-stabilization concept in distributed computing. Next, it discusses the coloring problem on graphs and its applications in distributed computing. Then, it introduces three self-stabilizing algorithms. The first two are for vertex coloring and edge coloring on planar graphs, respectively. The last one is for edge coloring on bipartite graphs.