О генерации неизоморфных вершинных k-раскрасок

Теорема 5. Число дополнительных дуг МР-1Р ориентации цепи Pn, имеющей концы одинакового типа, удовлетворяет следующим условиям:

n~\

4+1 ^ ec(Pn) ^ n + 1. ЛИТЕРАТУРА

1. Hayes J. P. A graph model for fault-tolerant computing system // IEEE Trans. Comput. 1976. V.C25. No. 9. P. 875-884.

2. Harary F. and Hayes J. P. Edge fault tolerance in graphs // Networks. 1993. V. 23. P. 135-142.

3. Абросимов М. Б. Графовые модели отказоустойчивости. Саратов : Изд-во Сарат. ун-та,

2012. 192 с.

4. Абросимов М. Б. О сложности некоторых задач, связанных с расширениями графов // Матем. заметки. 2010. Т. 88. Вып. 5. С. 643-650.

5. Абросимов М. Б., Моденова О. В. Характеризация орграфов с малым числом дополнительных дуг минимального вершинного 1-расширения // Изв. Сарат. ун-та. Нов. сер.

2013. Т. 13. Сер. Математика. Механика. Информатика. Вып. 2. Ч.2. С. 3-9.

6. Абросимов М. Б., Моденова О. В. Характеризация орграфов с тремя дополнительными дугами в минимальном вершинном 1-расширении // Прикладная дискретная математика. 2013. №3. С. 68-75.

УДК 519.17 Б01 10.17223/2226308Х/10/53

О ГЕНЕРАЦИИ НЕИЗОМОРФНЫХ ВЕРШИННЫХ к-РАСКРАСОК

М. Б. Абросимов, П. В. Разумовский

Исследуется генерация всех неизоморфных вершинных и рёберных к-раскрасок заданного графа. Предлагается алгоритм решения задачи построения неизоморфных вершинных к-раскрасок методом Рида — Фараджева без проверки на изоморфизм. Задача построения рёберных к-раскрасок сводится к задаче построения вершинных к-раскрасок.

Ключевые слова: граф, раскраска, изоморфизм, вершинная раскраска, рёберная раскраска.

Введение

Определение 1. Пусть С = (V, а) —граф, к € N. Функция вида f : V ^ ^ {1,..., к} называется вершинной к-раскраской графа С, f (у), V € V, — цветом вершины V. При этом граф С называется графом с цветными вершинами, или цветным графом. Для таких графов вводится обозначение С = (V, а, f).

Аналогичным образом определяется рёберная к-раскраска, а граф называется графом с цветными рёбрами.

Определение 2. Вершинная к-раскраска называется правильной, а граф называется к-раскрашиваемым, если вершины графа можно раскрасить в к цветов так, что смежные вершины будут раскрашены в разные цвета. Аналогичным образом определяется правильная рёберная к-раскраска. В этом случае граф называется к-рёберно раскрашиваемым.

Обычно, когда встречаются задачи, связанные с раскраской графов, имеется в виду именно правильная раскраска графа. Однако встречаются и задачи, в которых вер-

Прикладная теория кодирования, автоматов и графов

137

шины графа имеют несколько различных типов (цветов), причем смежные вершины могут быть одного типа [1]. Многие определения легко переносятся на цветные графы.

Определение 3 [2]. Пусть Б — множество, а ^ = {$!,..., — семейство его различных непустых подмножеств, объединение которых дает Б. Граф пересечений ) семейства ^ определяется множеством V)) = ^ и условием «<Бг и Б^ смежны тогда и только тогда, когда I = ] Л Б г П Б) = 0».

Определение 4 [2]. Рассмотрим множество X всех рёбер графа С как семейство двухвершинных подмножеств множества вершин V(С). Рёберным графом Ь(С) графа С называется граф пересечений П(Х). Таким образом, вершинами графа Ь(С) являются рёбра графа С и две вершины графа Ь(С) смежны тогда и только тогда, когда смежны соответствующие им рёбра графа.

