Condition for Existence of Hamiltonian Paths

Does there exist a simple necessary and sufficient condition for a graph to have a Hamiltonian path?

There is no known criterion for testing whether or not a graph is semi-Hamiltonian or not.