Вы находитесь на странице: 1из 10

Контрольное задание по теме_алгоритмы на графах

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

Теория.

В приложениях теории графов часто возникает задача о построении остова графа G,


имеющего наименьший/наибольший вес. Пусть G=(S,U) граф содержащий вершины
x 1 , x 2 , … , x n ∈ S , а ω (x i , x j ) – расстояние между вершинами x i и x j .

Алгоритм Прима (алгоритм ближайшего соседа), представляющий собой итерационную


процедуру, состоящую из двух шагови выполняющуюся n-1 раз на графе G с n вершинами.
Алгоритм может получать минимальное или максимальное по весу дерево.

Пусть S¿ ⊂ S , S ∕ ∕ ⊂ S и S=S ∕ ∪ S ∕ ∕ , S ∕ ∩ S ∕ ∕ =∅ , т. е . S ∕ и S ∕ ∕
– разбиение множества верщин
графа G на два непересекающихся подмножества.

Определим пошаговое расстояние между множествами S ∕ и S ∕ ∕ следующим образом:

d ( S ∕ , S ∕ ∕ ) =min { ω ( xi , x j )∨x i ∈ S ∕ , x j ∈ S ∕ ∕ } .

где ( x i , x j ) – дуга, соединяющая вершины x i и x j .

В алгоритме Прима остовное дерево строится в результате последовательного расширения


исходного поддерева. На каждой итерации число вершин и ребер поддерева увеличивается на
единицу. Основные шаги алгоритма Прима:
Шаг 1. Присвоение начальных значений.

Полагают S = { x1 }, где x1 – произвольная вершина, S ∕ ∕ =S /S ∕ , U ∕ =∅ .

Шаг 2. Обновление данных.


∕ ∕ ∕
Находится ребро ( x i , x j ) такое, что x i ∈ S ∕ , x j ∈ S ∕ ∕ и ω ( x i , x j )=min { ω ( x i , x j ) ∨x i ∈ S , x j ∈ S } .
∕ ∕ ∕ ∕ ∕ ∕ ∕
Полагают S =S ∪ { x j } , S =S /S , U =U ∪ { ( xi , x j ) }.

Шаг 3. Проверка на завершение.

Если S ∕ =S , то G ∕ =( S ∕ , U ∕ ) – искомый остов. В противном случае переходят ко второму шагу.

При выполнении задания необходимо:

1. Выбрать вариант (матрица весов графа) условия задания. Вариант выбираем по формуле:
V=№ % 30; где № - номер студента в полном списке группы (по алфавиту, без деления на
подгруппы). Если остаток получается нулевой, берем 30-й вариант.
2. Указать фамилию, имя, отчество, группу.
3. Формулировка задачи у всех одинаковая. Указывать обязательно.
4. Оформить решение (полное, развернутое!!!!) как показано в образце.

1
С. Д. Шапорев. Дискретная математика. Курс лекций и практических занятий. – СПб.: БХВ-Петербург, 2006.-400с.:ил (с.140)
1
Контрольное задание по теме_алгоритмы на графах
5. Загрузить решение в формате pdf в задание «Построение экстремального остовного дерева.
Алгоритм Прима».

Образец выполнения контрольного задания

Студент Соколов Андрей Иванович, группа КЭ-100.

Вариант № 100

Условие задачи. Для графа G, заданного матрицей весов Ω, построить минимальный по весу остов
G ∕ , найти его вес ω ( G ∕ ) ¿используя алгоритм Прима).

Решение.

Построим граф по заданной матрицей весов Ω. Поскольку матрица весов симметричная, то


дан неориентированный граф.

Исходный граф.

∕ ∕ ∕
Шаг 1. S = { x1 } , S = { x 2 , x3 , x 4 , x 5 , x 6 }, U ∕ =∅ .

1-я итерация.

Шаг 2. d ( S ∕ , S ∕ ∕ ) =ω ( x 1 , x 2 )=5,

S ∕ = { x1 , x2 }, S ∕ ∕ = {x 3 , x 4 , x 5 , x 6 }, U ={( x 1 , x 2 ) }.

Шаг 3.  S ∕ ≠ S , переход на начало второго шага.

2-я итерация.

Шаг 2 d ( S ∕ , S ∕ ∕ ) =ω ( x 2 , x 3 ) =5,

S ∕ = { x1 , x2 , x3 }, S ∕ ∕ = {x 4 , x 5 , x 6 },U ={( x 1 , x 2 ) , ( x 2 , x3 ) }.

