Lines Matching full:flow

64 // Uses the well-known Ford-Fulkerson max flow method to find a maximum
65 // bipartite matching. Flow is considered to be from left to right.
70 // Neither the flow graph nor the residual flow graph are represented
74 // where the flow graph is empty, and the residual flow graph has the
81 // When the TryAugment() method adds a flow, it sets left_[l] = r for some
84 // flow graph.
85 // - The same three edges are removed from the residual flow graph.
87 // to the residual flow graph, which is a directional graph
88 // representing unused flow capacity.
90 // When the method augments a flow (moving left_[l] from some r1 to some
94 // It bears repeating that the flow graph and residual flow graph are
101 // of the flow or residual flow graphs. The following invariants are
135 // Searches the residual flow graph for a path from each left node to
136 // the sink in the residual flow graph, and if one is found, add flow
139 // node will have flow if that left node has any path to the sink
140 // whatsoever. Subsequent augmentations can only add flow to the
141 // network, and cannot take away that previous flow unit from the source.
142 // Since the source-to-left edge can only carry one flow unit (or,
145 // The flow is known to be possible or impossible by looking at the
169 // path is found, flow is added to the network by linking the left and
172 // flow was added to the network. The 'seen' vector elements correspond
176 // are accessible from at most one right node in the residual flow
193 // right_[irhs] == kUnused means that there is residual flow from
195 // flow path and return success.
197 // Otherwise there is residual flow to some ilhs. We push flow
201 // Add flow from left_[ilhs] to right_[irhs].
217 // there's a flow from element #3 to matcher #1. Such a flow would also