Программное обеспечение для построения покрытия с упорядоченным охватыванием многосвязных плоских графов

УДК 519.17

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ ПОСТРОЕНИЯ ПОКРЫТИЯ С УПОРЯДОЧЕННЫМ ОХВАТЫВАНИЕМ МНОГОСВЯЗНЫХ ПЛОСКИХ ГРАФОВ

Т.А. Панюкова, Е.А. Савицкий

Задачи нахождения маршрутов, удовлетворяющих определенным ограничениям, появились из конкретных практических ситуаций. Например, в задачах раскроя листового материала плоский граф является моделью раскройного плана, а маршрут, покрывающий все ребра, определяет траекторию режущего инструмента. В статье рассматривается алгоритм построения оптимального покрытия произвольного плоского (возможно, многосвязного) графа цепями с упорядоченным охватыванием, позволяющий построить такую траекторию движения режущего инструмента, при которой отрезанная от листа часть не требует дополнительных разрезаний. Показано, что алгоритм имеет полиномиальную сложность.

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

Введение

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

Одной из работ по специальным вопросам эйлеровых графов является монография Г. Фляйшнера «Эйлеровы графы и смежные вопросы» [2, 3], где систематизировано и достаточно подробно рассмотрены некоторые виды эйлеровых цепей, например, цепи, не содержащие запрещенных переходов, попарно-совместимые эйлеровы цепи, А-цепи в графах.

Имеется ряд журнальных публикаций других авторов, в которых также рассматриваются задачи, посвященные эйлеровым цепям специального вида, например, расширение класса запрещенных переходов [10], самонепересекающиеся и непересекающиеся цепи, би-направленные двойные обходы [3], маршруты Петри [11], прямолинейные маршруты [9], реберно-упорядоченные маршруты [1] и др.

Моделью раскройного листа будем считать плоскость 5, моделью раскройного плана

- плоский граф О с внешней гранью /о на плоскости 5. Для любой части графа 3 С О (части траектории движения режущего инструмента) обозначим через 1п1(3) теоретикомножественное объединение его внутренних граней (объединение всех связных компонент множества 5 \ 3, не содержащих внешней грани). Тогда 1п1(3) можно интерпретировать как отрезанную от листа часть. Множества вершин, ребер и граней графа 3 будем обозначать через V(3), Е(3) и Г(3) соответственно, а число элементов множества М - через |М|. При этом требуется, чтобы отрезанная от листа часть не требовала дополнительных разрезаний. В общем случае раскройный план представляет многосвязный граф, состоящий из вложенных компонент связности.

Задача состоит в построении покрытия графа ребрами, учитывающего ограничения, наложенные практической задачей. Авторами разработаны алгоритмы построения такого покрытия для связного графа [4, 5], а также алгоритмы нахождения допустимого эйлерова покрытия с упорядоченным охватыванием для многосвязного графа [6]. В данной работе

мы модифицируем алгоритмы, изложенные в [4, 5], для случая многосвязного графа с вложенными компонентами связности.

1. Основные понятия и определения

Определение 1. В соответствии с [4] будем говорить, что цепь C = Vie\V2e2---Vk в плоском графе G имеет упорядоченное охватывание, если для любой его начальной части Ci = vlelv2e2...ei, l < |E| выполнено условие Int (Ci) П E = 0.

Определение 2. Будем говорить, что последовательность реберно-непересекающихся цепей

является покрытием с упорядоченным охватыванием.

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

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

Существование эйлеровых циклов с упорядоченным охватыванием в плоских эйлеровых графах доказано в работе [7]. В работе [В] предложен эффективный алгоритм построения циклов с упорядоченным охватыванием в плоских эйлеровых графах, имеющий вычислительную сложность O(IEI  log21VI) . В [Б] доказана теорема, дающая возможность построения последовательности цепей с упорядоченным охватыванием с любым наперед заданным множеством дополнительных ребер M, образующим паросочетание на множестве вершин нечетной степени Vodd. Разработан алгоритм M-Cover построения допустимого эйлерова покрытия графа цепями с упорядоченным охватыванием. Вычислительная сложность алгоритма не превосходит величины O(IEI  log2IVI). Показано, что для построения оптимального покрытия достаточно в качестве M взять кратчайшее паросочетание на множестве VOdd (на этом основана работа алгоритма OptimalCover) [Б]. Сложность алгоритма OptimalCover не превосходит величины O(IV3I) (т.е. сложности построения паросочетания).

