Научная статья на тему 'Процедуры сужения пространства решений при построении дерева Штейнера'

Процедуры сужения пространства решений при построении дерева Штейнера Текст научной статьи по специальности «Математика»

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

Текст научной работы на тему «Процедуры сужения пространства решений при построении дерева Штейнера»

Раздел 3 Автоматизация проектирования

УДК 681.3

Б. К. Лебедев

ПРОЦЕДУРЫ СУЖЕНИЯ ПРОСТРАНСТВА РЕШЕНИЙ ПРИ ПОСТРОЕНИИ ДЕРЕВА ШТЕЙНЕРА*

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

Известная проблема Штейнера состоит в следующем [9]. Дано множество точек на плоскости: P = {p. | i = 1,2,...,n}. Требуется найти дерево S = (X,U), с множеством вершин X и множеством ребер U таких, что P с X, и суммарная длина ребер U минимальна. В случае ортогональной метрики расстояние между точками с координатами {x.,y.} и {x j,yj} определяется по формуле

di,j = I X - Xj | + lyi - yj |.

Отличительной особенностью дерева Штейнера является то, что оно кроме основных вершин Р содержит некоторое множество дополнительных вершин

Q = X\P.

Пусть задано множество точек P = {p. \i = 1,2,...,n}, расположенных на

, .

линии, параллельные осям X и Y (рис.1,а). Образуется ортогональная сетка. Обозначим через V множество точек пересечений линий сетки и назовем их узлами сетки. Сопоставим ортогональной сетке граф G = (V,Е). Ряд теорем [7-9] дока, ,

V. ,

ограничиться узлами ортогональной сетки G = (V,Е), а само дерево Штейнера

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

\Q\^ n - 2.

* Работа выполнена при поддержке Мин. образования, грант № 12391 (ТО2-02.3-491)

б

Рис.1

Исходная задача эквивалентна задаче отыскания в графе О = (V, Е) дерева

г г г

О = (V ,Е ), имеющего минимальный суммарный вес ребер и включающего

г

заданный набор вершин Р графа О, т.е. Р с и С и.

Проведенные исследования выявили у деревьев Штейнера некоторые характерные свойства [10-12], которые послужили основой для разработки интеллектуальных процедур решения задачи.

Назовем цепь в графе О = (V ,Е), связывающую две основные вершины, 5.

2. Подход к построению дерева Штейнера. В работе задача построения МДШ сводится к задаче построения и выбора (п — 1) -го 5-ребер, связывающих п .

Задача решается в два этапа. На первом этапе формируется набор альтернативных вариантов 5-ребер, заведомо большей размерности, чем (п — 1), покрывающий МДШ. На втором этапе из сформированного набора выбирается (п — 1)

5- , .

Для решения этой задачи используются методы искусственного интеллекта. Разработано представление задачи в виде системы продукций [11,12]. В качестве глобальной базы данных (ГБД) используются текущие наборы £^ альтернативных

5-ребер. Терминальное условие - в каждом наборе £1 по одному 5-ребру. В качестве продукций используется ряд правил, позволяющих на основе анализа отбро-

5- .

основе анализа текущего состояния ГБД выбор соответствующего правила и его применения к ГБД. Выбор правила осуществляется на основе полного перебора.

В общих чертах процесс решения заключается в следующем. На каждом шаге анализируются варианты 5-ребер в наборах £^ и удаляется какое-то 5-ребро

51к, не приводящее к потере оптимального решения. Процесс продолжается до

, 5- . -

X

X

3

3

а

5- 51к, то оно фиксируется, т.е. считается составной частью

МДШ. Может оказаться, что на некоторой итерации не удается удалить ни одного альтернативного 5-ребра. Тогда осуществляется “расщепление” процедуры поиска, заключающееся в том, что для некоторого набора £ фиксируется попеременно

5- . -

, .

