![]() |
![]() |
![]() |
![]() |
Главная -> Гамильтоновы циклы 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 [ 66 ] 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 При другой формулировке задачи о наиболее надежном пути возможно непосредственное использование трехместной операции; а именно операция вводится с помощью соотношения Pг^ = шax[pг^ , pik-pkj]. В качестве начальной [рг/]-матрицы берется матрица надежностей дуг, причем нулевые элементы указывают на отсутствие соответствующих дуг. Такая формулировка позволяет, очевидно, найти наиболее надежные пути между всеми парами вершин. 7.2. Путь с наибольшей пропускной способностью В этой задаче каждая дуга (х,-, Xj) графа имеет пропускную способность и требуется найти путь от s к с наибольшей пропускной способностью. Пропускная способность пути Р определяется, конечно, дугой из Р с наименьшей пропускной способностью, т. е. Q{P) min [gtj]. (8.11) Теорема 1 ). Пропускная способность пути с наибольшей пропускной способностью от s к t равна min{ max [Яц]}, к (X., х.)ек где К - любой (s-tVpaapea (в множестве дуг). Доказательство. Пусть Q - пропускная способность пути с наибольшей пропускной способностью. Так как каждый путь от S к должен содержать по крайней мере одну дугу из каждого (5-)-разреза, то для каждого разреза К будет выполняться неравенство max [qi}]Q. (8.12) (Я., х.)К' Поскольку в каждом ( -)-пути должна присутствовать по крайней мере одна дуга с пропускной способностью, не превосходящей Q, и поскольку, взяв по одной такой дуге из каждого (s-i)-nyTH, мы получаем некоторый ( -)-разрез (по определению), то существует хотя бы один разрез, скажем К', для которого max [?г, ]<(?. (8.13) (ЗС., xj)eK Таким образом, разрез К, доставляющий минимум выражению min{ max [дц]}, (8.14) к (X., xj)eK 1) Обратите внимание иа сходство теоремы 1 с теоремой о максимальном потоке и минимальном разрезе из гл. 2; на самом деле теорема 1 является минимаксным вариантом последней. должен одновременно удовлетворять неравенствам (8.12) и (8.13), т. е. для него должно выполняться равенство. Отсюда следует справедливость теоремы. Очевидный алгоритм нахождения пути с наибольшей пропускной способностью, основанный на теореме 1, состоит в следуюш,ем. Шаг 1. Начать с ( --разреза К = ({ }, X- { }) и найти наибольшую пропускную способность Q дуг из К. Шаг 2. Построить остовный подграф G = (X, А'), где А' = Шаг 3. Найти множество R (s) вершин, достижимых из s в графе А'. (Построение множества R (s) описано в гл. 2.) Шаг 4. Если t R (s), то = (? и любой (s -<)-путь в остовном подграфе G будет иметь наибольшую пропускную способность, равную Q. Если t R (s), перейти к шагу 5. Шаг 5. Взять в качестве К разрез (R (s), X - R (s)) и найти наибольшую пропускную способность Q дуг в этом новом разрезе. (Текущее значение величины Q меньше, чем предыдущее, в силу определения множества R (s) на шаге 3 и множества дуг А' на шаге 2.) Возвратиться к шагу 2. Для неориентированных графов G Франк и Фриш [16] предложили еще более простую процедуру нахождения пути с наибольшей пропускной способностью, состоящую в следующем. Пусть Ki - некоторый (5-<)-разрез, & Q - наибольшая пропускная способность ребер из Ку. Если теперь закоротить любое ребро {Х{, Xj) с пропускной способностью qij Q, т. е. вершины xi и Xj заменить одной вершиной х, положив Г (х) = Г (х,) и Г (Xj), (х) = Г-1 (Xi) и Г-1 (Xj), и ребро (xi, Xj) удалить, то получившийся граф будет иметь тот же самый путь с наибольшей пропускной способностью, что и первоначальный граф G. Справедливость этого утверждения вытекает из того факта, что Q является верхней границей для Q (в соответствии с (8.12)), и, следовательно, ребра cqijQ не могут повлиять на оптимальное решение, т. е. не могут войти в разрез К. Поскольку закорачивание ребра (х;, Xj) может повлиять только на разрезы, содержащие {xt, Xj) (зти разрезы удаляются), то разрез К графа G (или все разрезы, доставляющие минимум выражению (8.14), если их несколько) будет также и разрезом преобразованного графа Gi. Процедуру, примененную к первоначальному графу G, можно повторить и для графа Gi, выбирая другой (5-<)-разрез ij, зако- рачивая все ребра из Gi, пропускная способность которых не меньше наибольшей пропускной способности любого ребра из К2- Это дает граф и т. д. Процесс закончится, когда будут закорочены s и t. Теперь каждый (5-<)-путь в графе G, образованный вершинами из G и теми ребрами, которые оказались закороченными, будет иметь максимально возможную пропускную способность Q. Ограничение на применимость данного алгоритма только к неориентированным графам вызвано именно процессом закорачивания , так как при этом неявно предполагается, что путь с пропускной способностью, не меньшей, чем существует между любыми вершинами (двумя или большим числом), заменяемыми в описанном процессе единственной вершиной, но такое предположение может не выполняться, если закорачиваемые ребра имеют ориентацию. ![]() Рис. 8.6а. Граф из примера 7.2.1. ![]() Рис. 8.66. Граф после первого стягивания. |
© 2025 Constanta-Kazan.ru
Тел: 8(843)265-47-53, 8(843)265-47-52, Факс: 8(843)211-02-95 |