Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
§ 52. Метод динамического программированияГрафы без контуров. Рассмотрим граф
Рис. 238. Пусть, например,
— его порядковая функция. Ищем путь из
Рис. 239 Начиная с А, рассматриваем последовательно все вершины графа в порядке возрастания его порядковой функции (вершины одного и того же уровня рассматриваются в произвольном порядке) и приписываем каждой вершине рис. 238 с порядковой функцией
(см. рис. 240) получаем тот же результат (см. рис. 241).
Рис. 240. Теоремы оптимальности (§ 51) дают обоснование изложенного способа, называемого методом динамического программирования. Он предложен Веллманом и развит им для последовательных графов (см. § 53). Автор и Крюон перенесли его на случай графов без контуров. Условия его применимости: 1) граф должен обладать порядковой функцией; 2) закон композиции ассоциативен, т. е. структура системы значений должна быть моноидом, или полугруппой. Случай, когда начальный и (или) конечный уровень содержат более одной вершины. Пусть заданы граф без контуров
Графы с контурами. Для таких графов мы не будем заниматься задачей на максимум, так как он может не существовать, а также будем предполагать в дальнейшем, что значения приписываются его дугам. Для отыскания минимальных путей графа существуют различные методы. Алгоритм Форда [23]. Будем предполагать, что всем дугам
Рис. 241. Каждой вершине 1) положим 2) далее каждый раз ищем дугу Покажем, что по указанным правилам мы можем найти минимальные пути. Действительно, так как при этом
и т. д. Так как последовательность что значение
Отсюда
Точно так же можно получить
т. е.
Рис. 242. Пример. Шаг 1. Приписываем вершине
Затем приписываем Шаг 2. Теперь
Рис. 243. Так как
то полагаем Так как
то полагаем Так как
То полагаем Так как
то полагаем Так как
то полагаем Результаты представлены на рис. 244.
Рис. 244. Шаг 3. Действуя аналогично, видим, что
т. е. значения путей уменьшить больше нельзя. Таким образом, приходим к минимальным путям от
со значением 21. На рис. 244 представлены также значения минимальных путей от Отыскание максимального пути графа без контуров. Алгоритм Форда может быть использован для отыскания максимального пути таких графов. Достаточно положить Алгоритм Беллмана — Калаба [2]. Этот алгоритм использует Принцип оптимальности: «любой подпуть минимального пути является минимальным путем между соответствующими вершинами». Рассмотрим граф Пусть Найдем такой путь
что
минимально. Задача сводится к решению системы
где через Положим
Вычисляем последовательно
до тех пор, пока не будет выполнено равенство
и тогда Пример (см. рис. 242). Матрица Имеем
Вычисляем последовательно
Рис. 245 Результаты сведены в нижеследующую таблицу:
Так как Замечание. Объем вычислений можно сократить, действуя следующим образом. а) Если б) Вектор
в) В векторе
Рис. 246 Если Этим способом нельзя найти максимальный путь. Отыскание максимального пути в графе без контуров. С помощью метода Веллмана — Калаба можно указанным выше способом находить максимальные пути в графе без контуров. Для этого достаточно в уравнениях Например, на рис. 246 числа в квадратиках обозначают значения максимальных путей от Путь с минимальным произведением. Рассмотрим задачу об определении пути, для которого произведение значений, приписанных его дугам, минимально Пусть
что
минимально. В этом случае задача решается с помощью видоизмененного алгоритма Веллмана — Калаба путем рассмотрения системы
где через обозначено значение оптимального пути от
Вычисляем последовательно
до тех пор, пока не получаем
Например, для графа на рис. 242 путь
со значением
минимален. С очевидными изменениями изложенный метод годится для отыскания путей с максимальным значением (52.25). В качестве чисел Расстояние между двумя вершинами. Путь минимальной длины. Рассмотрим граф
1) помечаем вершину
Рис. 247 2) помечаем индексом 1 все вершины для которых
3) если через
4) если
дает искомый путь. Задача нахождения максимального пути с УПРАЖНЕНИЯ(см. скан) (см. скан) (см. скан)
|
1 |
Оглавление
|