Ответ 1
1 неверно, потому что если нам удастся уменьшить дуги в топологическом порядке кратчайшего дерева путей, то мы сходимся на одной итерации, несмотря на то, что кратчайшее дерево путей может быть сколь угодно глубоким.
s --> t --> u --> v
Relax s->t, t->u, u->v; shortest path from s->v is three hops,
but B--F has made two iterations.
Если мы выполняем релаксацию одновременно (т.е. всегда используем значения из раунда r-1 в раунде r, даже если round r обновил их), то 1 действительно является правильным, по индукции (глубина самого кратчайшего пути дерева начинается с нуля и растет не более чем в каждом раунде, который не является последним).
2 неверно, потому что кто знает, что такое веса?
100
s --> t
Relax s->t; weight is 100, but B--F has made two iterations.
3 правильно, потому что по аргументу осреднения, по крайней мере, одна дуга отрицательного цикла была бы нерелаксирована. Пусть v1, ..., vn
- цикл. Поскольку дуги ослаблены, имеем d(vi) + len(vi->vi+1) - d(vi+1) >= 0
. Суммируем неравенства для всех i
и телескопим термины d
, чтобы упростить до sum_i len(vi->vi+1) >= 0
, в котором говорится, что цикл неотрицателен.