Научная статья на тему 'НАХОЖДЕНИЕ ХРОМАТИЧЕСКОГО ЧИСЛА ГРАФА С ПОМОЩЬЮ МЕТОДОВ ГЛУБОКОГО ОБУЧЕНИЯ'

НАХОЖДЕНИЕ ХРОМАТИЧЕСКОГО ЧИСЛА ГРАФА С ПОМОЩЬЮ МЕТОДОВ ГЛУБОКОГО ОБУЧЕНИЯ Текст научной статьи по специальности «Математика»

CC BY
170
19
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
нейронная сеть / глубокое обучение / хроматическое число графа / комбинаторная оптимизация / neural network / deep learning / chromatic number / combinatorial optimization

Аннотация научной статьи по математике, автор научной работы — Холькин Сергей Денисович, Филимонов Андрей Викторович

Алгоритмы глубокого обучения сильно развились в последнее десятилетие и стали стандартом во многих сферах. Притом количество архитектур глубокого обучения растет и существуют модели, работающие со структурой графа Graph Neural Network или GNN, которые показали свою эффективность в различных доменах. Также глубокое обучение применяют и для решения задач комбинаторной оптимизации. Поскольку многие задачи комбинаторной оптимизации изначально формулируются в терминах теории графов или же могут быть конвертированы в подобное представление, то архитектура GNN может стать эффективным методом для их приблизительного решения. В этой работе рассматривается задача о нахождении хроматического числа графа и ее приблизительное решение с помощью GNN. Вершины и цвета, в которые предположительно можно раскрасить граф, задаются случайными эмбеддингами, далее GNN, с учетом структуры графа, преобразовывает все эмбеддинги и производит на их основе бинарную классификацию, может граф быть раскрашен в данное количество цветов или нет. Данные для обучения сети являются сгенерированными и представляют собой сложные случаи раскраски. Также для тестирования обобщенности приведены замеры на данных, сильно отличающихся от тренировочных. Натренированная на синтетических данных GNN сравнивается по точности и времени исполнения с эвристиками: tabucol и жадный алгоритм.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

FINDING GRAPH CHROMATIC NUMBER THROUGH DEEP LEARNING

Deep learning in recent years has become state-of-the-art type of algorithms in various spheres such as computer vision and natural language processing. Number of deep learning architectures is growing and so is field of processing graphs through these architectures. Graph Neural Network (GNN) is deep learning architecture that have an ability to reflect graph structure and learn various patterns that are effectively used in graph related domains such as drug discovery or traffic forecasting. GNN embeds vertices as vectors that reflect vertex related features that are updated by function that depends on vertex neighbors, in some ways that can be interpreted as message passing between vertices, also update function is permutation invariant what gives GNN unique ability not to depend on vertices order or vertices number, graph of any size can be fed into particular GNN. Many studies on applying deep learning technics for combinatorial optimization is underway and since many combinatorial problems either originally represented in terms of graph theory or can be converted to such, GNN seems to be a natural choice for finding their approximate solutions. Recent studies confirm this by showing great results in solving Travelling Salesman Problem or Boolean Satisfiability Problem. In this paper we train GNN to find chromatic number of graph or to solve decision version of Graph Coloring Problem. Neural Network is trained in supervised manner as a binary classifier, given graph and number of colors model should return a probability that graph can or cannot be colored by given number of colors. Should be noticed that GNN finds chromatic number but doesn’t find vertices coloring itself, hence GNN can predict lower chromatic. Model architecture reflect color-vertex relationship by assigning vector embedding to each color and passing them into update embeddings function so they are treated like vertices embeddings. GNN is built in a recurrent manner with adjustable number of timesteps that reflect depth of message passing between vertices. At every timestep of recurrencv model updates vertex and colors embeddings through aggregating information from its neighbors and/or colors through recurrent unit that stands as an update function (Long Short-Term Memory network with LaverNorm in our case). For additional expressivity MLP layers were added before recurrent unit at each timestep. After embedding updates vertices embeddings are being fed into classifier MLP to get a probability that graph is able to be colored by given number of colors. For training GNN in supervised manner labeled data is needed. Natural datasets related to graph coloring are unsuitable for training and validation through heterogeneity and small size. Data was generated following phase transition paradigm, for each graph instance in dataset we have a paired one that differs only by one edge but have higher chromatic number and that pair reflects hard to color pair of graphs. Because of this data generation paradigm GNN optimization objective becomes more difficult to reach and hopefully makes GNN more knowledgeable. Two datasets were generated CHROM_40_60 and CHROM_35_45 with 40 to 60 or 35 to 45 number of vertices in graph instance respectively and with 3 to 8 chromatic numbers both. Instances of CHROM_35_45 dataset are supposed to be easier to color than CHROM_40_60 ones. GNN was trained using that data and compared to heuristics: tabucol and greedy. Percentage of correctly predicted graphs chromatic numbers were taken as a comparison metric. Testing on CHROM_40_60 and CHROM_35_45 datasets showed that GNN have slightly better accuracy metric than tabucol: GNN correctly predict 69 % and 77 % of graph chromatic numbers, when tabucol correctly predict 66 % and 76 % of graph chromatic numbers, greedy is far behind. To test GNN generalization ability cross dataset experiments were performed, GNN trained on CHROM_40_60 dataset is validated on CHROM_35_45 dataset and vice versa. These experiments show that model trained on CHROM_40_60 harder instances show decent accuracy on CHROM_35_45 easier instances while model trained on CHROM_35_45 easier instances perform weaker on CHROM_40_60 hard instances but still keeps some accuracy hence we can say that model has an ability to generalize to graphs with other number of vertices. Testing on natural instances of COLOR02/03/04 dataset which instances differ a lot from generated train/test data was performed. GNN trained on CHROM_40_60 shows accuracy similar to tabucol and much better than greedy. GNN behaves unstable on instances with chromatic number higher that was seen in training dataset. We can say that GNN have an ability to generalize on graphs from other distributions with similar chromatic number and doesn’t have an ability to generalize on graphs with unseen chromatic number. Referring to computational complexity execution time measurements show that GNN is approximately 100 times faster than tabucol and 30 times slower than greedy. There are problems with data generation because such algo of data generation have exponential asymptotics and hence data with number of vertices higher than 60 and chromatic number higher than 8 takes very long time that limits GNN train possibilities and performance on higher than 8 chromatic numbers. Addressing further work GNN model can be changed to more expressive, or manner of training could be changed to semi-supervised or supervised/semi-supervised hybrid frameworks that could lead not only to finding chromatic number but to finding vertex coloring itself. In total GNN was trained in supervised manner to find chromatic number of graph so that it have an ability to generalize on graphs with various sizes and shows accuracy on presented data similar to tabucol and at the same is much faster.

