Алгоритмы путей

Нахождение по заданной матрице весов графа величины минимального пути по алгоритму Дейкстры, величины максимального пути. Нахождение минимального пути по алгоритму Беллмана-Мура между вершинами. Определение максимального потока по заданной матрице.

Рубрика Математика
Вид контрольная работа
Язык русский
Дата добавления 06.04.2020
Размер файла 300,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ФАКУЛЬТЕТ ЭКОНОМИКИ И УПРАВЛЕНИЯ

Кафедра «Прикладная математика»

Контрольная работа по дисциплине «Дискретная математика»

Выполнил: Кузнецов Е.П.

Проверил: к.ф.-м.н., доцент Симонов Б. В.

Волгоград, 2018

Задание 1

По заданной матрице весов ? графа G найти величины минимального пути и сам путь от вершины s = x1 до вершины t = x6 по алгоритму Дейкстры, а затем величину максимального пути и сам путь между теми же вершинами.

x1

x2

x3

x4

x5

x6

x1

-

10

12

?

?

?

x2

?

-

11

9

?

19

x3

?

?

-

?

10

?

x4

?

?

13

-

11

10

x5

?

?

?

?

-

6

x6

?

?

?

?

?

-

Этап 1 - нахождение длин минимального пути

Шаг 1

Полагаем d(x1)=0*, x Ю=x1

d(x2)= d(x3)= d(x4)= d(x5)= d(x6)= ?

1 Итерация

Шаг 2

Множество вершин, непосредственно следующих за вершиной x Ю=x1 с временными метками

S Ю={x2, x3}

Пересчитаем временные метки этих вершин

d(x2)=min {?, 0*+10}=10

d(x3)=min {?, 0*+12}=12

Шаг 3

Одна из временных меток превращается в постоянную

Min { x2, x3, x4, x5, x6}= min {10, 12, ?, ?, ?} = 10*= d(x2)

Полагаем x Ю=x2

Шаг4

Возврат на 2 шаг

2 Итерация

Шаг 2

Множество вершин, непосредственно следующих за вершиной с временными метками

S Ю={x3, x4, x6}

Пересчитаем временные метки этих вершин

d(x3) = min {?, 10*+11)=21

d(x4)=min{?,10*+9)=19

d(x6)=min{?,10*+19)=29

Шаг 3

Одна из временных меток превращается в постоянную

Min {x3,x4,x5,x6}=min{12,19, ?,29)=12*=d(x3)

Шаг 4

Возврат на 2 шаг

3 Итерация

Шаг 2

Множество вершин, непосредственно следующих за вершиной с временными метками

??Ю={x5}

Пересчитаем временные метки этих вершин

d(x5)= min {12+10}= 22

Шаг 3

Одна из временных меток превращается в постоянную

Min {x4,x5,x6}=min{19,22,29) = 19*=d(x4)

Полагаем ??Ю=x4

Шаг 4

4 Итерация

Шаг 2

Множество вершин, непосредственно следующих за вершиной ??Ю=x4 с временными метками

??Ю={x3,x5,x6}

Пересчитаем временные метки этих вершин

d(x3)=min{12,19*+13}=12

d(x5)=min{22,19*+11}=22

d(x6)=min{29,19*+10}=29

Шаг 3

Одна из временных меток превращается в постоянную

Min {x3,x5,x6}=12*=d(x3)

Полагаем

Шаг 4

??Ю=x3 ? t=x6

Возврат на 2 шаг

5 Итерация

Шаг 2

Множество вершин, непосредственно следующих за вершиной с временными метками

??Ю={x5}

Пересчитаем временные метки этих вершин

d(x5)= min {12+10}= 22

Шаг 3

Одна из временных меток превращается в постоянную

Min {x5,x6}=min{22,29) = 22*=d(x5)

Полагаем ??Ю=x5

Шаг 4

6 Итерация

Шаг 2

Множество вершин, непосредственно следующих за вершиной с временными метками

??Ю={x6}

Пересчитаем временные метки этих вершин

d(x6)=min{22+6}=28

Шаг 3

Одна из временных меток превращается в постоянную

Min {x6}=28*=d(x6)

Полагаем ??Ю=x6

Шаг 4

Конец 1 этапа

Этап 2 - построение кратчайшего пути

1 Итерация

Шаг 5

Составим множество вершин, непосредственно предшествующих x Ю=x6 с постоянными метками

S Ю={x2,x4,x5}

=28*?10*+19=d(x2)+ щ(x2, x6)

d(x Ю)=28*?19*+10 = d(x4)+щ(x4, x6)

