This document discusses the Hamiltonian path problem in graph theory. A Hamiltonian path visits each vertex in a graph exactly once. The Hamiltonian path problem is determining if a Hamiltonian path exists in a given graph. It is computationally difficult to solve and several algorithms have been developed, including brute force search, dynamic programming, and Monte Carlo algorithms. Unconventional models of computing like DNA computers have also been used to attempt solving the Hamiltonian path problem by exploiting parallel chemical reactions.