Текст научной работы на тему «НАХОЖДЕНИЕ ХРОМАТИЧЕСКОГО ЧИСЛА ГРАФА С ПОМОЩЬЮ МЕТОДОВ ГЛУБОКОГО ОБУЧЕНИЯ»

FINDING GRAPH CHROMATIC NUMBER THROUGH DEEP

LEARNING

S. Kholkin, A. Filimonov

National Research Lobaehevsky State University of Xizhny Novgorod 603950, Xizhny Novgorod, Russia

DOI: 10.24412/2073-0667-2022-1-42-54

Deep learning in recent years has become state-of-the-art type of algorithms in various spheres such as computer vision and natural language processing. Number of deep learning architectures is growing and so is field of processing graphs through these architectures. Graph Neural Network (GNN) is deep learning architecture that have an ability to reflect graph structure and learn various patterns that are effectively used in graph related domains such as drug discovery or traffic forecasting. GNN embeds vertices as vectors that reflect vertex related features that are updated by function that depends on vertex neighbors, in some ways that can be interpreted as message passing between vertices, also update function is permutation invariant what gives GNN unique ability not to depend on vertices order or vertices number, graph of any size can be fed into particular GNN. Many studies on applying deep learning technics for combinatorial optimization is underway and since many combinatorial problems either originally represented in terms of graph theory or can be converted to such, GNN seems to be a natural choice for finding their approximate solutions. Recent studies confirm this by showing great results in solving Travelling Salesman Problem or Boolean Satisfiability Problem. In this paper we train GNN to find chromatic number of graph or to solve decision version of Graph Coloring Problem. Neural Network is trained in supervised manner as a binary classifier, given graph and number of colors model should return a probability that graph can or cannot be colored by given number of colors. Should be noticed that GNN finds chromatic number but doesn't find vertices coloring itself, hence GNN can predict lower chromatic. Model architecture reflect color-vertex relationship by assigning vector embedding to each color and passing them into update embeddings function so they are treated like vertices embeddings. GNN is built in a recurrent manner with adjustable number of timesteps that reflect depth of message passing between vertices. At every timestep of recurrency model updates vertex and colors embeddings through aggregating information from its neighbors and/or colors through recurrent unit that stands as an update function (Long Short-Term Memory network with Layer Norm in our case). For additional expressivity MLP layers were added before recurrent unit at each timestep. After embedding updates vertices embeddings are being fed into classifier MLP to get a probability that graph is able to be colored by given number of colors. For training GNN in supervised manner labeled data is needed. Natural datasets related to graph coloring are unsuitable for training and validation through heterogeneity and small size. Data was generated following phase transition paradigm, for each graph instance in dataset we have a paired one that differs only by one edge but have higher chromatic number and that pair reflects hard to color pair of graphs. Because of this data generation paradigm GNN optimization objective becomes more difficult to reach and hopefully makes GNN more knowledgeable. Two datasets were generated CHRC)M_40_60 and CHROM_35_45 with 40 to 60 or 35 to 45 number of vertices in graph instance respectively and with 3 to 8 chromatic numbers both. Instances of CHROM_35_45 dataset are supposed to be easier to color than CHROM_40_60 ones. GNN was trained using that data and compared to heuristics:

© S. Kholkin, A. Filimonov, 2022

