  The approximate graph colouring problem, whose complexity is unresolved in
most cases, concerns finding a $c$-colouring of a graph that is promised to be
$k$-colourable, where $c\geq k$. This problem naturally generalises to promise
graph homomorphism problems and further to promise constraint satisfaction
problems. The complexity of these problems has recently been studied through an
algebraic approach. In this paper, we introduce two new techniques to analyse
the complexity of promise CSPs: one is based on topology and the other on
adjunction. We apply these techniques, together with the previously introduced
algebraic approach, to obtain new unconditional NP-hardness results for a
significant class of approximate graph colouring and promise graph homomorphism
problems.
