Ford-Fulkersons アルゴリズムを Java で実装する方法を学ぼうとしていて、インターネットでヘルプを見つけましたが、このコード スニペットで行き詰まってしまいました
// update residual capacities of the edges and
// reverse edges along the path
for (v=t; v != s; v=parent[v])
{
u = parent[v];
rGraph[u][v] -= path_flow;
rGraph[v][u] += path_flow;
}
コメントのおかげでそれがどのように機能するかはある程度理解できますが、なぜそれが必要なのか完全にはわかりません。なんで引き算する必要があるの?
ソース: http://www.geeksforgeeks.org/ford-fulkerson-algorithm-for-maximum-flow-problem/