Научная статья на тему 'NP-ПОЛНОТА ЗАДАЧИ ПОСТРОЕНИЯ ГРАФА С МИНИМАЛЬНЫМ КОЭФФИЦИЕНТОМ НЕПРЯМОЛИНЕЙНОСТИ'

NP-ПОЛНОТА ЗАДАЧИ ПОСТРОЕНИЯ ГРАФА С МИНИМАЛЬНЫМ КОЭФФИЦИЕНТОМ НЕПРЯМОЛИНЕЙНОСТИ Текст научной статьи по специальности «Математика»

CC BY
43
9
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
NP-ПОЛНОТА / КОЭФФИЦИЕНТ НЕПРЯМОЛИНЕЙНОСТИ / ГРАФ / ТРИАНГУЛЯЦИЯ / ЭВРИСТИЧЕСКИЙ АЛГОРИТМ

Аннотация научной статьи по математике, автор научной работы — Хижнякова Е. В.

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

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

NP-COMPLETENESS OF THE PROBLEM OF CONSTRUCTING A GRAPH WITH A MINIMUM STRETCH FACTOR

In this paper, we consider the problem of constructing a planar connected weighted graph on a given set of points in such a way that the sum of the shortest paths between all pairs of vertices is the minimum possible.In other words, the problem of constructing a graph with a minimum stretch factor. The euclidean distance between the ends is taken as the weight of the edge. It is proved that such a problem is NP-complete. This problem arises when planning transport networks, since it is the stretch factor of the graph of the transport network that directly indicates the level of overrun of transport, which should be as small as possible in order to minimize the resources spent. But since this problem is NP-complete, a heuristic algorithm for solving the problem under consideration is proposed, which is based on sorting some simple paths and has a recursive character. This algorithm always builds a triangulation, since only in this class of graphs is it possible to solve the problem. A number of experiments have been carried out on the statistical study of the stretch factor of the triangulation constructed as a result of the operation of the above algorithm on randomly generated points. Experiments show that the losses are about 1.5-7.8%, and for real cities this parameter is about 30%.

Текст научной работы на тему «NP-ПОЛНОТА ЗАДАЧИ ПОСТРОЕНИЯ ГРАФА С МИНИМАЛЬНЫМ КОЭФФИЦИЕНТОМ НЕПРЯМОЛИНЕЙНОСТИ»

www.volsu.ru

DOI: https://doi.org/10.15688/mpcm.jvolsu

УДК 519.16 ББК 22.181.2

Дата поступления статьи: 21.03.2023 Дата принятия статьи: 26.04.2023

NP-ПОЛНОТА ЗАДАЧИ ПОСТРОЕНИЯ ГРАФА С МИНИМАЛЬНЫМ КОЭФФИЦИЕНТОМ НЕПРЯМОЛИНЕЙНОСТИ

Екатерина Владимировна Хижнякова

Старший преподаватель кафедры компьютерных наук и экспериментальной математики, Волгоградский государственный университет [email protected] https://orcid.org/0000-0002-7914-9988

просп. Университетский, 100, 400062 г. Волгоград, Российская Федерация

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

Ключевые слова: NP-полнота, коэффициент непрямолинейности, граф, триангуляция, эвристический алгоритм.

3 Введение

, Минимизация временных, топливных и других издержек при перевозках является актуальной проблемой во все времена. Многое зависит от качества транспорта, дорож-« ного покрытия и т. п. Структура транспортной сети также является важной характери-| стикой. Например, при движении по г. Калач-на-Дону средние потери составляют 31 %, | если учитывать только структуру транспортной сети. Поэтому задача построения такой X транспортной сети, при использовании которой все перевозки между ключевыми узлами проходят по максимально короткому пути, достойна тщательного рассмотрения.

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

Задачи, связанные с коэффициентом непрямолинейности графа, а именно эта характеристика графа прямо указывает на процент перепробега транспорта, не новы. Например, они рассматриваются в работах [6; 7; 10] и других. Но большинство из них рассматривают лишь триангуляцию Делоне, хотя эксперименты показывают, что существуют графы с более низким коэффициентом непрямолинейности, чем у триангуляции Делоне. Например, в классе аффинных триангуляций Делоне, описанных в [9], есть такие примеры.

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

