Minimum cuts between two vertices of a weighted multigraph #
For a weighted multigraph W : V → V → ℕ (Cslib.WeightedCut.IsMultigraph) and vertices s and
t, the minimum s–t cut weight λ(s, t) = Cslib.WeightedCut.minCutBetween W s t is the least
weight cutWeight W X of a vertex set X containing s and missing t (and 0 when s = t).
By max-flow min-cut it is the value of a maximum s–t flow; see
CslibFrontier.Algorithms.Lean.GomoryHu.WeightedCut.
The cut function X ↦ cutWeight W X is submodular, and posimodular for a multigraph (symmetric
W). The values λ satisfy the ultrametric triangle inequality
λ(u, w) ≥ min (λ(u, v)) (λ(v, w)), the basic fact behind Gomory–Hu trees ([GH61];
[Sch03], Section 15.4).
Main definitions #
Cslib.WeightedCut.minCutBetween: the minimums–tcut weightλ(s, t).
Main results #
Cslib.WeightedCut.exists_cutWeight_eq_minCutBetween: fors ≠ t, some set containingsand missingthas weightλ(s, t).Cslib.WeightedCut.le_minCutBetween_iff: fors ≠ t,m ≤ λ(s, t)exactly when every set containingsand missingtweighs at leastm.Cslib.WeightedCut.minCutBetween_comm:λ(s, t) = λ(t, s)for a multigraph.Cslib.WeightedCut.cutWeight_union_add_cutWeight_inter_le_of_nonneg: submodularity of the cut function of non-negative weights in an ordered additive monoid (ℕ,ℝ, ...), and itsℕcaseCslib.WeightedCut.cutWeight_union_add_cutWeight_inter_le.Cslib.WeightedCut.cutWeight_sdiff_add_cutWeight_sdiff_le_of_symm: posimodularity of the cut function of symmetric non-negative weights, and its multigraph caseCslib.WeightedCut.cutWeight_sdiff_add_cutWeight_sdiff_le.Cslib.WeightedCut.min_le_minCutBetween: the triangle inequalitymin (λ(u, v)) (λ(v, w)) ≤ λ(u, w).
References #
For symmetric weights, the complement Xᶜ of a cut weighs as much as X.
The cut function of non-negative weights is submodular:
w(δ(A ∪ B)) + w(δ(A ∩ B)) ≤ w(δ(A)) + w(δ(B)). Symmetry of W is not needed.
The cut function of symmetric non-negative weights is posimodular:
w(δ(A \ B)) + w(δ(B \ A)) ≤ w(δ(A)) + w(δ(B)).
The weight of the complement Xᶜ of a cut of a multigraph is the weight of X.
The cut function is submodular: w(δ(A ∪ B)) + w(δ(A ∩ B)) ≤ w(δ(A)) + w(δ(B)). Symmetry of
W is not needed.
The cut function of a multigraph is posimodular:
w(δ(A \ B)) + w(δ(B \ A)) ≤ w(δ(A)) + w(δ(B)).
The minimum s–t cut weight λ(s, t) of a weighted multigraph W: the least weight of a
vertex set containing s and missing t, and 0 when s = t.
Instances For
For distinct s and t, the minimum s–t cut weight is attained.
A set containing s and missing t is a minimum s–t cut exactly when its weight is at
most that of every such set.
The minimum cut weight between two vertices of a multigraph is symmetric.
Triangle inequality for minimum cuts ([GH61]): for distinct u and w and any
v, min (λ(u, v)) (λ(v, w)) ≤ λ(u, w). A minimum u–w cut separates v from u or from
w. Symmetry of W is not needed.
Among the three values λ(u, v), λ(v, w), λ(u, w) of a multigraph, the minimum is
attained at least twice: if λ(u, v) < λ(v, w) then λ(u, w) = λ(u, v).