On the relationship between classes P and NP

In this paper we discusses the relationship between the known classes P and NP. We show that the difficulties in solving problem"P versus NP"have methodological in nature. An algorithm for solving any problem is sensitive to even small changes in its formulation. As we will shown in the paper, these difficulties are exactly in the formulation of some problems of the class NP.


Introduction
Unsuccessful attempts to develop an efficient (polynomial-time) algorithm for many practically important problems raised the question of the formalization of a class of problems that have be solved. This formalization led to the concept of the class NP -the class problems solvable by a nondeterministic Turing machine [3].
Eliminating from consideration the problems that obviously can not be solved in polynomial time, is an important step in determining the class of problems for which it makes sense to look for an effective algorithm. It is such problems as finding a set of all subsets of a finite set, construction of all independent sets of a graph, etc.
For practical purposes it is convenient to use the following definition of the class NP [5]: A problem Z belongs to the class NP if: 2. the problem solution can be represented by a finite number m of symbols, where m is a polynomial function of n: m = f (n); 3. the time t for verifying the obtained solution is some polynomial functions of n: t = ϕ(n).
Each problem of NP is solvable in the classical sense, since it can be solved by a deterministic Turing machine [3,2].
Solution algorithm for problem Z ∈ NP is called effective if solution of Z can be obtained in the polynomial number of steps of n. The set of problems of NP, having the polynomial-time solution algorithm, forms a class of P, where P ⊆ NP.
Unfortunately, there are the problems of NP, for which the effective solution algorithm is unknown. Analysis of problems of the class NP shows that the main difficulty is the need to perform exhaustive search of solution elements.
The following questions arise: What causes are the exhaustive search? When it makes sense to seek an effective solution algorithm?
These questions raise the problem of the relationship between classes P and NP, that is, proving one of the relations: P= NP or P = NP. Attempt to solve this problem is the subject of many works. A brief history of these attempts to solve this problem can be found at "P-versus -NP" page of G. J. Woeginger (see [10]).
In this paper we show that the difficulties in solving problem of the relationship between classes P and NP have methodological in nature. As it is well known [9], an algorithm for solving any problem is sensitive to even small changes in its formulation. As it will shown below, these difficulties are exactly in the formulation of problems of the class NP.
To solve this problem, it is enough to formulate a question: whether the problem Z ∈ NP is solvable in this setting? We specify the properties problems of NP, that require a complete inspection of the elements of the solution and we determine the class of problems of NP, for which it is reasonable to seek an effective solution algorithm. Then the other problem of NP are defined as the exponential in nature. Consequently, for such problems, finding an effective solution algorithm does not make sense in the current statement.

Mathematical model
Let R is a finite set and Q = {R 1 , R 2 , . . . , R m } is a family of nonempty subsets of R. A pair (R, Q), satisfying the property if R 1 ∈ Q and R 2 ⊂ R 1 then R 2 ∈ Q (1) called a hereditary system, or an independent system.
Let a problem Z, belonging to the class NP, is given on a hereditary system. Then, each of the subsets of R j ∈ Q (j = 1, 2, . . . , m) is called an admissible solution of the problem Z, and every maximal respect to inclusion R j is called support solution of the problem. In the problem Z it is required to find a support solution that satisfies the given conditions.
The most important question that arises in the process of solving the problem, consists in determining the membership of any subset of R k ⊂ R to the set of admissible solutions of Q.
Consider some examples of such problems.
Satisfiability problem (SAT). Let π is a Boolean function over n variables x 1 , . . . , x n , represented in conjunctive normal form, i.e. π is a conjunction of clauses. It is required to find a satisfying assignment of variables, i.e. such that π is "true".
Let R is the set of literals r, where r is either x i orx i (i = 1, n), belonging to some clause of the π. Then the set of admissible solutions Q contains such a subset of set R, each of which has literals of some clauses of π. To solve the question "R j ∈ Q?" (R j ⊂ R), it needs to determine that: • the subset of R j contains no alternative literal, that is, a variable x i orx i simultaneously; • there are clauses of π, containing together all literals from a subset R j .
It is clear that the SAT problem is defined on a hereditary system.
The Hamiltonian cycle problem. Let G = (V, E) is n-vertex undirected graph. It is required to find a cycle of graph edges of G, which includes each of n vertices exactly once.
We show that this problem is also defined on a hereditary system. Let S is the set of Hamiltonian cycles R * of G. Denote a set Q of subsets of edges of R j (j = 1, 2, . . . , m) of E such that R j ∈ Q, if and only if R j ⊆ R * , (R * ∈ S). Obviously, to answer on the question "R j ∈ Q?", it needs to determine that: • a subset of R j does not induce the subgraph whose vertices have degrees more than two; • there exists a Hamiltonian cycle of R * ∈ S such that R j ⊆ R * .
Clearly, the two (E, Q) is a hereditary system.
This sum is called a weight of the subset R j .
Suppose we want to find R * ∈ Q, which has the maximum weight. In this case, we have formulated the optimization problem.
The maximum independent set problem (MMIS). Let G = (V, E) is a n-vertex undirected graph. It is required to find a subset V * ⊆ V , which has the maximum number of vertices such that each pair of vertices in V * is not adjacent in G.
We establish that this problem is also defined on a hereditary system. Any subset of R j ⊆ V is called independent if every two vertices of R j are non-adjacent. Let Q is the set of all independent sets of G. It is easy to see that the pair (V, Q) is a hereditary system. In this problem, we have the weight w(R j ) = Card(R j ) for any R j ∈ Q. To solve the problem "R j ∈ Q?" (R j ⊂ V ) it is sufficient to show that vertices of R j are pairwise non-adjacent.
It follows from the above examples that the problem of the class NP should be considered as a four (R, Q, P, f ), where R is the set of all elements of the solution, Q is the set of admissible solutions of the problem, P is the system of predicates which determine that a R j ⊂ R is a admissible solution, i.e. R j ∈ Q and f is the map: R j → W that defines the "weight" of the admissible solution. In the future, we believe that f (R j ) can be computed in polynomial time from value Card(R j ).
Thus, we have defined a set-theoretic model of a problem of NP. In computational complexity theory, each problem of NP is considered as a problem recognition. A recognition problem is a computational problem, whose solution is "yes" or "no" [4]. The solution of computational problem (in this case, a support solution) can be considered as "proof" that the corresponding recognition problem of NP has an answer "yes". Therefore, the concept of an admissible solution is broader than the concept of "proof" for the recognition problem.

