2.9.1. Задача о кратчайшем пути между двумя вершинами (ориентированного графа
Каждой дуге графа G(X, V) ставиться в соответствие неотрицательное число - l(V) - длина его дуги. Требуется для двух фиксированных вершин Х0, Хn найти кратчайший путь, их соединяющий. Если под длиной дуги l(Xi, Xj) понимать стоимость перевозки груза из пункта Xi в пункт Xj, то содержание задачи составит определение пути из Х0 в Хn, при котором затраты на перевозки минимальны
2.18
Данная задача предполагает, во-первых, определение длины кратчайшего пути, во-вторых, определение самого пути минимальной длины.
Алгоритм решения этой задачи позволяет определить кратчайший путь и его длину за конечное число шагов. Каждая вершина графа получает некоторую числовую метку на первом шаге. Затем метки вершин, вообще говоря, могут меняться, становясь на некотором шаге постоянным числом. Установившаяся метка данной вершины есть кратчайшее расстояние от этой вершины до вершины Х0. Если пути, соединяющего вершины Х0 и Хn не существуют, считают длину кратчайшего расстояния между ними +
Алгоритм состоит в выполнении следующих операций:
Шаг 1. Проставить следующие метки: для вершины Х0 - метку . Для любой другой вершины Xi, - метку
Шаг 2. Найти на графе такую дугу (Xi, Xj), для которой
2.19
Разность считать равной 0. Если такая дуга найдется, то изменить метку вершины Хj на
2.20
Если такой дуги нет, то пути, соединяющего Х0 и Хn не существует.
Шаг 3. Повторять шаг 2 до тех пор, пока метки вершин не перестанут меняться.
Установившиеся метки обозначим Может быть два случая: 1) . Это значит, что пути, соединяющего Х0 и Хn не существует. 2) - конечное число. Оно равно кратчайшему расстоянию между Х0 и Хn.
Сам путь минимальной длины получим, отмечая вершины, по которым достигается минимум.
На графе-сети между входом и выходом графа путь минимальной длины всегда существует. Его можно определить за один шаг, если пользоваться формулой:
2.21
Пример. Найти кратчайший путь между вершинами Х0 и X5. Длины дуг заданы на графе (рис. 2.17).
Рис. 2.17.
Решение. Имеем ориентированный граф без циклов, имеющий одну вершину Х0 без входящих дуг - вход графа, и одну вершину Х5 без выходящих дуг - выход графа. Такой граф есть граф-сеть.
Следуя алгоритму, обозначим Далее меняем метки всех вершин, кроме Х0. Смысл метки -некоторое расстояние от вершины Хi, до Х0. Поэтому метка вершины Х0 не меняется.
Для вершины X1: Поэтому меняем метку вершины X1 на
Х0
Справа отметим вершину, из которой пришли в вершину X1. Аналогично для вершины Х2:
Х0
В вершину Х3 ведут два пути: из вершины Х0 и из 'вершины X1. Поэтому используем формулу 2.21:
Х0
Справа обозначим вершину, по которой достигается минимум.
Аналогично для вершины Х4 и Х5 получаем:
Х1
Х4
Полученное значение = 5 есть длина минимального пути из Х0 в Х5. Сам путь получим, проходя по отмеченным вершинам из Х5 в Х0: Х5, Х4, X1, Х0, т.е. = {Х0, X1, Х4, Х5} -искомый путь, а его длина 1( ) = 5.
Задача может иметь не единственное решение.
- 1. Элементы теории множеств
- 1.1 Понятие множества. Основные определения
- Способы задания множества
- Равенство множеств
- Подмножество
- Операции над множествами
- Предварительные замечания
- Объединение множеств
- 1.5.3 Пересечение множеств
- 1.5.4 Разность множеств
- 1.5.5 Симметрическая разность
- 1.5.6 Универсальное множество
- 1.5.7 Дополнение множества
- Принцип двойственности в алгебре множеств
- Тождества алгебры множеств
- Разбиение множества
- Упорядочение элементов и прямое произведение множеств
- Упорядоченное множество
- Прямое произведение множеств
- 1.9.3 Проекция множества
- 1.10 Соответствия
- 1.10.1 Обратное соответствие
- 1.10.2 Композиция соответствий
- 1.10.3 Отображения и функции
- 1.10.4 Основные свойства отображений
- 1.11 Функция
- 1.11.1 Способы задания функции
- 1.11.2 Сужение функции
- 1.11.3 Обратная функция
- 1.11.4 Функция времени
- 1.11.5 Понятие функционала
- 1.11.6 Понятие оператора
- 1.12 Отношения
- 1.12.1 Задание бинарных отношений
- Свойства отношений
- 1.12.3 Отношение эквивалентности
- 1.12.4 Отношение порядка
- 1.13 Конечные и бесконечные множества
- 1.13.1 Счётные и несчётные множества
- 1.13.2 Свойства счетных множеств
- 1. Всякое подмножество счетного множества конечно или счетно.
- 2. Объединение любого конечного или счетного множества счетных множеств есть снова счетное множество.
- 3. Всякое бесконечное множество содержит счетное подмножество.
- 1.13.3 Эквивалентность множеств
- 1.13.4 Теорема г. Кантора
- 1.13.5 Теорема Кантора – Бернштейна
- 1.13.6 Верхняя и нижняя границы множества
- 1.13.7 Теорема о верхних и нижних границах подмножества
- 1.13.8 Понятие мощности множества
- 2. Основные положения теории графов
- 2.1 Определение графа
- 2.2 Матричные представления графа
- 2.3. Достижимость
- 2.4. Неориентированные графы
- 2.5. Изоморфизм графов
- 2.6. Отношение порядка и отношение эквивалентности на графе
- 2.7. Характеристики графов
- 2.8 Операции над графами
- 2.9. Определение путей экстремальной длины
- 2.9.1. Задача о кратчайшем пути между двумя вершинами (ориентированного графа
- 2.9.2 Задача о нахождении пути максимальной длины между двумя фиксированными вершинами ориентированного графа
- Номера работ обозначены числами в кружке.
- Литература