Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions docs/paper/reductions.typ
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
"MinimumVertexCover": [Minimum Vertex Cover],
"MaxCut": [Max-Cut],
"GraphPartitioning": [Graph Partitioning],
"HamiltonianCircuit": [Hamiltonian Circuit],
"HamiltonianPath": [Hamiltonian Path],
"IsomorphicSpanningTree": [Isomorphic Spanning Tree],
"KColoring": [$k$-Coloring],
Expand Down Expand Up @@ -619,6 +620,21 @@ One of the most intensely studied NP-hard problems, with applications in logisti
caption: [Complete graph $K_4$ with weighted edges. The optimal tour $v_0 -> v_1 -> v_2 -> v_3 -> v_0$ (blue edges) has cost 6.],
) <fig:k4-tsp>
]
#problem-def("HamiltonianCircuit")[
*Instance:* An undirected graph $G = (V, E)$.

*Question:* Does $G$ contain a _Hamiltonian circuit_ --- a closed path that visits every vertex exactly once?
][
The Hamiltonian Circuit problem is one of Karp's original 21 NP-complete problems @karp1972, and is listed as GT37 in Garey & Johnson @garey1979.
It is closely related to the Traveling Salesman Problem: while TSP seeks to minimize the total weight of a Hamiltonian cycle on a weighted complete graph, the Hamiltonian Circuit problem simply asks whether _any_ such cycle exists on a general (unweighted) graph.

A configuration is a permutation $pi$ of the vertices, interpreted as the order in which they are visited.
The circuit is valid when every consecutive pair $(pi(i), pi(i+1 mod n))$ is an edge in $G$.

*Algorithms.*
The classical Held--Karp dynamic programming algorithm @heldkarp1962 solves the problem in $O(n^2 dot 2^n)$ time and $O(n dot 2^n)$ space.
Björklund's randomized "Determinant Sums" algorithm achieves $O^*(1.657^n)$ time for general graphs and $O^*(sqrt(2)^n)$ for bipartite graphs @bjorklund2014.
]
#problem-def("OptimalLinearArrangement")[
Given an undirected graph $G=(V,E)$ and a non-negative integer $K$, is there a bijection $f: V -> {0, 1, dots, |V|-1}$ such that $sum_({u,v} in E) |f(u) - f(v)| <= K$?
][
Expand Down
11 changes: 11 additions & 0 deletions docs/paper/references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,17 @@ @inproceedings{zamir2021
doi = {10.4230/LIPIcs.ICALP.2021.113}
}

@article{bjorklund2014,
author = {Andreas Bj\"{o}rklund},
title = {Determinant Sums for Undirected {H}amiltonicity},
journal = {SIAM Journal on Computing},
volume = {43},
number = {1},
pages = {280--299},
year = {2014},
doi = {10.1137/110839229}
}

@article{bjorklund2009,
author = {Andreas Bj\"{o}rklund and Thore Husfeldt and Mikko Koivisto},
title = {Set Partitioning via Inclusion-Exclusion},
Expand Down
11 changes: 11 additions & 0 deletions docs/src/reductions/problem_schemas.json
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,17 @@
}
]
},
{
"name": "HamiltonianCircuit",
"description": "Does the graph contain a Hamiltonian circuit?",
"fields": [
{
"name": "graph",
"type_name": "G",
"description": "The undirected graph G=(V,E)"
}
]
},
{
"name": "HamiltonianPath",
"description": "Find a Hamiltonian path in a graph",
Expand Down
Loading
Loading