A Hamiltonian path (a Hamiltonian cycle) in a graph is a path (a cycle,
respectively) that traverses all of its vertices. The problems of deciding
their existence in an input graph are well-known to be NP-complete, in fact,
they belong to the first problems shown to be computationally hard when the
theory of NP-completeness was being developed. A lot of research has been
devoted to the complexity of Hamiltonian path and Hamiltonian cycle problems
for special graph classes, yet only a handful of positive results are known.
The complexities of both of these problems have been open even for 4K1-free
graphs, i.e., graphs of independence number at most 3. We answer this
question in the general setting of graphs of bounded independence number.
We also consider a newly introduced problem called
\emph{Hamiltonian-ℓ-Linkage} which is related to the notions of a path
cover and of a linkage in a graph. This problem asks if given ℓ pairs of
vertices in an input graph can be connected by disjoint paths that altogether
traverse all vertices of the graph. For ℓ=1, Hamiltonian-1-Linkage asks
for existence of a Hamiltonian path connecting a given pair of vertices. Our
main result reads that for every pair of integers k and ℓ, the
Hamiltonian-ℓ-Linkage problem is polynomial time solvable for graphs of
independence number not exceeding k. We further complement this general
polynomial time algorithm by a structural description of obstacles to
Hamiltonicity in graphs of independence number at most k for small values of
k