Please download the appendix files. They contain .exe file, how to use it and the paper.
The paper is the final version. It is almost the same as in the last question here (researchgate). I only add a little explanation. In the paper, I give the way “how to understand the algorithm and proof” in the remarks. Though my English expression is not good, but I think the paper can be understood. Carefully read the remarks.
Thank you very much.
Is the problem NP vs. P solved?
For me, I am very sure it is solved. If you have interest, first download the program, run it. Then, read my paper and think, then, you may also be sure.
How to use the program please change the file name “HamiltonPathInVC++” to “HamiltonPathInVC++.exe”
1. I believe that most of people who download my program would be professionals. So I please you leave your contacting message and welcome your opinions if you download my program. You can leave your message here or to my email: [email protected]. Thanks a lot.
2. This program is an informal one, also it is not the quickest one. But it includes my algorithm, also it can work correctly and works very well. No fails for it.
3. How to use: if you have a 0-1 matrix standing for a simple undirected graph with n vertices which has at least a Hamilton path from vertex 0 to vertex n-1, you only press the “ReadMatrix” menu item to read and calculate it, and your result is wrote automatically in the file: D:\output.dat. You can get a Hamilton path from vertex 0 to vertex n-1 in this file.
4. How to use: if you have an edges matrix standing for a simple undirected graph with n vertices which has at least a Hamilton path from vertex 1 to vertex n, you only press the “ReadEdges” menu item to read and calculate it, and your result is wrote automatically in the file: D:\output.dat. You can get a Hamilton path from vertex 1 to vertex n in this file. If without such a path, you get a message “no...”. The input file format: each row: 1,3 or 1 3. It means that an edge from vertex 1 to vertex 3. The final row (end row) is -1 .
5. The maximum degree is 3. Though I am very sure my algorithm can calculate any degree of undirected graphs, but this program not. So please note: this program can only calculate graphs with maximum degree 3 and it only calculate a Hamilton path from vertex 1 to vertex n (or from 0 to n-1). The maximum vertex number is 2000, due to that the PC memory is limited.
6. I studied this problem for a lot of years. I put a lot of versions of my papers on arxiv. Though the former versions have this or that problems, I am very sure the newest version of my paper is the final version and it is surely correct. It may contains some little bugs due to my English expression, but this does not affect the correctness and I can explain or revise the little bugs easily.
7. Surely I think I have proved NP=P and have solved the problem NP vs. P.
8. Only people with high intelligence who are very strong in computer algorithm can understand the paper and the code. Some “great experts” like to judge “it is wrong” by only a little expression flaw. You discuss with me and let me explain.
There are bugs (flaws) in this code, but it works well. If you still have some graphs which cannot be calculated correctly (rarely or no possibility), give them to me. I think I can calculate them correctly. If you want to revise the bugs. You have to utterly understand the paper. Of course, the algorithm in the paper is exactly correct.
When you read the code, do not mind little things. Pay your attention on the whole idea, the whole thinking thread, and try to understand it.
My goal to open the code is not let you run it, calculate graphs and get results, my goal is to help you to understand the paper. The code can help you to understand the paper and also the paper can help you to understand the code. You can combine them to read and think.
If you need the code, you can give me an email, I can give the code to you. But you have to make efforts to understand the paper by the help of the code, and then to help me to let other people understand the paper. If you have questions, please discuss with me and let me explain.
Some experts (referees and editor in chiefs) like to judge a paper by pre-assumption, not by careful reading, thinking and understanding. “you cannot solve such a great problem, so you have to be wrong”, if a referee reviews a paper based on such a pre-assumption, there is no way for the author.
Some experts like to be as a primary school teacher and treat the author as a primary student.
My paper contains this sentence “A vertex pair has up to 9 different main segments and has up to 9 different broad cycles”, a expert (referee) teach me that this is wrong, not 9 different broad cycles, but about n! broad cycles (permutations). Though I said again and again I do not need to do permutation. I only mean that for each main segment I keep one broad cycle.
A top journal’s expert taught me the following:
“Some steps increase the number of non-adjacent pairs. Then the algorithm resolves them recursively, not taking into account that such an increase can happen more than once. This does not have lead to a polynomial-time algorithm. Forbidding the repetition of main segments limits the depth of the tree, not its size. Its depth is O(n^2), but its size might still be exponential.”
What he said is very easy and very apparent. I am not a primary student. Apparently he did not understand “good cut and inserts” and main segment repeating rules.
Another top journal’s expert taught me the following:
“Or much later, describing the "foundation logic", you write "...if the maximum vertex degree is 3, the opportunity to re-permute a broad cycle is very limited..."?”
Apparently I cannot be so stupid to think that all possible permutations are limited (polynomial), I mean that a good main segment’s good sons are fixed no matter how to permute the broad cycle (when without other break segments or keep other break segments unchanged).
9. Thank you for you pay your attention and time on my algorithm!
I wish to get your response. Thanks.
Lizhi Du