Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[183]

Сформулируйте задачу о максимальном потоке как задачу линейного программирования. 27.1-9

Рассмотрим сеть с несколькими веществами (multicommodity flow network) в которой имеются потоки р веществ, для каждого из которых есть свой исток и свой сток. Для каждого вещества есть свой закон сохранения потока, а пропускная способность одна на всех (сумма потоков всех веществ из и в v не должна превышать c(u,v). Для каждого вещества имеется своя величина потока; складывая эти величины, получим суммарную величину (total flow value) потока. Докажите, что поток максимальной суммарной величины можно найти за полиномиальное время, представив эту задачу как задачу линейного программирования. (Любая задача линейного программирования разрешима за полиномиальное время: этот факт мы упоминали в разделе 25.5.)

27.2. Метод Форда-Фалкерсона

В этом разделе мы рассмотрим метод Форда-Фалкерсона отыскания максимального потока. Мы говорим о методе, а не об алгоритме, поскольку есть несколько алгоритмов, его реализующих и отличающихся временем работы. Одна из таких реализаций приведена в конце раздела. Ключевую роль в методе Фода-Фалкерсона играют три понятия: остаточные сети, дополняющие пути и разрезы. Основная теорема - теорема 27.7 о максимальном потоке и минимальном разрезе.

Поиск максимального потока методом Форда-Фалкерсона проводится последовательно. Вначале поток нулевой (и величина его равна нулю). На каждом шаге мы увеличиваем значение потока. Для этого мы находим «дополняющий путь», по которому можно пропустить ещё немного вещества, и используем его для увеличения потока. Этот шаг повторяется, пока есть дополняющие пути. Как покажет теорема о максимальном потоке и минимальном разрезе, полученный поток будет максимальным. Запишем этот план с помощью псевдокода:

Ford-Fulkerson-Method($G,s,t$)

1положить поток $f$ равным $0$

2while (пока) существует дополняющий путь $р$

3do дополнить $f$ вдоль $р$

4return $f$


Остаточные сети

Пусть дана сеть и поток в ней. Неформально говоря, остаточная сеть состоит из тех рёбер, поток по которым можно увеличить. Строгое определение таково: пусть G = (V, Е) - сеть с истоком s и стоком t. Пусть / - поток в этой сети. Для любой пары вершин и и v. рассмотрим остаточную пропускную способность (residual capacity) из и в v, определяемую как

Она определяет, сколько ещё потока можно направить из и в v. Например, если c(u,v) = 16, a f(u,v) = 11 то мы можем переслать ещё Cf(u,v) = 5 единиц по ребру (и, v). Остаточная пропускная способность Cf (и, v) может превосходить с(и, v), если в данный момент поток f(u, v) отрицателен. Например, если с(и, v) = 16, а f[u,v) = -4, то Cf(u,v) = 20. В самом деле, мы можем увеличить поток на 4, отменив встречный поток, и ещё отправить 16 единиц, не превышая пропускной способности ребра (и, v).

назовём остаточной сетью (residual network) сети G, порождённой потоком /. Её рёбра, называемые остаточными рёбрами (residual edges) допускают положительный поток. На рис. 27.4 (а) изображен поток / в сети G (взятый с рис. 27.1 (Ь)), а на рис. 27.4 (Ь) изображена остаточная сеть Gf.

Заметим, что остаточное ребро (и, v) не обязано быть ребром сети G. Иными словами, может оказаться, что Ef <2 Е. Рёбер (v\, s) и 2,г>з) на рис. 27.4 (Ь) не было в исходной сети. Такое ребро из и в v появляется, когда f(u, v) < 0, то есть когда имеется имеется поток вещества в обратном направлении (по ребру (v,u)) - ведь этот поток можно уменьшить. Таким образом, если ребро (и, v) принадлежит остаточной сети, то хотя бы одно из рёбер (и, v) и (v, и) было в исходной сети. Получаем оценку

Остаточная сеть Gf является сетью с пропускными способностями Cf. Следующая лемма показывает, как соотносятся потоки в исходной и в остаточной сетях.

Лемма 27.2

Пусть G = (V, Е) - сеть с истоком s и стоком t, а / - поток в ней. Пусть Gf - остаточная сеть сети G, порождённая потоком /. Пусть / - поток в Gf. Тогда сумма / + /, определенная как в (27.4), является потоком в сети G величины / + f\ = / + /.

Доказательство

(27.5)

