Skip to content

[Rule] HAMILTONIAN CIRCUIT to BICONNECTIVITY AUGMENTATION #252

@isPANN

Description

@isPANN

name: Rule
about: Propose a new reduction rule
title: "[Rule] HAMILTONIAN CIRCUIT to BICONNECTIVITY AUGMENTATION"
labels: rule
assignees: ''
canonical_source_name: 'HAMILTONIAN CIRCUIT'
canonical_target_name: 'BICONNECTIVITY AUGMENTATION'
source_in_codebase: false
target_in_codebase: false

Source: HAMILTONIAN CIRCUIT
Target: BICONNECTIVITY AUGMENTATION
Motivation: Establishes NP-completeness of the weighted BICONNECTIVITY AUGMENTATION problem via polynomial-time reduction from HAMILTONIAN CIRCUIT. The key insight of Eswaran and Tarjan (1976) is that finding a Hamiltonian cycle in a graph G is equivalent to finding a minimum-weight set of edges (from the complete graph on V with appropriate weights) that makes the edgeless graph biconnected, where edges of G have weight 1 and non-edges have weight 2.

Reference: Garey & Johnson, Computers and Intractability, ND18, p.210

GJ Source Entry

[ND18] BICONNECTIVITY AUGMENTATION
INSTANCE: Graph G=(V,E), weight w({u,v}) in Z^+ for each unordered pair {u,v} of vertices from V, positive integer B.
QUESTION: Is there a set E' of unordered pairs of vertices from V such that sum_{e in E'} w(e) <= B and such that the graph G'=(V,E union E') is biconnected, i.e., cannot be disconnected by removing a single vertex?
Reference: [Eswaran and Tarjan, 1976]. Transformation from HAMILTONIAN CIRCUIT.
Comment: The related problem in which G' must be bridge-connected, i.e., cannot be disconnected by removing a single edge, is also NP-complete. Both problems remain NP-complete if all weights are either 1 or 2 and E is empty. Both can be solved in polynomial time if all weights are equal.

Reduction Algorithm

Summary:
Given a HamiltonianCircuit instance G = (V, E) with n = |V| vertices, construct a BiconnectivityAugmentation instance (G_empty, w, B) as follows:

  1. Initial graph: Start with the edgeless graph G_empty = (V, empty set). The initial graph has no edges at all.

  2. Weight function: For each unordered pair {u, v} of vertices from V, define the weight:

    • w({u, v}) = 1 if {u, v} in E (the edge exists in the original graph G)
    • w({u, v}) = 2 if {u, v} not in E (the edge does not exist in G)
  3. Budget parameter: Set B = n (the number of vertices).

  4. Correctness (forward direction): If G has a Hamiltonian circuit C visiting all n vertices, then E' = C (the set of n edges forming the circuit) makes G_empty union E' = C, which is a cycle on all n vertices. A cycle on n >= 3 vertices is biconnected (removing any single vertex leaves a path, which is connected). The total weight of E' is n * 1 = n = B since all edges of C are edges of G (weight 1 each).

  5. Correctness (reverse direction): If there exists E' with sum(w(e)) <= B = n such that (V, E') is biconnected, then:

    • A biconnected graph on n vertices requires at least n edges.
    • Since each edge has weight >= 1 and the budget is n, E' has exactly n edges each of weight 1.
    • All edges in E' must be edges of G (since non-edges have weight 2, and using even one would require total weight >= n + 1 > B).
    • A biconnected graph on n vertices with exactly n edges is a Hamiltonian cycle.
    • Therefore E' is a Hamiltonian circuit of G.
  6. Solution extraction: The set E' of added edges IS the Hamiltonian circuit of G.

Key insight: A biconnected graph on n vertices with exactly n edges must be a single cycle visiting all vertices (a Hamiltonian cycle). This is because a biconnected graph is 2-connected, and the only 2-connected graph with exactly n edges on n vertices is a cycle.

Size Overhead

Symbols:

  • n = num_vertices of source HamiltonianCircuit instance (|V|)
  • m = num_edges of source HamiltonianCircuit instance (|E|)
Target metric (code name) Polynomial (using symbols above)
num_vertices num_vertices
num_edges (initial) 0
num_potential_edges num_vertices * (num_vertices - 1) / 2

Derivation:

  • Vertices: same vertex set, no changes -> n
  • Initial edges: 0 (edgeless graph)
  • Potential edges (complete graph): n(n-1)/2 pairs, each with weight 1 or 2
  • Budget: B = n

Validation Method

  • Closed-loop test: reduce a HamiltonianCircuit instance G to BiconnectivityAugmentation (G_empty, w, B=n), solve target with BruteForce (enumerate subsets of edges with total weight <= n, check biconnectivity), extract Hamiltonian circuit from the solution edges, verify it visits all vertices exactly once
  • Test with a graph known to have a Hamiltonian circuit (e.g., complete graph K_n, cycle graph C_n) and verify the augmentation solution uses exactly n weight-1 edges
  • Test with a graph known to NOT have a Hamiltonian circuit (e.g., Petersen graph for n=10 with modifications) and verify no valid augmentation exists within budget n
  • Verify that any solution set E' with weight n forms a cycle on all n vertices

Example

Source instance (HamiltonianCircuit):
Graph G with 6 vertices {0, 1, 2, 3, 4, 5} and 9 edges:

  • Edges: {0,1}, {1,2}, {2,3}, {3,4}, {4,5}, {5,0}, {0,3}, {1,4}, {2,5}
  • (Prism graph / triangular prism)
  • Known Hamiltonian circuit: 0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 0

Constructed target instance (BiconnectivityAugmentation):

Initial graph: edgeless on vertices {0, 1, 2, 3, 4, 5} (no edges).

Weight function for all 15 unordered pairs:

  • Weight 1 (edges of G): {0,1}, {1,2}, {2,3}, {3,4}, {4,5}, {5,0}, {0,3}, {1,4}, {2,5}
  • Weight 2 (non-edges of G): {0,2}, {0,4}, {1,3}, {1,5}, {2,4}, {3,5}

Budget: B = 6

Solution mapping:

  • Choose E' = {{0,1}, {1,2}, {2,3}, {3,4}, {4,5}, {5,0}} (the Hamiltonian circuit edges)
  • Total weight = 6 * 1 = 6 = B
  • Graph (V, E') forms the cycle 0-1-2-3-4-5-0 which is biconnected (removing any one vertex leaves a path on 5 vertices, which is connected)
  • Extracted Hamiltonian circuit: 0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 0

Verification that no cheaper solution exists:

  • A biconnected graph on 6 vertices needs >= 6 edges
  • Each edge costs >= 1, so minimum cost >= 6 = B
  • Any solution with cost 6 must use exactly 6 edges, each of weight 1 (from G)
  • The only biconnected graph with 6 vertices and 6 edges is a 6-cycle = Hamiltonian circuit

References

  • [Eswaran and Tarjan, 1976]: [Eswaran and Tarjan1976] K. P. Eswaran and R. E. Tarjan (1976). "Augmentation problems". SIAM Journal on Computing 5, pp. 653-665.

Metadata

Metadata

Assignees

No one assigned

    Labels

    GoodAn issue passed all checks.ruleA new reduction rule to be added.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions