Table of Contents
Fetching ...

A Memetic Algorithm To Find a Hamiltonian Cycle in a Hamiltonian Graph

Sarwan Ali, Pablo Moscato

TL;DR

The proposed memetic algorithm (\maa) approach for finding a Hamiltonian cycle in a Hamiltonian graph is a metaheuristic that is successful in practice in verifying the Hamiltonicity of a larger number of instances from the Flinder University Hamiltonian Cycle Problem Challenge Set, even for the graphs that have large treewidth.

Abstract

We present a memetic algorithm (\maa) approach for finding a Hamiltonian cycle in a Hamiltonian graph. The \ma is based on a proven approach to the Asymmetric Travelling Salesman Problem (\atspp) that, in this contribution, is boosted by the introduction of more powerful local searches. Our approach also introduces a novel technique that sparsifies the input graph under consideration for Hamiltonicity and dynamically augments it during the search. Such a combined heuristic approach helps to prove Hamiltonicity by finding a Hamiltonian cycle in less time. In addition, we also employ a recently introduced polynomial-time reduction from the \hamcyc to the Symmetric \tsp, which is based on computing the transitive closure of the graph. Although our approach is a metaheuristic, i.e., it does not give a theoretical guarantee for finding a Hamiltonian cycle, we have observed that the method is successful in practice in verifying the Hamiltonicity of a larger number of instances from the \textit{Flinder University Hamiltonian Cycle Problem Challenge Set} (\fhcpsc), even for the graphs that have large treewidth. The experiments on the \fhcpscc instances and a computational comparison with five recent state-of-the-art baseline approaches show that the proposed method outperforms those for the majority of the instances in the \fhcpsc.

A Memetic Algorithm To Find a Hamiltonian Cycle in a Hamiltonian Graph

TL;DR

The proposed memetic algorithm (\maa) approach for finding a Hamiltonian cycle in a Hamiltonian graph is a metaheuristic that is successful in practice in verifying the Hamiltonicity of a larger number of instances from the Flinder University Hamiltonian Cycle Problem Challenge Set, even for the graphs that have large treewidth.

Abstract

We present a memetic algorithm (\maa) approach for finding a Hamiltonian cycle in a Hamiltonian graph. The \ma is based on a proven approach to the Asymmetric Travelling Salesman Problem (\atspp) that, in this contribution, is boosted by the introduction of more powerful local searches. Our approach also introduces a novel technique that sparsifies the input graph under consideration for Hamiltonicity and dynamically augments it during the search. Such a combined heuristic approach helps to prove Hamiltonicity by finding a Hamiltonian cycle in less time. In addition, we also employ a recently introduced polynomial-time reduction from the \hamcyc to the Symmetric \tsp, which is based on computing the transitive closure of the graph. Although our approach is a metaheuristic, i.e., it does not give a theoretical guarantee for finding a Hamiltonian cycle, we have observed that the method is successful in practice in verifying the Hamiltonicity of a larger number of instances from the \textit{Flinder University Hamiltonian Cycle Problem Challenge Set} (\fhcpsc), even for the graphs that have large treewidth. The experiments on the \fhcpscc instances and a computational comparison with five recent state-of-the-art baseline approaches show that the proposed method outperforms those for the majority of the instances in the \fhcpsc.
Paper Structure (48 sections, 2 theorems, 21 figures, 11 tables, 5 algorithms)

This paper contains 48 sections, 2 theorems, 21 figures, 11 tables, 5 algorithms.

Key Result

Theorem 1

Let $G = (V,E)$ be the simple undirected graph, where $\vert V \vert > 3$. For every pair of distinct non-adjacent vertices $a$ and $b \in V$, if $degree(a) + degree(b) \geq \vert V \vert$, then we can say that $G$ is Hamiltonian. This is known as Ore’s theorem ore1960note.

Figures (21)

  • Figure 2: Process of generating $\mathsf{SR}$ and $\mathsf{TC}$ reduction matrix. The sub-figure (a) is an illustrative sample graph for which $\mathsf{SR}$ reduction matrix is generated in the sub-figure (b), and $\mathsf{TC}$ reduction matrix is generated in the sub-figure (c).
  • Figure 3: Flow Chart of our proposed approach.
  • Figure 5: Agents population hierarchy.
  • Figure 6: An example of how mutation works. Figure a) is a sample tour. In Figure b), we randomly select two cities, namely $c3$ and $c8$. In Figure c), we set don't look a bit as FALSE for previous and next neighbors of city $c8$. In Figure d), we include some extra edges (noise) in the tour to bring some diversity. We also set don't look a bit as FALSE for city $c8$, $c3$, and $c4$. We then remove the edges ($c3$,$c4$), ($c7$,$c8$), and ($c8$,$c9$).
  • Figure 7: $\mathsf{RAI}$ local search movements. a) We select a critical city $i$ and a city $j$, where $j$ is p-in-neighbour of $i$ (see section \ref{['subsection_local_search']} for definition of p-in-neighbour). b) An edge is inserted between $i$ and $j$ and we also identify two cities $a$ and $b$. c) Two cities $m$ and $n$ are selected, and edges are inserted between $(m,a)$ and $(b, n)$. d) Remove edges $(i, a)$, $(b, j)$, and $(m, n)$.
  • ...and 16 more figures

Theorems & Definitions (11)

  • Definition 2.1: Tree Decomposition
  • Definition 2.2: Width of a Tree Decomposition
  • Definition 2.3: Treewidth
  • Definition 2.4: Conflicting Edge of a graph $G(V,E)$ given $G'(V,E')$
  • Definition 2.5: Surplus edge of a graph $G(V,E)$ given a Hamiltonian cycle $H$ of $G$
  • Definition 3.1: Weighted Hamiltonian Cycle
  • Definition 3.2: Standard Reduction ($\mathsf{SR}$)
  • Definition 3.3: Transitive Closure ($\mathsf{TC}$) Reduction
  • Definition 4.1: Nearest Neighbor Heuristic
  • Theorem 1
  • ...and 1 more