Разрезание графа итерационным методом сечений
Исследование эвристических алгоритмов разрезания графа, отличающихся друг от друга структурой, объемом, критериями оптимальности. Процедура отсечения кусков, содержащих данное количество вершин. Анализ приемлемых результатов при разрезании мультиграфов.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | статья |
Язык | русский |
Дата добавления | 25.10.2018 |
Размер файла | 87,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Разрезание графа итерационным методом сечений
На этапе компоновки радиоэлектронных средств (РЭС) решается задача распределения элементов i-го уровня по элементам (i + 1) - го уровня конструктивной иерархии. На самом низком - первом уровне, находятся минимальные конструктивные единицы - радиоэлектронные компоненты (РЭК) - микросхемы, транзисторы, конденсаторы и т.п., которые в процессе эксплуатации РЭС можно заменить в случае их выхода из строя [1]. Решение данной задачи осуществляется с использованием математической модели принципиальной электрической схемы в виде графа G = (X, U), где множество вершин X - совокупность всех РЭК, входящих в состав проектируемого РЭС, а множество U - совокупность соединений между РЭК в соответствии с принципиальной электрической схемой. Разрезание графа на заданное количество связанных между собой кусков моделирует процесс компоновки.
Для решения задачи компоновки разработано множество эвристических алгоритмов разрезания графа, отличающихся друг от друга структурой, объёмом, критериями оптимальности [2]. Разрезание графа как моделирование процесса компоновки РЭС не может иметь общего алгоритма автоматизированного проектирования из-за большого количества и разнообразия условий компоновки, а также из-за трудности формализации совокупности критериев, используемых для оценки качества полученных результатов [3]. По этой причине разработка новых методик представляет большой интерес как с теоретической, так и с практической точек зрения.
В данной работе описывается разрезание графа итерационным методом сечений. Описываемый метод использует процедуру отсечения кусков, содержащих заданное количество вершин, и обеспечивает получение наиболее приемлемых результатов при разрезании мультиграфов с большим количеством пар вершин, связанных кратными рёбрами. Разработанный метод основан на использовании результатов направленной оптимизации текущего размещения вершин графа в координатной решётке заданных размеров Gr = s Ч t, где s - количество узлов координатной решётки по оси абсцисс, t - количество узлов координатной решётки по оси ординат. Математическое обоснование направленной оптимизации размещения графа в решётке подробно описано в [4].
Реализация метода осуществляется в следующем порядке.
1. Исходный граф произвольно отобразить в одномерную координатную решётку Gr = n Ч 1, где n - количество вершин графа.
2. Построить матрицу смежности графа R = ||rij|| и матрицу расстояний между узлами заданной координатной решётки D = ||dij|. Шаг решётки, т.е. расстояние между двумя соседними позициями, в которых размещаются вершины графа, принимается равным единице.
3. Вычислить величины приращений суммарной длины связей для всех возможных парных перестановок по формуле [4]:
граф итерационный сечение
(1)
где - длина связей вершины xi с вершиной xm;
- длина связей вершины xj с вершиной xn;
- длина связей между вершинами xi и xj;
M - количество вершин, связанных с вершиной xi;
N - количество вершин, связанных с вершиной xj;
- суммарная длина связей вершин xi и xj со всеми остальными вершинами графа до их парной перестановки;
- суммарная длина связей вершины xi и xj со всеми остальными вершинами графа после их парной перестановки.
По результатам полученных вычислений построить матрицу приращений суммарной длины связей для всех возможных парных перестановок.
Отрицательное значение означает уменьшение суммарной длины связей.
4. Из множества пар вершин, перестановка которых даёт отрицательные приращения суммарной длины связей, выбрать подмножество, обеспечивающее выполнение следующих условий:
- выбранное подмножество перестановок максимально уменьшает суммарную длину связей;
- любая пара вершин из выбранного подмножества не должна иметь связей с другими парами.
Несоблюдение указанных условий может ухудшить результат размещения по сравнению с первоначальным на любой итерации. В [4] приводится ещё одно условие: любая вершина может менять свою позицию только один раз, однако автор в процессе чтения лекций, освещающих вопросы алгоритмизации размещения РЭС по курсу «Системы автоматизированного проектирования», неоднократно доказывал, в том числе и на примерах, что данное условие деструктивно. Недопустимой следует считать повторную перестановку одной и той же пары вершин. Такая перестановка свидетельствует о зацикливании программы для автоматизированного решения задачи размещения из-за текстовой ошибки при её написании. Повторная и, возможно неоднократная, перестановка одной вершины с вершиной (вершинами) из другой пары способствует минимизации суммарной длины связей между размещаемыми элементами любого иерархического уровня.
5. Выполнить перестановку выбранных подмножеств. В матрице смежности разрезаемого графа переставить строки и столбцы, соответствующие переставляемым вершинам.
6. Повторно вычислить величины приращений суммарной длины связей для всех возможных парных перестановок по формуле (1).
Описанные действия повторяются до тех пор, пока в матрице приращений суммарной длины связей не останется ни одного отрицательного перестановочного коэффициента.
7. Провести сечения между всеми рядом расположенными узлами di и dj координатной сетки в диапазоне , где nmin - количество вершин, заданное для наименьшего куска требуемого разрезания.
8. Подсчитать количество рёбер в каждом сечении.
9. Выбрать сечение с минимальным количеством находящихся в нём рёбер. Это сечение будем считать входным.
10. Выделить подмножество вершин с мощностью, равной количеству вершин, заданному для формируемого куска. Выделение такого подмножества следует осуществлять в направлении расположения выходного сечения с минимальным количеством содержащихся в нём рёбер. Выходным сечением будем считать сечение, расположенное до или после входного сечения на расстоянии ni шагов и содержащее наименьшее количество рёбер.
Если граф разрезается на неравные по количеству вершин куски, то имеется возможность выбора количества выделяемых вершин по критерию минимума рёбер в сечении, что в конечном итоге обеспечит минимум внешних связей между полученными кусками.
11. Удалить из матрицы смежности строки и столбцы, соответствующие выбранным вершинам. В результате будет получена матрица смежности Rґ.
12. Построить новую матрицу расстояний Dґ = ||dґij||, размерность которой соответствует размерности матрицы смежности Rґ.
13. Повторно выполнить действия 3-11. Описанные действия повторяются до тех пор, пока не будет получено заданное разрезание.
Реализацию данного метода разрезания графа рассмотрим на примере.
На рисунке 1 представлен граф G = (X, U), содержащий 12 вершин и 36 рёбер, который необходимо разрезать на три куска, содержащие 3, 4 и 5 вершин.
Рис. 1
Решение данной задачи описанным методом выполняется в следующей последовательности.
1) Отобразить граф в координатную решётку размерностью 12 Ч 1. Результат отображения графа в координатную решётку представлен на рис. 2.
Рис. 2
2) Построить матрицу смежности графа.
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
x11 |
x12 |
||||
x1 |
0 |
0 |
0 |
0 |
0 |
0 |
3 |
1 |
0 |
1 |
0 |
0 |
|||
x2 |
0 |
3 |
4 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
||||
x3 |
0 |
1 |
2 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|||||
x4 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
||||||
x5 |
0 |
4 |
0 |
0 |
0 |
0 |
0 |
0 |
|||||||
R = |
x6 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
(2) |
||||||
x7 |
0 |
1 |
1 |
0 |
1 |
0 |
|||||||||
x8 |
0 |
0 |
4 |
0 |
0 |
||||||||||
x9 |
0 |
0 |
3 |
3 |
|||||||||||
x10 |
0 |
0 |
0 |
||||||||||||
x11 |
0 |
2 |
|||||||||||||
x12 |
0 |
3) Построить матрицу расстояний для заданного набора позиций.
d1 |
d2 |
d3 |
d4 |
d5 |
d6 |
d7 |
d8 |
d9 |
d10 |
d11 |
d12 |
|||
d1 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
||
d2 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|||
d3 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
||||
d4 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|||||
d5 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
||||||
D = |
d6 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
||||||
d7 |
0 |
1 |
2 |
3 |
4 |
5 |
||||||||
d8 |
0 |
1 |
2 |
3 |
4 |
|||||||||
d9 |
0 |
1 |
2 |
3 |
||||||||||
d10 |
0 |
1 |
2 |
|||||||||||
d11 |
0 |
1 |
||||||||||||
d12 |
0 |
Матрица смежности графа R и матрица расстояний между узлами заданной координатной решётки D симметричны, поэтому можно ограничиться треугольными подматрицами, расположенными над главной диагональю.
4) По формуле (1) вычислить величины приращений суммарной длины связей для всех возможных парных перестановок и по результатам вычислений построить матрицу перестановочных коэффициентов. После первой итерации матрица перестановочных коэффициентов имеет вид:
l1 |
l2 |
l3 |
l4 |
l5 |
l6 |
l7 |
l8 |
l9 |
l10 |
l11 |
l12 |
|||
l1 |
0 |
2 |
-4 |
-18 |
-4 |
-3 |
10 |
11 |
28 |
6 |
22 |
20 |
||
l2 |
0 |
-1 |
0 |
9 |
22 |
16 |
42 |
73 |
42 |
75 |
76 |
|||
l3 |
0 |
-3 |
14 |
18 |
16 |
38 |
64 |
37 |
66 |
67 |
||||
l4 |
0 |
7 |
14 |
16 |
34 |
55 |
32 |
57 |
58 |
|||||
l5 |
0 |
4 |
4 |
20 |
38 |
21 |
44 |
47 |
||||||
ДL = |
l6 |
0 |
3 |
12 |
30 |
12 |
32 |
36 |
||||||
l7 |
0 |
5 |
16 |
2 |
26 |
24 |
||||||||
l8 |
0 |
2 |
2 |
2 |
6 |
|||||||||
l9 |
0 |
-9 |
0 |
5 |
||||||||||
l10 |
0 |
3 |
4 |
|||||||||||
l11 |
0 |
1 |
||||||||||||
l12 |
0 |
В полученной матрице ДL отрицательные перестановочные коэффициенты имеют 7 элементов. Оптимальное для парной перестановки значение имеет элемент ДL (l1, l4) = -18. Парная перестановка вершин x1 и x4 сократит суммарную длину связей между вершинами графа на 18 шагов. В матрице ДL не содержится ни одного отрицательного перестановочного коэффициента, соответствующего вершинам, не связанным с вершинами x1 и x4.
5) Переставить в матрице смежности (2) x1 и x7 строки и столбцы и повторно вычислить перестановочные коэффициенты для всех возможных парных перестановок вершин графа.
Для решения данной задачи потребовалось выполнить четыре итерации. По результатам вычислений на второй итерации были переставлены x9 и x10, на третьей итерации - вершины x1 и x6 и на четвёртой итерации - вершины x6 и x5. Как видно из результатов выполнения итерационной части описываемого метода, на третьей итерации была повторно переставлена вершина x1, а на четвёртой итерации - вершина x6, но эти перестановки были выполнены в паре с другими вершинами. Это подтверждает несостоятельность запрета на повторную перестановку какой-либо вершины в процессе оптимизации текущего размещения вершин графа в узлах координатной решётки, изложенного в [4, с 57].
В результате выполнения парных перестановок было получено отображение графа в решётку, представленное на рис. 3. Суммарная длина связей между вершинами графа сократилась при этом со 102 до 47 шагов.
Рис. 3
6) Провести сечения между соседними узлами координатной решётки. Так как минимальный кусок заданного разрезания графа должен содержать три вершины, то первое сечение следует провести между третьим и четвёртым узлами. Последнее сечение должно быть проведено между девятым и десятым узлами. Данный диапазон соседних узлов координатной решётки, между которыми проводятся сечения, обеспечивает отсчёт количества вершин, заданного для минимального куска, от первого (влево) и от последнего (вправо) узла. Количество соединений между вершинами графа в каждом сечении показано на рис. 3.
7) Минимальное количество рёбер umin = 2 содержится в сечениях s (d3, d4) и s (d5, d6). Сечения s (d3, d4) и s (d5, d6) отсекают влево три и пять вершин соответственно, удаление которых из решётки обеспечивает формирование минимального и максимального куска заданного разрезания. С целью минимизации временных затрат на выполнение процесса разрезания графа рекомендуется выбрать сечение s (d5, d6), отсекающее наибольшее количество вершин, входящих в состав одного из формируемых кусков, в данном примере в кусок G3=(X3, U3), где X3 = {x2, x3, x4, x5, x6}.
8) Удалить вершины подмножества X3 из координатной решётки и соответствующие им строки и столбцы из матрицы смежности (2). Матрица смежности графа после удаления указанных строк и столбцов имеет вид:
x1 |
x7 |
x8 |
x10 |
x9 |
x11 |
x12 |
|||
x1 |
0 |
3 |
1 |
1 |
0 |
0 |
0 |
||
x7 |
0 |
1 |
0 |
1 |
1 |
0 |
|||
x8 |
0 |
4 |
0 |
0 |
0 |
||||
Rґ = |
x10 |
0 |
0 |
0 |
0 |
||||
x9 |
0 |
3 |
3 |
||||||
x11 |
0 |
2 |
|||||||
x12 |
0 |
9) После удаления вершин подмножества X3 сократился набор позиций координатной решётки для отображения графа Gґ = (Xґ, Uґ), где Xґ = X\X3. Матрица расстояний Dґ имеет вид:
d1 |
d2 |
d3 |
d4 |
d5 |
d6 |
d7 |
|||
d1 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
||
d2 |
0 |
1 |
2 |
3 |
4 |
5 |
|||
d3 |
0 |
1 |
2 |
3 |
4 |
||||
Dґ = |
d4 |
0 |
1 |
2 |
3 |
||||
d5 |
0 |
1 |
2 |
||||||
d6 |
0 |
1 |
|||||||
d7 |
0 |
Отображение графа в координатную решётку после удаления вершин подмножества X3 представлено на рис. 4.
Рис. 4
10) Для полученного отображения графа вычислить величины приращений суммарной длины связей для всех возможных парных перестановок и по результатам вычислений построить матрицу перестановочных коэффициентов.
Минимизация суммарной длины связей между вершинами графа Gґ была достигнута после первой итерации путём парной перестановки вершин x9 и x11. Результат представлен на рис. 5.
Рис. 5
11) Провести сечения между соседними узлами координатной решётки. Так как минимальный кусок заданного разрезания графа должен содержать три вершины, и к настоящему моменту ещё не сформирован, то первое сечение следует провести между третьим и четвёртым узлами. Второе сечение должно быть проведено между четвёртым и пятым узлами. Данный диапазон соседних узлов координатной решётки, между которыми проводятся сечения, обеспечивает отсчёт количества вершин, заданного для первого и второго кусков заданного разрезания.
Минимальное количество рёбер umin = 2 содержится в сечении s (d4, d5), которое отсекает вершины множества X1 = {x9, x11, x12}, входящие в первый кусок. Остальные вершины образуют множество X2 = {x1, x7, x8, x10}, назначаемое во второй кусок. На этом разрезание графа считается законченным. Результат разрезания графа представлен на рис. 6.
Рис. 6
Литература
1. Автоматизация проектирования радиоэлектронных средств: Учеб. пособие для вузов / О.В. Алексеев, А.А. Головков, И.Ю. Пивоваров [и др.]; под ред. О.В. Алексеева. - М.: Высш. шк., 2000. - 479 с.: ил. - ISBN 5-06-002691-4.
2. Абрайтис Л.Б. Автоматизация проектирования ЭВМ: Автоматизированное техническое проектирование конструктивных узлов цифровых устройств / Л.Б. Абрайтис, Р.И. Шейнаускас, В.А. Жилевичюс; под ред. Л.Б. Абрайтиса. - М.: Сов. радио, 1978. - 272 с.: ил.
3. Автоматизация схемотехнического проектирования: Учеб. пособие для вузов / В.Н. Ильин, В.Т. Фролкин, А.И. Бутко [и др.]; под ред. В.Н. Ильина. - М.: Радио и связь, 1987. - 368 с.: ил.
4. Конструирование и технология печатных плат: Учеб. пособие для радиотехнических специальностей вузов / А.Т. Жигалов, Е.П. Котов, К.Н. Шихаев [и др.]. - М.: Высш. шк., 1973. - 216 с.: ил.
Размещено на Allbest.ru
...Подобные документы
Получение ряда вторичных напряжений, электрически не зависимых друг от друга и от питающей сети с помощью трансформатора питания. Расчет трансформатора питания с заданными параметрами. Анализ условий эксплуатации. Расчет конструкции и необходимых деталей.
курсовая работа [171,8 K], добавлен 14.03.2010Эквивалентная схема замещения для работы на средних частотах при малом и большом сигнале. Влияние номиналов элементов на параметры схемы, составление ее полного и сокращённого унисторного графа. Коэффициент усиления по напряжению и входной проводимости.
курсовая работа [2,1 M], добавлен 17.03.2011Описание связи, как технической базы, обеспечивающей передачу и прием информации между удаленными друг от друга людьми или устройствами. Принципы и средства связи, основанные на использовании электрической энергии. Основные параметры телефонного сигнала.
тезисы [393,2 K], добавлен 04.05.2009Рассмотрение структурной и функциональной схем для часов. Построение графа управляющего автомата. Кодирование входных и выходных сигналов. Разработка 12-часового режима работы и блока отключения индикаторов. Определение площади кристалла микросхемы.
курсовая работа [314,3 K], добавлен 27.04.2011Построение графа синтезируемого автомата. Определение количества элементов памяти. Составление таблицы переходов, выходов и возбуждения конечного автомата. Переход от исходного автомата Мили к эквивалентному автомату Мура. Алгоритмы вычисления функций.
курсовая работа [714,7 K], добавлен 21.05.2013Теоретические принципы разработки микропроцессорной системы охраны и сигнализации. Разработка графа и таблицы переходов состояний МПСО, его аппаратного и программного интерфейса, управляющих программ режимов и специального программного обеспечения.
курсовая работа [37,0 K], добавлен 12.05.2012Разработка автомата турникета в метро, его условно-графическое изображение. Список входных и выходных сигналов устройства, построение графа состояний. Расчёт количества триггеров, комбинационные схемы входа и выхода. Уравнения и описание на языке AHDL.
курсовая работа [244,2 K], добавлен 07.09.2012Ретранслятор как комплекс оборудования, предназначенного для обеспечения связи между двумя и более радиопередатчиками, удаленными друг от друга на большие расстояния. Принцип его действия, структура и компоненты. Выбор внешней и внутренней антенны.
курсовая работа [2,7 M], добавлен 26.01.2015Математическая модель САР в виде систем дифференциальных уравнений. Представление линейной математической модели САР в виде взвешенного сигнального графа и структурной схемы. Нахождение главного оператора с помощью правил преобразования структурной схемы.
курсовая работа [435,3 K], добавлен 01.10.2016Выбор формата данных. Разработка алгоритма и графа макрооперации. Разработка функциональной электрической схемы и её особенности. Выбор элементной базы. Разработка принципиальной схемы. Микропроцессорная реализация устройства на языке Ассемблер.
курсовая работа [955,0 K], добавлен 04.05.2014Структурная схема и синтез цифрового автомата. Построение алгоритма, графа и таблицы его функционирования в микрокомандах. Кодирование состояний автомата. Функции возбуждения триггеров и формирования управляющих сигналов. Схема управляющего устройства.
курсовая работа [789,4 K], добавлен 25.11.2010Способы представления группы однотипных устройств. Обоснование выбора модели. Проверка условия загрузки узкого места. Взвешенная длина записей файлов, проходящих через селекторный канал. Построение графа сети. Число обращений к информационным файлам.
лабораторная работа [88,1 K], добавлен 20.03.2013Оценка алгоритмов цифровой обработки сигналов в условиях наличия и отсутствия помех. Проектирование модели дискретной свертки в среде Mathcad 14. Анализ кодопреобразователей циклических кодов и их корректирующие способности. Работа цифрового фильтра.
курсовая работа [3,0 M], добавлен 11.02.2013Теоретические основы процессоров. Построение процессоров и их общая структура. Цифровые автоматы. Расчёт количества триггеров и кодирование состояний ЦА. Структурная схема управляющего устройства. Построение графа функционирования управляющего устройства.
курсовая работа [85,0 K], добавлен 08.11.2008Проектирование табличным методом алгоритмов работы на сотовом мобильном телефоне GA 628 Ericsson. Использование символьных наборов. Описание работы автомата таблицей переходов. Разработка алгоритмов функций. Использование телефона как блокнота.
контрольная работа [92,3 K], добавлен 09.05.2011Поняття та сутність ПЛІС, проектування та зародження мови VHDL. Моделювання систем за допомогою MatLab та Quartus II. Принцип роботи блока Stateflow. Створення графа станів для синхронного кінцевого автомата. Одержання VHDL коду в середовищі Quartus.
отчет по практике [2,2 M], добавлен 15.02.2013Формирование алфавитного оператора. Приведение оператора к автоматному виду. Построение графа переходов абстрактного автомата. Кодирование состояний, входных и выходных сигналов. Формирование функций возбуждения и выходных сигналов структурного автомата.
курсовая работа [66,3 K], добавлен 10.11.2010Характеристика и сущность UART - полнодуплексного интерфейса, когда приемник и передатчик работают одновременно, независимо друг от друга. Принципы работы интерфейса RS-232C и интерфейса RS-485. Основные особенности принципа передачи данных в RS-485.
реферат [111,6 K], добавлен 15.08.2011Синтез структуры и определение параметров управляющего устройства: обоснование свойств управляемого объекта, построение систем с переменной структурой. Синтез СПС со скользящим режимом; анализ релейной системы. Дискретизация непрерывной модели СПС.
курсовая работа [1,4 M], добавлен 07.03.2011Обоснование необходимости регулирования мощности. Анализ систем регулирования мощности в стандарте CDMA. Способы совершенствования алгоритмов управления мощностью. Абонентская емкость ячейки системы CDMA. Управление мощностью обратной линии связи.
дипломная работа [248,5 K], добавлен 14.10.2013