Топологический подход к проведению соединений в плоских конструктивах
Введение
Данная работа является продолжением цикла работ «Топологический рисунок графа при проектировании плоских конструктивов» [6]. Будем рассматривать задачу построения общего рисунка соединений в плоском конструктиве на основе топологического рисунка плоской части графа принципиальной электрической схемы [1, 5, 8]. В качестве примера рассмотрим принципиальную электрическую схему с циклическими фрагментами (рис. 1) [10]. Основное внимание будет уделено вопросам построения топологического рисунка соединений, удаленных при планаризации, на основе выбранной плоской части графа [5, 10].
Выделим подмножество единичных цик-лов для плоской части графа:
с2 = {u12,u13,u14,u40,u41,u42} < x21,x20,x47,x7,x6,x42 >; с16 = {u8,u9,u10,u13,u30,u31,u42} < x6,x5,x4,x46,x15,x21,x42 >; с46 = {u6,u7,u9,u57,u59,u60,u62,u65} < x32,x31,x30,x29,x46,x4,x3,x43 >; с50 = {u15,u16,u19,u28,u32,u33,u35,u52,u53,u55} < x27,x26,x50,x17,x16,x45,x9,x8,x14,x43 >; с58 = {u43,u44,u47,u54,u55,u76,u77,u79} < x39,x38,x48,x23,x22,x28,x27,x43 >; с61 = {u26,u27,u28,u64,u65,u67} < x14,x13,x51,x33,x32,x43 >; с78 = {u18,u19,u21,u29,u31,u33} < x16,x15,x46,x10,x9,x45 >; с86 = {u1,u2,u5,u14,u69,u70,u73,u82} < x2,x1,x7,x47,x36,x35,x41,x45 >; с92 = {u20,u21,u22,u24,u27,u58,u59,u66,u67} < x29,x34,x33,x51,x13,x12,x11,x10,x46 >; с107 = {u38,u39,u41,u72,u73,u74,u77} < x20,x19,x48,x38,x37,x36,x47 >; с108 = {u36,u37,u39,u46,u47,u49} < x19,x18,x49,x24,x23,x48 >; с117 = {u34,u35,u37,u48,u49,u50,u53} < x18,x17,x50,x26,x25,x24,x49 >; с132 = {u1,u2,u4,u6,u8,u10,u12} < x1,x2,x3,x4,x5,x6,x7 >; с133 = {u15,u16,u18,u20,u22,u24,u26} < x8,x9,x10,x11,x12,x13,x14 >; с134 = {u29,u30,u32,u34,u36,u38,u40} < x15,x16,x17,x18,x19,x20,x21 >; с135 = {u43,u44,u46,u48,u50,u52,u54} < x22,x23,x24,x25,x26,x27,x28 >; с136 = {u57,u58,u60,u62,u64,u66} < x29,x30,x31,x32,x33,x34 >; с137 = {u69,u70,u72,u74,u76,u78,u80} < x35,x36,x37,x38,x39,x40,x41 >.
Обод плоской части графа:
с0 = с2 ⊕ c16 ⊕ c46 ⊕ c50 ⊕ c58 ⊕ c61 ⊕ c78 ⊕ c86 ⊕ c92 ⊕ c107 ⊕ c108 ⊕ c117 ⊕ c132 ⊕ c133 ⊕ c134 ⊕ c135 ⊕ c136 ⊕ c137 = {u4,u5,u7,u78,u79,u80,u82} → < x41,x40,x39,x43,x3,x2,x45 >.
Плоская часть графа представлена на рис. 2.
Геометрическое построение рисунка плоского суграфа и, как следствие, размещение элементов по посадочным местам создают предпосылки для топологического проведения соединений, удаленных в процессе планаризации графа.
Выделение дерева в клике цепи
Проведение соединений, в свою очередь, определяется характером построения дерева для гиперребра, характеризующего электрическую цепь (рис. 3–5).
Составим список соответствия цепей и полюсов циклических фрагментов:
цепь 42: полюса {x6,x8,x21,x28,x34,x35}; цепь 43: полюса {x3,x14,x27,x32,x39}; цепь 44: полюса {x12,x25,x40}; цепь 45: полюса {x2,x9,x16,x41}; цепь 46: полюса {x4,x10,x15,x22,x29}; цепь 47: полюса {x7,x20,x36}; цепь 48: полюса {x19,x23,x30,x38}; цепь 49: полюса {x11,x18,x24}; цепь 50: полюса {x1,x17,x26,x31}; цепь 51: полюса {x5,x13,x33,x37}.
Выделим соединенные полюса:
цепь 42: полюса {x6,x21}; цепь 43: полюса {x3,x14,x27,x32,x39}; цепь 44: Ø цепь 45: полюса {x2,x9,x16,x41}; цепь 46: полюса {x4,x10,x15,x29}; цепь 47: полюса {x7,x20,x36}; цепь 48: полюса {x19,x23,x38}; цепь 49: полюса {x18,x24}; цепь 50: полюса {x17,x26}; цепь 51: полюса {x13,x33}.
Соединения могут быть определены как ветви дерева графа для клики электрической цепи алгоритмом Прима [4, 7]. Построим клику, характеризующую гиперребро, и выделим минимальное дерево для каждой цепи [7, 9]. На рис. 6–7 представлены выбранные ветви дерева.
Например, выбранные ветви дерева для новых соединений:
для цепи 42: ребра (x6,x35), (x28,x35), (x34,x28), (х8,х21); для цепи 43: Ø; для цепи 44: ребра (x12,x25), (x40,x25); для цепи 45: ребра (x2,x16); для цепи 46: ребра (x22,x15); для цепи 47: Ø; для цепи 48: ребра (x23,x30); для цепи 49: ребра (x11,x18); для цепи 50: ребра (x1,x17),(x31,x26); для цепи 51: ребра (x5,х37),(х5,x13).
Проведение соединений, удаленных в процессе планаризации
Будем проводить соединения, удаленные в процессе планаризации, которые составляют ребра выбранного дерева для каждой клики электрической цепи.
Алгоритмом поиска в ширину будем находить минимальные пути на графе циклов (рис. 8–9).
Результаты проведения соединений представлены на рис. 10–13.
Соединения, удаленные в процессе планаризации, проводятся по кратчайшему расстоянию алгоритмом поиска в ширину на графе циклов и хранятся как суммарный ориентированный цикл соответствующих граней. Впредь такой ориентированный цикл будем называть обручем.
Например, обруч образуется в результате проведения следующих соединений и может храниться в памяти ЭВМ в виде маршрута, состоящего из циклов:
соединение (х6,х35) = с2с86с107 = < x21,x20,x7,x6 >< x2,x1,x7,x36,x35,x41 >< x20,x19,x23,x38,x37,x36,x7 > = <x21,x20> + <x20,x7> + <x7,x6> + <x6,x21> + <x2,x1> + <x1,x7> + <x7,x36> + <x36,x35> + <x35,x41> + <x41,x2> + <x20,x19> + <x19,x23> + <x23,x38> + <x38,x37> + <x37,x36> + <x36,x7> + <x7,x20> = <x21,x20> + <x20,x19> + <x19,x23> + <x23,x38> + <x38,x37> + <x37,x36> + <x36,x35> + <x35,x41> + <x41,x2> + <x2,x1> + <x1,x7> + <x7,x6> + <x6,x21> = < x21,x20,x19,x23,x38,x37,x36,x35,x41,x2,x1,x7,х6 >;
соединение (х28,х35) = с86с107с58 = < x2,x1,x7,x36,x35,x41 >< x20,x19,x23,x38,x37,x36,x7 >< x39,x38,x23,x22,x28,x27 > = <x2,x1> + <x1,x7> + <x7,x36> + <x36,x35> + <x35,x41> + <x41,x2> + <x20,x19> + <x19,x23> + <x23,x38> + <x38,x37> + <x37,x36> + <x36,x7> + <x7,x20> + <x39,x38> + <x38,x23> + <x23,x22> + <x22,x28> + <x28,x27> + <x27,x39> = <x2,x1> + <x1,x7> + <x7,x20> + <x20,x19> + <x19,x23> + <x23,x22> + <x22,x28> + <x28,x27> + <x27,x39> + <x39,x38> + <x38,x37> + <x37,x36> + <x36,x35> + <x35,x41> + <x41,x2> = < x2,x1,x7,x20,x19,x23,x22,x28,x27,x39,x38,x37,x36,x35,x41 >;
соединение (х28,x34) = c58 ⊕ c46 ⊕ c92 = < x39,x38,x23,x22,xx28,x27 > < x32,x31,x30,x29,x10,x15,x4,x3,x39,x27 > < x29,x34,x33,x13,x12,x11,x10 > = <x39,x38> + <x38,x23> + <x23,x22> + <x22,x28> + <x28,x27> + <x27,x39> + <x32,x31> + <x31,x30> + <x30,x29> + <x29,x10> + + <x10,x15> + <x15,x4> + <x4,x3> + <x3,x39> + <x39,x27> + <x27,x32> + <x29,x34> + <x34,x33> + <x33,x13> + <x13,x12> + <x12,x11> + <x11,x10> + <x10,x29> = <x39,x38> + <x38,x23> + <x23,x22> + <x22,x28> + <x28,x27> + <x27,x32> + <x32,x31> + <x31,x30> + <x30,x29> + <x29,x34> + <x34,x33> + <x33,x13> + <x13,x12> ++ <x12,x11> + <x11,x10> + <x10,x15> + <x15,x4> + <x4,x3> + <x3,x39> = < x39,x38,x23,x22,x28,x27,x32,x31,x30,x29,x34,x33,x13,x12,x11,x10,x1,x4,x3 >;
соединение (x8,x21) = c16 ⊕ c46 ⊕ c78 ⊕ c50 = < x6,x5,x4,x15,x21 >< x32,x31,x30,x29,x10,x15,x4,x3,x39,x27 > < x16,x15,x10,x9 >< x27,x26,x17,x16,x9,x8,x14,x32 > = <x6,x5> + <x5,x4> + <x4,x15> ++ <x15,x21> + <x21,x6> + <x32,x31> + <x31,x30> + <x30,x29> + <x29,x10> ++ <x10,x15> + <x15,x4> + <x4,x3> + <x3,x39> + <x39,x27> + <x27,x32> ++ <x16,x15> + <x15,x10> + <x10,x9> + <x9,x16> + <x27,x26> + <x26,x17> ++ <x17,x16> + <x16,x9> + <x9,x8> + <x8,x14> + <x14,x32> + <x32,x27> == <x6,x5> + <x5,x4> + <x4,x3> + <x3,x39> + <x39,x27> + <x27,x32> ++ <x32,x31> + <x31,x30> + <x30,x29> + <x29,x10> + <x10,x9> + <x9,x8> ++ <x8,x14> + <x14,x32> + <x32,x27> + <x27,x26> + <x26,x17> + <x17,x16> + <x16,x15> + <x15,x21> + <x21,x6> = < x6,x5,x4,x3,x39,x27,x32,x31,x30,x29,x10,x9,x8,x14,x32,x27,x26,x17,x16,x15,x21 >.
Если предыдущее проведение соединений и построение обруча для каждого соединения осуществлялось как сложение ориентированных ребер с удалением разнонаправленных ребер, то последнее соединение носит специфический характер.
Данное соединение характеризуется минимальным маршрутом c16 ⊕ c46 ⊕ c78 ⊕ c50 в выбранной последовательности. В начале определяется ребро (x4,x15), как пересечение циклов c16 и с46. Далее следует определение ребра (x10,x15), как пересечения циклов c46 и с78. И наконец, определяется ребро (x9,x16), как пересечение циклов c78 и с50. Данные ребра должны быть исключены из формирования контура обруча (они выделены на рис. 14 пунктирной линией). Поскольку ребро (x27,x32), выделенное в результате пересечения циклов c46 и с50, не относится к выделенному маршруту, то ориентированные ребра <x27,x32> и <x32,x27> не могут быть исключены из процесса образования обруча.
Алгоритм проведения соединений, удаленных в процессе планаризации
Опишем алгоритм проведения соединений, удаленных при планаризации:
- Шаг 0. [Инициализация.] Выделено подмножество единичных циклов, характеризующее плоскую часть графа, и произведено назначение элементов по посадочным местам с учетом их ориентации.
- Шаг 1. [Построение клик цепей.] Строим клики для каждой цепи и каждому ребру в данном подграфе ставим в соответствие вес, равный расстоянию между двумя конечными вершинами.
- Шаг 2. [Построение минимального дерева.] Алгоритмом Прима строим минимальное дерево для каждой электрической цепи. Множество деревьев опишем как D{ds1, ds2, …, dsz}, где si — номер цепи 1 < i ≤ z, где z — количество цепей в принципиальной электрической схеме. Относительно выбранного дерева определяем номера полюсов соединений, удаленных в процессе планаризации.
- Шаг 3. [Построение обруча для соединения.] Строим граф циклов и алгоритмом поиска в ширину, выбирая минимальный маршрут, строим последовательность циклов для проведения соединений. На основании выделенной последовательности циклов строим обруч для каждого соединения. Множество обручей будем описывать как Q{q1, q2, …, qh}, где h количество соединений, удаленных в процессе планаризации. Конец работы алгоритма.
В нашем примере обручи соединений имеют вид (см. слева).
Выводы
В данной работе представлен алгоритм проведения и описания соединений, удаленных в процессе планаризации. Завершением работы алгоритма является получение направленной последовательности единичных циклов в виде обруча для каждого соединения. На рисунках продемонстрировано проведение соединений (рис. 10–13).
Естественно, что данная процедура является промежуточной. Она определяет пересечение удаленных в процессе планаризации соединений с линиями плоской части графа. Но она не может определить пересечение удаленных линий между собой.
Многовариантность построения множества плоских частей графа позволяет осуществить построение множества размещений элементов с различной их ориентацией. Так как имеется множество различных деревьев, можно выбрать оптимальное множество обручей относительно выбранной плоской части графа и размещения элементов.
- Деньдобренько Б. Н. Автоматизация конструирования РЭА / Б. Н. Деньдобренько, А. С. Малика. М.: Высшая школа, 1980.
- Зыков А. А. Теория конечных графов. Ново-сибирск: ГРФМЛ, 1969.
- Зыков А. А. Основы теории графов. М.: Наука, ГРФМЛ, 1987.
- Кристофидес Н. Теория графов. Алгоритмический подход. М.: Мир, 1978.
- Курапов С. В., Толок А. В. Методы построения топологического рисунка графа // Автоматика и телемеханика. 2013. № 9.
- Курапов С. В., Давидовский М. В. Два подхода к проведению соединений в плоских конструктивах // Компоненты и технологии. 2015. № 7.
- Рейнгольд Э., Нивергельт Ю., Дер Н. Комбинаторные алгоритмы, теория и практика. М.: Мир, 1980.
- Свами М., Тхуласираман К. Графы, сети и алгоритмы / Пер. с англ. М.: Мир, 1984.
- Харари Ф. Теория графов / Пер. с англ. Козыре-ва В. П. / Под ред. Гаврилова В. Г. М.: Мир, 1973.
- Хопкрофт Дж. Е., Тарьян Р. Е. Изоморфизм планарных графов // В кн.: Кибернетический сборник. Новая серия. Вып. 12. 1975.