ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
ЛУГАНСКОЙ НАРОДНОЙ РЕСПУБЛИКИ
«ЛУГАНСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ
ИМЕНИ ВЛАДИМИРА ДАЛЯ»
Кафедра прикладной математики
Математическое моделирование
О Т Ч Ё Т
О выполнении практической работы № 1
НАХОЖДЕНИЕ ОПТИМАЛЬНОГО ПУТИ В СЕТИ
Вариант № 0
Выполнил: студент группы
ФИО________________________
Дата сдачи____________________
Оценка______________________________
Проверил___________________________
Луганск, 2020
Выполнение работы
1. Найти минимальный путь сети от узла
до узла
по алгоритму Дейкстры, если задана матрица длин дуг
.
Решение. Выполним для наглядности геометрическое изображение графа
|
|
|
|
|
Протокол работы алгоритма будем оформлять в виде таблицы, которую построим в процессе решения.
Шаг 0. Все узлы помечаются: стартовый узел
получает постоянную метку 0, все остальные узлы получают временные метки
:
,
.
Эти значения заносим в нулевую строку таблицы.
Начертим для наглядности геометрическое изображение графа на шаге 0:
|
|
|
|
|
|
|
|
|
| 0 |
Шаг 1. Для узлов
с временными метками, достижимых из узла
с постоянной меткой, обновляем метки:
;
;
;
.
Постоянную метку получает узел
.
Эти значения заносим в первую строку таблицы.
Начертим для наглядности геометрическое изображение графа на шаге 1:
|
|
|
|
|
|
|
| 4 |
|
| 0 |
Шаг 2. Для узлов
с временными метками, достижимых из узла
с постоянной меткой, обновляем метки:
;
;
;
;
.
Постоянную метку получает узел
.
Эти значения заносим во вторую строку таблицы.
Начертим для наглядности геометрическое изображение графа на шаге 2:
|
|
|
|
|
| 6 |
|
| 4 |
|
| 0 |
Шаг 3. Для узла
с временной меткой, который достижим из узла
с постоянной меткой, обновляем метку:
;

.
Постоянную метку получает узел
.
Эти значения заносим в третью строку таблицы.
Начертим для наглядности геометрическое изображение графа на шаге 3:
|
|
|
|
|
| 8 |
| 4 |
|
| 0 |
| 6 |
Шаг 4. Из узла
с постоянной меткой не выходит ни одна дуга.
;
.
Постоянную метку получает узел
.
Эти значения заносим в четвертую строку таблицы.
Начертим для наглядности геометрическое изображение графа на шаге 4:
|
|
|
|
|
| 8 |
| 4 |
| 12 |
| 0 |
| 6 |
Таблица.
| Узлы Шаги |
|
|
|
|
|
| 0 |
|
|
|
| |
| 0 | 4 |
|
|
| |
| 0 | 4 | 6 |
|
| |
| 0 | 4 | 6 |
| 8 | |
| 0 | 4 | 6 | 12 | 8 |
Все узлы получили постоянные метки. Алгоритм завершен:
,
,
,
.
2) Чтобы найти минимальный путь от узла
до узла
, используем временные индексы в постоянных метках: у узла
–
, у узла
–
, у узла
–
. Итак, минимальный путь от
до
есть
:
,
,
,
. Его длина
.
2. Найти минимальный путь сети от узла
до узла
по алгоритму Беллмана–Мура, если задана матрица длин дуг

Решение. 1) Начертим для наглядности геометрическое изображение графа
|
|
|
|
|
| –8 |
|
| –7 |
Этап 1. Нахождение длин кратчайших путей от узла
до всех остальных узлов графа.
Шаг 0. Все узлы помечаются: стартовый узел
получает постоянную метку 0, все остальные узлы получают временные метки
:
,
, 
Шаг 1.
а) Удаляем из очереди
узел, находящийся в самом начале очереди.

б) Для узла
с временными метками, досягаемого из узла
корректируем метки:
, бб) 4<∞;
бв) Корректировка очереди:
,
нужно было поставить в конец очереди, но
было пустым, поэтому конец очереди совпал с началом.
б)
, бб)
;
бв) Корректировка очереди:
.
Шаг 2. а) Удаляем из очереди
узел, находящийся в самом начале очереди:
.
.
б)
, бб) 11<∞;
бв) 
б)
, бб) –4<6;
бв)
. Узел
нужно было поставить в начало очереди, но он уже там находится.
б)
, бб) 10<∞;
бв)
.
Шаг 3. а)
. 
б)
, бб) 4<11;
бв)
. Узел
нужно поставить в начало очереди.
Шаг 4. а)
.
.
б)
, бб) 8<∞;
бв)
.
Шаг 5. а)
.
.
б)
, бб) –3<5;
бв)
.
б)
, бб) 9<8;
бв)
.
Шаг 6. а)
.
.
б)
, бб) 0<8;
бв)
.
содержит только
и он находится в начале очереди.
Шаг 7. а)
.
.
Конец первого этапа. Найдены минимальные расстояния до всех узлов от первого узла:

Этап 2. Построение кратчайшего пути от узла
до узла
.
Пусть
– конец пути.
– множество узлов, непосредственно находящихся перед
.
Шаг 1. 

Включаем дугу
в кратчайший путь.
Шаг 2.
. 
,
,
.
Включаем дугу
в кратчайший путь.
Шаг 3.
. 
,
.
Включаем дугу
в кратчайший путь.
Шаг 4.
. 


Включаем дугу
в кратчайший путь.
Шаг 5.
. 

Включаем дугу
в кратчайший путь.
Шаг 6.
. Алгоритм закончен. Искомый кратчайший путь от узла
до узла
состоит из дуг:

и имеет нулевой вес.