3. Метод сужения пространства решений. Пусть задано м ножество точек, через которые проложены линии, параллельные осям X и У и образующие ортого-.

Рассмотрим пару параллельных линий, одна из которых является крайней ( , , ), - . -ре. Пусть на крайней линии лежит одна вершина (см. рис.1,а). Пусть на множестве вершин построено МСД и сформированы варианты 5-ребе р. Отметим, что при построении МСД максимальное число ребер, связывающих вершину, лежащую на крайней линии с остальными, не может быть больше трех. Это справедливо, потому что известно, что при построении МСД, множество ребер, инцидентных одной вершине, не может быть более шести. Если провести через вершину ось, то по одну сторону оси не может быть более трех ребер.

Как уже указывалось выше, минимизация МДШ достигается максимально

возможным совпадением 8-ребер. Проведем от вершины Х\ (см. рис.1,а), лежащей на крайней слева линии, горизонтальный отрезок до соседней линии. Будем рассматривать только те варианты 8-ребер, реализующих ребра г1, г2, г5, которые включают в свой состав этот отрезок. Можно легко убедиться, что в этом случае все варианты 8-ребер, обеспечивающих их максимально возможные совпадения, . , -

Г

Х]_.

г

можно вместо вершины Х1 использовать вершину Х1 (см. рис.1,6), а отрезок,

Г

Х1 Х1 , .

( ) .

Правило ПС1. Если на выбранной крайней линии Ъ лежит одна вершина

Ху, то к Xу применяется процедура Б1.

Процедура Б1. Из вершины Ху проводится отрезок до соседней линии. Если точка Р соприкосновения отрезка с соседней линией свободна, то в нее поме-

Г Г

щается вершина Ху, а отрезок (Ху, Ху) является составной частью строящегося МДШ. Если же в точке Р помещена некоторая вершина Х^, то вершина Ху ис, (Ху , Х )

' J

.

Рассмотрим случай, когда на крайней линии лежат две вершины - XI и X 2 , причем X 2 не является ближайшей вершиной к Х^ и наоборот.

Возможна ситуация А, когда два 8-ребра, связывающих Х^ и Х2 с осталь-, , крайней и соседней линиями. На рисунке (см. рис.2) величина и - это отрезок между вершинами Х^ и X2, d - отрезок между крайней и соседней линиями. В ситуации А в состав МДШ войдут отрезки и и d с общей длиной 1(и)+Щ).

Рис.2

Пусть Х3 - вершина, ближайшая к Х^, а Х^ - ближайшая к Х2, Г1 -ребро, связывающее Х1 и Х3, Г? - ребро, связывающее Х2 и Х1, /(7*1) - длина Г , 1(^2) - длина Г2 (рис.3).

Рис.3

Если 1(Г1 )+1(?2) — Ци)+Щ), то ситуация А не возможна, т.е. реализация 8-ребер в соответствии с ситуацией А даст не оптимальный результат. Поэтому этот вариант реализации можно не рассматривать. Тогда каждая вершина Х1 и Х2 могут рассматриваться по отдельности и к ним можно применить процедуру Б1. В

Г Г

соответствии с этим на соседней линии помещаются вершины Х1 и Х2 (если

, , ),

Г ^

МДШ будут рассматриваться вместо Х1 и Х2, а отрезки (Х1 ,Х1) и (Х2 ,Х2) входят в состав МДШ.

На основании выше изложенного сформулируем правило ПС2.

Правило ПС2. Если на выбранной крайней линии Ъ расположены две вершины Х1 и Х2, и Х3 (Х2 Ф Х3) является ближайшей к Х1 и Х4( Х1 Ф Х4)

является ближайшей к Х2, и (Цх\ ,хз ) + ¡(%2 ,х4 ) < ¡(и) + ¡(ё)), то к вершинам

и Х2 поочередно применяется процедура сужения Б1.

Пусть теперь на крайней линии расположено более двух вершин (рис.4).

