Научная статья на тему 'Интеллектуальная система построения дерева Штейнера на основе процедур отсечки и сужения пространства решения.'

Интеллектуальная система построения дерева Штейнера на основе процедур отсечки и сужения пространства решения. Текст научной статьи по специальности «Компьютерные и информационные науки»

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

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

УДК 681.512

Лебедев Б.К.

Интеллектуальная система построения дерева Штейнера на основе процедур отсечки и сужения пространства решения.

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

Известная проблема Штейнера состоит в следующем [1]. Дано множество точек на плоскости: Р = {рі | і = 1,2,...,п} . Требуется найти дерево £ = (X,и), с множеством вершин Х и множеством ребер и таких, что Р с X, и суммарная длина ребер и минимальна. В случае ортогональной метрики расстояние между точками с координатами {хі, уі} и {ху., у } определяется по формуле йі у. = | хі - х] | + | уі - у |.

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

Пусть задано множество точек Р = {рі | і = 1,2,...,п}, расположенных на плоскости, на которых нужно построить дерево Штейнера. Проведем через них линии, параллельные осям Х и У (рис.1). Образуется ортогональная сетка. Обозначим через V множество точек пересечений линий сетки и назовем их узлами сетки. Сопоставим ортогональной сетке граф О = (V, Е). Ряд теорем [1,2,3] доказывает, что существует дерево Штейнера, все дополнительные вершины которого принадлежат V. Другими словами при отыскании дополнительных точек можно ограничится узлами ортогональной сетки О = (V, Е), а

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

Исходная задача эквивалентна задаче отыскания в графе О = (V, Е) дерева G = (V , Е ), имеющего минимальный суммарный вес ребер и включающего заданный

набор вершин Р графа О, т.е. Р с и с и.

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

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

Сформулируем некоторые свойства, присущие дереву Штейнера (МДШ):

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

2. Если удалить в МДШ некоторое 5-ребро, то образуются два подграфа £1 и £ 2, т.е. каждое 5-ребро является мостом. Отметим, что 5-ребра МДШ могут иметь общие части и удаление 5-ребра в общем случае сводится к удалению некоторой его части, не являющейся общей для других 5-ребер.

3. Если удалить в МДШ 5-ребро, то образуются два подграфа £1 и £2, при этом длина любой простой цепи в графе О, связывающей подграфы £1 и £ 2, не меньше длины

удаленной части 5-ребра.

Вышеприведенные свойства одновременно являются и условиями необходимыми и достаточными для построения МДШ.

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

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

На втором этапе из сформированного набора выбирается (п -1) 5-ребро,

покрывающее МДШ.

Рассмотрим процесс формирования альтернативных вариантов 5-ребер, включающий две стадии. На первой стадии на множестве вершин алгоритмом Прима строится минимальное связывающее дерево (МСД) Я = {Я1 11 = 1,2,...,п}, Я1 = (хі,х]) -

ребро МСД. Для каждого ребра Я1 строится набор £ = Г(Я1) альтернативных вариантов 5-ребер. £ = {.% | к = 1,2,...,т} . Формирование £ осуществляется исходя из следующих посылок:

1. длина я1к должна быть минимальна;

2. варианты различных 5-ребер должны обеспечивать максимально возможное совпадение друг с другом.

В набор £ для ребра Я1 = (хі, х].) включаются все маршруты минимальной длины,

соединяющие хі и хі в ортогональном графе О. На рис.1 для ребра Я1, связывающего хі и х]. существует 10 альтернативных 5-ребер, проходящих через узлы с номерами 1-12:

= (3,6,9,12,11,10), 5 2 = (3,2,1,4,7,10), 5 3 = (3,2,5,8,11,10) и т.д.

На второй стадии производится формирование (по необходимости) дополнительных альтернативных 5-ребер, обеспечивающих выполнение свойств 2 и 3.

Разорвем произвольное ребро Я1 є Я, Я1 = (хі, х]). Дерево Я распадается на два

поддерева Я1 и Я2, хі входит в состав Я1, х;. - в состав Я2. Выделим в ортогональном графе О два подграфа О1 и О2, О11О2 =0. В состав О1 входят все ребра графа О, входящие в состав всех альтернативных 5-ребер, построенных для ребер подграфа Я1. В состав О2 - для Я2 .

Рассмотрим альтернативные 5-ребра, построенные для Яг и определим для каждого из них длину входящей в его состав цепи, связывающей О1 и О2. Определим самую минимальную длину Ітіп. Далее определяем: существует ли в графе О цепь с, связывающая О1 и О2 такая, что ее длина меньше Ітіп. Если такой цепи нет, то дополнительные альтернативные 5-ребра для ребра ЯІ не формируются. Если такая цепь есть, то формируются дополнительные альтернативные 5-ребра для ребра Я1, связывающие хі и х]. и включающие в свой состав цепь С. Отметим, что необходимость

в формировании дополнительных альтернативных 5-ребер возникает достаточно редко.

На втором этапе построения МДШ в каждом наборе £ отыскивается по одному 5-ребру, обеспечивающих построение МДШ.

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

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

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

=а и Рки г,к.

ак - это та часть я1к, которая совпадает с уже зафиксированными (выбранными) вариантами 5-ребер;

Рік - это та часть яІк, которая совпадает с незафиксированными и еще рассматриваемыми на данном шаге вариантами 5-ребер;

уік - это та часть яІк, которая не совпадает с другими альтернативными 5-

ребрами.