d(x Ю)=28*= 22*+6 = d(x5)+щ(x5, x6)

Включаем дугу щ(x5, x6) в кратчайший путь

Полагаем x Ю=x5

Шаг 6

Возврат на 5 шаг

3 Итерация

Шаг 5

Составим множество вершин, непосредственно предшествующих x Ю=x5 с постоянными метками

S Ю={x3,x4}

d(x Ю)=22* ? 19*+11 = d(x4)+щ(x4, x5)

d(x Ю) =22*= 12*+10 = d(x2)+щ(x3, x5)

Включаем дугу щ(x3, x5) в кратчайший путь

Полагаем x Ю=x3

Шаг 6

Возврат на 5 шаг

4 Итерация

Составим множество вершин, непосредственно предшествующих x Ю=x3 с постоянными метками

S Ю={x1,x2,x4}

d(x Ю) = 12* ? 10*+11 = d(x2)+щ(x2, x3)

d(x Ю) = 12* ? 19*+13 = d(x4)+щ(x4, x3)

d(x Ю) = 12* = 0*+12 = d(x1)+щ(x1, x3)

Включаем дугу щ(x1, x3) в кратчайший путь.

Полагаем x Ю=x1

Шаг 6

Завершение 2 этапа

Кратчайший путь от x1 до x6 построен, его длинна составляет 12+10+6=28

Данный путь образован последовательностью дуг

µ= щ(x1, x3)- щ(x3, x5)- щ(x5, x6)

Нахождение максимального пути

Упорядочи вершины по алгоритму Фолкерсона

1.Вершина x1 не содержит входящих дуг, вследствие чего вычеркнем все дуги, исходящие из этой вершины, вершину отнесем в группе 1.

2.Вершина x2 не содержит входящих дуг, вследствие чего вычеркнем все дуги, исходящие из этой вершины, вершину отнесем к группе 2.

3. Вершина x4 не содержит входных дуг, вследствие чего вычеркнем все дуги, исходящие из этой вершины, вершину отнесем к группе 3.

4.Вершина x3 не содержит входных дуг, вследствие чего вычеркнем все дуги, исходящие из этой вершины, вершину отнесем к группе 4.

5. Остались только вершины x5 и x6, относим их к группам 5 и 6 соответственно.

Упорядоченные вершины:

d1=0

d2=max(d1+10)=max(0+10)=10

d3=max(d2+9)=max(10+9)=19

d4=max(d1+12,d2+11,d3+13)=(0+12,10+11,19+13)=32

d5=max(d3+11,d4+10)=(19+11,32+10)=42

d6=max(d2+19,d3+10,d5+6)=(10+19,19+10,42+6)=48

Длина максимального пути из x1 в x6 равна 48

Этап 2 - нахождение максимального пути

x6:

d6=48=d5+6=48

d6=48?d2+19=29

d6=48?d3+10=29

Включаем дугу (x5,x6) в максимальный путь.

x5:

d5=42=d4+10=42

d5=42?d3+11=30

Включаем дугу (x3,x5) в максимальный путь.

x3:

d4=32=d3+13=32

d4=32?d1+12=12

d4=32?d2+11=21

Включаем дугу (x4,x3) в максимальный путь.

x4:

d3=19=d2+9=19

Включаем дугу (x2,x4) в максимальный путь.

x2:

d2=10=d1+10=10

Включаем дугу (x1,x2) в максимальный путь.

Максимальный путь:

µmax=(x1,x2)-(x2,x4)-(x4,x3)-(x3,x5)-(x5,x6)

Задание 2

По заданной матрице весов ? графа G найти минимальный путь по алгоритму Беллмана-Мура между начальной вершиной s = x1 и конечной вершиной t = x7.

x1

x2

x3

x4

x5

x6

x7

x1

-

?

8

?

?

?

?

x2

?

-

?

?

-6

10

12

x3

?

4

-

-4

?

-7

?

x4

?

?

?

-

?

?

3

x5

?

?

7

10

-

6

?

x6

?

?

?

8

?

-

x7

?

?

?

?

?

?

-

Этап 1 - нахождение длин кратчайших путей от вершины s до всех остальных вершин графа

Шаг 1

x Ю=x1;

d(x1)=0

d(xj)= ?;

Q = {x1}

1 Итерация

Шаг 2

x Ю=x1; тогда Q=Q\{x1}= Ш

Пусть S Ю - множество вершин, непосредственно достижимых из x Ю.

S Ю={x3}

d(x3)=min{?,0+8}=8

8<?? Да Q={x3}

Шаг 3

