Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_1d.doc
Скачиваний:
8
Добавлен:
01.07.2025
Размер:
217 Кб
Скачать

7.2 Алгоритмы построения минимальных деревьев соединений

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

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

Фрагмент графа – группа соединенных ребрами вершин.

Изолированная вершина – вершина, не соединенная ни с одной другой вершиной.

Степень вершины графа – число соединенных с ней ребер.

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

7.2.1 Алгоритм Прима - алгоритм трассировки проводного монтажа

Это наиболее эффективный метод решения задачи трассировки с точки зрения реализации на ЭВМ. В основе метода лежат два следующих принципа:

 всякая изолированная вершина соединяется с ближайшей вершиной;

 всякий изолированный фрагмент соединяется с ближайшей вершиной кратчайшим ребром.

Расстояние от вершины до фрагмента – расстояние между этой вершиной до ближайшей к ней вершины фрагмента.

А лгоритм построения минимального дерева:

1. Для произвольного вывода цепи найти ближайший вывод

и провести соединение.

2 . На каждом последующем шаге из множества свободных

в ыводов (не подсоединенных, изолированных вершин) выбрать тот,

который находится ближе остальных к группе уже связанных выводов,

и подсоединить его к этой группе по кратчайшему пути. Рис.7.2.1

Это способ наращивания фрагментов или последовательный способ.

Полученное дерево будет иметь минимальную суммарную длину соединений. Алгоритм наиболее эффективен при числе вершин (выводов), входящих в цепь не более 15.

Минимальное дерево, построенное по алгоритму Прима, обладает тем свойством, что степень любой вершины (число инцидентных ребер) не превышает шести.

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

  1. всякая изолированная вершина соединяется с ближайшей вершиной имеющей степень меньше δ;

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

Возможен параллельный способ наращивания фрагментов минимального дерева, т.е. одновременно строится два фрагмента и проверяется, достигла ли степень хотя бы одной вершины предельного числа δ. Если не достигла, то фрагменты соединяются. Процесс продолжается до построения дерева, связывающего все заданные вершины.

Пример параллельного алгоритма трассировки.

Дано:

  • число вершин n =6, которые принадлежат одной цепи и которые надо соединить;

  • максимально допустимая степень вершин δ =2;

  • массивы координат всех вершин X и Y.

Необходимо построить минимальное связывающее дерево соединений.

Х

5

6

1

2

2

1

У

5

2

2

3

5

6

Введем пять вспомогательных массивов Д, А, В, Л и М.

В массив Д заносим расстояния между каждой парой вершин, номера которых записываются в массивы А и В. Расстояние между парой вершин:

—————————

Д = √(хij)2 + (уij)2

Массив Л показывает степень вершин. В массив М заносят метки по номеру вершин (все вершины одного фрагмента имеют один номер, что бы не было цикличности).

с6

с1

с3

с5

с2

с4

I

III

II

V

IV

Рис.7.2.2

Рассчитываем расстояния между каждой парой вершин и заполняем массивы Д, А, В.

Д

√10

5

√13

3

√17

5

√17

5

√41

√2

√10

4

2

√10

√2

А

1

1

1

1

1

2

2

2

2

3

3

3

4

4

5

В

2

3

4

5

6

3

4

5

6

4

5

6

5

6

6

Располагаем элементы массива Д. в порядке возрастания.

Д

√2

√2

2

3

√10

√10

√10

√13

4

√17

√17

5

5

5

√41

А

3

5

4

1

1

3

4

1

3

1

2

1

2

2

2

В

4

6

5

5

2

5

6

4

6

6

4

3

3

5

6

В процессе построения дерева заполняем массивы Л и М, которые первоначально имеют вид:

Л

0

0

0

0

0

0

М

1

2

3

4

5

6

1шаг.Соединяем вершины 3 и 4, номера которых находятся в первой позиции массивов А и В; присваиваем им одинаковые метки (№3), степени этих вершин равны единице;

Л

0

0

1

1

0

0

М

1

2

3

3

5

6

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

2шаг. Соединяем вершины 5 и 6:

Л

0

0

1

1

1

1

М

1

2

3

3

5

5

3шаг. Соединяем вершины 4 и 5:

Л

0

0

1

2

2

1

М

1

2

3

3

3

3

4шаг. Соединяем вершины 1 и 2:

Л

1

1

1

2

2

1

М

1

1

3

3

3

3

Получили два фрагмента.

5шаг. Соединяем вершины 1 и 6 (не с 5, т.к. будет δ>2):

Л

2

1

1

2

2

2

М

1

1

1

1

1

1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]