Sequential method
Let there be a problem Z ∈ NP. We assume that Z = (R, Q, P, f ) is determined on a hereditary system (R, Q). The question arise: How can we construct an admissible solution Z?
A Turing machine is a general model of computation (see, for example, [1,4]). Therefore, we can assume that we have a single-tape Turing machine M . The machine M processes symbols in the cells of the tape sequentially, i.e. symbol by symbol. If we assume that the Turing machine solves the problem Z then we can consider the result of each step of M as an admissible solution Z. It is natural to consider recording a symbol on the tape as the constructing the next element of the admissible solution.
Thus, the procedure constructing any admissible solution R j ∈ Q (j = 1, 2, . . . , m) is extensive in the time, i.e. its elements are obtained sequentially, element by element.
The method of constructing the required solution, when we obtain its elements step by step, element by element, we call sequential [6,8].
Let R 1 , R 2 ∈ Q is admissible solutions of the problem Z ∈ NP such that R 1 ⊂ R 2 . We denote the time of their constructing as t(R 1 ) and t(R 2 ) respectively. Then the following assertion takes place.
Proof. Without loss of generality, we can assume that Card(R 2 ) = Card(R 1 ) +1. By definition of the sequential method, the admissible solution R 2 can be obtained after the construction by a Turing machine of the admissible solution R 1 . This will require at least one cycle of the machine. This proves Theorem 1. Q.E.D.

Theorem 2
The solution of any problem Z ∈ NP can be obtained by a sequential method.
Proof. We believe that every problem of the class NP is solvable, i.e. each such problem can be solved by a deterministic Turing machine. Since this machine runs sequentially, it produces the solution step by step, an element of element. Therefore, Theorem 2 is true. Q.E.D.
Obviously, we can assume that the sequential method is solely the general method for solving each problem Z ∈ NP.
Indeed, for example, suppose we need to find some independent set graph vertices. Any independent set of graph vertices is an admissible solution of MMIS. However, only the maximal independent set is the support solution of MMIS. The global solution of this problem -the maximum independent set -is also some support solution.
Obviously, in common case, the simultaneous choice of several independent vertices is not possible if the structure of the graph is not known in advance. It is clear that every next subsequence of vertices can be selected only if we know what vertices have already been selected in an independent set earlier.

Problems without foresight
Let there be a problem Z ∈ NP, determined on the hereditary system (R, Q). Let, further, R 1 ∈ Q is an admissible solution that is not support. In accordance with forming the next admissible solution R 2 such that R 1 ⊂ R 2 , and Card(R 2 ) = Card(R 1 ) + 1, the problem of NP can be divided into two classes [7,6]: • the problems for which the next solution R 2 = R 1 ∪ {r} (r ∈ R) can be found in the polynomial time by means of joining to the R 1 of one element of the set R \ R 1 ; • all the other problems of NP.
In other words, the problem of NP can be classified according to the computation time of the predicate "R 1 ∪ {r} ∈ Q?" for any admissible solution R 1 ∈ Q and for each element r ∈ R \ R 1 . If such predicate can be computed in the polynomial time from the dimension of the problem then this problem is called a problem without foresight. Otherwise, the problem is called exponential in nature.
Note that the selected term -problem that is exponential in natureshould not be taken literally. As is usual in the complexity theory (see, for example, [3]) such problems may require O(n!) or O(n n ) steps to compute the predicate "R 1 ∪ {r} ∈ Q?".
The set of all problems without foresight will be denoted by UF, where UF ⊆ NP.

