Механические аналогии в задаче Штейнера

Математические структуры и моделирование 2002, вып. 9, с. 1-8

УДК 519.17

МЕХАНИЧЕСКИЕ АНАЛОГИИ В ЗАДАЧЕ

ШТЕЙНЕРА

Н.Ф. Богаченко, Р.Т. Файзуллин

The statement of the Shteiner problem and some approximate approaches are covered in this article. It is suggested the heuristic algorithm to the decision of the Shteiner problem which based on the mechanical analogies.

1. Постановка задачи и точные алгоритмы

Рассмотрим задачу Штейнера о построении кратчайшей связывающей сети на плоскости и способы ее решения, в частности возможность использования механических аналогий. Данная проблема имеет многочисленные приложения при решении транспортных задач, в теории графов, при конструировании интегральных электронных схем, при планировании топологии телефонных сетей, трубопроводов, шоссейных дорог и т.д. [1,5].

Введем ряд определений. Кратчайшей связывающей сетью (КСС) для точек а\,а2,..., а™, образующих множество M, называется дерево с вершинами в этих точках, имеющее минимальную длину, то есть наименьшую сумму длин ребер. Далее, если не оговорено противное, будем рассматривать задачу на плоскости. Известны простые алгоритмы построения такого дерева (остова минимального веса), например алгоритм Краскала [4, с.60-61], алгоритм Прима [4, с.61-62]. Но иногда возможно построить более короткое дерево, связывающее исходные точки путем добавления новых вершин, которые в дальнейшем, согласно общепринятой терминологии, будем называть точками Штейнера. В общем случае под задачей Штейнера понимается следующая проблема [5]: Пусть M - фиксированное конечное множество точек плоскости. Необходим,о описать все КСС, «затягивающие» множество M, то есть выбрать из всех плоских графов, множество вершин которых содержит M, сети наименьшей длины. Формулируя задачу в терминах евклидовой плоскости, требуется найти кратчайшую сеть прямолинейных отрезков, связывающих между собой заданное множество точек. Таким образом, для решения задачи Штейнера необходимо построить КСС с использованием новых узлов - точек Штейнера. Дерево, имеющее минимальную длину среди деревьев с любым допустимым числом точек Штейнера, называется минимальным деревом Штейнера (МДШ), Под топологией дерева понимается его матрица смежностей [4, с.27]. Относительно минимальным деревом Штейнера является дерево, имеющее минимальную длину среди деревьев с той же топологией.

© 2002 Н.Ф. Богаченко, Р.Т. Файзуллин

E-mail: zhihalkina@math.omsu.omskreg.ru, faizulin@univer.omsk.su Омский государственный университет

Рис. 1. Относительно минимальные деревья Штейнера

В общей форме задача Штейнера была впервые сформулирована в 1934 году М, Кёеелером и В. Ярником. Однако сама эта проблема не приобрела широкой известности вплоть до 1941 г., когда Р. Курант и Е. Роббинс включили ее в свою книгу [6], связав е именем Я. Штейнера, работавшего над задачей поиска одной точки, сумма расстояний от которой до всех точек заданного множества M была бы минимальной. Имеется точное решение для случая, когда мощность множества M равна З [1]. Существующие точные алгоритмы построения кратчайшего дерева Штейнера [2] для произвольного числа исходных вершин и точек Штейнера громоздки и, как следствие, мало эффективны на практике. Кроме того, выявление наиболее приемлемой топологии для заданных вершин и определение числа точек Штейнера зачастую является отдельной задачей.

Относительно минимальное дерево Штейнера, отвечающее заданной топологии, может не быть минимальным (пример двух различных топологий и соответствующие суммы длин ребер указаны на рис. 1).

Действуя методом полного перебора, найти минимальное дерево возможно путем построения всех относительно минимальных деревьев Штейнера (для заданной топологии и заданных вершин существует не более одного относительно минимального дерева Штейнера [2]). Алгоритм Мелзака [1] теоретически решает поставленную задачу, но на практике он нереализуем даже для небольших задач в следствие огромного числа переборов. Дальнейшее развитие этого алгоритма позволило сократить объем вычислений, но время решения задачи определяется геометрией исходной конфигурации и экспоненциально зависит от количества точек. Более того, задача Штейнера относится к классу NV-полных задач [4, с.62-63], а это дает повод отказаться от поиска эффективного и точного алгоритма и направить усилия на получение приближенных методов.