Определение 5. Изоморфизмом цветных графов С1 = (У1,а1,/1) и С2 = ("2, а2, /2) называется изоморфизм графов С1 = ("1, а1) и С2 = ("2, а2), который сохраняет цвета. То есть это такая биекция ф : V ^ "2, что выполняются два условия:

1. (и, у) Е а1 ^ (/(и), /(у)) Е а2 для любой пары вершин и, V Е "1;

2. /1(у) = /2(ф(у)) для любой вершины V Е V1.

Изоморфизм цветных графов также называется цветным изоморфизмом. Аналогично вводится понятие изоморфизма графов с цветными рёбрами.

Определение 6. Автоморфизм (цветной) графа — изоморфизм (цветной) графа на себя. Множество всех (цветных) автоморфизмов, включая тождественный, образует группу автоморфизмов графа. Две вершины называются подобными, если существует автоморфизм, который отображает одну вершину на другую. Множество подобных вершин называется орбитой.

1. Задача генерации неизоморфных к-раскрасок

На практике часто возникает задача генерации всех вершинных раскрасок заданного графа. Эффективного решения эта задача не имеет. В данной работе задача генерации вершинных раскрасок решена методом Рида — Фараджева. Этот метод позволяет избавиться от проверки графов на изоморфизм — вместо этого производится проверка каноничности раскраски.

Задачу построения рёберных раскрасок графа С можно свести к задаче генерации вершинных раскрасок путем построения рёберного графа Ь(С).

Если графы С1 и С2 изоморфны, то графы Ь(С1) и Ь(С2) тоже изоморфны. Х. Уитни [2] установил, что обратное справедливо почти всегда, и указал при этом единственную пару различных графов К3 и К13, имеющих один и тот же рёберный граф. Построив граф Ь(С) и рассмотрев частные случаи, описанные Уитни, можно построить неизоморфные рёберные раскраски.

2. Вершинные к-раскраски графа

В алгоритме 1 построения всех неизоморфных вершинных к-раскрасок графа в качестве вспомогательного инструмента для построения разбиений, вычисления канонической нумерации и орбит используется программный пакет паи1у [3], реализованный МакКеем [4].

Алгоритм 1. Построение всех неизоморфных вершинных k-раскрасок графа

Вход: граф G = (V, E) и количество цветов k : 1 ^ k ^ | V |

1: При помощи программы nauty строится каноническая нумерация [4] lab графа, вычисляются орбиты orb0.

2: Создаётся вектор раскраски col, в него добавляется цвет 1 для первой вершины; colsize := 1 —размер col; mc := 1 — максимальный по значению цвет, находящийся в col; colcnt := 0 — количество найденных раскрасок.

3: Перебираются все цвета от 1 до mc + 1, очередной цвет присваивается cur.

4: Для cur перебираются элементы i = 1,..., colsize раскраски col.

Пусть col [i] > cur и orbr [i] = orbr [colsize + 1], где orbr — орбиты, полученные разбиением вершин раскраской r = (c\, . . . , ci-\) —первые (i — 1) цвета col. Тогда данная раскраска объявляется изоморфной, отсекается, и cur присваивается следующий цвет.

5: cur добавляется в col.

6: Вычисляется множество орбит orbco¡, полученных разбиением вершин графа раскраской col.

7: Если cur > mc и mc = k, то mc := cur.

8: Если colsize < |V|, то

9: colsize := colsize + 1 и переход на шаг 3,

10: иначе

11: Если colsize = |V| и mc = k, то

производится дополнительная проверка раскраски: для каждой вершины i проверяется выполнение условия

Vj e{1,...,i — 1} (colj > coli Л orbcolj_! (j) = orbcolj_! (i)) .

12: Если условие выполняется, то

13: раскраска считается изоморфной и не включается в ответ. Иначе необходимо вывести новую раскраску c учётом lab, увеличить colcnt на единицу и завершить перебор для данной раскраски.

Выход: colcnt

В шаге 11 производится дополнительная проверка раскраски с учётом изоморфизма цветов. Если изоморфизм раскрасок рассматривается как изоморфизм с точностью до цветов, то этот шаг алгоритма необходимо опустить.

Полученные раскраски удовлетворяют условию лексикографической минимальности. Проверка на изоморфизм в алгоритме не используется, осуществляется только проверка каноничности кода полученной раскраски.

ЛИТЕРАТУРА

1. Абросимов М. Б. Графовые модели отказоустойчивости. Саратов: Изд-во Сарат. ун-та, 2012. 192 с.

2. Харари Ф. Теория графов. М.: Мир, 1973. 296с.

3. http://users .cecs.anu.edu.au/bdm/nauty/ — Nauty and Traces: Graph Canonical Labeling and Automorphism Group Computation. 2016.

4. McKay B. D. and Piperno A. Practical graph isomorphism //J. Symbolic Computation. 2013. V.2. No. 60. P. 94-112.