In this paper we study the number of vertex recolorings that an algorithm needs to perform in order to maintain a proper coloring of a graph under insertion and deletion of vertices and edges. We present two algorithms that achieve different trade-offs between the number of recolorings and the number of colors used. For any d>0, the first algorithm maintains a proper O(mathcal {C} dN ^{1/d})-coloring while recoloring at most O(d) vertices per update, where mathcal {C} and N are the maximum chromatic number and maximum number of vertices, respectively. The second algorithm reverses the trade-off, maintaining an O(mathcal {C} d)-coloring with O(dN ^{1/d}) recolorings per update. The two converge when d = log N , maintaining an O(mathcal {C} log N)-coloring with O(log N) recolorings per update. We also present a lower bound, showing that any algorithm that maintains a c-coloring of a 2-colorable graph on N vertices must recolor at least varOmega (N ^frac{2}{c(c-1)}) vertices per update, for any constant c ge 2.
Read full abstract