Для построения оптимального покрытия многосвязного графа, необходимо упорядочить его компоненты связности не только по уровням вложенности их ребер, но и подразделить компоненты связности на так называемые «вложенные объединения».

Определение 4. Вложенным объединением n будем называть семейство компонент связности Sn плоского графа, в котором компонента связности с уровнем вложенности k содержит в себе (охватывает) компоненты связности с уровнем вложенности больше k.

с упорядоченным охватыванием, покрывающая граф G, и такая, что

Определение 5. Под уровнем вложенности компоненты связности будем понимать минимальный уровень вложенности ребер этой компоненты связности.

Определение 6. Уровнем вложенности ребра е плоского топологического графа будем называть значение функции ктагк(е) определяемой рекурсивно:

• все ребра, инцидентные внешней грани /0 графа С(У,Е), образуют множество ребер Е1 = {е Є Е : е С /0} с уровнем вложенности Уе Є Еі ктагк(е) = 1;

• ребра с уровнем вложенности 1 в графе

составляют множество Ед ребер с уровнем вложенности к в исходном графе С, т.е. Уе Є Ек ктагк(е) = к.

Например, на 1 изображено четыре компоненты связности, образующих два вложенных объединения.

2. Алгоритм OptimalMultiComponent

Введем ограничение: невозможно переключиться на построение покрытия в другом вложенном объединении, пока имеются еще не пройденные ребра в текущем.

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

Алгоритм Ор'ЬітаІМиІ'ЬіСошропепЬ

Входные данные:

плоский граф С.

Выходные данные: С|, ] = 1,..., \У0ав\/2, - покрытие графа С цепями с упорядоченным охватыванием, в = 1, 2,... - номер компоненты связности.

Ш!аг 1. Выявить множество 5 всех компонент связности графа С и для каждой компоненты связности в Є 5 найти уровень вложенности К (в).

Ш!аг 2. Построить полный абстрактный граф 9, вершинами которого являются компоненты связности 5 графа С, а длины ребер равны расстоянию между ближайшими вершинами компонент связности.

Ш!аг 3. Найти остовное дерево минимального веса Т(9) в 9.

Шаг 4. Добавить ребра найденного остовного дерева в граф С: С^ = С и Т(9).

Ш!аг 5. Выполнить алгоритм Ор'ЬішаІСоуег [5] для графа С^.

3

---г

>

7

•----О

8.

9

4

11

Рис. 1. Пример вложенных объединений

Предложенный алгоритм строит покрытие цепями с упорядоченным охватыванием за полиномиальное время.

Для графа, приведенного на 2, такое покрытие будет следующим (приведена последовательность цепей, состоящих из ребер исходного графа, в порядке их обхода, здесь верхний индекс - номер компоненты связности, нижний индекс - номер цепи для данной компоненты связности):

Сі = {5, 6, 7, 5}, С2 = {1, 3}, С3 = {8, 9,10}, С4 = {14,13,12,14},

С3 = {10,11, 8}, С22 = {3, 4, 2}.

Рис. 2. Добавление ребер, соединяющих компоненты связности, и ребер, делающих граф эйлеровым

Шаг 1 алгоритма представляет собой волновой алгоритм, который решает свою задачу за время 0(|У|2). Действия, выполняемые на шаге 2, могут быть выполнены также за время 0(| V|2). Известно, что решение задачи на шаге 3 алгоритма может быть получено также за полиномиальное время 0(^|2), либо при использовании логарифмических сортировок эту величину можно уменьшить до 0(|У|  іо§2 IV|). Шаг 4 имеет сложность 0(1). Выше упоминалось, что сложность алгоритма ОрЬішаІСоуег (шаг 5) не превосходит величины 0(| V|3). Таким образом, суммарная сложность алгоритма Ор'ЬішаІМиІЬіСошропепЬ представляет величину 0(^|3).

