RedLord's blog

By RedLord, 10 years ago, In Russian

Здраствуйте.

Я нашел описание min cost max flow, где описан процесс выдачи потенциалов: http://rain.ifmo.ru/cat/view.php/vis/graph-flow-match/min-cost-max-flow-2009/algorithm

Там не доказывается, что выбор потенциалов описанных образом позволит избежать появления ребер отрицательного веса.

Пусть у нас такая остаточная сеть. Вершина 4 -исток. Вершина 5 — сток:

Найдем кратчайший путь веса 1 4->0->2->5 и протолкнем через него одну единицу потока. Получим такую остаточную сеть:

Найдем такой кратчайший по весу путь:

Он действительно кратчайший

4->1 вес: 0+0-0=0

1->2 вес: 1+0-1=0

2->0 вес: -1+1-0=0

0->3 вес: 1+0-0=1

3->5 вес:0+0-1=-1 (Ребро с отрицательным весом)

Т.к. появилось ребро отрицательного веса, гарантий, что Дейкстра сработает нет. Я неправильно понял описанный по ссылке алгоритм, или он неверен?

  • Vote: I like it
  • +14
  • Vote: I do not like it