1. Постановка задачи

Для начала дадим строгое определение коэффициента непрямолинейности пути. Определение 1. Коэффициент непрямолинейности пути между вершинами p и q в графе G есть отношение длины кратчайшего пути между этими вершинами в G к длине прямолинейного пути, то есть

А с{РЛ)

¿{рл)

(1)

Задача 1. Пусть задан конечный набор узлов Р = {рх,р1,... ,рк} и длины прямолинейных путей д,{рг) > 0 для каждой пары узлов. Необходимо построить плоский неориентированный граф С с минимально возможным средним коэффициентом непрямолинейности Ас, где

Ас

Ас{Р%,Рз) N{М - 1) '

(2)

В работе [4] доказано, что для решения поставленной задачи необходимо строить триангуляцию.

2. Доказательство NP-полноты

Определение 2. Классом NP называют множество задач разрешимости, решение которых возможно проверить за время, не превосходящее значения некоторого многочлена от размера входных данных (см. [2]).

Определение 3. Классом P называют множество разрешимых за полиномиальное время задач (см. [2]).

Определение 4. Классом NP-nолных задач называют множество задач, для решения которых не существует полиномиального алгоритма (см. [2]).

На рисунке 1 показано отношение вышеописанных классов.

Рис. 1. Класс ЫР

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

Ас = £ ). (3)

Поставим в соответствие оптимизационной задаче 1 следующую задачу распознавания.

Задача 2. Дан полный неориентированный граф С = (У,Е) и К > 1. Существует ли подграф Н = (V, Ег) графа в с Ъ!н < К.

Поскольку задача распознавания не может быть сложнее соответствующей задачи оптимизации, то, если удастся показать, что задача 2 ЫР-полна, то отсюда будет следовать вывод, что и оптимизационная задача 1 также ЫР-полна [2].

Теорема 1. Задача 2 ЫР-полна.

Доказательство. Для доказательства ЫР-полноты задачи достаточно показать, что она принадлежит классу ЫР и какая-нибудь известная ЫР-полная задача может быть к ней сведена [2].

1) Установим, что задача 2 принадлежит классу ЫР. Существует множество алгоритмов для определения кратчайших путей между всеми парами вершин для взвешенного графа. Например, алгоритм Флойда — Уоршелла работает за 0(пг) даже для ориентированного графа [1]. Просуммировав длину всех кратчайших путей и сравнив с К, можно ответить на вопрос, является ли это решением задачи или нет. Принадлежность задачи 2 классу ЫР доказана.

2) В статье [8] доказывается ЫР-полнота следующей задачи.

Задача 3. Дан неориентированный граф С = (У,Е), функция весов Ь : Е ^ е N,0 е N. Существует ли подграф Н = (У,Е!) графа С с

весом ^^ L(i,j) < В и значением критерия Ая < С?

Так как нам необходимо построить триангуляцию, а в ней не более 3Ы — 6 ребер, как показано в [3], то ^^ Ь(г, ]) будет заведомо меньше

{ьз}еЕ>

(3Ы — 6)В, где В — расстояние между самыми удаленными вершинами.

Если в задаче 3 за С взять полный граф и В = {3М — 6)И, то получаем задачу, которая проще задачи 2, так как вводится ограничение только на сумму длин всех ребер, не рассматривая другие ограничения, накладываемые на триангуляцию. Так как 3 NP-полна, значит и 2 также NP-полна.

3. Приближенное решение задачи

К сожалению, все хорошо известные алгоритмы для решения NP-полных задач имеют экспоненциальную временную сложность, что эквивалентно полному перебору всех возможных вариантов. Если для решения поставленной в этой статье задачи будут рассмотрены лишь триангуляции, то для N исходных точек придется перебрать 59м 0{М-6) вариантов [11], что требует огромных затрат ресурсов. Поэтому имеет смысл сформулировать эвристический алгоритм решения поставленной задачи.