tabucol and greedy. Percentage of correctly predicted graphs chromatic numbers were taken as a comparison metric. Testing on CHRC)M_40_60 and CHROM_35_45 datasets showed that GNN have slightly better accuracy metric than tabucol: GNN correctly predict 69 % and 77 % of graph chromatic numbers, when tabucol correctly predict 66 % and 76 % of graph chromatic numbers, greedy is far behind. To test GNN generalization ability cross dataset experiments were performed, GNN trained on CHRC)M_40_60 dataset is validated on CHROM_35_45 dataset and vice versa. These experiments show that model trained on CHRC)M_40_60 harder instances show decent accuracy on CHROM_35_45 easier instances while model trained on CHROM_35_45 easier instances perform weaker on CHRC)M_40_60 hard instances but still keeps some accuracy hence we can say that model has an ability to generalize to graphs with other number of vertices. Testing on natural instances of COLOR02/03/04 dataset which instances differ a lot from generated train/test data was performed. GNN trained on CHRC)M_40_60 shows accuracy similar to tabucol and much better than greedy. GNN behaves unstable on instances with chromatic number higher that was seen in training dataset. We can say that GNN have an ability to generalize on graphs from other distributions with similar chromatic number and doesn't have an ability to generalize on graphs with unseen chromatic number. Referring to computational complexity execution time measurements show that GNN is approximately 100 times faster than tabucol and 30 times slower than greedy. There are problems with data generation because such algo of data generation have exponential asvmptotics and hence data with number of vertices higher than 60 and chromatic number higher than 8 takes very long time that limits GNN train possibilities and performance on higher than 8 chromatic numbers. Addressing further work GNN model can be changed to more expressive, or manner of training could be changed to semi-supervised or supervised/semi-supervised hybrid frameworks that could lead not only to finding chromatic number but to finding vertex coloring itself. In total GNN was trained in supervised manner to find chromatic number of graph so that it have an ability to generalize on graphs with various sizes and shows accuracy on presented data similar to tabucol and at the same is much faster.

Key words: neural network, deep learning, chromatic number, combinatorial optimization.

References

1. Silver D., Schrittwieser J., Simonvan K., Antonoglou I., Huang A., Guez A. et al. Mastering the game of go without human knowledge // Nature. 2017. Vol. 550, N 7676, P. 354.

2. Selsam D., Lamm M., Bunz B., Liang P., de Moura L., and Dill D. Learning a sat solver from single-bit supervision, arXiv preprint arXiv:1802.03685, 2018.

3. Chaitanva K Joshi, Thomas Laurent, and Xavier Bresson. 2019. An efficient graph convolutional network technique for the travelling salesman problem. arXiv preprint arXiv:1906.01227 (2019).

4. Scarselli F., Gori M., Tsoi A., Hagenbuchner M., and Monfardini G. The graph neural network model // IEEE Tran. Neural Networks. 2009. Vol. 20, N 1, P. 61-80.

5. Barnier N. and Brisset P. Graph coloring for air traffic flow management // Annals of Operations Research. Aug 2004. Vol. 130, N 1, P. 163-178.

6. Thevenin S., Zufferev N., and Potvin J. Graph multi-coloring for a job scheduling application // Discrete App. Math., 2018. Vol. 234, P. 218-235.

7. Chen W., Lueh G., Ashar P., Chen K., and Cheng B. Register allocation for intel processor graphics. In CGO 2018, P. 352-364. [Electron. Res.]: http://doi.acm.org/10.1145/3168806.

8. Henrique Lemos, Marcelo Prates, Pedro Avelar, and Luis Lamb. Graph colouring meets deep learning: Effective graph neural network models for combinatorial problems //In IEEE International Conference on Tools with Artificial Intelligence (ICTAI). 2019. P. 879-885.

9. [Electron. Res.]: https://mat.tepper.cmu.edu/C0L0R02/.

10. Sepp Hochreiter, Jurgen Schmidhuber. LONG SHORT-TERM MEMORY // Neural Computation. 1997. N 9 8. P. 1735-1780, [Electron. Res.]: https://www.bioinf.jku.at/ publications/older/2604.pdf.

11. Jimmy Lei Ba, Jamie Ryan Kiros, and Geoffrey E Hinton. 2016. Layer normalization. arXiv, abs/1607.064*50.

12. Hertz A. and de Werra D. Using tabu search techniques for graph coloring // Computing. Dec. 1987. Vol. 39, N 4, P. 345-351. [Electron. Res.]: http://dx.doi.org/10.1007/BF02239976.

НАХОЖДЕНИЕ ХРОМАТИЧЕСКОГО ЧИСЛА ГРАФА С ПОМОЩЬЮ МЕТОДОВ ГЛУБОКОГО ОБУЧЕНИЯ

С.Д. Ходькиы, A.B. Филимонов

Нижегородский государственный университет им. Н. И. Лобачевского 603950, Нижний Новгород, Россия

УДК 004.855.5

DOI: 10.24412/2073-0667-2022-1-42-54

Алгоритмы глубоких) обучения сильно развились в последнее десятилетие и стали стандартом во многих сферах. Притом количество архитектур глубокого обучения растет и существуют модели, работающие со структурой графа Graph Neural Network или GNN, которые показали свою эффективность в различных доменах. Также глубокое обучение применяют и для решения задач комбинаторной оптимизации. Поскольку многие задачи комбинаторной оптимизации изначально формулируются в терминах теории графов или же могут быть конвертированы в подобное представление, то архитектура GNN может стать эффективным методом для их приблизительного решения. В этой работе рассматривается задача о нахождении хроматических) числа графа и ее приблизительное решение с помощью GNN. Вершины и цвета, в которые предположительно можно раскрасить граф, задаются случайными эмбеддингами, далее GNN, с учетом структуры графа, преобразовывает все эмбеддинги и производит на их основе бинарную классификацию, может граф быть раскрашен в данное количество цветов или нет. Данные для обучения сети являются сгенерированными и представляют собой сложные случаи раскраски. Также для тестирования обобщенности приведены замеры на данных, сильно отличающихся от тренировочных. Натренированная на синтетических данных GNN сравнивается но точности и времени исполнения с эвристиками: tabucol и жадный алгоритм.

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

Введение. В последнее время стаи активно развиваться класс алгоритмов приблизительного решения задач, основанных на машинном обучении (Machine Learning), а также подкласс самых тяжеловесных из них — алгоритмов на основе глубокого обучения (Deep Learning). Они уже показали множество удивительных результатов, например глубокая нейронная сеть AlphaGo |1| смогла победить профессионала мирового уровня в игру Го, также глубокие нейронные сети показали большие успехи в компьютерном зрении и обработке естественного языка. Есть также попытки применения глубоких нейронных сетей дня комбинаторной оптимизации, к примеру дня решения задачи о выполнении булечзых форму.:: (SAT) |2| или дня решения задачи о коммивояжере (TSP) |3|. Также недавно начали очень активно развиваться графовые нейронные сети GNN |4|, которые работают со структурой графа, что открывает новые возможности в комбинаторной оптимизации с помощью глубокого обучения.

В этой работе будет рассмотрена задача о нахождении хроматического числа графа. У этой задачи есть применение, например, при построении расписания в аэропортах |5|, при

(с) С.Д. Холькин, A.B. Филимонов, 2022

работе планировщика задач [6] или при распределении регистров [7]. Однако сложность этой задачи имеет экспоненциальную асимптотику, поэтому эта задача преимущественно решается приблизительно, используя различные эвристики с полиномиальной асимптотикой.

Архитектура представленной нейронной сети основывается на [8], проверяется на синтетически егененированных наборах примеров раскраски и ограниченном количестве примеров раскраски из Со1ог02/03/04 датасета [9], и, наконец, сравнивается с другими эвристиками, которые также решают задачу GCP,

1. Формальная постановка задачи. Найти такое минимальное C\C е N V C > 0 для графа G(V,E), что

3/ : v ^ c, v е V, c е {1, 2..C} , —3 i, j vi,vj ^ c, e ij е E.

В терминологии машинного обучения: дан граф G(V, Е) и, перебирая С от 2 до \V\, нужно выбрать минимальное количество цветов С, которое будет классифицировано моделью как возможное для С-раскраски G(V, Е), При этом сама раскраска, то есть отображение V ^{1, 2,... ,C}, не находится,

2. Модель. 2.1. GNN. GNN — это архитектура нейронной сети, которая работает над графом G(V, Е), где у каждой вершины есть векторное представление Em(Vi) е Rd \ Wi е V, которое итерационно обновляется, используя информацию о структуре графа, Обновление зависит от векторного представления самой вершины, а также от векторных представлений всех ее соседей. Поскольку существует множество изоморфных графов, то обновление Em(Vi) должно для всех изоморфизмов быть одинаковым, и следующая далее функция обновления это обеспечивает.

Функция обновления:

Em (Vi)t+1 = Update (Em (V f,Mvv x Em (V )t) \ Wi е V,

где Em(Vi)t е Rd — векторное представление вершины Vi в момент t, Em(V)t е RIVlxd — векторные представления всех вершин в момент t, Mvv — матрица емежноетей графа G(V,E).

Также стоит заметить, что приведенная выше функция обновления не зависит от количества вершин в графе, то есть одна и та же конкретная GNN может работать на графах любого размера, что и будет далее использовано в экспериментах,

В этой работе будет использоваться несколько модифицированная версия GNN, Чтобы имитировать зависимость векторных представлений вершин от цветов, доступных для раскраски графа, вводятся векторные представления цветов раскраски Em(Cj) е Rd\ Cj е {1, 2..C} (Em(C) е RC x d — для всех цветов вместе подобно векторным представлениям Em(V) е Rd для вершин, а также функция обновления для цветов.

Тогда функции обновления:

Em (Vi)t+1 = UpdateV(Em (Vi)t, Mvv x Em (V)t, MTUC x Cmsg(Em(C)t))\ W е V Em (Cj)t+1 = UpdateC(Em (Cj)t, M^c x VmSg(Em (V)t))\ Cj е {1, 2..C},

где Cmsg : Rd ^ Rd — функция, транслирующая векторное представление цветов в сообщение, готовое к обработке UpdateV функцией, Vmsg : Rd ^ Rd функция, транслирующая векторное представление вершин в сообщение, готовое к обработке UpdateC функцией,

Cmsg Vmsg

Рис. 1. Алгоритм GNN

UpdateV : R3d ^ Rd UpdateC : R2d ^ Rd

Функции UpdateV и UpdateC являются рекуррентными нейронными сетями (RXX), что и позволяет алгоритму быть итерационным, в пашем же конкретном случае это были сети, состоящие каждая из одного LSTM блока с LayerXorm 110, 111. Таким образом сеть выучивает структурные паттерны в предоставленных графах, и далее, после обучения, в соответствии с этими паттернами выстраивает векторные представления вершин, па основе которых далее происходит классификация графа с помощью отдельной функции Vvote : Rd ^ R, так мы получаем „голоса" всех вершин, а далее ищем среднее mean(Vvote) и превращаем его в вероятность sigmoid(mean(Vvote)), которая является вероятностью того, можно ли раскрасить граф G(V, Е) с помощью С цветов. Полный алгоритм па псевдо языке представлен на рис. 1, а блочная визуализация нейросети показана на рис. 2. Поскольку модель решает задачу бинарной классификации графа, то функцией потерь является бинарная кросс-энтропия.

2.2.

набор данных, на которых будет осуществляться обучение и тестирование GXX. Пригодных датасетов, состоящих из естественных графов, полученных из какой-либо предметной области, не было замечено, поэтому придется генерировать датасет. Однако просто так сгенерировать графы (например, с помощью модели Эрдеша-Репьи) и раскрасить не получится, так как эти случаи будут достаточно легкими дня раскраски. Увеличить сложность раскраски можно с помощью особой модели генерации, основанной па фазовых сдвигах |8|. Берется тот или иной сгенерированный граф, раскрашивается с помощью прямого алгоритма, а далее находится и добавляется такое ребро, что меняет раскраску,

Рис. 2. Схема GNN

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

2.3. Конечная конфигурация модели. Для обучения описанной выше модели был сгенерирован датасет СН1ЮМ_40_60, состоящий из 15710 тренировочных и 1024 тестовых пар графов, где 40 ^ |V| ^ 60 и 3 ^ х ^ 8, а также датасет CHROM_35_45, состоящий из 8000 тренировочных и 1000 тестовых пар графов, где 35 ^ |V| ^ 45 и 3 ^ х ^ 8.

Модель на обоих датасетах обучалась с количеством внутренних итераций timesteps = 32 и размерностью векторного представления в d = 64, в течение около 1000 эпох с батчем batchsize = 16, имея по 128 итераций в одной эпохе, с экспоненциальным learning rate расписанием от lr = 1e — 04 lr = 1e-06. Метрика успешности обучения модели (точности):

ЕГ f (groundtruth-,predi)

acc = —--,

n

где groundtruth- = 1, {если G (V,E) можно покрасить в С цветов, иначе 0}, f (x,y) = {1, если x = y, инач е 0} pred- — вероятность тог о, что G(V,E) можно покрасить в С цветов, n

3.1.

ство эвристик дня поиска хроматического числа, по здесь будут рассматриваться две из них: жадный поиск и tabncol |12|,

Жадный поиск „жадно" раскрашивает вершины графа в доступные цвета. Алгоритм очень простой, но не очень эффективный в смысле точности получаемого решения.

Tabncol |12| — это эвристика локального поиска, основанная на поиске с запретами (табу-поиск). 3.2.

.на остановлена, когда модель достигла точности асс=0.706 па тренировочных данных и асс=0.681 на тестовых данных, а процедура тренировки на датасето CHROM_35_45 была остановлена, когда модель достигла точности в асс=0.761 на тренировочных данных и асс=0.756 на тестовых данных.

Далее приведены более подробные результаты работы алгоритмов па тестовых данных для CHROM_40_60 (см. табл. 1, 2, 3) и CHROM_35_45 (см. табл. 4, 5, 6). По вертикали изображены хроматические числа, предсказанные алгоритмом, а но горизонтали настоящие хроматические числа. На диагонали, подсвеченной золеным, располагаются правильные ответы (предсказание алгоритма совпадает с тем, что есть па самом деле), соответственно все, что выше или ниже — это ошибка. Как метрика дня общей оценки качества алгоритма используется Mean Absolute Error (МАЕ) или Среднее Абсолютное Отклонение.

Таблица 1

Результаты работы а.;п'оритма СтХХ для СН1ЮМ_40_60

10 0,000 0,000 0,000 0,000 0,000 0,000

9 0,000 0,000 0,000 0,000 0,000 0,000

8 0,000 0,000 0,000 0,000 0,065 0,694

7 0,000 0,000 0,000 0,116 0,630 0,306

6 0,000 0,000 0,180 0,562 0,306 0,000

5 0,000 0,168 0,614 0,322 0,000 0,000

4 0,081 0,801 0,206 0,000 0,000 0,000

3 0,919 0,031 0,000 0,000 0,000 0,000

2 0,000 0,000 0,000 0,000 0,000 0,000

ргсс1/со1ог 3 4 5 6 7 8

МАЕ 0,311 Таблица 2

Результаты работы алх'оритма 1аЬисо1 для СН110М_40_60

10 0,000 0,000 0,000 0,000 0,000 0,000

9 0,000 0,000 0,000 0,000 0,000 0,000

8 0,000 0,000 0,000 0,000 0,065 1,000

7 0,000 0,000 0,000 0,116 0,847 0,000

6 0,000 0,000 0,180 0,651 0,000 0,000

5 0,000 0,168 0,550 0,000 0,000 0,000

4 0,081 0,620 0,000 0,000 0,000 0,000

3 0,774 0,000 0,000 0,000 0,000 0,000

2 0,000 0,000 0,000 0,000 0,000 0,000

ргсс1/со1ог 3 4 5 6 7 8

МАЕ 0,342

Как видно, жадный алгоритм очень сильно отстает но качеству от остальных алгоритмов. В общем 1аЬисо1 и (¡XX имеют схожее качество, но стоит заметить, что (¡XX лучше работает на графах с низким хроматическим числом и хуже на графах с большим хроматическим числом. Также, поскольку 1аЬисо1 и жадный алгоритм ищут полную раскраску и но ней определяют хроматическое число, то они не ошибаются в сторону уменьшения оценки хроматического числа, в отличие от (¡XX. тенденцию которой ошибаться в сторону уменьшения хорошо видно на графах с большими хроматическими числами. Также точность в 0.681 может показаться мало впечатляющей из-за того, что точность случайного выбора будет составлять 0.5, однако, как показывают приведенные выше наблюдения (см. табл. 1-6), СХХ в результате ошибается только па —/- 1 относительно хроматического числа, что говорит о том, что (¡XX действительно понимает, какое примерно хроматическое число у графа.

3.3. Кросс-датасет эксперименты. Поскольку СХХ является гибкой относительно размера входного графа пейросетью, то отдельный вопрос составляет обобщаемость СХХ, натренированная па графах одного размера па графы с другим размером. Чтобы это проверить, мы можем взять СХХ, натренированную на СН1ЮМ_40_60 данных, и протестировать ее па данных из СН110М_35_45 и наоборот (см. табл. 7).

Таблица 3

Результаты работы а.;п'оритма greedy для CHROM_40_60

10 0,000 0,000 0,000 0,038 0,190 0,222

9 0,000 0,000 0,030 0,259 0,532 0,167

8 0,000 0,006 0,274 0,463 0,241 0,000

7 0,000 0,094 0,302 0,229 0,005 0,000

6 0,008 0,380 0,354 0,011 0,000 0,000

5 0,407 0,275 0,039 0,000 0,000 0,000

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

4 0,581 0,246 0,000 0,000 0,000 0,000

3 0,004 0,000 0,000 0,000 0,000 0,000

2 0,000 0,000 0,000 0,000 0,000 0,000

pred/color 3 4 5 6 7 8

МАЕ 0,924

Таблица 4

Результаты работы а.;п'оритма GNN для CHROM_35_45

10 0,000 0,000 0,000 0,000 0,000 0,000

9 0,000 0,000 0,000 0,000 0,000 0,000

8 0,000 0,000 0,000 0,000 0,065 0,690

7 0,000 0,000 0,000 0,116 0,630 0,310

6 0,000 0,000 0,180 0,562 0,306 0,000

5 0,000 0,168 0,614 0,322 0,000 0,000

4 0,081 0,801 0,206 0,000 0,000 0,000

3 0,919 0,031 0,000 0,000 0,000 0,000

2 0,000 0,000 0,000 0,000 0,000 0,000

pred /color 3 4 5 6 7 8

МАЕ 0,225

Как видно, СХХ, тренированная на данных CHROM_40_60, показывает себя на тестовых данных СНЮМ_35_45 даже лучше, чем спениалыю натренированная па СНЮМ_35_45 данных сеть, что может говорить о сильной способности к обобщаемо-сти моделей, тренированных па более сложных данных, СХХ же, натренированная па СНЮМ_35_45 данных, имеет качество на СНЮМ_40_60 данных значительно меньшее, чем тренированная на СН110М_40_60 данных сеть, однако некоторое качество все равно сохраняется, и это означает: знания, полученные с тренировки на С1ШОМ_35_45, переносятся на СН110М_40_60, однако только частично,

3.4. С0£01{02/03/04 датасет. Чтобы посмотреть, как натренированная на синтетических данных СХХ ведет себя па графах, сильно отличающихся от тех, что она видела при тренировке, проводились замеры на выборочных графах из публично открытого датасета Со1ог02/03/04 |9| (см табл. 8).

Как видно, СХХ неплохо показывает себя на графах с количеством вершин больше, чем у тренировочных графов, и выдает предсказания, близкие к реальности, однако еще чаще начинает ошибаться в сторону занижения оценки. По подсчитанной МАЕ также можно заметить, что жадный алгоритм сильно отстает, и СХХ более консистентно сравнивать с 1аЬисо1. Хотя у СХХ МАЕ меньше, чем у 1аЬисо1, из-за нестабильности выборки нельзя сказать, что па этих примерах СХХ работает лучше.

Таблица 5

Результаты работы алх'оритма tabueol для CHROM_35_45

10 0,000 0,000 0,000 0,000 0,000 0,000

9 0,000 0,000 0,000 0,000 0,000 0,010

8 0,000 0,000 0,000 0,000 0,422 0,990

7 0,000 0,000 0,000 0,174 0,578 0,000

6 0,000 0,000 0,324 0,826 0,000 0,000

5 0,000 0,251 0,676 0,000 0,000 0,000

4 0,068 0,749 0,000 0,000 0,000 0,000

3 0,932 0,000 0,000 0,000 0,000 0,000

2 0,000 0,000 0,000 0,000 0,000 0,000

pred/eolor 3 4 5 6 7 8

МАЕ 0,239

Таблица 6

Результаты работы алх'оритма greedy для CHROM_35_45

10 0,000 0,000 0,000 0,011 0,295 0,583

9 0,000 0,000 0,010 0,093 0,342 0,205

8 0,000 0,000 0,169 0,418 0,261 0,013

7 0,000 0,059 0,356 0,455 0,025 0,000

6 0,008 0,375 0,383 0,024 0,000 0,000

5 0,286 0,285 0,082 0,000 0,000 0,000

4 0,676 0,281 0,000 0,000 0,000 0,000

3 0,030 0,000 0,000 0,000 0,000 0,000

2 0,000 0,000 0,000 0,000 0,000 0,000

pred/eolor 3 4 5 6 7 8

МАЕ 0,887

Таблица 7

Результаты

Train data Test data Train асе Test aee

CHROM 40 60 CHROM 35 45 0,7060 0,7660

CHROM_35_ 45 CHROM_4l)_ ^60 0,7610 0,6348

К сожалению, работа (¡XX на графах с большими хроматическим числами оказалась очень нестабильной шзиду того, что сами графы очень разные и (¡XX при тренировке не видела ничего подобного, поэтому результаты не были представлены и, можно сказать, что на графах с хроматическими числами больше того, что она видена на тренировке, СХХ работает плохо.

Ввиду экспериментов на СОЬСЖ02/03/04 (см табл. 8) и кроее-датаеет экспериментов (см. табл. 7) можно сделать вывод, что (¡XX в некоторых пределах слабо чувствительна к изменению вершин в графах, па которых применяется, пока хроматическое число остается близким к тренировочным примерам.

3.5. Время работы алгоритмов. Также был проведен замер времени работы алгоритмов в случае определения хроматического числа графа (см. табл. 9).

Таблица 8

Результаты на Со1ог02/03/04 датасете

вгарЬ 81ге С^питЬ ОЫЕЕБУ ТАВиСОЬ ТШЕ ОЫЕЕБУ ТШЕ ТАВиСОЬ ТШЕ

1-Ри111пз_3 30 4 4 8 4 0.32 0.0039 2.73

1-1п8ег14оп8_4 67 5 4 5 5 0.33 0.0045 15.74

2-Ри111пз_3 52 5 4 9 5 0.32 0.0029 9.51

2-1п8ег14оп8_3 37 4 3 4 4 0.30 0.0016 4.62

ЗЛпвегйопб^З 56 4 3 4 4 0.30 0.0044 9.72

Б8ЛС125.1 125 5 5 8 8 0.37 0.014 58.36

gamesl20 120 9 6 10 9 0.37 0.013 108.76

88 4 3 4 4 0.30 0.0071 22.62

гш^88_25 88 4 3 4 4 0.30 0.007 25.2

тус1е13 11 4 4 4 4 0.28 0.0012 0.56

туае14 23 5 4 5 5 0.29 0.0017 2.64

тус1е15 47 6 5 6 6 0.30 0.002 11.0

2-Ри111пз_4 212 6 6 13 15 0.41 0.022 74.3

5-Ри111пз_3 154 8 6 16 9 0.36 0.017 47.3

гш^100_1 100 4 3 4 4 0.31 0.0086 30.44

гт^ 100_25 100 4 3 4 4 0.32 0.0073 28.30

диееп5_5 25 5 6 8 5 0.32 0.0017 2.99

диеепб^б 36 7 7 10 8 0.36 0.0019 11.22

диееп7_7 49 7 8 10 9 0.36 0.0032 25.04

диееп8_8 64 9 9 13 12 0.35 0.0032 45.8

МАЕ 0.81 2 0.9

,\\ (; тшЕ 0.327 0.009 25.5

Как видно, СММ работает медленнее жадного алгоритма и гораздо быстрее ТаЬисо1 (в 145 и 90 раз соответственно). На примере графов из СОЬОЕ02/03/04 датасета видна похожая динамика. Вычислительная сложность СММ екалируетея линейно относительно размера графа,

3.6. Ограничения, связанные с данными. Как уже было подмечено, массив данных для тренировки и тестирования модели был сгенерирован по специальной модели [8]. Однако хроматические числа для графов в этой модели в общем случае определяются с помощью полного перебора, поэтому сгенерировать датасет из графов с количеством вершин более 60 за адекватное время не представляется возможным, И хотя было показано, что СММ может быть екалируема относительно количества вершин, то относительно хроматического числа того же сказать нельзя. Ограниченное количество вершин в генерируемых данных также ограничивает и возможность генерировать качественные примеры раскраски с большими хроматическими числами, что пока что ставит под вопрос применение СММ для графов с большими хроматическими числами.

Заключение. Подход к раскраске графов через глубокое обучение показал себя вполне неплохо, СММ, тренируясь на синтетически сгенерированных данных, показывает себя как на синтетически сгенерированных датасетах, так и на реальных графах с увеличенным размером значительно лучше, чем жадный алгоритм, и сравнимо с эвристикой tabueol, СММ обладает большей вычислительной сложностью по отношению

Таблица 9

Время работы алгоритмов

Алгоритм Данные Время, сек

GNN CHROM_40_60 (Test) 317

Tabueol CHROM_40_60 (Test) 46071

Greedy CHROM_40_60 (Test) 10.3

GNN CHROM_35_45 (Test) 280

Tabueol CHROM_35_45 (Test) 25206

Greedy CHROM_35_45 (Test) 7.1

к жадному алгоритму, но меньшей по отношению к tabueol. Также GNN достаточно хорошо екалируетея относительно количества вершин в графе, что расширяет ее границы применимости, В итоге GNN, натренированная на специально подготовленных для какой-либо задачи данных с не сильно большим количеством вершин и примерно таким же хроматическим числом, что и в представленных синтетических данных, предположительно, будет показывать себя лучше, чем жадный алгоритм, при этом затрачивая чуть больше времени и сравнимо по качеству с tabueol, при этом работая гораздо быстрее его, В качестве дальнейшего улучшения можно было бы попробовать другие, более мощные или приспособленные конкретно к этой задаче архитектуры графовых нейронных сетей, которые, предположительно, поднимут качество модели, однако, как уже отмечалось выше, существуют ограничения по данным, или можно попробовать найти способ расширить модель не только на решение задачи о поиске хроматического числа, а еще и на нахождение раскраски графа.

Список литературы

1. Silver D., Schrittwieser J., Simonvan К., Antonoglou I., Huang A., Guez A. et al. Mastering the game of go without human knowledge // Nature. 2017. Vol. 550, N 7676, P. 354.

2. Selsam D., Lamm M., Bunz В., Liang P., de Moura L., and Dill D. Learning a sat solver from single-bit supervision, arXiv preprint arXiv:1802.03685, 2018.

3. Chaitanva К Joshi, Thomas Laurent, and Xavier Bresson. 2019. An efficient graph convolutional network technique for the travelling salesman problem. arXiv preprint arXiv:1906.01227 (2019).

4. Scarselli F., Gori M., Tsoi A., Hagenbuchner M., and Monfardini G. The graph neural network model // IEEE Tran. Neural Networks. 2009. Vol. 20, N 1, P. 61-80.

5. Barnier N. and Brisset P. Graph coloring for air traffic flow management // Annals of Operations Research. Aug 2004. Vol. 130, N 1, P. 163-178.

6. Thevenin S., Zufferev N., and Potvin J. Graph multi-coloring for a job scheduling application // Discrete App. Math., 2018. Vol. 234, P. 218-235.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

7. Chen W., Lueh G., Ashar P., Chen K., and Cheng B. Register allocation for intel processor graphics. In CGO 2018, P. 352-364. [Electron. Res.]: http://doi.acm.org/10.1145/3168806.

8. Henrique Lemos, Marcelo Prates, Pedro Avelar, and Luis Lamb. Graph colouring meets deep learning: Effective graph neural network models for combinatorial problems //In IEEE International Conference on Tools with Artificial Intelligence (ICTAI). 2019. P. 879-885.

9. [Electron. Res.]: https://mat.tepper.cmu.edu/C0L0R02/.

10. Sepp Hochreiter, Jurgen Schmidhuber. LONG SHORT-TERM MEMORY // Neural Computation. 1997. N 9 8. P. 1735-1780, [Electron. Res.]: https://www.bioinf.jku.at/ publications/older/2604.pdf.

11. Jimmy Lei Ba, Jamie Ryan Kiros, and Geoffrey E Hinton. 2016. Layer normalization. arXiv, abs/1607.06450.

12. Hertz A. and de Werra D. Using tabu search techniques for graph coloring // Computing. Dec. 1987. Vol. 39, N 4, R 345-351. [Electron. Res.]: http://dx.doi.org/10.1007/BF02239976.

Холькин Сергей Денисович — e-mail: kholkinsd@ gmail.com; телефон: +7-903054-66-76.

Студент 4-го курса бакалавриата по направлению „Прикладная информатика" Нижегородского государственного университета. Научные интересы: искусственный интеллект, глубокое обучение, компрессия глубоких нейронных сетей, комбинаторная оптимизация, машинное обучение на графах.

Kholkin Sergei Denisovich — fourth year bachelor student in the field of „Applied Informatics" of National Research Lobachevsky State University of Nizhniy Novgorod. Research interests: artificial intelligence, deep learning, compression of deep learning models, combinatorial optimization, graph representation learning.

Филимонов Андрей Викторович — email: andrey. v.f ilimonov@gmail. com; телефон: +7-903-601-28-87.

Окончил BMK ННГУ в 2004 году по специальности „Информатика", в 2008 году защитил кандидатскую диссертацию по теме гиперграфов и дискретной оптимизации. С тех пор продолжает сотрудничество с кафедрой Информатики и автоматизации научных исследований Института информационных технологий, математики и механики ННГУ. Автор более 30 публикаций и 35 патентов на изобретения.

Filimonov Andrey

Viktorovich — Graduated from Faculty of Computational Mathematics and Cybernetics Nizhniy Novgorod State University in 2004. In 2008 defended Ph.D. thesis in hypergraphs and discrete optimization. Continues to collaborate with Informatics and Automatization of Scientific Research department in NNSU. Author of more than 35 invention certificates and patterns, published more than 30 papers.

Дата поступления

- 01.02.2022

i Надоели баннеры? Вы всегда можете отключить рекламу.