I. The theory of NP completeness
(1) in the Turing computer model, the move function δ is a single value , that is, for each value in the Q´TK, when it belongs to the domain of δ definition Q´ (t´{l,r,s}) k
There is only one value corresponding to it, the Turing is called deterministic Turing, denoted is DTM(deterministic Turing Machine).
(2) non-deterministic Turing ( Ndtm ): A K-band non-deterministic Turing-Force M is a 7-tuple: (Q,T,I,Δ,B,Q0,QF). Unlike deterministic Turing, a non-deterministic Turing-robot allows the move function δ to be nondeterministic , that is, for each value in Q´TK (q;x1,x2,..., xk), when it belongs to the domain of Δ, Q´ (T´{l,r,s}) K has a unique The subset δ (q;x1,x2,..., xk) corresponds to it. You can optionally select a value in δ (q;x1,x2,..., xk) as its function value.
The definition of P and NP-like languages:
p={l| L is a language that can be accepted by a DTM in polynomial time .
np={l| L is a language that can be accepted by a Ndtm in polynomial time .
(3) Three Class problems: P class, NP class, NPC type problem
P-Class Problems: NP-like problems that can be solved in polynomial time: problems that can be validated by a polynomial time algorithm
NPC class Problem: Its state is unknown, no one to find a polynomial time algorithm to solve NPC problem, and no one can prove that there is no polynomial time algorithm for such problems. (4) The three relations (5) NP theory applied 1. 3-CNF can be satisfied 2. Mission Question 3. Vertex overlay Problem 4. Hamilton Loop problem 5. Traveling merchant Question 6. Subsets and issues
Two. Approximate algorithm
So far, there is no polynomial time algorithm for all NP-complete problems. For such problems, the following strategies can usually be adopted.
(1) Solve only the special case of the problem
(2) Using dynamic programming method or branch-bound method to solve
(3) Using probability algorithm to solve
(4) Only approximate solution
(5) Using Heuristic method to solve