Q = Ш? Нет. Переход на начало 2 шага.

2 Итерация

Шаг 2

x Ю=x3; Тогда Q=Q\{ x Ю}= Ш

S Ю={x2,x4,x6}

d(x2)=min{?,8+4}=12

12<?? Да Q={x2}

d(x4)=min{?,8-4}=4

4<?? Да Q={x2,x4}

d(x6)=min{?,8-7}=1

1<?? Да Q={x2,x4,x6}

Шаг 3

Q = Ш? Нет. Переход на начало 2 шага.

3 Итерация

Шаг 2

x Ю=x2; Тогда Q=\{ x Ю}={x4,x6}

S Ю={x5,x6,x7}

d(x5)=min(?,12-6)=6

6<?? Да Q={x4,x5,x6}

d(x6)=min(1,12+10)=22

22<1?Нет Q={x4,x5,x6}

d(x7)=min(?,12+12)=24

24<?? Да Q={x4,x5,x6,x7}

Шаг 3

Q = Ш? Нет. Переход на начало 2 шага.

4 Итерация

Шаг 2

x Ю=x4; Тогда Q=Q\{ x Ю}={x5,x6,x7}

S Ю={x6}

d(x6)=min(1,4+3)=7

7<1? Нет Q={x5,x6,x7}

Шаг 3

Q = Ш? Нет. Переход на начало 2 шага.

5 Итерация

Шаг 2

x Ю=x5; Тогда Q=Q\{ x Ю}={x6,x7}

S Ю={x3,x4,x6}

d(x3)=min(8,6+7)=13

13<8? Нет Q={x6,x7}

d(x4)=min(4,6+10)=16

16<4? Нет Q={x6,x7}

d(x6)=min(1,6+6)=12

12<1? Нет Q={x6,x7}

Шаг 3

Q = Ш? Нет. Переход на начало 2 шага.

6 Итерация

Шаг 2

x Ю=x6; Тогда Q=Q\{ x Ю}={x7}

S Ю={x4,x7}

d(x4)=min(4,1+8)=9

9<4? Нет Q={x7}

d(x7)=min(24,1+5)=6

6<24? Да Q={x7}

Шаг 3

Q = Ш? Нет. Переход на начало 2 шага.

7 Итерация

Шаг 2

x Ю=x7; тогда Q = Q\{x Ю} = Ш

S Ю=Ш

Шаг 3

Q = Ш? Да. Конец 1 этапа.

2 Этап - нахождение кратчайшего пути

Шаг 4

x Ю=x7

Пусть S Ю - множество вершин, непосредственно предшествующих вершине x Ю

S Ю={x6,x2}

1 Итерация

Шаг 5

d(x Ю) = 6 =1+5= d(x6)+щ(x6, x7)

d(x Ю) = 6 ? 12+12 = d(x2)+щ(x2, x7)

Включаем дугу щ(x6, x7) в кратчайший путь

Шаг 6

x Ю ? s=x1

Возврат на 5 шаг

2 Итерация

Шаг 5

S Ю={x2,x3,x4,x5}

d(x Ю) = 1 ? 12+10 = d(x2)+щ(x2, x6)

d(x Ю) = 1 =8-7 = d(x3)+щ(x3, x6)

d(x Ю) = 1 ? 4+3 = d(x4)+щ(x4, x6)

d(x Ю) = 1 ? 6+6 = d(x5)+щ(x5, x6)

Включаем дугу щ(x3, x7) в кратчайший путь

Шаг 6

x Ю ? s=x1

Возврат на 5 шаг

3 Итерация

Шаг 5

S Ю={x1}

d(x Ю) = 8 =0+8 = d(x1)+щ(x1, x3)

Включаем дугу щ(x1, x3) в кратчайший путь

Шаг 6

x Ю=s=x1

Завершение 2 этапа

Кратчайший путь от x1 до x7 построен.

Длина пути = 8+(-7)+5=6

Путь образован последовательностью:

(x1,x3)-(x3,x6)-(x6,x7)

Задание 3

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

X1

X2

X3

X4

X5

X6

X7

X1

-

8

9

?

?

?

6

X2

8

-

7

6

9

?

?

X3

9

7

-

6

10

5

?

X4

?

6

6

-

8

7

?

X5

?

9

10

8

-

4

5

X6

?

?

5

7

4

-

6

X7

6

?

?

?

5

6

-

Шаг 1

Полагаем S'={x3}, S''={x1,x2,x4,x5,x6,x7}

V? = Ш

1 Итерация

Шаг 2

