Главная страница

Вопросы по курсу Дискретная математика


Скачать 486 Kb.
НазваниеВопросы по курсу Дискретная математика
Дата18.03.2022
Размер486 Kb.
Формат файлаdoc
Имя файлаex_discret.doc
ТипДокументы
#403710
страница4 из 4
1   2   3   4


Ребра: (a,b),(b,c),(c,d),(d,e),(a,e),(a,c),(a,d),(b,c),(b,d),(c,e).
В управлении шоссейных дорог рассматривают проект строительства новых дорог между определенными городами. Построим граф вершины которого соответствуют городам, а ребра – дорогам. Припишем каждому между ребру вес, который равен стоимости строительства соответствующего участка дороги. Составление проекта строительства теперь можно свести к задаче построения покрывающего дерева min стоимость. Найдем его. ачинаем с самого наименьшего (a,b),(c,d),(d,e),(c,e),(a,c),(b,e),(b,d),(b,c),(a,d),(a,e).




Шаг

Ребро

Цвет

Букет1

Букет2

Вес

1

(a,b)

зеленый

a,b




5

2

(c,d)

зеленый




с,d

8

3

(d,e)

зеленый




с,a,e

10

4

(c,e)

оранжевый










5

(a,c)

зеленый

a,b,c,d,e

-

50

Алгоритм:

1. Выбираем вершину хо, окрашиваем, приписываем ей значение α(хо)=0, считаем, что у=хо

2. Для всех вершин графа G пересчитываем все величины d(x) по следущему правилу: d(x)=min{d(x); d(y)+f(x,y)}. Для всех полученных значений d(xi), где xi – неокрашенные, выбираем наименьшее, значит соответствующую вершину окрашиваем, присваиваем эту вершину переменной у. Окрашиваем ребро, входящее в эту вершину и составляющую min среди всех неокрашенных вершин.

3. Если у≠xк(у нее совпадает с конечной), то переходим к пункту 2.

Если для всех неокрашенных вершин d(xi)=∞, то делаем вывод, что в исходном графе отсутствует кратчайший путь от вершин x0 в xк. Этот алгоритм позволяет находить кратчайший путь из одной вершины в другую(если он существует). При этом весовая функция, определенная на множестве ребер должна быть положительна. Ребрам могут присваиваться только положительные числа.

Свойства алгоритма.

1. Если получился кратчайший путь из вершины x0 в неокрашенной вершине х, проходящей через вершину у, то кратчайший путь из у в х тоже будет кратчайшим.

2. Алгоритм представляет собой процедуру наращивания покрывающего дереву кратчайщих путей с корнем в вершине x0.

    1. 3. Получив кратчайший путь из x0 в xк, но остались неокрашенные вершины, то продолжая выполнять алгоритм, получим кратчайшие пути до всех неокрашенных вершин, следовательно этот алгоритм позволяет получать для исходного графа G покрывающее дерево кратчайших путей с корнем в исходной точке x0.
1   2   3   4


написать администратору сайта