Theorem 3
The support solution Z ∈ NP can be found in the polynomial time if and only if Z ∈ UF.
Proof. Let there be a problem Z ∈ NP such that Z ∈ UF. By the definition of problems without foresight, each next admissible solution of Z can be found in the polynomial time. Since ⊘ ∈ Q for any problem Z ∈ UF and the support solution contains no more than p(n) of elements, where n is the dimension of the problem, and p(n) is a polynomial, this implies the polynomial time of building the support solution.
On the other hand, let there is the problem Z ∈ NP is such which is solvable in the polynomial time. Assume that Z ∈ UF. In this case, there exists at least one admissible solution of Z, found in the exponential time. By condition of Theorem 3, the support solution of problem Z ∈ UF is found in the polynomial time. We have a contradiction of Theorems 1 and 2. Q.E.D.
Thus, the class UF induced problems of NP for which the support solution can be constructed in the polynomial time. In common case, each support solution is not the desired solution of the problem. Proof. By definition of UF ⊆ NP. In the Hamiltonian cycle problem, it needs to determine what the constructed set of edges belongs to at least one Hamiltonian cycle, which requires to foresee of this fact and therefore requires exhaustive search of elements of the solution, that is, UF = NP. Q.E.D.
Taking into account Theorems 3 and 4, we have the following result.
Corollary 1 P ⊂ U F and P = N P .

Conclusion
Using our terminology, we can reformulate the third item in definition of the class NP as follows: 3. time t for verifying the obtained support solution is some polynomial function from n: t = ϕ(n).
Then we have following definition of the class UF. A problem Z belongs to a class UF If: As we can see the definition of the class UF differs from the definition of the class NP only the third item. The definition of the class NP wider than the problems of the class UF since the class NP can includes and objectives for which the time for verifuing any admissible solutions is exponentially, i.e. requires a lot of exhaustive search. Thus, the class NP includes all problems of the class UF. It is easy to see that the class of P is entirely in the class UF.
Thus, a direct answer to the problem of "P vs NP" consists in the fact that the class P is not equal to the class NP.
When the question of the relationship between classes P and NP was formulated, many researchers believed that this will solve the problem on the possibility to develop (or not) an effective (polynomial-time) algorithm for all problems of the class NP. However, we found that the existing definition of class NP is redundant, i.e. it allows to include in this class of problems that are exponential in nature. As we earlier removed the problems with exponential length solutions from the class NP, now, we remove from the class of NP the problems that are exponential in nature.
In other words, it is expedient to focus on the study of problems without foresight (the class UF) for searching an effective solution algorithm.
However, in this case, we have two questions. The first question concerns the problems which are exponential in nature. We see that such practical important problems as the Hamiltonian cycle problem (in the current formulation) can not be solved effectively. However, it is necessary take into account that the set of problems without the foresight includes such NP-complete problems as the satisfiability problem and the maximum independent set problem. However, every problem of the class NP can be reduced to some (NP-complete) problem without foresign in the polynomial time, for example, to the satisfiability problem [3]. Such reduction can be considered as reformulation of the relevant problem that is exponential in nature into the problem without the foresight.
In particular, to find a Hamiltonian cycle in a graph, one can formulate the following optimization problem: find a partition of the graph into the minimum number of disjoint cycles [8].
The second question consists that we must be reformulated the old problem of "P vs NP" into a new one, namely: "P vs UF".
Thus, unfortunately, the elucidation of the relationship between classes P and NP does not answer on the question about possibility of effectively solving problems as the class NP, and the class UF. We just found that the lack of an existing definition of the class NP consists that we do not determine the polynomial time of checking the truth of the predicate P for the problem (R, Q, P, f ) ∈ NP.
To have a hope for constructing effective solution algorithm, we need consider the problem of the class UF. Obviously, that the determining properties of these problems is a possibility to construct a support solution in the polynomial time. If the problems Z 1 is out the class UFthen we must reduce it into a Z 2 from UF, the global solution of which is also a global solution Z 1 .
Sometimes we can not say that a problem belongs to UF or not. In this case, we have little knowledge about this problem to determine its existence in the class UF. Then it is expedient to suspect that the problem lies outside of the class UF.