In recent years a great deal of attention has been paid to algorithms for coloring graphs in the literature on programming and cybernetics. This is due to the close connection of the coloring problem with a number of important applied problems, including, for example, the compilation of an optimal schedule [1-3], minimization of the memory of programs [4], minimization of the number of processors in distributed parallel calculations, and a number of others, it is known that in the general case the problem of minimal regularity of a graph coloring is related to the number of NP-complete problems [5, 6] and consequently is algorithmically "difficult." All known algorithms giving an exactly minimal coloring are based on rough sorting and have an exponential time estimate, which makes them unsuitable in practice even for small graphs. The ~P-completeness of the problem of minimal coloring makes the existence of universal polynomial algorithms for minimal coloring doubtful. In connection with this there arose a large number of approximate heuristic algorithms which are sufficiently effective in program realization, but do not guarantee a minimal coloring. Moreover, as shown in [6], if in the class of all graphs there does not exist a polynomial algorithm for finding a minimal regular coloring, then the following assertion is true: for any polynomial algorithm for coloring there exists a graph in which the number of colors obtained by this algorithm is at least twice as large as the chromatic number. In other words, for any "good" heuristic coloring algorithm there exist "bad" graphs. One can find surveys on heuristic algorithms in [7, 8]. Basically they considered versions of successive colorings differing in the rules for choosing vertices and the degree of admissible recoloring.
[1]
Daniel Brélaz,et al.
New methods to color the vertices of a graph
,
1979,
CACM.
[2]
David S. Johnson,et al.
The Complexity of Near-Optimal Graph Coloring
,
1976,
J. ACM.
[3]
D. J. A. Welsh,et al.
An upper bound for the chromatic number of a graph and its application to timetabling problems
,
1967,
Comput. J..
[4]
Yu. V. Kapitonova,et al.
Theory of data structures and synchronous parallel computations
,
1976
.
[5]
A. J. Cole,et al.
The preparation of examination time-tables using a small-store computer
,
1964,
Comput. J..
[6]
David C. Wood,et al.
A technique for colouring a graph applicable to large scale timetabling problems
,
1969,
Computer/law journal.
[7]
A. Anisimov.
Locally finite properties of data structures and their computation
,
1983
.
[8]
Robert E. Tarjan,et al.
Depth-First Search and Linear Graph Algorithms
,
1972,
SIAM J. Comput..