- •Задание 1 Алгоритм построения минимального остовного дерева
- •1.1 Теоретическая часть
- •1.2 Пример выполнения задания
- •1.3 Варианты заданий
- •Задание 2. Алгоритм Дейкстры.
- •2.1 Теоретическая часть
- •2.2 Пример выполнения задания
- •2.3 Варианты заданий
- •Задание 3. Алгоритм Флойда
- •3.1 Теоретическая часть
- •3.2 Пример выполнения задания
- •3.3 Варианты заданий
- •Задание 4 Алгоритм нахождения максимального потока
- •4.1 Теоретическая часть
- •4.2. Пример выполнения задания
- •4.3 Варианты заданий
Задание 1 Алгоритм построения минимального остовного дерева
1.1 Теоретическая часть
Рассмотрим вкратце алгоритм построения минимального остовного дерева. Обозначим через множество узлов сети и введем новые обозначения:
— множество узлов сети, соединенных алгоритмом после выполнения -й итерации этого алгоритма,
— множество узлов сети, не соединенных с узлами множества после выполнения -й итерации этого алгоритма.
Этап 0. Пусть и .
Этап 1. Выбираем любой узел из множества и определяем , тогда . Полагаем .
Основной этап . В множестве выбираем узел который соединен самой короткой дугой с каким-либо узлом из множества . Узел присоединяется к множеству и удаляется из множества . Таким образом, . Если множество пусто, то выполнение алгоритма заканчивается. В противном случае полагаем и повторяем последний этап.
1.2 Пример выполнения задания
В институте прокладывают компьютерную сеть. В каждом корпусе установлено по одному маршрутизатору. Институт планирует соединить компьютерной сетью шесть корпусов. На рис. 1.1 показана структура планируемой сети и расстояния (в км.) между корпусами. Необходимо спланировать наиболее экономичную компьютерную сеть затратив минимум кабеля.
Этап 0. Пусть и .
Этап 1. Выберем узел 1 как начальный узел, внесем его в множество и исключим из множества . Тогда
.
Делаем .
Рисунок 1.1 – Компьютерная сеть института
Этап 2. В множестве находим такой узел, который соединен самой короткой дугой с узлами из множества (рис 1.2а). Отыскиваем
,
т.к.
.
Таким образом получаем и дугу , которую выделяем жирным цветом, т.е. прокладываем в этом направлении кабель. Затем исключаем узел 2 из множества и добавляем его в множество (рис 1.2б). Получаем
.
Делаем .
Этап 3. В множестве находим такой узел, который соединен самой короткой дугой с узлами из множества (рис 1.2б). Ищем
,
т.к.
.
Таким образом получаем и дугу , по которой прокладываем кабель (рис. 1.2б). Затем исключаем узел 5 из множества и добавляем его в множество . Получаем
.
Делаем .
Этап 4. В множестве находим такой узел, который соединен самой короткой дугой с узлами из множества (рис 1.2в). Находим
,
т.к.
.
Таким образом получаем и дугу (рис. 1.2в). Затем исключаем узел 4 из множества и добавляем его в множество . Получаем
.
Делаем .
Этап 5. В множестве находим такой узел, который соединен самой короткой дугой с узлами из множества (рис 1.2г). Находим
,
т.к.
.
Таким образом получаем и дугу добавляем к сети (рис. 1.2г). Затем исключаем узел 6 из множества и добавляем его в множество . Получаем
.
Делаем .
Этап 6. В множестве находим такой узел, который соединен самой короткой дугой с узлами из множества (рис 1.2д). Находим
а) Этап 2 б) Этап 3
в) Этап 4 г) Этап 5
д) Этап 6 е) Этап 7
Рисунок 1.2 – Последовательные итерации выполнения алгоритма построения минимального остовного дерева
,
т.к.
.
Таким образом получаем и из двух подходящих дуг и выберем одну по желанию, к примеру выберем т.к. у нее меньше номер вершины в множестве . Добавляем выбранную дугу к сети (рис. 1.2д). Затем исключаем узел 3 из множества и добавляем его в множество . Получаем
.
Делаем .
Этап 7. Т.к. множество , следовательно выполнение алгоритма закончено. Ответ представлен на рисунке 1.2е. Минимальная длина кабеля для построения такой сети равна 1+3+4+3+5=16 км.