d(S',S'')=min{ щ(x3,x1), щ(x3,x2), щ(x3,x4), щ(x3,x5), щ(x3,x6)}= min {9,7,6,10,5)=5= щ(x3,x6)

S'={x3,x6},S''={x1,x2,x4,x5,x7}

V'={(x3,x6)}

Шаг 3

S? ? S

Переход на начало 2 шага

2 Итерация

Шаг 2

d(S',S'')=min{ щ(x3,x1), щ(x3,x2), щ(x3,x4), щ(x3,x5), щ(x6,x5), щ(x6,x7)}=min{9,7,6,10,4,6}=4= щ(x6,x5)

S'={x3,x5,x6},S''={x1,x2,x4,x7}

V'={(x3,x6),(x6,x5)}

Шаг 3

S? ? S

Переход на начало 2 шага

3 Итерация

Шаг 2

d(S',S'')=min{ щ(x3,x1), щ(x3,x2), щ(x3,x4), щ(x3,x5), щ(x6,x7), щ(x5,x2), щ(x5,x4),(x5,x7)}=min{9,7,6,10,6,9,8,5}=5= щ(x5,x7)

S'={x3,x5,x6,x7},S”={x1,x2,x4}

V'={(x3,x6),(x6,x5),(x5,x7)}

Шаг 3

S? ? S

Переход на начало 2 шага

4 Итерация

Шаг 2

d(S',S'')=min{ щ(x3,x1), щ(x3,x2), щ(x3,x4), щ(x3,x5), щ(x5,x2), щ(x5,x4), щ(x7,x1)}={9,7,6,10,9,8,5,6}=6= щ(x7,x1)

S'={x1,x3,x5,x6,x7},S''={x2,x4}

V'={(x3,x6),(x6,x5),(x5,x7),(x7,x1)}

Шаг 3

S? ? S

Переход на начало 2 шага

5 Итерация

Шаг 2

d(S',S'')=min{ щ(x3,x1), щ(x3,x2), щ(x3,x4), щ(x3,x5), щ(x5,x2), щ(x5,x4), щ(x1,x2)}=min{9,7,6,10,9,8,5,8}=6= щ(x3,x4)

S'={x1,x3,x4,x5,x6,x7}, S''={x2}

V'={(x3,x6),(x6,x5),(x5,x7),(x7,x1),(x3,x4)}

Шаг 3

S? ? S

Переход на начало 2 шага

6 Итерация

Шаг 2

d(S',S'')=min{ щ(x3,x1), щ(x3,x2), щ(x3,x5), щ(x5,x2), щ(x5,x4), щ(x1,x2), щ (x4,x2), щ (x4,x6)}= min{9,7,10,9,8,5,8,6,7}=6= щ(x4,x2)

S'={x1,x2,x3,x4,x5,x6,x7}, S''= Ш

V'={(x3,x6),(x6,x5),(x5,x7),(x7,x1),(x3,x4),(x4,x2)}

Шаг 3

Получим основной граф G'=(S',V').

Вес графа = 6+5+4+5+6+6=32

Задание 4

матрица алгоритм путь

По заданной матрице пропускных способностей дуг ? графа G найти максимальный поток от вершины s=x1 до вершины t=x7 и указать минимальный разрез, отделяющий s от t

x1

x2

x3

x4

x5

x6

x7

x1

-

7

9

-

-

8

-

x2

-

-

11

14

10

-

6

x3

-

-

-

9

11

19

-

x4

-

-

-

-

-

12

-

x5

-

-

-

8

-

14

-

x6

-

-

-

-

-

-

10

x7

-

-

-

-

-

-

-

Этап 1

Д=min{7;6}=6

Дуга (x2,x7) - насыщенная

Д=min{9,19,10}=9

Дуга (x1,x3) - насыщенная

Д=min{8,10-9}=1

Дуга (x6,x7) - насыщенная

Более маршрутов нет, поток максимальный

Делаем разрез вокруг t.

Максимальный поток:16

Размещено на Allbest.ru

...

Подобные документы

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

    курсовая работа [495,4 K], добавлен 19.09.2011

  • Описание заданного графа множествами вершин V и дуг X, списками смежности, матрицей инцидентности и смежности. Матрица весов соответствующего неориентированного графа. Определение дерева кратчайших путей по алгоритму Дейкстры. Поиск деревьев на графе.

    курсовая работа [625,4 K], добавлен 30.09.2014

  • Алгоритм перехода к графическому представлению для неориентированного графа. Количество вершин неориентированного графа. Чтение из матрицы смежностей. Связи между вершинами в матрице. Задание координат вершин в зависимости от количества секторов.

    лабораторная работа [34,0 K], добавлен 29.04.2011

  • Основные понятия и свойства эйлеровых и гамильтоновых цепей и циклов в теории графов. Изучение алгоритма Дейкстры и Флойда для нахождения кратчайших путей в графе. Оценки для числа ребер с компонентами связанности. Головоломка "Кенигзберзьких мостов".

    курсовая работа [2,4 M], добавлен 08.10.2014

  • Минимальное остовное дерево связного взвешенного графа и его нахождение с помощью алгоритмов. Описание алгоритма Краскала, возможность строить дерево одновременно для нескольких компонент связности. Пример работы алгоритма Краскала, код программы.

    курсовая работа [192,5 K], добавлен 27.03.2011

  • Контрольный пример к алгоритму метода хорд. Вычисление и уточнение корня методом хорд и касательных. Нахождение второй производной заданной функции. Уточненное значение корня решаемого уравнения на заданном интервале. Код программы данного примера.

    лабораторная работа [276,9 K], добавлен 02.12.2014

  • Определение вероятности для двух несовместных и достоверного событий. Закон распределения случайной величины; построение графика функции распределения. Нахождение математического ожидания, дисперсии, среднего квадратичного отклонения случайной величины.

    контрольная работа [97,1 K], добавлен 26.02.2012

  • Побудування графа та матриці інцидентності. Перетворення графа у зважений за допомогою алгоритму Дейкстри, знаходження довжини найкоротшого шляху між двома вершинами та побудування дійсного шляху. Обхід дерева у прямому та зворотному порядках.

    курсовая работа [144,1 K], добавлен 03.07.2014

  • Граф как совокупность объектов со связями между ними. Характеристики ориентированного и смешанного графов. Алгоритм поиска кратчайшего пути между вершинами, алгоритм дейкстры. Алгебраическое построение матрицы смежности, фундаментальных резервов и циклов.

    методичка [29,4 M], добавлен 07.06.2009

  • Пути наиболее адекватной газификации села, разработка кратчайшего пути прокладывания газопровода. Оптимизация маршрута доставки груза. Определение минимального срока работ по новому направлению предприятия, срок окупаемости и возврата кредита в банк.

    контрольная работа [378,6 K], добавлен 10.02.2009

  • Метод Форда-Беллмана для нахождения расстояния от источника до всех вершин графа. Алгоритмы поиска расстояний и отыскания кратчайших путей в графах. Блочно-диагональный вид и матрица в исследовании системы булевых функций и самодвойственной функции.

    курсовая работа [192,1 K], добавлен 10.10.2011

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

    курсовая работа [225,0 K], добавлен 30.04.2011

  • Понятия теории графов. Понятия смежности, инцидентности и степени. Маршруты и пути. Матрицы смежности и инцедентности. Алгоритм поиска минимального пути в ненагруженном ориентированном орграфе на любом языке программирования, алгоритм фронта волны.

    курсовая работа [466,3 K], добавлен 28.04.2011

  • Поиск кратчайших путей для пар вершин взвешенного ориентированного графа с весовой функцией. Включение матрицы в алгоритм Флойда, содержащую вершину, полученную при нахождении кратчайшего пути. Матрица, которая содержит длины путей из вершины в вершину.

    презентация [36,1 K], добавлен 16.09.2013

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

    методичка [693,0 K], добавлен 21.12.2011

  • Вычисление математического ожидания, дисперсии, функции распределения и среднеквадратического отклонения случайной величины. Закон распределения случайной величины. Классическое определение вероятности события. Нахождение плотности распределения.

    контрольная работа [38,5 K], добавлен 25.03.2015

  • Общая характеристика распространенных проблем поиска величины максимального потока в сети при помощи алгоритма Форда-Фалкерсона. Знакомство с задачами по дискретной математике. Рассмотрение особенностей и этапов постройки дерева кратчайших расстояний.

    контрольная работа [740,3 K], добавлен 09.03.2015

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

    контрольная работа [57,3 K], добавлен 07.09.2010

  • Понятие дифференциального уравнения. Нахождение первообразной для заданной функции. Нахождение решения дифференциального уравнения. Выделение определенной интегральной кривой. Понятие произвольных независимых постоянных. Уравнение в частных производных.

    презентация [42,8 K], добавлен 17.09.2013

  • Уравнение прямой линии на плоскости, условия перпендикулярности плоскостей. Вычисления для векторов и их значение, нахождение скалярных произведений, обратная матрица к квадратной матрице и вычисление определителя, бесконечные системы и их признаки.

    тест [526,3 K], добавлен 08.03.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.