Алгоритм Ор'ЬішаІМиІ'ЬіСошропепЬ позволяет получить не большую длину дополнительных построений, по сравнению с разработанным ранее алгоритмом МиІЬіСошропепЬСоуег [6] (где переход по дополнительному ребру осуществлялся к ближайшей компоненте связности с внешними ребрами того же уровня вложенности). Это объясняется тем, что в данном алгоритме переход осуществляется к ближайшей возможной компоненте связности, а не к ближайшей возможной компоненте связности максимального уровня вложенности.

3. Программное обеспечение

На основе описанного в предыдущем разделе алгоритма OptimalMultiComponent разработана программа «Graph Editor». Она представляет собой простейший графический редактор, позволяющий изображать планарные графы, сохранять информацию о нарисованном графе в файле, загружать и отображать сохраненные программой графы, масштабировать их.

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

зователь может как решить задачу за один этап (выбрав в главном меню соответствующую команду), так и разбить процесс решения задачи на несколько этапов:

• добавлять и удалять дополнительные ребра;

• помечать компоненты связности;

• находить дополнительные построения минимальной длины между компонентами связности (для этого используется алгоритм Краскала);

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

При построении покрытия можно либо использовать оптимизацию (искать решение с помощью алгоритма OptimalMultiComponent), либо ограничиться поиском решения без оптимизации длины дополнительных построений (в этом случае будут построены дополнительные ребра оптимальной длины между компонентами связности, а для полученного односвязного графа используется алгоритм лексикографического упорядочения дополнительных построений).

Пользователь имеет возможность анимировать полученное решение и просмотреть процесс обхода ребер.

Заключение

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

Исследование выполнено при поддержке Министерства образования и науки РФ, соглашение 14-В37.21.0395.

Литература

1. Chebikin, D. On k-edge-ordered graphs / D. Chebikin // Discrete Mathematics. 2004. № 281.

- P. 115-128.

2. Fleischner, H. Eulerian Graphs and Related Topics. Part 1, Vol.1 / H. Fleischner. Ann. Discrete Mathematics. 1990. № 45. - 450 p.

3. Fleischner, H. Eulerian Graphs and Related Topics. Part 1, Vol.2 / H. Fleischner. Ann. Discrete Mathematics. 1991. № 50. - 325 p.

4. Panyukova, T. Eulerian Cover with Ordered Enclosing for Flat Graphs / T. Panyukova // Electronic Notes in Discrete Mathematics. - 2007. - Vol. 28. - P. 17-24.

5. Панюкова, Т.А. Оптимальные эйлеровы покрытия для плоских графов / Т.А. Панюкова // Дискретный анализ и исследование операций. 2011. - Т. 18, № 2. - C. 64-74.

6. Панюкова, Т.А. Эйлерово покрытие с упорядоченным охватыванием для многосвязного графа / Т.А. Панюкова // Материалы 3-й международной конференции «Математическое моделирование, оптимизация и информационные технологии». - Кишинёв: Evrica, 2012. - С. 429-438.

7. Panioukova, T.A. Algorithms for Construction of Ordered Enclosing Traces in Planar Eulerian Graphs / T.A. Panioukova, A.V. Panyukov // The International Workshop on Computer Science and Information Technologies 2003, Proceedings of Workshop, Ufa, September 16-18, 2003. Vol. 1, Ufa State Technical University, 2003. - P. 134-138.

8. Panyukov, A.V. The Algorithm for Tracing of Flat Euler Cycles with Ordered Enclosing / A.V. Panyukov, T.A. Panioukova // Proceedings of Chelyabinsk Scientific Center, 2000. -№ 4(9). - P. 18-22.

9. Pisanski, Т. Straight-ahead walks in Eulerian graphs / Т. Pisanski, T.W. Tucker, A. Zitnik

// Discrete Mathematics. - 2004. - Vol. 281. - P. 237-246.