Обозначим длину частей аік, Рік, уік соответственно как ґ(аік ), ґ(Дк ), ґ(уік ). Основные правила заключаются в следующем.

Правило 1. Если мощность набора £І равна 1, то единственное 5-ребро 5Ік є £І фиксируется.

Правило 2. Если | £і |> 1 и для выбранного яІк є 5І, аік =0 и Рік =0, то я1к удаляется из £І .

Правило 3. Если выбраны для анализа два альтернативных 5-ребра 5Ік и 5Ік , входящие в один набор £І , то для каждого из них определяются несовпадающие части

Ч и ч таки^ что: *4 ^ ч; ч ^ ч; 5,к,15к2 = 0; 5ік2 п 5ікі = 0;

5гк, = 5ік, \(5ік, п 5ік2) = (а*,, Дк,, гІкі),

5ік2 = 5ік2 \ (5ік1 п 5ік2) = (а-к2, Дк2, г,к2).

Правило 4. Если выбраны для анализа два альтернативных 5-ребра 5щ и 51к^, входящие в

один набор ^ и г (у1кх) > г (Дк2) + г (уЧ2), то ^ удаляется из набора Б1.

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

Третье правило удаляет общие части двух альтернативных 5-ребер одного набора Б1, так как они не влияют на сравнительный анализ.

Четвертое правило исходит из того, что при выборе на данном шаге альтернативного ребра 51к^ в состав общей длины МДШ войдет величина заведомо большая, чем при

выборе 51к^, поэтому 51кі удаляется из набора Б1.

Процесс решения имеет итерационную структуру. На каждой итерации последовательно просматриваются все наборы Б1. При анализе выбранного набора сначала к нему применяются правила 1 и 2. Если они не сработали, то для каждой пары 5-ребер набора Б1 последовательно применяются правила 3 и 4.

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

Хі иі Х2 и8 Хз иі5 Х4 и22 Х5 и29 Хб И36 Х7

4 7 И21 4 Х4б 4 4 7

Рис.2

Пример. На рис.2 на основных узлах (4,10,13,19,23,35,36,46) построен ортогональный граф О. На графе показана длина ребер. Построено МСД Я =

Я Я2, Яз, Я4, Я5, Я6, Я7}, где Я! = (4,10), Я2 = (10,19), Я3 = (13,19), Я4 = (10,23), Я5 =

(23,36), Яб = (36,46), Я7 = (35,46).

Сформированы наборы альтернативных 5-ребер.

£1 = [51Л 512} 511 = (4,3,10), 512 = (4,11,10);

^2 = [521, 522, 523}, 521 = (10,11,12,19), 512 = (10,17,18,19), 521 = (10,11,18,19);

^ = {S31, S32}, s31 = (13,12,19), S32 = (13,20,19);

54 = {s41 ^ s43}, S41 = (10,9,16,23X S42 = (10,17,24,23), s4i = (10,17,18,23);

55 = s53}, s51 = C23,22,29,36^ s52 = (23,30,37,36X 5ji = (23,30,29,36);

56 = {s6A S62, S64} s61 = (36,17,38,39,46), s62 = (36,43,44,45,46),

s63 = (36,37,44,45,46), s64 = (36,37,38,45,46);

57 = {s7b S72, 873., S74, S75., ^ S77}, ^^р5,34,33,32,39,4^ S72=(35,34,33,40,39,46),

S73 = (35,34,33,40,47,46), S74 = (35,34,41,40,39,46) , S75 = (35,34,41,40,47,46),

S76 = (35,34,41,48,47,46), S77 = (35,42,49,47,46).

При анализе выполнения свойств 2,3 разрывается ребро R4 и обнаруживается, что существует цепь С=(33,26,19), связывающая подграфы, с меньшей длиной, чем связывающие цепи в составе S-ребер набора St. Формируются дополнительные варианты, имеющие структуру (L1, 33, 26, 19, L2). L1 - различные варианты цепи, связывающей узлы 23 и 33, L2 - различные варианты цепи, связывающей узлы 19 и 10. Например, вариант s44 = (23,30,37,38,39,32,33,26,19,12,11,10).

На втором этапе осуществляется последовательная отсечка ребер.

По правилу П2 удаляется s11, и по П1 фиксируется s12. По П2 удаляется s32, и по П1 фиксируется s31. По П2 удаляются s41 и s43. По П2 удаляется s51, по П3 и П4 удаляется s53 и по П1 фиксируется S52.

По П2 удаляется s62, по П3 и П4 удаляются s63 и s64 и по П1 фиксируется s61.

По П2 удаляется s77, по П3 и П4 удаляются s72, s73, s74, s75, s76, а по П1 фиксируется s71.

И наконец, при втором просмотре набора R4 отбрасывается s42 по П2 и по П1 фиксируется s44. Теперь все наборы содержат по одному s-ребру. МДШ построено.

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

ЛИТЕРАТУРА.

1. А. Фридман, П. Менон. Теория и проектирование переключательных схем. М.: Мир, 1978.

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

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

4. J.M. Ho., G. Vijayan, and C.K. Wong. A new approach to the rectilinear steiner tree problem. IEEE Transactions on Computer-Aided Desing, 9(2): 185-193, February 1985.

5. Лебедев Б.К. Интеллектуальная процедура построения минимального дерева Штейнера. - В кн.: Методы и программы решения оптимизационных задач на графах и сетях. Часть 1. Новосибирск, 1989, с.108-108.

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