В теоретическом плане многие свойства относительно минимальных деревьев Штейнера и точек Штейнера хорошо изучены [2]. Далее приведены некоторые из этих свойств.

1. Каждый угол > 120°, следовательно, каждая точка соединяется с остальными вершинами дерева не более чем тремя ребрами.

2. Число ребер, исходящих из точки Штейнера, равно трем, образуя углы по 120°.

3. Число ребер дерева на единицу меньше суммарного числа исходных вершин и точек Штейнера.

4. Все точки Штейнера лежат в выпуклой оболочке исходных вершин

2

ai, «2,... ,an.

5, Число точек Штейнера s < (n — 2) (равенство достигается тогда и только тогда, когда каждая исходная вершина « имеет ровно одно ребро).

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

2. Приближенные алгоритмы

В практических приложениях нередко достаточно построить условно минимальное дерево Штейнера, то есть дерево, длина которого меньше КСС, но минимальность которого не гарантирована, либо локально минимальную сеть [5], характеризующуюся тем, что любая ее малая деформация увеличивает длину сети.

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

Предложенные механические аналогии и теорема Максвелла [5, с,75] позволяют доказать некоторые факты, связанные с МДШ, Например, как отмечалось ранее, в относительно минимальном дереве Штейнера углы между ребрами в точке Штейнера равны 120°, что означает равенство нулю результирующей трех единичных сил, действующих на точку Штейнера,

Курант и Роббинс [1] использовали в качестве модели для создания такой механической системы мыльную пленку, натянутую между двумя параллельными плоскостями, соединенными между собой стержнями в точках а1,а2,..., ап. Так как мыльная пленка всегда стремится занять такое положение, в котором ее площадь оказалась бы наименьшей по сравнению с площадями всех достаточно близких поверхностей, и может менять «свою топологию», расщепляя вершину на две и тем самым образуя новую точку Штейнера, то положение равновесия соответствует локально минимальной сети [5].

Другой эксперимент также использует механическую аналогию, при этом локально минимальной сети отвечает «равновесное состояние некоторой механической системы точек, для которой потенциал - это сумма некоторых попарных расстояний» [5, с,56], В этом случае появляются вершины, в которых встречаются по четыре ребра и больше. Но «поскольку система находится в состоянии равновесия, а ее энергия пропорциональна длине сети, полученные сети также минимальны в некотором разумном смысле» [5, с,57],

3

3. Компьютерный аналог динамической системы материальных точек

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

Далее рассматриваются полные деревья Штейнера, то есть деревья, в которых число точек Штейнера s = n — 2 (так как любое дерево Штейнера, которое не является полным, может быть представлено в виде объединения полных деревьев Штейнера [2]),

В основе алгоритма лежат свойства 2), 4), 5), В начальный момент времени внутри выпуклой оболочки исходных или граничных вершин щ, а2,... , ап, которые являются неподвижными, случайным образом генерируется s = (n — 2) точек Штейнера, Необходимо отметить, что задача построения выпуклой оболочки сама по себе является достаточно трудоемкой. На первом этапе разработки алгоритма представляется возможным ограничить область распределения точек Штейнера прямоугольником, объемлющим исходные вершины. Если предположить, что граничные точки образуют выпуклую оболочку или выделено необходимое подмножество этих вершин, то могут быть приемлемы следующие стратегии,

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

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

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

mixi + m2x2 + m3x3 miyi + m2y2 + т3уз ,л ^

xsht , ysht ,

mi + m2 + m3 mi + m2 + m3

где mi; m2, m3 - «массы», a (xi,yi), (x2,y2), (x3,y3) - координаты точек, соответствующих вершинам треугольника. Иными словами, точка Штейнера перемещается в центр масс системы, состоящей из трех ближайших вершин. Соединения точки Штейнера с этими вершинами образуют ребра графа, который строится на данной итерации. Критерием останова является стабилизация системы, то есть ее переход в состояние устойчивого равновесия.

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

4

Рис. 2. Ошибочные конфигурации

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

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