Согласно вышеизложенным рассуждениям, будем придерживаться стратегии построения оптимальной триангуляции.

Алгоритм построения

Для наглядности на рисунке 2 представлена блок-схема алгоритма.

1. В любую триангуляцию входят ребра, составляющие минимальную выпуклую оболочку точек Рг{{ = 1, 2,...,М), поэтому для начала нужно найти минимальную выпуклую оболочку и, в соответствии с этим, разделить точки на внешние и внутренние, а также добавить в искомый граф С ребра минимальной выпуклой оболочки.

2. Для каждой пары несмежных внешних вершин р и q составить список Ярд простых путей, проходящих через внутренние вершины, коэффициент непрямолинейности которых не превышает Ас{р,д). Пути с коэффициентом непрямолинейности, превышающим Ас(р,я), учитывать бессмысленно, так как заведомо есть более короткий путь на границе. Если грань является треугольной с внутренними узлами, то следует рассматривать пары смежных вершин и допустить пути, коэффициент непрямолинейности которых превышает Ас{р,д) = 1, иначе произойдет зацикливание.

3. Для каждой пары несмежных внешних вершин р и q (в случае треугольной грани с внутренними вершинами рассматривать пары смежных вершин) отсортировать найденные пути Ярд по принципу «меньше коэффициент непрямолинейности, больше узлов». Принцип «меньше коэффициент непрямолинейности» очевиден. Принцип «больше узлов» необходим для минимизации пересечений ребер и частной перестройки графа, что в конечном счете ведет к увеличению Ас и времени работы алгоритма. Величиной для сравнения может служить:

Ь Ард ^РЯ ,

где АРд и МРд - нормированные коэффициент непрямолинейности и количество узлов пути вРд Е Ярд соответственно.

Рис. 2. Алгоритм построения графа с низким коэффициентом непрямолинейности

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

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

5.1. Пусть пересекаются ребра и и V. Кратчайшие пути, проходящие через ребра и и V, обозначим 1и и соответственно. Для каждого пути из 1и найти наи-

более короткий альтернативный путь, не пересекающий ребро V. Аналогично для . Обозначим списки альтернативных путей через Аи и Аь. Сделать это легко, так как есть прежде отсортированный список путей Б, из которого нужно просто взять очередной и проверить, пересекает ли он ребро.

5.2. Оценить процент потерь при удалении каждого из ребер и и V, который можно вычислить по формуле:

Ш(и) = ^ А(Аи(рд)) — А(1и(рд)),

где Ии - все пары вида (начало, конец) путей из 1и. Формула аналогична для

1о$Ь(ь).

5.3. Если 1о8Ъ(и) < 1о8Ъ('ц), то все пути 1и заменяются путями Аи, а значит удаляется ребро и, иначе все пути заменяются путями А,и, а значит удаляется ребро V.

6. Шаг 5 нужно повторять до тех пор, пока не останется пересечений.

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

4. Результаты экспериментов

Был проведен ряд экспериментов по статистическому исследованию коэффициента непрямолинейности триангуляции, построенной в результате работы вышеописанного алгоритма на случайно сгенерированных точках. Результаты эксперимента для 150 три-ангуляций на случайных наборах из 15 точек отражены на рисунке 3. Из гистограммы видно, что подавляющая часть триангуляций, построенная в результате работы приведенного алгоритма, имеет потери примерно 1,5-7,8 %, что по сравнению с традиционным в современном мире устройством улиц, потери для которых обычно больше 15 %, а для реальных городов составляет около 30 % [5], является неплохим результатом.

1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 Коэффициент непрямолинейности

Рис. 3. Эмпирическая плотность распределения коэффициента непрямолинейности 48 Е.В. Хижнякова. ЫР-полнота задачи построения графа

Заключение

Показана NP-полнота задачи построения на заданных точках плоского графа с минимально возможным коэффициентом растяжения. Так как точное решение поставленной задачи заключается в полном переборе всех вариантов, в работе описан эвристический алгоритм построения графа с низким коэффициентом непрямолинейности. Результаты экспериментов по построению графов с помощью данного алгоритма показывают, что потери при использовании полученных сетей составляют примерно 1,5-7,8 %.

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

СПИСОК ЛИТЕРАТУРЫ

1. Алгоритмы: построение и анализ / Х. К. Томас, И. Л. Чарльз, Л. P. Рональд, К. Штайн. — М. : Издательский дом «Вильямс», 2013. — 1296 с.

2. Гэри, М. Вычислительные машины и труднорешаемые задачи / М. Гэри, Д. Джонсон. — М. : Мир, 1982. — 416 с.

3. Свами, М. Графы, сети и алгоритмы / М. Свами, К. Тхуласираман. — М. : Мир, 1984. — 454 с.

4. Хижнякова, Е. В. Построение неориентированного графа с низким коэффициентом непрямолинейности / Е. В. Хижнякова // Материалы XIII Международной научно-технической конференции «Информатика, управляющие системы, математическое и компьютерное моделирование» (ИУСМКМ-2022). — Донецк : Изд-во ДОННТУ, 2022. — C. 255-258.

5. Яковлева, Е. В. Исследование коэффициента растяжения планарного графа транспортной сети численными методами / Е. В. Яковлева, В. А. Клячин // XXIII Региональная конференция молодых исследователей Волгоградской области. — Волгоград : Изд-во ВолГУ, 2019. — C. 24-26.

6. Almost all Delaunay Triangulations Have Stretch Factor Greater Than n/2 / P. Bose, L. Devroye, M. Loffler, J. Snoeyink, V. Verma // Computational Geometry: Theory and Applications. — 2011. — Vol. 44. — P. 121-127. — DOI: https://doi.org/10.1016/j-.comgeo.2010.09.009

7. Chew, L. P. There Are Planar Graphs Almost as the Complete Graph as Good / L. P. Chew // Journal of Computer and System Sciences. — 1989. — Vol. 39. — P. 205-219. — DOI: https://doi.org/10.1016/0022-0000(89)90044-5

8. Johnson, D. S. The Complexity of the Network Design Problem / D. S. Johnson, J. K. Lenstra, A. H. G. Rinnooy Kan // Networks. — 1978. — Vol. 8. — P. 279-285. — DOI: https://doi.org/10.1002/net.3230080402

9. Klyachin, V. A. Mathematical Methods for the Analysis and Optimization of the Geometry of Transport Networks Based on Generalized Delaunay Triangulations / V. A. Klyachin, E. V. Yakovleva // "Smart Technologies" for Society, State and Economy (Lecture Notes in Networks and Systems). — 2021. — Vol. 155. — P. 1596-1604. — DOI: https://doi.org/10.2991/cssdre-18.2018.94

10. On the Stretch Factor of Convex Delaunay Graphs / P. Bose, P. Carmi, S. Collette, M. Smid // Algorithms and Computation. Lecture Notes in Computer. — 2008. — Vol. 5369. — P. 656-667. — DOI: https://doi.org/10.1007/978-3-540-92182-0_58

11. Seidel, R. On the Number of Triangulations of Planar Point Sets / R. Seidel // Combinatorica. — 1998. — Vol. 18. — P. 297-299. — DOI: https://doi.org/10.1007/978-3-540-70904-6_1

REFERENCES

1. Tomas Kh.K., Charles I.L., Ronald L.P., Clifford K. Algoritmy: postroenie i analiz [Introduction to Algorithms]. Moscow, "Vilyams" Publ., 2013. 1296 p.

2. Garey M., Johnson D. Vychislitelnye mashiny i trudnoreshaemye zadachi [Computers and Intractability: A Guide to the Theory of NP-Completeness]. Moscow, Mir Publ., 1982. 416 p.

3. Swamy M., Thulasiraman K. Grafy, seti i algoritmy [Graphs, Networks, and Algorithms]. Moscow, Mir Publ., 1984. 454 p.

4. Khizhnyakova E.V. Postroenie neorientirovannogo grafa s nizkim koeffitsientom nepryamolineynosti [Construction of an Undirected Graph with a Low Stretch Factor]. Materialy XIII Mezhdunarodnoy nauchno-tekhnicheskoy konferentsii «Informatika, upravlyayushchie sistemy, matematicheskoe i kompyuternoe modelirovanie» (IUSMkM-2022). Donetsk, Izd-vo DNTU, 2022, pp. 255-258.

5. Yakovleva E.V., Klyachin V.A. Issledovanie koeffitsienta rastyazheniya planarnogo grafa transportnoy seti chislennymi metodami [Investigation of the Stretch Factor of a Planar Graph of a Transport Network by Numerical Methods]. XXIII Regionalnaya konferentsiya molodykh issledovateley Volgogradskoy oblasti. Volgograd, Izd-vo VolSU, 2019, pp. 24-26.

6. Bose P., Devroye L., Loffler M., Snoeyink J., Verma V. Almost All Delaunay Triangulations Have Stretch Factor Greater Than n/2. Computational Geometry: Theory and Applications, 2011, vol. 44, pp. 121-127. DOI: https://doi.org/10.1016/j-.comgeo.2010.09.009

7. Chew L.P. There Are Planar Graphs Almost as the Complete Graph as Good. Journal of Computer and System Sciences, 1989, vol. 39, pp. 205-219. DOI: https://doi.org/10.1016/0022-0000(89)90044-5

8. Johnson D.S., Lenstra J.K., Rinnooy Kan A.H.G. The Complexity of the Network Design Problem. Networks, 1978, vol. 8, pp. 279-285. DOI: https://doi.org/10.1002/net.3230080402

9. Klyachin V.A., Yakovleva E.V. Mathematical Methods for the Analysis and Optimization of the Geometry of Transport Networks Based on Generalized Delaunay Triangulations. "Smart Technologies" for Society, State and Economy (Lecture Notes in Networks and Systems), 2021, vol. 155, pp. 1596-1604. DOI: https://doi.org/10.2991/cssdre-18.2018.94

10. Bose P., Carmi P., Collette S., Smid M. On the Stretch Factor of Convex Delaunay Graphs. Algorithms and Computation. Lecture Notes in Computer, 2008, vol. 5369, pp. 656-667. DOI: https://doi.org/10.1007/978-3-540-92182-0_58

11. Seidel R. On the Number of Triangulations of Planar Point Sets. Combinatorica, 1998, vol. 18, pp. 297-299. DOI: https://doi.org/10.1007/978-3-540-70904-6_1

NP-COMPLETENESS OF THE PROBLEM OF CONSTRUCTING A GRAPH WITH A MINIMUM STRETCH FACTOR

Ekaterina V. Khizhnyakova

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

Senior Lecturer, Department of Computer Sciences and Experimental Mathematics, Volgograd State University [email protected] https://orcid.org/0000-0002-7914-9988

Prosp. Universitetsky, 100, 400062 Volgograd, Russian Federation

Abstract. In this paper, we consider the problem of constructing a planar connected weighted graph on a given set of points in such a way that the sum of the shortest paths between all pairs of vertices is the minimum possible.

In other words, the problem of constructing a graph with a minimum stretch factor. The euclidean distance between the ends is taken as the weight of the edge. It is proved that such a problem is NP-complete. This problem arises when planning transport networks, since it is the stretch factor of the graph of the transport network that directly indicates the level of overrun of transport, which should be as small as possible in order to minimize the resources spent. But since this problem is NP-complete, a heuristic algorithm for solving the problem under consideration is proposed, which is based on sorting some simple paths and has a recursive character. This algorithm always builds a triangulation, since only in this class of graphs is it possible to solve the problem. A number of experiments have been carried out on the statistical study of the stretch factor of the triangulation constructed as a result of the operation of the above algorithm on randomly generated points. Experiments show that the losses are about 1.5-7.8%, and for real cities this parameter is about 30%.

Key words: NP-completeness, stretch factor, graph, triangulation, heuristic algorithm.

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