Сеть Gf = (V, Ef, где

Ef = {(и, v) е V X V : Cf(u, v) > 0}

Ef\<:2\E\.


Сначала докажем, что / + / будет потоком. Проверим кососимметричность. Для всех и, v £ V выполнено

(f + f)(u,v) = f(u,v) + f(u,v) = = -f(v,u) - f(v,u) = = -(f(v,u) + f(v,u)) = = -(f + f)(v,u).

Проверим условие, связанное с ограниченной пропускной способностью. Заметим, что f(u,v) Cf(u,v) для всех и, v £ V, поэтому

(f + f)(u,v) = f(u,v)+f(u,v) f(u,v) + (c(u,v)-f(u,v)) = c(u,v).

Проверим закон сохранения потока. Для всех и £ V \ {s,t} выполнено равенство (/+ f)(u,V) = f(u,V) + f(u,V) = f(u,V) + f(u, V) =0 + 0 = 0.

Наконец, найдём величину суммарного потока: / + f\ = (/ + f)(s,V) = f(s,V) + f(s,V) = \f\ + \f\.

Дополняющие пути

Пусть / - поток в сети G = (V,E). Назовём дополняющим путём (augmenting path) простой путь из истока s в сток t в остаточной сети Gf. Из определения остаточной сети вытекает, что по всем ребрам (и, v) дополняющего пути можно переслать ещё сколько-то вещества, не превысив пропускную способность ребра.

На рис. 27.4 (Ь) дополняющий путь выделен серым цветом. По нему можно отправить еще 4 единицы потока, так как наименьшая остаточная пропускная способность рёбер этого пути равна c(v2,v3) = 4. Величину наибольшего потока, который можно переслать по дополняющему пути р, назовём остаточной пропускной способностью (residual capacity) пути р:

Cf(p) = mm{cf(u, v) : (и, v) £ р}

Сказанное уточняется в следующей лемме (доказательство мы оставляем читателю в качестве упр. 27.2-3). Лемма 27.3

Пусть / - поток в сети G = (V, Е) и р - дополняющий путь в Gf. Определим функцию fp : V X V -> М. так:

fP(u,v) =

Тогда fp - поток в сети Gf и \fp\ = Cf(p) > 0.

Cf(p), если (и,v) £ р

Cf(p)1 если (и, и) £ р(27.6)

0 в остальных случаях.



[стр.Начало] [стр.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] [стр.142] [стр.143] [стр.144] [стр.145] [стр.146] [стр.147] [стр.148] [стр.149] [стр.150] [стр.151] [стр.152] [стр.153] [стр.154] [стр.155] [стр.156] [стр.157] [стр.158] [стр.159] [стр.160] [стр.161] [стр.162] [стр.163] [стр.164] [стр.165] [стр.166] [стр.167] [стр.168] [стр.169] [стр.170] [стр.171] [стр.172] [стр.173] [стр.174] [стр.175] [стр.176] [стр.177] [стр.178] [стр.179] [стр.180] [стр.181] [стр.182] [стр.183] [стр.184] [стр.185] [стр.186] [стр.187] [стр.188] [стр.189] [стр.190] [стр.191] [стр.192] [стр.193] [стр.194] [стр.195] [стр.196] [стр.197] [стр.198] [стр.199] [стр.200] [стр.201] [стр.202] [стр.203] [стр.204] [стр.205] [стр.206] [стр.207] [стр.208] [стр.209] [стр.210] [стр.211] [стр.212] [стр.213] [стр.214] [стр.215] [стр.216] [стр.217] [стр.218] [стр.219] [стр.220] [стр.221] [стр.222] [стр.223] [стр.224] [стр.225] [стр.226] [стр.227] [стр.228] [стр.229] [стр.230] [стр.231] [стр.232] [стр.233] [стр.234] [стр.235] [стр.236] [стр.237] [стр.238] [стр.239] [стр.240] [стр.241] [стр.242] [стр.243] [стр.244] [стр.245] [стр.246] [стр.247] [стр.248] [стр.249] [стр.250] [стр.251] [стр.252] [стр.253] [стр.254] [стр.255] [стр.256] [стр.257] [стр.258] [стр.259] [стр.260] [стр.261] [стр.262] [стр.263] [стр.264] [стр.265] [стр.266] [стр.267] [стр.268] [стр.269] [стр.270] [стр.271] [стр.272] [стр.273] [стр.274] [стр.275] [стр.276] [стр.277] [стр.278] [стр.279] [стр.280] [стр.281] [стр.282] [стр.283] [стр.284] [стр.285] [стр.286] [стр.287] [стр.288] [стр.289] [стр.290] [стр.291] [стр.292] [стр.293] [стр.294]