Изложенный вариант алгоритма может привести к потере связности получаемого графа. Одна из причин - «склейка» точек Штейнера. Кроме того, появляются вершины, имеющие более трех ребер. Решить последнюю проблему возможно путем формирования графа не последовательно («от треугольника к треугольнику»), а строя КСС (дерево минимальной длины) на полученных 2(n — 1) вершинах. Что касается вопроса связности, то один из вариантов решения - это обязательная принадлежность точки Штейнера найденному треугольнику. (В противном случае самая дальняя точка «блокируется» и вновь ищутся три ближайших; если после перебора всех точек допустимый треугольник не найден, то происходит изменение координат текущей точки Штейнера согласно некоторому правилу. Но, как показывает вычислительный эксперимент, наиболее эффективна случайная смена координат.) К сожалению, эта интерпретация алгоритма также не защищена от появления «висячих» вершин или неприемлемых конфигураций (см. рис. 2).

Отслеживание всех недопустимых ситуаций приводит к обычным комбинаторным проблемам.

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

Кроме того, предложенный алгоритм легко переносится на случай пространства, размерность которого больше двух, так как ребра искомого дерева по-прежнему являются геодезическими и степень каждой вершины не превосходит трех [5, с.57].

В работе не приводятся оценки трудоемкости и сравнительные характеристики алгоритма, а также не затрагиваются вопросы сходимости. Целью являлось описание одного из возможных подходов к решению поставленной проблемы. Успешное решение отдельных тестовых задач позволяет надеяться на дальнейшее развитие и применение предложенного алгоритма. На рисунках 3, 4 5

5

Рис. 4. Минимальное дерево Штейнера для n = 14

6

Рис. 5. Условно минимальные деревья Штейнера для n = 7, 5

Рис. 6. Условно минимальные деревья Штейнера для n = 7, 8

Таблица 1.

Рис. Исходные вершины S Ssht

n m

5 7 2,5

5 5 1,5 14,46 13,97

6 7 2,0 38,01 37,47

6 8 1,2 39,03 38,95

7

представлены результаты работы алгоритма по попеку топологии, отвечающей МДШ (исходные конфигурации представляют собой множества из n висячих вершин результирующих деревьев, n = 8 и 14), Данные графы совпадают с деревьями, построенными при помощи точных алгоритмов [2]. Рисунки 5, 6 демонстрируют работу алгоритма по построению условно минимального дерева (исходные конфигурации представляют собой множества висячих вершин результирующих деревьев). Пусть S - длина КСС, найденной приближенным алгоритмом: первое ребро соединяет две ближайшие вершины, затем на каждой итерации добавляется ближайшая, еще не присоединенная вершина и строится соответствующее ребро, из результирующей замкнутой цепи удаляется ребро максимальной длины; Ssht - длина дерева Штейнера, полученного при работе предложенного алгоритма, основанного на механических аналогиях; n - число исходных вершин; m - «масса» исходных вершин («масса» точки Штейнера равна 1),

В заключении еще раз вернемся к вопросу начального распределения точек Штейнера, Возможно, что наиболее «благоприятным» является такое расположение этих точек внутри выпуклой оболочки исходных вершин, что проведенная через них статистическая кривая (например, по методу наименьших квадратов) «достаточно» гладкая [3].

Литература

1. Берн М. У., Рональд Л. Г. Поиск кратчайших сетей //В мире науки. 1989. N 3.

С.64-70.

2. Гилберт Э. Н., Поллак Г. О. Минимальные деревья Штейнера // Кибернетический сборник, вып. 8. М.: Мир, 1971. С. 19-49.

3. Горбунов С. В., Кисель И. В., Конотопская Е. В., Файзуллин Р. Т. Сравнение методов гарантированной гладкости и эластичной сети для, задачи коммивояжера на плоскости // Сообщения ОИЯИ Р5-97-258. Дубна, 1997. С.1-7.

4. Емеличев В. А., Мельников О. И., Сарванов В. И., Тышкевич Р. И. Лекции по т,еории графов. М.: Наука, 1990. 383 с.

5. Иванов А.О., Тужилин А.А. Геометрия минимальных сетей и одномерная проблема Плато // Успехи математических наук. М.: Наука, 1992. Т.47. В.2(284). С.53-115.

6. Courant R., Robbins Н. What is Mathematics? Oxford University Press, New York, 1941.

8