Шаг 3.  S ∕ ≠ S , переход на начало второго шага.


2
Контрольное задание по теме_алгоритмы на графах
3-я итерация.

Шаг 2 d ( S ∕ , S ∕ ∕ ) =ω ( x 2 , x 4 )=6,

S ∕ = { x1 , x2 , x3 , x 4 }, S ∕ ∕ = { x 5 , x6 },U ={( x 1 , x 2 ) , ( x 2 , x3 ) , ( x 2 , x 4 ) }.

Шаг  3.  S ∕ ≠ S , переход на начало второго шага.

4-я итерация.

Шаг  2 d ( S ∕ , S ∕ ∕ ) =ω ( x 4 , x 5 )=5,



S ∕ = { x1 , x2 , x3 , x 4 , x 5 }, S ∕ ∕ = { x 6 } ,U ={( x 1 , x 2 ) , ( x 2 , x3 ) , ( x 2 , x 4 ) , ( x 4 , x5 ) }.

Шаг  3.  S ∕ ≠ S , переход на начало второго шага.

5-я итерация.

Шаг  2 d ( S ∕ , S ∕ ∕ ) =ω ( x 3 , x 6 ) =9,



S ∕ = { x1 , x2 , x3 , x 4 , x 5 , x6 }, S ∕ ∕ =∅,U ={( x 1 , x 2 ) , ( x 2 , x3 ) , ( x 2 , x 4 ) , ( x 4 , x5 ) , ( x 3 , x 6 ) } .

Шаг  3.  S ∕ =S .

Итак, получен остовный граф G ∕ =( S ∕ , U ∕ ).

G ∕ = {( x 1 , x 2 ) , ( x 2 , x 3 ) , ( x 2 , x 4 ) , ( x 4 , x 5 ) , ( x 3 , x 6 ) } .

Вес остовного графа ω ( G ∕ ) =5+5+6+ 4+ 9=29



Ответ: G = {( x 1 , x 2 ) , ( x 2 , x 3 ) , ( x 2 , x 4 ) , ( x 4 , x 5 ) , ( x 3 , x 6 ) },ω ( G ∕ ) =29.

*Возможно несколько правильных ответов.

Варианты заданий.

Для графа G, заданного матрицей весов Ω, построить минимальный по весу остов G ∕ , найти его
вес ω ( G ∕ ) .

Вариант выбираем по формуле: V=№ % 30; где № - номер студента в полном списке группы (по
алфавиту, без деления на подгруппы; актуальные списки прилагаются). Если остаток получается
нулевой, берем 30-й вариант.

3
Контрольное задание по теме_алгоритмы на графах

4
Контрольное задание по теме_алгоритмы на графах
Вариант матрицей весов Ω графа G
Вариант №1

Вариант №2

Вариант №3

Вариант №4

Вариант №5

Вариант №6

5
Контрольное задание по теме_алгоритмы на графах
Вариант №7

Вариант №8

Вариант №9

Вариант №10

Вариант №11

Вариант №12

6
Контрольное задание по теме_алгоритмы на графах
Вариант №13

Вариант №14

Вариант №15

Вариант №16

Вариант №17

Вариант №18

7
Контрольное задание по теме_алгоритмы на графах
Вариант №19

Вариант №20

Вариант №21

Вариант №22

Вариант №23

Вариант №24

8
Контрольное задание по теме_алгоритмы на графах
Вариант №25

Вариант №26

Вариант №27

Вариант №28

Вариант №29

Вариант №30

9
Контрольное задание по теме_алгоритмы на графах
Критерии оценивания ответов

Максимальная оценка за правильно выполненное и сданное в срок задание составляет 10


баллов.

Критерии оценивания и их веса приведены в таблице

Критерии Балл
Формальные:
- указаны все необходимые для проверки данные (ФИО,
группа, вариант, условие задачи),
- ход решения подробно расписан,
- документ прикреплен в правильном формате (решение
может быть написано от руки, главное фотографию 2
перевести в .pdf),
- работа прикреплена в курс до 10/05/2021 (дата может
отличаться для групп, не успевших пройти на
практических занятиях раздел «Теория графов» до
праздника)
Содержательные: 8
- правильно получено и построено остовное дерево, (1 балл за правильный итоговый ответ + 1 балл за каждое
- соблюден правильный порядок применения алгоритма, верно определенное ребро остовного дерева;
- правильно определен и приведен в ответе вес остовного если нарушен порядок рассмотрения ребер, баллы за эти
дерева. ребра не начисляются)

10

Вам также может понравиться