Skip to content

[Rule] HAMILTONIAN CIRCUIT to STRONG CONNECTIVITY AUGMENTATION #254

@isPANN

Description

@isPANN

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

Source: HAMILTONIAN CIRCUIT
Target: STRONG CONNECTIVITY AUGMENTATION
Motivation: Establishes NP-completeness of the weighted STRONG CONNECTIVITY AUGMENTATION problem via polynomial-time reduction from HAMILTONIAN CIRCUIT. The key insight of Eswaran and Tarjan (1976) is analogous to the biconnectivity reduction: finding a Hamiltonian cycle in an undirected graph G is equivalent to finding a minimum-weight set of directed arcs that makes the arc-less digraph strongly connected, where arcs corresponding to edges of G have weight 1 and other arcs have weight 2.

Reference: Garey & Johnson, Computers and Intractability, ND19, p.211

GJ Source Entry

[ND19] STRONG CONNECTIVITY AUGMENTATION
INSTANCE: Directed graph G=(V,A), weight w(u,v) in Z^+ for each ordered pair (u,v) in V x V, positive integer B.
QUESTION: Is there a set A' of ordered pairs of vertices from V such that sum_{a in A'} w(a) <= B and such that the graph G'=(V,A union A') is strongly connected?
Reference: [Eswaran and Tarjan, 1976]. Transformation from HAMILTONIAN CIRCUIT.
Comment: Remains NP-complete if all weights are either 1 or 2 and A is empty. 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 (undirected), construct a StrongConnectivityAugmentation instance (G_empty, w, B) as follows:

  1. Initial digraph: Start with the arc-less directed graph G_empty = (V, empty set). No arcs at all.

  2. Weight function: For each ordered pair (u, v) of distinct vertices from V, define the weight:

    • w(u, v) = 1 if {u, v} in E (the undirected edge exists in G)
    • w(u, v) = 2 if {u, v} not in E (the undirected edge does not exist in G)

    Note: both (u, v) and (v, u) get the same weight since the original graph is undirected.

  3. Budget parameter: Set B = n (the number of vertices).

  4. Correctness (forward direction): If G has a Hamiltonian circuit C = v_1 -> v_2 -> ... -> v_n -> v_1, orient it as a directed cycle: arcs (v_1, v_2), (v_2, v_3), ..., (v_n, v_1). This gives n directed arcs. The resulting digraph is a directed cycle on all n vertices, which is strongly connected. Each arc corresponds to an edge of G, so each has weight 1. Total weight = n = B.

  5. Correctness (reverse direction): If there exists A' with sum(w(a)) <= B = n such that (V, A') is strongly connected, then:

    • A strongly connected digraph on n vertices requires at least n arcs.
    • Each arc has weight >= 1, so with budget n, there are exactly n arcs each of weight 1.
    • All arcs in A' correspond to edges of G (non-edges have weight 2).
    • A strongly connected digraph on n vertices with exactly n arcs must be a directed Hamiltonian cycle (a single directed cycle visiting every vertex exactly once).
    • The underlying undirected edges of A' form a Hamiltonian circuit of G.
  6. Solution extraction: Take the set of arcs A', ignore orientations to get undirected edges. These edges form a Hamiltonian circuit of G.

Key insight: A strongly connected digraph on n vertices with exactly n arcs must be a single directed cycle (since every vertex needs in-degree >= 1 and out-degree >= 1, and n arcs among n vertices with these constraints forces a single cycle). This directed cycle, when ignoring orientations, gives a Hamiltonian circuit.

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_arcs (initial) 0
num_potential_arcs num_vertices * (num_vertices - 1)

Derivation:

  • Vertices: same vertex set, no changes -> n
  • Initial arcs: 0 (arc-less digraph)
  • Potential arcs (all ordered pairs): n(n-1) pairs, each with weight 1 or 2
  • Budget: B = n

Validation Method

  • Closed-loop test: reduce a HamiltonianCircuit instance G to StrongConnectivityAugmentation (G_empty, w, B=n), solve target with BruteForce (enumerate subsets of arcs with total weight <= n, check strong connectivity), extract Hamiltonian circuit by ignoring arc orientations, verify it visits all vertices exactly once
  • Test with a graph known to have a Hamiltonian circuit (e.g., cycle C_n, complete graph K_n) and verify the augmentation solution uses exactly n weight-1 arcs
  • Test with a graph known to NOT have a Hamiltonian circuit and verify no valid augmentation within budget n exists
  • Verify that any solution arc set A' with weight n forms a directed 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 (StrongConnectivityAugmentation):

Initial digraph: arc-less on vertices {0, 1, 2, 3, 4, 5} (no arcs).

Weight function for all 30 ordered pairs (u, v) where u != v:

  • Weight 1 (ordered pairs where {u,v} in E): (0,1),(1,0), (1,2),(2,1), (2,3),(3,2), (3,4),(4,3), (4,5),(5,4), (5,0),(0,5), (0,3),(3,0), (1,4),(4,1), (2,5),(5,2) -- 18 ordered pairs
  • Weight 2 (ordered pairs where {u,v} not in E): (0,2),(2,0), (0,4),(4,0), (1,3),(3,1), (1,5),(5,1), (2,4),(4,2), (3,5),(5,3) -- 12 ordered pairs

Budget: B = 6

Solution mapping:

  • Choose A' = {(0,1), (1,2), (2,3), (3,4), (4,5), (5,0)} (directed Hamiltonian cycle)
  • Total weight = 6 * 1 = 6 = B
  • Digraph (V, A') is the directed cycle 0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 0, which is strongly connected
  • Extracted Hamiltonian circuit (undirected): {0,1}, {1,2}, {2,3}, {3,4}, {4,5}, {5,0}

Verification that no cheaper solution exists:

  • A strongly connected digraph on 6 vertices needs >= 6 arcs
  • Each arc costs >= 1, so minimum cost >= 6 = B
  • Any solution with cost 6 must use exactly 6 arcs of weight 1 (edges of G)
  • The only strongly connected digraph with 6 vertices and 6 arcs is a directed 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