ПРИКЛАДНЫЕ АСПЕКТЫ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
УДК 004.021
ПРИМЕНЕНИЕ ЭВРИСТИЧЕСКИХ АЛГОРИТМОВ ДЛЯ АВТОМАТИЧЕСКОГО РАЗМЕЩЕНИЯ ГРАФОВ НА ПЛОСКОСТИ
Костина Маргарита Алексеевна,
студентка, ФГБОУ ВПО «Тольяттинский государственный университет», Тольятти, Россия4 maraokostina@vandex. ги
Визуализация информации является на сегодняшний день ключевым моментом во многих приложениях в науке и технике. Одним из способов, позволяющих визуализировать сложные данные, является использование графов. Работа содержит результаты применения метода имитации отжига и генетического алгоритма к задаче визуализации графов. При этом размещение графов проводится в соответствии с заданными критериями качества, накладываемыми на получаемое изображение.
Ключевые слова: граф; визуализация; метод имитации отжига; генетические алгоритмы; критерии качества раскладки графа.
APPLICATION OF HEURISTIC ALGORITHMS FOR AUTOMATIC GRAPHS POSITIONING ON THE PLANE
Kostina Margarita Alekseevna,
student of Togliatti State University, Togliatti, Russia margokostina@yandex.ru
Nowadays information visualization is a key moment in many spheres of scientific application. Graph method is one of the ways to visualize complex data. The following article provides the application results of imitation
4 Научный руководитель: Мельникова Елена Анатольевна, канд. физ.-мат. н., доцент кафедры прикладной математики и информатики ФГБОУ ВПО «Тольяттинский государственный университет», Тольятти, Россия; E.Melnikova@tltsu.ru
method of annealing and genetic algorithm to the problem of graphs visualization. Thus graphs positioning is carried out according to the set quality criteria overlaid on the received image.
Key words: graph; visualization; simulated annealing; genetic algorithms; quality criteria of graph layout.
Введение
Граф - фундаментальная структура данных, которая позволяет моделировать разнообразные объекты и взаимосвязи между ними
[1]. В современном мире происходит быстрый рост количества информации, поэтому возрастает и необходимость использования графов с целью анализа сложных данных.
В науке роль графов сложно переоценить: их используют в физике, химии, медицине, молекулярной биологии, социологии. В сфере информационных технологий графы применяются при создании программного обеспечения (иерархии классов, диаграммы потоков данных), при проектировании баз данных (связи между таблицами), в искусственном интеллекте (например, при изображении семантических сетей). Поэтому проблема автоматического размещения графов является на сегодняшний день одной из значимых, а ее решение необходимо для возможности адекватного отображения информации.
За последние пятнадцать лет данная проблема подвергается интенсивному изучению. По этой теме публикуется большое количество работ, проводятся ежегодные симпозиумы и конференции
[2]. Однако универсального метода, решающего задачу визуализации графов, до сих пор не предложено.
Немаловажную роль при визуализации графа играют критерии качества [3], применяемые для того, чтобы повысить наглядность изображения. Выбор критериев происходит в зависимости от конкретной задачи. Например, если необходимо спроектировать сеть транспортных путей, естественно потребовать, чтобы в изображении графа было минимальное число пересечений. В таком случае выбор алгоритма визуализации является важным этапом в получении желаемого изображения.
Существует довольно много методов автоматического размещения графов [4]. Некоторые из них базируются на фиксации одного из критериев качества (или некоторого их набора). Однако
большинство из таких методов дают неплохие результаты лишь на определенных классах графов. Например, с помощью алгоритма радиальной раскладки получаются хорошие изображения деревьев, однако для произвольных графов такое верно не всегда. Планарные графы могут быть размещены одним из алгоритмов планаризации [5], а вот для непланарных графов такие методы не подходят. Поэтому является важным отыскание таких методов, которые позволяли бы не только удовлетворять определенный критерий качества, но и предоставляли возможность работать с произвольными графами.
Цель работы
Целью представленной работы является исследование эффективности применения эвристических алгоритмов к задаче размещения графов на плоскости.
Материалы и методы исследования
Был разработан проект, в состав которого вошли программы, написанные на объектно-ориентированном языке С++.
Каждая программа позволяет размещать граф на плоскости таким образом, чтобы удовлетворить определенный критерий качества:
- минимизация пересечений ребер в графе;
- минимизация площади графа;
- унификация длин ребер.
Также в состав проекта были включены программы, реализованные на основе применения одного из методов многокритериальной оптимизации [6, 7] - метода взвешенных сумм.
В качестве алгоритмов поиска оптимального значения были выбраны генетический алгоритм [8, 9] и метод имитации отжига [10, 11]. К достоинствам данных подходов можно отнести:
- возможность оптимизации любых требуемых критериев;
- возможность применения к произвольным графам;
- простоту их реализации.
В генетическом алгоритме были выбраны следующие параметры.
- Размер популяции - 400 особей.
- Отбор в родительское множество происходит на основе турнира. Всего проводится 200 турниров.
- Каждая родительская пара производит двух потомков. Первый потомок получает первую половину координат от первого родителя и оставшиеся координаты - от второго. Второй потомок получает первую половину координат от второго родителя и оставшуюся половину - от первого.
- Мутация происходит с 10% получившихся потомков. В задачах минимизации пересечений и минимизации площади мутация заключается в передвижении случайно выбранной вершины в случайную ячейку координатной сетки. В задаче об унификации ребер и многокритериальной задаче перемещается одна из вершин, инцидентная самому длинному ребру.
В методе имитации отжига были выбраны следующие параметры.
- Закон распределения температуры изменяется в соответствии с формулой:
Т (к) = Т-
^ , (1)
где k - номер итерации, Т0=480.
- Переход в новое состояние осуществляется аналогично оператору мутации в генетическом алгоритме.
Результаты исследования и их обсуждение
Было проведено исследование эффективности применения вышеперечисленных алгоритмов к задаче размещения графов на плоскости. Алгоритмы сравнивались по двум характеристикам: качество получаемого решения и быстродействие.
Представим результаты некоторых экспериментов. В них использовались графы с N вершинами и (N-1) ребром (N=5,...,40). Такие графы являются планарными, поэтому их можно разложить без пересечений.
Было зафиксированы время, отведенное для выполнения программ, - 0,005 с. Результаты работы метода имитации отжига и генетического алгоритма представлены на рис. 1 и рис. 2.
Рис.1. График зависимости площади графа от количества вершин, — минимальная площадь, — МИО, — ГА.
На рис. 1 синей линией изображен график интерполирующего многочлена Лагранжа, который определяет минимальную площадь графа. Под площадью графа здесь понимается площадь покрывающего рисунок наименьшего прямоугольника с горизонтальными и вертикальными сторонами. В данной работе минимальная площадь вычислялась в зависимости от количества вершин в графе. Понятно, что в общем случае площадь графа зависит и от общей длины ребер.
Целевая функция при решении многокритериальной задачи была задана в виде:
= Р + (2)
где ¥с - функция для критерия минимизации пересечений, ¥и -функция для критерия унификации ребер.
При решении данной задачи метод имитации отжига показал лучшие результаты, чем генетический алгоритм (рис.2). При этом было замечено, что на графах небольшой размерности (до 10 вершин) данный метод находит решение, при котором целевая функция (2) достигает нуля (в графе отсутствуют пересечения, и все ребра имеют одинаковую длину).
Для оценки быстродействия фиксировалось качество изображения, например, отсутствие пересечений в графе, и вычислялось время, за которое алгоритм получит решение желаемого качества. Результаты вычислительных экспериментов показали, что с ростом размерности графа время работы алгоритмов растет по-разному в зависимости от типа задачи.
Рис. 2. Найденный минимум при решении многокритериальной задачи, — МИО, — ГА.
В задаче об унификации ребер было потребовано, чтобы разница между максимальным и минимальным ребрами не превышала 3. При этом длина ребра вычислялась по формуле:
1 = \х2 - Х1\ + у - у\ (3)
где (хг у1) - координаты первой вершины, (х2, у2) - координаты второй вершины.
Рис. 3. График зависимости времени выполнения программы от количества вершин графа, — МИО, — ГА.
При решении данной задачи метод имитации отжига показал лучшее время (0,001-0,3с.), чем генетический алгоритм (0,001— 25 с.). Однако последний дал лучший результат (0,001—1 с.) в задачах минимизации числа пересечений (рис. 3) и минимизации площади.
В тех случаях, когда фиксировалось качество изображения, время работы данных алгоритмов резко возрастало с увеличением
размерности графа (более 30 вершин). Особенно явно это было замечено при получении плоской раскладки графа.
Автором высказано предположение, что эта проблема связана с некоторыми особенностями использованных подходов. В методе имитации отжига с увеличением числа итераций происходит снижение температуры, что приводит к уменьшению вероятности перехода системы в новое, более хорошее состояние. В генетическом алгоритме на определенном шаге жизни популяции появляются особи-клоны, которые, скрещиваясь, не производят потомков с более хорошей функцией приспособленности.
Чтобы наглядно продемонстрировать работу реализованных программ, была создана функция, отображающая граф на плоскости. Для этого были использованы заголовочный файл graphics.h и библиотека libbgi.a, позволяющие работать с графикой в С++. Для размещения графа использовалась координатная решетка 20x20 ячеек.
Изображения, полученные при применении метода отжига и генетического алгоритма, оказались хорошими в том смысле, что удовлетворяли требуемый критерий качества (рис. 4, рис. 5).
Рис.4. Граф, разложенный без пересечений ребер.
На основании результатов вычислительных экспериментов были сделаны следующие выводы.
1. На графах большой размерности выбранные алгоритмы достигают решения заданного качества лишь по истечении достаточно длительного периода времени (более 5 с.).
2. На графах небольшой размерности (до 15 вершин) метод отжига и генетический алгоритм дают изображения достаточно хорошего качества, хотя и не всегда достигают оптимального решения.
3. Время работы каждого из алгоритмов зависит от того, какой критерий требуется удовлетворить.
Рис. 5. Граф с ребрами одинаковой длины.
Заключение
Метод имитации отжига и генетические алгоритмы показали себя приемлемыми методами при решении задачи о визуализации графов. Полученные изображения оказались достаточно хорошими, так как удовлетворили заданный критерий качества (или их набор - в многокритериальной задаче).
Однако при размещении графов с большим количеством вершин (более 30) появились определенные трудности, главная из которых - резкое увеличение времени выполнения. Здесь возможны два пути преодоления данной проблемы: либо использовать более мощный компьютер, либо подобрать другие параметры для использованных подходов (например, закон распределения температуры в отжиге, размер популяции и правила мутации в генетическом алгоритме и т.д.).
Литература:
1. Липский В. Комбинаторика для программистов. М.: Мир, 1988. 213 с.
(Lipsky V. Theory of combinations for programmers. M.: Mir, 1998.
213 p.).
2. Апанович З. От рисования графов к визуализации информации. URL: http://iis.nsk.su/files/ (дата обращения: 15.12.2011). (Apanovich Z. From graph drawing to information visualization. URL: http://iis.nsk.su/ files/).
3. Коротков М.Разработка и реализация алгоритма укладки диаграмм состояний. URL: rain.ifmo.ru/cat/view.php/theory/graphcoloring-layout/ uml-layout-2005 (дата обращения: 07.12.2011). (Korotkov M. Elaboration and realization of algorithm of graph conditions setting. URL: rain. ifmo.ru/cat/view.php/theory/graphcoloring-layout/uml-layout-2005).
4. Касьянов В., Евстигнеев В. Графы в программировании: обработка, визуализация и применение. СПб: БХВ-Петербург, 2003. 1104 с. (Kasyanov V., Evstigneev V. Graphs in programming: processing, visualization and application. SPb: BHV-Peteiburg, 2003. 1104 p.).
5. Иринеев А., Каширин В. Алгоритм плоской укладки графов. URL: http://rain.ifmo.ru/cat/ (дата обращения: 20.12.2011). (Irineev A., Kashirin V The algorithm of flat graph setting. URL: http://rain.ifmo.ru/cat/).
6. Многокритериальная оптимизация. URL: http://www.msiu.ru/upload/ iblock/473/VectOpt.pdf (дата обращения: 23.02.2013). (Multiobjective optimization. URL: http://www.msiu.ru/upload/iblock/473/VectOpt.pdf).
7. Мельников Б., Радионов А. О выборе стратегии в недетерминированных антагонистических играх // Программирование (РАН). 1998. № 5. С. 55-62. (Melnikov B., Radionov A. About choice of strategy in nondeterministic antagonistic games // Programming (RAN). 1998. № 5. P. 55-62).
8. Рутковская Д., Пилиньский М., Рутковский Л.Нейронные сети, генетические алгоритмы и нечеткие системы. М.: Горячая линия - Телеком, 2006. 452 с. (Rutkovskaya D., Pilinsky M., Rutkovsky L. Neural networks, genetic algorithms and fuzzy systems. M.: Hot line. - Telekom, 2006. 452 p.).
9. Мельников Б. Мультиэвристический подход к задачам дискретной оптимизации // Кибернетика и системный анализ (НАН Украины). 2006. № 3. С. 32-42. (Melnikov B. Multiheuristic approach to discrete optimization problems / «Cybernetics and systems analysis» (NAN of Ukraine). - № 3. - 2006. - P. 32-42).
10. Лопатин А.С. Метод отжига. URL: http://rain.ifmo.ru/~buzdalov/lab-2011/books/annealing.pdf (дата обращения: 17.04.2012). Lopatin A.S. Annealing method. URL: http://rain.ifmo.ru/~buzdalov/lab-2011/books/ annealing.pdf.
11. Мельников Б., Эйрих С. Подход к комбинированию незавершённого метода ветвей и границ и алгоритма имитационной нормализации // Вестник Воронежского гос. ун-та, сер. Сист. анализ и инф. техн. 2010. № 1. С. 35-38. (Melnikov B., Ayrich S. Approach to combining of incomplete method of legs and bounds and algorithm of imitating normalization // Vestnik Voronezhskogo gosudarstvennogo universiteta, series System analysis and IT, 2010. № 1. P. 35-38).