Algorithms of solving the “minimax” weighted graph coloring problem are considered and compared. The mathematical formulation of the problem is presented; the solution optimality criteria are stated. The exact algorithm that always finds the minimum count of colors through Maghout method and then finds the “minimax” option using 3 versions of the critical path method is described. Three fast heuristic algorithms are described: the algorithm that works with the list of vertexes arranged by the local degrees; the algorithm based on the removal of the points and adjacent edges; the algorithm using the vertex saturation rate. All algorithms are considered with examples. To evaluate the algorithm efficiency, a computational experiment on several hundred of randomly generated graphs is set up. The algorithms were compared by the operating speed and the proximity of the result to the "minimax" version of coloring.
weighted graphs, weighted graph coloring, scheduling theory.
УДК 681.3-181.48
Сравнительный анализ алгоритмов раскраски обыкновенного взвешенного графа[1]
А. С. Мерзленко, В. Г. Кобак
Рассматриваются и сравниваются алгоритмы решения задачи поиска «минимаксной» раскраски взвешенного по вершинам графа. Приведена математическая постановка задачи, указаны критерии оптимальности решения. Описан точный алгоритм, всегда находящий минимальные по количеству цветов раскраски методом Магу и затем отыскивающий среди них «минимаксный» вариант с помощью 3-х модификаций алгоритма «критического пути». Описаны три быстрых эвристических алгоритма: алгоритм, работающий с упорядоченным по локальным степеням списком вершин; алгоритм, основанный на удалении вершин и смежных ребер; алгоритм, использующий степень насыщения вершин. Все алгоритмы рассмотрены с примерами. Для оценки эффективности алгоритмов поставлен вычислительный эксперимент на нескольких сотнях случайно сгенерированных графов. Алгоритмы сравнивались по скорости работы и близости результата к «минимаксному» варианту раскраски.
Ключевые слова: взвешенные графы, раскраска взвешенного графа, теория расписаний.
Введение. Задача раскраски взвешенного графа возникает в том случае, когда в вершинах графа необходимо выполнить некоторые работы различной целочисленной длительности, причём в смежных вершинах работы не могут выполняться одновременно. Хорошим примером этой задачи может служить
1. Karp, R. М. Svodimost kombinatornykh problem. [Reducibility of combinatorial problems.] Kiberneticheskiy sbornik, iss. 12. Moscow: Mir, 1975, pp. 1638 (in Russian).
2. Garey, М., Johnson, D. Vychislitelnyye mashiny i trudnoreshayemyye zadachi. [Computers and Intractibility.] Moscow: Mir, 1982, 416 p. (in Russian).
3. Kobak, V.G., Bukin, V.V. Algoritm raskraski vzveshennogo grafa. [Algorithm of weighted graph coloring.] Izvestiya SKNTs VSh. Tekhnicheskiye nauki. 1998, no. 2 (in Russian).
4. Kauffman, А. Vvedeniye v prikladnuyu kombinatoriku. [Introduction to applied combinatorics.] Moscow: Nauka, 1975, 480 p. (in Russian).
5. Kobak, V.G. Modifikatsiya algoritma obsluzhivaniya «po kriticheskomu puti» dlya sistem s izbiratelnymi svoystvami priborov. [Operation algorithm modification “through the critical path” for systems with specific equipment properties.] Mikroprotsessornyye i tsifrovyye sistemy, 2003, no. 2(6), pp. 156–162 (in Russian).
6. Kureychik, V.M., yemelyanov, V.V., Kureychik, V.V. Teoriya i praktika evolyutsionnogo modelirovaniya. [Theory and practice of evolutionary modeling.] Moscow: FIZMATLIT, 2003, 432 p. (in Russian).
7. Christofides, N. Teoriya grafov. Algoritmicheskiy podkhod. [Graph theory. An algorithmic approach.] Moscow: Mir, 1988, 432 p. (in Russian).
8. Koynov, R.V., Lisitsyna, L.S. Praktikum po diskretnoy matematike. [Workshop on discrete mathematics.] Saint Petersburg: Izdatelstvo SPbGU ITMO, 2004, 78 p. (in Russian).
9. Yevstigneyev, V.A. Primeneniye teorii grafov v programmirovanii. [Application of graph theory in programming.] Moscow: Nauka, 1985, 352 p. (in Russian).
10. Welsh, D. J. A., Powell, M.B. An upper bound for the chromatic number of a graph and its application to timetabling problems. The Computer Journal, 1967, no. 10(1), pp. 8586.