Рис.4

В этом случае осуществляется последовательный (начиная с первой или с последней) просмотр пар (, X2), (X2, Х3), (Х3, X4), и к каждой паре применяется правило ПС2, причем, если к какой-либо паре пр авило ПС2 не при менимо, то последующие пары не рассматриваются. В этом случае можно организовать последовательный просмотр пар в обратном порядке. Но главное условие - очередная и последующие за ней пары не рассматриваются, если к предыдущей паре 2 .

Рассмотрим пример. На рис.5,а представлено множество вершин, на которых необходимо построить МДШ. Через вершины проведены параллельные линии, образующие ортогональную сетку, и построено МСД. На крайних линиях слева, снизу и справа расположено по одной вершине, соответственно 1, 3 и 7. Применим к вершинам 1, 3, 7 правило ПС1 и получим новое состояние задачи, представленное на рис.5,6.

а б

Рис.5

На рисунке (см. рис.5,6) на крайней справа линии расположена пара вершин 7' и 8 к которой применимо правило ПС2. Новое состояние показано на рис.6,а. Далее применяем правило ПС2 к паре вершин 2 и 7', расположенных на крайней сверху линии и переходим к новому состоянию, представленному на рис.6,6.

Рис.6

б

а

Здесь применяем правило ПС2 к паре вершин 6 и 8' и переходим к состоянию, представленному на рис.7,а. Применяем далее к вершинам 2' и 4' правило ПС2 и переходим к состоянию на рис.7,6. Теперь для окончательного получения МДШ к состоянию, представленному на рис.7,6, необходимо применить процедуры отсечек.

2 7

\..

а

Рис.7

Временная сложность алгоритма имеет оценку 0(n2), где n - число связываемых вершин. Эксперименты показали, что “расщепление” приводит в среднем к появлению 4-5 альтернативных решений. Необходимость формирования дополнительных вариантов возникает в среднем для 1-2 ребер. Среднее число вариантов в пределах 4-6. Во всех решенных примерах на сформированном наборе вариантов был достигнут глобальный оптимум, что выгодно отличает разработанный алгоритм от известных. Эксперименты показали, что в 90% случаев пространство решений на базе сформированного набора вариантов ребер включает глобальное .

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. J-M. Ho, G. Vijayan, and C.K. Wong, “New algorithms for the rectilinear Steiner tree problem,” IEEE Trans. Computer - Aided Design, vol.9, Feb.1990. pp.185-193.

2. Ting-Hai Chao and Yu-Chin Hsu. Rectilinear steiner tree construction by local and global refinement. IEEE Transactions on CAD of Integrated Circuits and Systems, 13:303-309, March 1994.

3. F.K. Hwang, D.S. Richards,, and P. Winter, The Steiner Tree Problem. North-Holland, 1992.

4. J.L. Ganley, and J.P.Cohoon, “Improved computation of optimal . rectilinear Steiner minimal trees,” Int. J. Comput. Geometry and Appl., vol.7, 1997. pp. 457-472.

5. M.Zachariasen, “Rectilinear full Steiner tree generation,” Networks, vol. 33, 1999. pp. 125143.

6. G. Robins and A. Zelikovsky, “Improved Steiner tree approximations in graphs,” in Proc. 11th ACM-SIAM Ann. Symp. Discret. Algorithms, 2000. pp. 770-779.

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

7. Gilbert E.W., Pollan H.O. Steiner minimal trees. - “SIAM J. Appl. Math.”, v/16, № 1, 1968. pp. 1-29.

8. Hohah M. On Steiner problem with rectiliner distanse. - “SIAM J. Appl. Math.”, v/14, № 2. 1966. pp.255-265.

9. ., . . - .: ,

1978.

10. . . //

программы решения оптимизационных задач на графах и сетях. Часть 1, 1989. - С.108 -109.

11. . . -

. // , 2000. 1. - .89-94.

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