Skip to content

Gomory–Hu tree

A weighted tree representing every pairwise minimum-cut value of an undirected capacitated graph through the minimum edge on the corresponding tree path.

Version
v2 · 2026-09-19 · History
Domain-specific #
4751
Domain group
Formal Sciences
Origin domain
Operations Research
Subdomain
Combinatorial Optimization → Operations Research

Core Idea

A Gomory–Hu tree compresses all n choose 2 s–t minimum-cut values into n−1 weighted tree edges and associated graph cuts, constructed using only n−1 maximum-flow computations. Repeated minimum cuts partition vertex supernodes and update parent relations; each tree edge records one cut value, and the bottleneck edge on any tree path recovers the corresponding pairwise minimum. The abstraction is therefore identified by a declared carrier, a transformation or constraint over that carrier, and an invariant that tells an analyst whether the named structure is genuinely present.

How would you explain it like I'm…

The Weakest Branch Map

Imagine towns joined by pipes of different sizes. For any two towns, you could ask: what's the least amount of pipe I'd have to cut to stop water flowing between them? A Gomory–Hu tree is a simple map with no loops that answers that question for every pair of towns at once: just follow the path between them and find the weakest link.

All-Pairs Cut Tree

Picture a network of points joined by pipes, where each pipe has a size. For any two points, the minimum cut is the smallest total pipe size you'd have to block to separate them. With many points there are tons of pairs to check. A Gomory–Hu tree squeezes all those answers into a tree with one fewer line than there are points, and you can build it by solving only that many flow problems. To find the minimum cut between any two points, follow the one path in the tree between them and take its smallest number.

Min-Cut Bottleneck Tree

In an undirected graph with nonnegative edge capacities, the minimum s–t cut is the cheapest set of edges whose removal separates s from t. A graph with n vertices has n choose 2 such pairs. A Gomory–Hu tree is a weighted tree on the same n vertices, with n−1 edges, in which the minimum cut between any two vertices equals the smallest edge weight on the unique tree path joining them. Each tree edge also corresponds to an actual cut in the original graph. Remarkably, it can be built with only n−1 maximum-flow computations instead of one per pair. It is built by repeatedly splitting groups of vertices with minimum cuts and recording each cut value on a tree edge.

 

A Gomory–Hu tree for an undirected graph with nonnegative edge capacities is a weighted tree on the same vertex set that encodes every pairwise minimum cut. Its defining property: for every pair s, t, the minimum s–t cut value equals the minimum edge weight on the unique s–t path in the tree. Each tree edge also corresponds to an actual cut in the graph, the two sides obtained by removing that edge, with capacity equal to its weight. Thus all n choose 2 minimum-cut values are compressed into n−1 weighted edges. The standard construction uses only n−1 max-flow (min-cut) computations: it repeatedly picks two vertices in a current supernode, computes a minimum cut between them, splits the supernode accordingly and updates parent relationships. The guarantees require an undirected graph with declared nonnegative capacities; they do not carry over to directed graphs in general. Tree edges are bookkeeping of cuts, not necessarily edges of the original graph.

Scope of Application

Gomory–Hu tree belongs to combinatorial optimization and is useful where the analyst can specify the typed combinatorial optimization carrier, defining objects and relations, parameters, conventions, evidence, boundary cases, and comparison targets, then evaluate the input graph is undirected with declared nonnegative capacities, the tree has the same vertices, and every vertex pair's minimum cut equals the least edge weight on its unique tree path. The scope is broad within that domain but bounded by the need for the input graph is undirected with declared nonnegative capacities, the tree has the same vertices, and every vertex pair's minimum cut equals the least edge weight on its unique tree path.

Clarity

The abstraction clarifies a crowded vocabulary by making the input graph is undirected with declared nonnegative capacities, the tree has the same vertices, and every vertex pair's minimum cut equals the least edge weight on its unique tree path the center of the account. A claim should name the carrier, the governing operation or relation, the applicable assumptions, and the recognition test.

Manages Complexity

Without the abstraction, an analyst must reason directly over many local details: the carrier roles, admissibility assumptions, competing conventions, derived invariants, boundary cases, and proof or validation obligations specific to Gomory–Hu tree. Gomory–Hu tree compresses them into the roles in the structural signature. That compression permits comparison across instances without erasing the variables that determine validity. It also exposes which details may be varied safely and which are constitutive.

Abstract Reasoning

  1. Identify the carrier. State what the elements, states, objects, or observations are: the typed combinatorial optimization carrier, defining objects and relations, parameters, conventions, evidence, boundary cases, and comparison targets. Reject examples whose alleged carrier belongs to a different problem.
  2. Lock the constitutive rule. Express the input graph is undirected with declared nonnegative capacities, the tree has the same vertices, and every vertex pair's minimum cut equals the least edge weight on its unique tree path independently of one notation or implementation.

Knowledge Transfer

Knowledge transfers strongly among subfields of combinatorial optimization because they reuse the typed combinatorial optimization carrier, defining objects and relations, parameters, conventions, evidence, boundary cases, and comparison targets, Repeated minimum cuts partition vertex supernodes and update parent relations; each tree edge records one cut value, and the bottleneck edge on any tree path recovers the corresponding pairwise minimum., and type the carrier, state every parameter and convention in the definition, test that the input graph is undirected with declared nonnegative capacities, the tree has the same vertices, and every vertex pair's minimum cut equals the least edge weight on its unique tree path, compare the nearest accepted identity, and report counterexamples, uncertainty, and limiting cases.

Relationships to Other Abstractions

Local relationship map for Gomory–Hu treeParents appear above the current abstraction, mutual partners to the right, and children below. Node labels state whether each abstraction is prime or domain-specific; colors identify relation types.Gomory–Hu treeDOMAINPrime abstraction: Compression — is a kind ofCompressionPRIME

Current abstraction Gomory–Hu tree Domain-specific

Parents (1) — outgoing typed relations

  • Gomory–Hu tree is a kind of Compression Prime

    What makes it its own entry: the domain-specific identity determined by the input graph is undirected with declared nonnegative capacities, the tree has the same vertices, and every vertex pair's minimum cut equals the least edge weight on its unique tree path.

Hierarchy paths (3) — routes to 3 parentless roots

Neighborhood in Abstraction Space

Gomory–Hu tree sits in a crowded region of the domain-specific corpus (8th percentile for distinctiveness): several abstractions share nearly its structure, so a description that fits it tends to fit its neighbors too.

Family — Combinatorial Optimization on Graphs (16 abstractions)

Nearest neighbors

Computed from structural-signature embeddings · 2026-10-25