10. Szeider, S. Finding paths in graphs avoiding forbidden transitions / S. Szeider // Discrete

Applied Mathematics. - 2003. — № 126. - P. 261-273.

11. Zitnik, A. Plane graphs with Eulerian Petrie walks / A. Zitnik // Discrete Mathematics. -2002. - Vol. 244. — P. 539-549.

Татьяна Анатольевна Панюкова, кандидат физико-математических наук, доцент кафедры экономико-математических методов и статистики, Южно-Уральский государственный университет (г. Челябинск, Российская Федерация), kwark@mail.ru.

Егор Александрович Савицкий, студент, Южно-Уральский государственный университет (г. Челябинск, Российская Федерация), egor88@inbox.ru.

THE SOFTWARE FOR CONSTRUCTING A GRAPH COVERING WITH ORDERED ENCLOSING FOR MULTICONNECTED PLANAR GRAPHS

T.A. Panyukova, South Ural State University

The problems of constructing such paths that correspond to definite restrictions have practical roots. For example, graph can present a cutting plan for cutting problem. A path covering all the edges of this graph determines the trajectory of cutting tool moving. The paper concerns the algorithm for constructing the optimal cover for any (may be multiconnected) graph by trails with ordered enclosing. This algorithm allows to find such a trajectory of cutting tool moving that a

part cut off from a sheet does not require additional cuttings. It is shown that the considered

algorithm has polynomial complexity.

Keywords: path, ordered enclosing, plane graph.

References

1. Chebikin D. On k-edge-ordered graphs // Discrete Mathematics. 2004. № 281. P. 115-128.

2. Fleischner H. Eulerian Graphs and Related Topics. Part 1, Vol. 1. Ann. Discrete

Mathematics. 1990. № 45. 450 p.

3. Fleischner H. Eulerian Graphs and Related Topics. Part 1, Vol. 2. Ann. Discrete

Mathematics. 1991. № 50. 325 p.

4. Panyukova T. Eulerian Cover with Ordered Enclosing for Flat Graphs // Electronic Notes in Discrete Mathematics. 2007. Vol. 28. P. 17-24.

5. Panyukova, T.A. Optimal’nye Eilerovy pokrytiya dlya ploskih graphov [Optimal Eulerian Covers for Planar Graphs] Diskretnyi analiz i issledovaniye operatziy [Discrete Analysis and Operation Research]. 2011. № 2, Vol. 18. P. 64-74.

6. Panyukova T.A. Eilerovo pokrytiye s uporyadochennym ohvatyvaniem dlya mnogosvyaznogo grapha [Eulerian Cover with Ordered Enclosing for a Multiconnected Graph] Materialy 3-y mezhdunarodnoy konferenzii Matematicheskoe modelirovanie, optimizatziya i IT [Materials of Third International Conference "Mathematical Modelling, Optimization and IT"] Kishinev, Evrica, 20І2. P. 429-438.

7. Panioukova T.A., Panyukov A.V. Algorithms for Construction of Ordered Enclosing Traces in Planar Eulerian Graphs. The International Workshop on Computer Science and Information Technologies’ 2003, Proceedings of Workshop, Ufa, September Іб--І8, 2003. Vol. І, Ufa State Technical University,2003. P. І34-І38.

8. Panyukov A.V., T.A. Panioukova The Algorithm for Tracing of Flat Euler Cycles with Ordered Enclosing. Proceedings of Chelyabinsk Scientific Center, 2000. №4(9). PA8-22.

9. Pisanski T., Tucker T.W., Zitnik A. Straight-ahead walks in Eulerian graphs. Discrete Mathematics. 2004. Vol. 28І. P. 237-24б.

10. Szeider S. Finding paths in graphs avoiding forbidden transitions. Discrete Applied Mathematics. 2003. № І2б. P. 2бІ-273.

11. Zitnik A. Plane graphs with Eulerian Petrie walks. Discrete Mathematics. 2002. Vol. 244. P. Б39-Б49.

Поступила в редакцию 10 апреля 2013 г.