Минимальный разрез/максимальный поток в ориентированном графе

У меня есть ориентированный граф

график

Во-первых, я использовал алгоритм Форда-Фалкерсона для увеличения потока в сети. Когда я отметил вершины, я увидел, что поток на пути: s->a->b->d->t можно увеличить на единицу, поэтому график изменился на:

график после использования FF

Я знаю, что при поиске максимального потока нужно сложить все пропускные способности ребер, соединяющих минимальный разрез и внешнюю часть графа. Мой минимальный разрез содержит вершины: s, a, c, поэтому, когда я сложил все ребра, я получил c(G, !G) = 3 + 2 +2 + 1, однако это намного больше, чем поток к t, который равен 5.

Что я делаю не так, я накосячил с FF или с минимальным вырезом?


person jabk    schedule 20.06.2015    source источник


Ответы (1)


Ваш минимальный разрез не s, a, c, а s, a, b, c. Его мощность 5, что является максимальным потоком, который вы рассчитали.

Минимальный разрез можно найти, используя определение остаточной сети. Напомним, что алгоритм Форда-Фалкерсона завершается, когда в остаточной сети нет путей между s и t.

Минимальный разрез (S,T) определяется как

S = { v | there exists a path from s to v in the residual network }

На вашем графике узел b достижим из c в остаточной сети из-за потока b->c с весом 3.

person dejvuth    schedule 20.06.2015
comment
Я с подозрением относился к краям, которые идут в неправильном направлении, но решил их проигнорировать.... Спасибо, приятель :) - person jabk; 20.06.2015