Я изучаю анализ алгоритмов. В настоящее время я читаю об алгоритмах Network Flow
. Я рассматриваю применение Network Flow
алгоритмов для поиска bipartite matchings
минимальной стоимости.
- Пусть
G
с соответствующим потоком сетиG'
- Пусть
M
будетperfect matching
вG
- Пусть
G<sub>M</sub>
будетresidual graph
, связанным с этим соответствием
Из Проектирования алгоритмов 7.13 на странице 406 Джона Клейнберга и Евы Тардос,
Theorem 7.62
заявляет:
(7.62) Пусть M - совершенное паросочетание. Если в G M есть цикл C с направленной отрицательной стоимостью, то M не является минимальной стоимостью
Однако эта теорема имеет смысл, я не понимаю, как bipartite flow network's
residual graph
из perfect matching
может на самом деле содержать цикл. Единственный способ увидеть цикл - это задействовать sink
или source
.
Однако в perfect matching
source
не будет содержать ребер, выходящих из него, а sink
не будет содержать ребер, входящих в него. Кроме того, цикл, происходящий во внутренних узлах, может противоречить определению Bipartite graph
.
Может ли кто-нибудь привести пример такого цикла в остаточном графе?