Gomory–Hu tree
Encyclopedia
In combinatorial optimization
, the Gomory–Hu tree of an undirected graph with capacities is a weighted tree
that consists of edges representing all pairs minimum s-t cut in the graph. The Gomory–Hu tree can be constructed in | V | − 1 times minimum cut
computation.
Then T is said to be a Gomory–Hu tree of G if
where
Then it can be shown that the minimum s-t cut in G' is also a minimum s-t cut in G for any s, t ∈ X.
To show that for all (P, Q) ∈ ET, w(P,Q) = λpq for some p ∈ P, q ∈ Q throughout the algorithm, one makes use of the following Lemma,
The Lemma can be used again repeatedly to show that the output T satisfies the properties of a Gomory–Hu Tree.
and T. C. Hu in 1961.
Combinatorial optimization
In applied mathematics and theoretical computer science, combinatorial optimization is a topic that consists of finding an optimal object from a finite set of objects. In many such problems, exhaustive search is not feasible...
, the Gomory–Hu tree of an undirected graph with capacities is a weighted tree
Tree (graph theory)
In mathematics, more specifically graph theory, a tree is an undirected graph in which any two vertices are connected by exactly one simple path. In other words, any connected graph without cycles is a tree...
that consists of edges representing all pairs minimum s-t cut in the graph. The Gomory–Hu tree can be constructed in | V | − 1 times minimum cut
Minimum cut
In graph theory, a minimum cut of a graph is a cut whose cutset has the smallest number of elements or smallest sum of weights possible...
computation.
Definition
Let G = ((VG, EG), c) be an undirected graph with c(u,v) being the capacity of the edge (u,v) respectively.- Denote the minimum capacity of an s-t cut by λst for each s, t ∈ VG.
- Let T = (VT,ET) be a tree with VT = VG, denote the set of edges in an s-t path by Pst for each s,t ∈ VT.
Then T is said to be a Gomory–Hu tree of G if
- λst = mine∈Pst c(Se, Te) for all s, t ∈ VG,
where
- Se and Te are the two connected components of T∖{e} in the sense that (Se, Te) form a s-t cut in G, and
- c(Se, Te) is the capacity of the cut in G.
Algorithm
Gomory–Hu Algorithm- Input: A weighted undirected graph G = ((VG, EG), c).
- Output: A Gomory–Hu Tree T = (VT, ET).
- 1. Set VT = {VG} and ET = ∅.
- 2. Choose some X∈VT with | X | ≥ 2 if such X exists. Otherwise, go to step 6.
- 3. For each connected component C = (VC, EC) in T∖X. Let SC = ∪vT∈VC vT. Let S = { SC | C is a connected component in T∖X}.
- Contract the components to form G
' = ((VG' , EG' ), c' ), where- VG
' = X ∪ S. - EG
' = EG|X×X ∪ {(u, SC) ∈ X×S | (u,v)∈EG for some v∈SC}. - c
' : VG' ×VG' →R+ is the capacity function defined as,- if (u,SC)∈EG|X×S, c
' (u,SC) = Σv∈SC:(u,v)∈EGc(u,v), - c
' (u,v) = c(u,v) otherwise.
- if (u,SC)∈EG|X×S, c
- VG
- 4. Choose two vertices s, t ∈ X and find a minimum s-t cut (A
' ,B' ) in G' . - Set A = (∪SC∈A
' ∩S SC) ∪ (A' ∩ X) and B = (∪SC∈B' ∩S SC) ∪ (B' ∩ X). - 5. Set VT = (VT∖X) ∪ {A ∩ X, B ∩ X}.
- For each e = (X, Y) ∈ ET do
- If Y⊂A, set e
' = (A ∩ X, Y), else set e' = (B ∩ X, Y). - Set ET = (ET∖{e}) ∪ {e
' } and w(e' ) = w(e).
- If Y⊂A, set e
- Set ET = ET ∪ {(A∩X, B∩X)}.
- Set w((A∩X, B∩X)) = c
' (A' , B' ). - Go to step 2.
- 6. Replace each {v} ∈ VT by v and each ({u},{v}) ∈ ET by (u,v). Output T.
Analysis
Using the submodular property of the capacity function c, one has- c(X) + c(Y) ≥ c(X ∩ Y) + c(X ∪ Y).
Then it can be shown that the minimum s-t cut in G
To show that for all (P, Q) ∈ ET, w(P,Q) = λpq for some p ∈ P, q ∈ Q throughout the algorithm, one makes use of the following Lemma,
- For any i, j, k in VG, λik ≥ min(λij, λjk).
The Lemma can be used again repeatedly to show that the output T satisfies the properties of a Gomory–Hu Tree.
Example
The following is a simulation of the Gomory–Hu's algorithm, where- green circles are vertices of T.
- red and blue circles are the vertices in G
' . - grey vertices are the chosen s and t.
- red and blue coloring represents the s-t cut.
- dashed edges are the s-t cut-set.
- A is the set of vertices circled in red and B is the set of vertices circled in blue.
G |
T | |
---|---|---|
|
||
1. | ||
|
||
2. | ||
align="left" colspan="2" |
|
||
6. |
|
|
|
||
Implementation
The Gusfield's algorithm can be used to find a Gomory–Hu tree without any vertex contraction in the same running time-complexity, which simplifies the implementation of constructing a Gomory–Hu Tree.History
The Gomory–Hu tree was introduced by R. E. GomoryRalph E. Gomory
Ralph Edward Gomory is an American applied mathematician and executive. Gomory worked at IBM as a researcher and later as an executive. During that time, his research led to the creation of new areas of applied mathematics....
and T. C. Hu in 1961.