Acyclic assignments and acyclic flows #
An arrow assignment is acyclic when no directed cycle traverses only arrows of positive value.
Cancelling such cycles one at a time, each by its least arrow value, turns every nonnegative
assignment on a finite arrow family into an acyclic one that is arrowwise no larger and has the
same excess at every vertex. For an ordinary s–t flow this gives an acyclic flow of the same
value. A nonnegative acyclic assignment vanishes on every loop and on at least one arrow of every
pair of opposite arrows. The path–cycle decomposition of an acyclic assignment has no cycles, so
an acyclic ordinary flow carries at most its value on every arrow.
Acyclicity is stronger than having a decomposition without cycles: unit flows along
s → a → b → t and s → b → a → t add up to a flow that these two paths decompose, but whose
arrows of positive value contain the cycle a → b → a.
Main results #
TauCeti.Assignment.IsAcyclic.apply_eq_zero_or_apply_eq_zeroandTauCeti.Assignment.IsAcyclic.apply_eq_zero_of_loop: a nonnegative acyclic assignment vanishes on one of any two opposite arrows, and on every loop.TauCeti.exists_isAcyclic_le: cycle cancelling. Below every nonnegative assignment lies an acyclic nonnegative assignment with the same excess at every vertex, whose values lie in any additive subgroup containing the values of the original assignment.TauCeti.Flow.exists_isAcyclic_memandTauCeti.Flow.exists_isAcyclic: below every ordinary flow lies an acyclic flow of the same value.TauCeti.SetFlow.exists_isAcyclic: below every set-to-set flow lies an acyclic flow of the same value.TauCeti.PathCycleDecomposition.cycles_eq_nil_of_isAcyclic: a path–cycle decomposition of an acyclic assignment has no cycles.TauCeti.Flow.toFun_le_val_of_isAcyclic: an acyclic ordinary flow carries at most its value on every arrow.
References #
- L. R. Ford, D. R. Fulkerson, Flows in Networks, Princeton University Press, 1962.
- R. K. Ahuja, T. L. Magnanti, J. B. Orlin, Network Flows: Theory, Algorithms, and Applications, Prentice Hall, 1993, Section 3.5.
A nonnegative acyclic assignment vanishes on one of any two opposite arrows.
A nonnegative acyclic assignment vanishes on every loop.
Cycle cancelling #
Cycle cancelling. Below every nonnegative arrow assignment f on a finite arrow family
lies an acyclic nonnegative assignment with the same excess as f at every vertex. If the values
of f lie in an additive subgroup H, then so do those of the acyclic assignment.
Acyclic flows. Every ordinary s–t flow f has an acyclic ordinary s–t flow of the
same value that is arrowwise at most f. If the values of f lie in an additive subgroup H,
then so do those of the acyclic flow.
Acyclic flows. Every ordinary s–t flow f has an acyclic ordinary s–t flow of the
same value that is arrowwise at most f.
Acyclic set-to-set flows. Every A–B flow f has an acyclic A–B flow of the
same value that is arrowwise at most f.
Decompositions of acyclic assignments #
A path–cycle decomposition of an acyclic assignment has no cycles.
The paths of a path–cycle decomposition of an acyclic assignment add up to the assignment.
An acyclic ordinary s–t flow carries at most its value on every arrow.