-
Notifications
You must be signed in to change notification settings - Fork 3
[Model] MaximumLeafSpanningTree #897
Description
Motivation
MAXIMUM LEAF SPANNING TREE (ND2) from Garey & Johnson, A2. Given a graph G, find a spanning tree that maximizes the number of leaves (degree-1 vertices). NP-hard even for regular degree-4 graphs and planar graphs with maximum degree 4. Dual to degree-constrained spanning tree problems. The non-leaf vertices of a maximum-leaf spanning tree form a minimum connected dominating set. Applications in network broadcast optimization where leaf nodes represent endpoints.
Definition
Name: MaximumLeafSpanningTree
Reference: Garey & Johnson, Computers and Intractability, A2 ND2
Mathematical definition:
INSTANCE: Graph G = (V, E).
OBJECTIVE: Find a spanning tree T for G that maximizes the number of leaves (vertices of degree 1).
Variables
- Count: m = |E| (one binary variable per edge)
- Per-variable domain: {0, 1}
- Meaning: Whether each edge is included in the spanning tree. The selected edges must form a spanning tree, and the objective is to maximize the number of degree-1 vertices in the tree.
Schema
Type name: MaximumLeafSpanningTree
Variants: graph: SimpleGraph
| Field | Type | Description |
|---|---|---|
graph |
SimpleGraph |
The input graph G = (V, E) |
Complexity
- Best known exact algorithm: O*(1.8966^n) by Fernau, Kneis, Kratsch, Langer, Liedloff, Raible, and Rossmanith (Theoretical Computer Science, vol. 412, pp. 6290–6302, 2011). NP-hard even for graphs that are regular of degree 4 or planar with maximum degree 4 (Garey and Johnson). Approximation: 2-approximation by Solis-Oba (ESA 1998). Connected graphs with minimum degree ≥ 3 have spanning trees with at least n/4 + 2 leaves.
- Special cases:
- Star graph K_{1,n-1}: always has n-1 leaves.
- Path graph P_n: every spanning tree is P_n itself, with 2 leaves.
Extra Remark
Full book text:
INSTANCE: Graph G = (V, E), positive integer K <= |V|.
QUESTION: Is there a spanning tree for G that has K or more leaves?
Reference: [Garey and Johnson, ----].
Comment: NP-complete even for graphs that are regular of degree 4 or planar and have maximum degree 4.
Note: The original G&J formulation is a decision problem with threshold K. We use the equivalent optimization formulation: maximize the number of leaves in a spanning tree.
How to solve
- It can be solved by (existing) bruteforce. (Enumerate all spanning trees of G; count degree-1 vertices in each; return the maximum.)
- It can be solved by reducing to integer programming. (ILP with binary edge variables for tree selection, binary vertex variables for leaf indicators, subtour elimination, degree-leaf linking constraints; maximize leaf count.) See companion issue [Rule] MaximumLeafSpanningTree to ILP #965.
- Other:
Reduction Rule Crossref
- [Rule] MaximumLeafSpanningTree to ILP #965 — [Rule] MaximumLeafSpanningTree to ILP (direct ILP formulation)
Example Instance
Input:
Graph G with V = {v0, v1, v2, v3, v4, v5} (n = 6) and 9 edges:
E = {(v0,v1), (v0,v2), (v0,v3), (v1,v4), (v2,v4), (v2,v5), (v3,v5), (v4,v5), (v1,v3)}
Optimal spanning tree T: edges {(v0,v1), (v0,v2), (v0,v3), (v2,v4), (v2,v5)}
- v0: degree 3 (connected to v1, v2, v3) — internal
- v1: degree 1 — leaf ✓
- v2: degree 3 (connected to v0, v4, v5) — internal
- v3: degree 1 — leaf ✓
- v4: degree 1 — leaf ✓
- v5: degree 1 — leaf ✓
This is a "double star" tree with hubs at v0 and v2. Leaves: {v1, v3, v4, v5} = 4 leaves.
Suboptimal tree T2: edges {(v0,v1), (v1,v4), (v4,v5), (v5,v2), (v2,v3)} — a path
- All internal vertices have degree 2; only endpoints v0 and v3 are leaves = 2 leaves.
Why 5 leaves is impossible: A spanning tree on 6 vertices has 5 edges. If 5 vertices were leaves (degree 1), the remaining vertex would need degree 5. But the maximum degree in G is 4 (at v0: edges to v1, v2, v3 only — degree 3). So at most 4 leaves are achievable.
Expected Outcome
Optimal value: Max(4) — the maximum number of leaves in any spanning tree is 4. The graph has 75 spanning trees with 3 distinct leaf counts: 30 trees with 2 leaves, 42 trees with 3 leaves, and 3 trees with 4 leaves.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status