A Polynomial time Algorithm for Hamilton Cycle with maximum Degree 3.

Based on the famous Rotation-Extension technique, by creating the new concepts and methods: broad cycle, main segment, useful cut and insert, destroying edges for a main segment, main goal Hamilton cycle, depth-first search tree, we develop a polynomial time algorithm for a famous NPC: the Hamilton cycle problem. Thus we proved that NP=P. The key points of this paper are: 1) there are two ways to get a Hamilton cycle in exponential time: a full permutation of n vertices; or, chose n edges from all k edges, and check all possible combinations. The main problem is: how to avoid checking all combinations of n edges from all edges. My algorithm can avoid this. Lemma 1 and lemma 2 are very important. They are the foundation that we always can get a good branch in the depth-first search tree and can get a series of destroying edges (all are bad edges) for this good branch in polynomial time. The extraordinary insights are: destroying edges, a tree contains each main segment at most one time at the same time, and dynamic combinations. The difficult part is to understand how to construct a main segment's series of destroying edges by dynamic combinations (see the proof of lemma 4). The proof logic is: if there is at least on Hamilton cycle in the graph, we always can do useful cut and inserts until a Hamilton cycle is got. The times of useful cut and inserts are polynomial. So if at any step we cannot have a useful cut and insert, this means that there are no Hamilton cycles in the graph.

[1]  E. Kay,et al.  Graph Theory. An Algorithmic Approach , 1975 .

[2]  P. Erdos,et al.  On the evolution of random graphs , 1984 .

[3]  Salil P. Vadhan,et al.  Computational Complexity , 2005, Encyclopedia of Cryptography and Security.

[4]  Paul Erdös,et al.  A note on Hamiltonian circuits , 1972, Discret. Math..

[5]  Benny Sudakov,et al.  Hamiltonicity thresholds in Achlioptas processes , 2008, Random Struct. Algorithms.

[6]  L. Lovász Combinatorial problems and exercises , 1979 .

[7]  Saharon Shelah,et al.  Expected Computation Time for Hamiltonian Path Problem , 1987, SIAM J. Comput..

[8]  Allen Van Gelder,et al.  Computer Algorithms: Introduction to Design and Analysis , 1978 .

[9]  G. Dirac Some Theorems on Abstract Graphs , 1952 .

[10]  B. Bollobás The evolution of random graphs , 1984 .

[11]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[12]  Geng-Hua Fan,et al.  New sufficient conditions for cycles in graphs , 1984, J. Comb. Theory, Ser. B.

[13]  William L. Kocay,et al.  An Algorithm for Finding a Long Path in a Graph , 1994 .

[14]  David S. Johnson,et al.  The Planar Hamiltonian Circuit Problem is NP-Complete , 1976, SIAM J. Comput..

[15]  L. Pósa,et al.  Hamiltonian circuits in random graphs , 1976, Discret. Math..

[16]  David S. Johnson,et al.  The NP-Completeness Column: An Ongoing Guide , 1982, J. Algorithms.

[17]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[18]  Richard M. Karp,et al.  Reducibility Among Combinatorial Problems , 1972, 50 Years of Integer Programming.