Пусть дан граф G, описываемый двумя множествами: U - множество вершин и V - множество ребер (U = {u1, u2, ..., un}, V = {(ui, uj)}i,j∈[1, n], i∈j). Раскраска графа - это функция f, преобразующая множество вершин U в отрезок натурального ряда {1, 2, 3, ..., K}: f: U → {1, 2, 3, ..., K}. Если при этом выполняется условие, что для любых (ui, uj)∈V, f(ui) ≠ f(uj), то раскраска называется правильной, а граф G - K-раскрашиваемым [1]. Если K - минимальное число, при котором граф является K-раскрашиваемым, то K называется хроматическим числом графа. Одним из способов решения задачи нахождения хроматического числа графа являются генетические алгоритмы.
В работе [2] представлены результаты исследования совмещения различных способов кодирования особей в одном генетическом алгоритме. Один из рассмотренных способов кодирования - с помощью промежуточного представления особи. Для задачи нахождения хроматического числа графа промежуточным представлением является гамильтонов цикл, который представляет собой порядок обхода графа, подающийся на вход «жадному» алгоритму. В этом случае под фитнесс-функцией можно понимать непосредственно «жадный» алгоритм. В работе рассматриваются два «жадных» алгоритма - классический и измененный.
Пусть дан граф G размерности n и перестановка s = {p1, p2, ..., pn} из n элементов. Исходя из определения перестановки: (∀i: pi ∈ [1; n]) & (∀ i, j: pi ≠ pj). Таким образом, перестановкой можно представлять порядок обхода графа. Будем обходить граф в соответствии с перестановкой s.
В классическом «жадном» алгоритме для каждой новой вершины по порядку проверяем цвета. Красим вершину в первый же подходящий цвет. Если ни в один из наличествующих цветов покрасить вершину нельзя, то добавляем еще один цвет, и красим вершину в него.
В измененном «жадном» алгоритме вершина с номером p1 красится в первый цвет. Далее для каждой последующей вершины pi проверяется, нельзя ли ее покрасить в тот же цвет, что и предыдущую вершину. Если это можно сделать, то вершина красится в тот же цвет, что и предыдущая. Иначе ищется минимальный цвет, несмежный вершине. Если такой цвет найден, то вершина красится в этот цвет, иначе вершина красится в новый цвет.
Предполагалось, что использование различных «жадных» алгоритмов должно повысить вероятность получения правильного ответа.
В данной работе в островной модели различным островам приписываются генетические алгоритмы с различными фитнесс-функциями. При тестировании использовалось 6 островов, на трех из которых выполнялись генетические алгоритмы с первым «жадным» алгоритмом в качестве фитнесс-функции, на других трех - со вторым. Для сравнения тесты были проведены на шестиостровной модели, где все островы использовали первый алгоритм, и на шестиостровной модели, где все островы использовали второй алгоритм. Отдельно генетические алгоритмы были протестированы в виде серии запусков.
Тесты проводились на 16 графах с различной размерностью и различными хроматическими числами. Максимальное число вершин графа, использующихся в тестировании, - 100, максимальное хроматическое число - 10.
Каждая из островных моделей запускалась по 34 раза для каждого графа, серии запусков содержали по 102 запуска.
Из результатов тестирований, проведенных на данный момент, можно сделать вывод, что использование различных фитнесс-функций на различных островах в среднем не улучшает решение по сравнению с островной моделью, использующей один из «жадных» алгоритмов. Тем не менее, большинство тестов делятся на две группы: где первый алгоритм работает лучше совмещенного, а совмещенный работает лучше второго; и где наоборот - второй работает лучше совмещенного, а совмещенный алгоритм работает лучше первого.
Список литература
- Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. - М.: Мир, 1982. - 416 с.
- Данилова Е.Ю. Комбинация генетических алгоритмов для решения NP-полных задач на примере задачи нахождения хроматического числа графа // Современные проблемы математики и ее прикладные аспекты: сборник статей (по материалам научно-практической конференции молодых ученых. Пермь, 12 марта 2010 г.). - Пермь: ПГУ, 2010. - С. 36-41.