The P = Sharp-P Consequence Frank Vega

To cite this version:

Frank Vega. The P = Sharp-P Consequence. 2018. ￿hal-01706184￿

HAL Id: hal-01706184 https://hal.archives-ouvertes.fr/hal-01706184 Preprint submitted on 10 Feb 2018

HAL is a multi-disciplinary open access ’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. The P = Sharp-P Consequence

FRANK VEGA, Joysonic, Serbia P versus NP is considered as one of the most important open problems in computer science. This consists in knowing the answer of the following question: Is P equal to NP? This question was first mentioned in a letter written by John Nash to the National Security Agency in 1955. A precise statement of the P versus NP problem was introduced independently in 1971 by Stephen Cook and Leonid Levin. Since that date, efforts to find a proof for this problem have failed. Another major complexity classes are EXP and Sharp-P. Whether Sharp-P = P is another fundamental question that it is as important as it is unresolved. However, we already know that P is not equal to EXP. We prove if Sharp-P = P, then we can determine in polynomial time which subsets could be solved in a feasible polynomial time from every EXP language. CCS Concepts: • Theory of computation → Complexity classes; Problems, reductions and completeness; Additional Key Words and Phrases: Complexity Classes, Completeness, , Graph, Counting Solutions

1 INTRODUCTION The P versus NP problem is a major unsolved problem in computer science [2]. This is considered by many to be the most important open problem in the field [2]. It is one of the seven Millennium Prize Problems selected by the Clay Mathematics Institute to carry a US$1,000,000 prize for the first correct solution2 [ ]. It was essentially mentioned in 1955 and 1956 in letters written by John Nash and Kurt GoÜdel respectively [9], [8]. However, the precise statement of the P=NP problem was introduced in 1971 by Stephen Cook in a seminal paper [2]. In 1936, Turing developed his theoretical computational model [11]. The deterministic and nondeterministic Turing machines have become in two of the most important definitions related to this theoretical model for computation [11]. A deterministic has only one next action for each step defined in its program or transition function [11]. A nondeterministic Turing machine could contain more than one action defined for each step of its program, where this oneis no longer a function, but a relation [11]. Another relevant advance in the last century has been the definition of a . A language over an alphabet is any set of strings made of symbols from that alphabet [3]. A complexity class is a set of problems, which are represented as a language, grouped by measures such as the running time, memory, etc [3]. Let Σ be a finite alphabet with at least two elements, andlet Σ∗ be the set of finite strings over Σ [1]. A Turing machine M has an associated input alphabet Σ [1]. For each string w in Σ∗ there is a computation associated with M on input w [1]. We say that M accepts w if this computation terminates in the accepting state, that is M(w) = “yes” [1]. Note that M fails to accept w either if this computation ends in the rejecting state, that is M(w) = “no”, or if the computation fails to terminate [1]. The language accepted by a Turing machine M, denoted L(M), has an associated alphabet Σ and is defined by L(M) = {w ∈ Σ∗ : M(w) = “yes”}.

We denote by tM (w) the number of steps in the computation of M on input w [1]. For n ∈ N we denote by TM (n) the worst case run time of M; that is n TM (n) = max{tM (w) : w ∈ Σ }

Author’s address: Frank Vega, Joysonic, Krunska 46, Belgrade, 11000, Serbia, [email protected].

February 2018. where Σn is the set of all strings over Σ of length n [1].We say that M runs in polynomial time if k there is a constant k such that for all n, TM (n) ≤ n +k [1]. In other words, this means the language L(M) can be accepted by the Turing machine M in polynomial time. Therefore, P is the complexity class of languages that can be accepted in polynomial time by deterministic Turing machines [3]. A verifier for a language L is a deterministic Turing machine M, where L = {w : M(w,c) = “yes” for some string c}. We measure the time of a verifier only in terms of the length of w, a polynomial time verifier runs in polynomial time in the length of w [1]. A verifier uses additional information, represented by the symbol c, to verify that a string w is a member of L. This information is called certificate. NP is also the complexity class of languages defined by polynomial time verifiers [10]. There is a close relation between the polynomial time verifiers and another important class: The complexity class Sharp-P (denoted as #P). Let {0, 1}∗ be the infinite set of binary strings, a function f : {0, 1}∗ → N is in #P if there exists a polynomial time verifier M such that for every x ∈ {0, 1}∗, f (x) = |{y : M(x,y) = “yes”}| where | ... | denotes the cardinality set function [1]. A function f : Σ∗ → Σ∗ is a polynomial time if some deterministic Turing machine M, on every input w, halts in polynomial time with just f (w) on its tape [11]. We say that ∗ ∗ a language L1 ⊆ {0, 1} is polynomial time reducible to a language L2 ⊆ {0, 1} , written L1 ≤p L2, if there is a polynomial time computable function f : {0, 1}∗ → {0, 1}∗ such that for all x ∈ {0, 1}∗,

x ∈ L1 if and only if f (x) ∈ L2. An important complexity class is NP–complete [7]. A language L ⊆ {0, 1}∗ is NP–complete if • L ∈ NP, and ′ ′ • L ≤p L for every L ∈ NP. ′ ′ If L is a language such that L ≤p L for some L ∈ NP–complete, then L is NP–hard [3]. Moreover, if L ∈ NP, then L ∈ NP–complete [3]. HAMILTON PATH is a famous NP–complete problem [5]. We denote this problem as HP. An instance of HP is a graph G = (V , E) where V is the set of vertices and E is the set of edges, each edge being an unordered pair of vertices [5]. We say (u,v) ∈ E is an edge in a graph G = (V , E) where u and v are vertices. For a graph G = (V , E), a simple path in G is a sequence of distinct vertices < v0,v1,v2,...,vk > such that (vi−1,vi ) ∈ E for i = 1, 2,...,k [3]. A Hamilton path is a simple path of the graph which contains all the vertices of the graph. The problem HP asks whether a graph has a Hamilton path [5]. Another principal NP–complete problem is CIRCUIT SAT [5]. An instance of CIRCUIT SAT is a Boolean circuit C defined as follows: A Boolean circuit is a directed acyclic graph C = (V , E) (in a directed graph the edges are ordered pair of vertices), where the nodes V = {1,...,n} are called the gates of C. We can assume that all edges are of the form (i, j) where i < j. All nodes in the graph have in-degree (number of incoming edges) equal to 0, 1 and 2. Also, each gate i ∈ V has a sort c(i) associated with it, where c(i) ∈ {1, 0, ∧, ∨, ⇁} ∪ {x1, x2,...} (1 and 0 are translated to true and false respectively [10]). If c(i) ∈ {1, 0} ∪ {x1, x2,...}, then the in-degree of i is 0, that is, i must have no incoming edges. Gates with no incoming edges are called the inputs of C. If c(i) =⇁, then i has in-degree one. If c(i) ∈ {∧, ∨}, then the in-degree of i must be two. Finally, node n (the largest numbered gate in the circuit, which necessarily has no outgoing edges), is called the output gate of the circuit. Let X(C) be the set of all Boolean variables that appear in the circuit C (that is, X(C) = {x ∈ X : c(i) = x for some gate i in C}). We say that a truth assignment T is appropriate for C if it is defined for all the variables in X(C). Given such a T , the truth value of gate i ∈ V , T (i), is defined,

2 by induction on i, as follows: If c(i) = 1 then T (i) = 1, and similarly if c(i) = 0. If c(i) ∈ X, then T (i) = T (c(i)). If now c(i) =⇁, then there is a unique gate j < i such that (j,i) ∈ E. By induction, we know T (j), and then T (i) is 1 if T (j) = 0, and viceversa. If c(i) = ∨, then there are two edges (j,i) and (j′,i) entering i. T (i) is then 1 if and only if at least one of T (j), T (j′) is 1. If c(i) = ∧, then T (i) is 1 if and only if both T (j) and T (j′) are 1, where (j,i) and (j′,i) are the incoming edges. Finally, the value of the circuit, T (C), is T (n), where n is the output gate. Therefore, the CIRCUIT SAT will be the following problem: Given a circuit C, is there truth assignment T , appropriate to C, such that T (C) = 1? Another major complexity class is NEXP. We say that M runs in exponential time if there is nk a constant k such that for all n, TM (n) ≤ 2 + k [1]. NEXP is the complexity class of languages defined by exponential time verifiers [10]. A language L ⊆ {0, 1}∗ is NEXP–complete if • L ∈ NEXP, and ′ ′ • L ≤p L for every L ∈ NEXP. One of the problems related to circuits and graph is SUCCINCT HAMILTON PATH. We denote this problem as SHP. A succinct representation of a graph with n nodes, where n = 2b is a power of two, is a Boolean circuit C with 2 × b input gates [10]. The graph represented by C, denoted GC , is defined as follows: The nodes of GC are {1, 2,...,n}. And (i, j) is an edge of GC if and only if C accepts the binary representations of the b-bits integers i, j as inputs [10]. The problem SHP is now this: Given the succinct representation C of a graph GC with n nodes, does GC have a Hamilton path? The problem SHP is in NEXP–complete [10]. The counterpart of P in P versus NP is the class EXP in EXP versus NEXP [10]. Therefore, EXP is the complexity class of languages that can be accepted in exponential time by deterministic Turing machines [10]. Furthermore, the EXP–complete class is the counterpart of NEXP–complete defined under polynomial time reductions as well [10]. On the other hand, #P–complete is another complexity class in computational complexity theory. By definition, a problem is #P–complete if and only if it is in #P, and every problem in #P can be reduced to it by a polynomial time counting [1]. Counting the number of acceptance inputs in a Boolean circuit is a known #P–complete problem (denoted as #CIRCUIT SAT)[1]. Obviously, if #P = P then P = NP [1]. If any single NP–complete problem can be solved in polynomial time, then every NP problem has a polynomial time [3]. No polynomial time algorithm has yet been discovered for any NP–complete problem [4]. The biggest open question in theoretical computer science concerns the relationship between these classes: Is P equal to NP? In 2012, a poll of 151 researchers showed that 126 (83%) believed the answer to be no, 12 (9%) believed the answer is yes, 5 (3%) believed the question may be independent of the currently accepted axioms and therefore impossible to prove or disprove, 8 (5%) said either do not know or do not care or don’t want the answer to be yes nor the problem to be resolved [6]. It is fully expected that P , NP [10]. Indeed, if P = NP then there are stunning practical consequences [10]. For that reason, P = NP is considered as a very unlikely event [10]. If P = NP, then EXP = NEXP [10]. By the Hierarchy Theorem we have that P is not equal to EXP [10]. We prove if #P = P, then we can determine in polynomial time which subsets could be solved in a feasible polynomial time from every EXP language.

2 RESULTS

Definition 2.1. A representation of a graph with n nodes are two Boolean circuits CV with b input gates and CE with 2 × b input gates. The graph represented by (CV ,CE ), denoted GCV ,CE , is defined as follows: The n nodes of GCV ,CE are those b-bits integers i which CV accepts in their binary

3 representations. And (i, j) is an edge of GCV ,CE if and only if CE accepts the binary representations of the b-bits integers i, j as inputs when they are nodes (when they are accepted by CV ). Definition 2.2. CIRCUIT HAMILTON PATH

INSTANCE: A representation (CV ,CE ) of a graph GCV ,CE .

QUESTION: Has GCV ,CE a Hamilton path? We denote this problem as CHP. Theorem 2.3. CHP ∈ NEXP–complete. b Proof. Given the succinct representation C of a graph GC with n nodes, where n = 2 is a power of two, we can create another polynomially bounded Boolean circuit C ′ which accepts every binary representation of any b-bits integer. In this way, we prove C ∈ SHP if and only if (C ′,C) ∈ CHP ′ and thus SHP ≤p CHP, because we can trivially construct in polynomial time a circuit C that always accepts every input, that is, when some input variable gate is 1 or all are 0. Moreover, we can check every element of CHP by an exponential time verifier in the same way as SHP and thus CHP ∈ NEXP. Indeed, we would only need to make another verification that is checking exactly whether only the nodes in the Hamilton path are all those b-bits integers which are accepted by CV . To sum up, we prove CHP ∈ NEXP–complete.  Definition 2.4. LARGE CIRCUIT HAMILTON PATH INSTANCE: An instance of CHP where CV has exactly a superpolynomial amount of acceptance b-bits integers inputs.

QUESTION: Has GCV ,CE a Hamilton path? We denote this problem as LCHP. Theorem 2.5. If #P = P, then LCHP < P. Proof. Analyzing the same properties of the NEXP–complete problem SHP, we can deduce there is no a possible polynomial time verifier for LCHP [10]. Indeed, LCHP would have a superpolynomial time verifier [10]. Therefore, LCHP < NP [10]. If #P = P then P = NP [1]. In this way, if #P = P, then LCHP < P.  Definition 2.6. K–CIRCUIT HAMILTON PATH k INSTANCE: An instance of CHP where CV has exactly b acceptance b-bits integers inputs.

QUESTION: Has GCV ,CE a Hamilton path? The number k is always the same positive constant for every instance. We denote this problem as KCHP. Theorem 2.7. If #P = P, then KCHP ∈ P. Proof. If #P = P then P = NP [1]. If P = NP, then CIRCUIT SAT is in P [3]. In this way, we can find an acceptance b-bits integer inputs in CV in polynomial time. But then, after finding a possible ′ solution i we can modify CV into a new circuit CV that rejects i. We can do this just making a temporary trivial circuit that rejects i and then link the same corresponding input gates and join the outputs of both circuits through the ∧ gate (the AND gate). In this way, if we find another ′ ′′ acceptance b-bits integer j in CV , then we would have i , j. Thus, we can create another circuit CV ′ ′ from CV just making that CV rejects j. Consequently, we will find another node s of the represented graph such that s , j and s , i. Finally, when we find the exactly bk inputs, we can prove if the resulting circuit has not any other possible acceptance input since P = coNP when P = NP [10]. We can do all this process in polynomial time since there are exactly bk nodes (that is polynomial

4 because k is a positive constant) and the problem CIRCUIT SAT and its would be in P when P = NP [10]. After finding all the nodes of the possible represented graph, then we can create a graph instance G = (V , E) just building the another set E with the polynomially bounded search of every possible 2×k pair of nodes that are accepted in the circuit CE in time O(b ). Therefore, if P = NP then we can prove (CV ,CE ) ∈ KCHP if and only if G ∈ HP in polynomial time. The class NP is closed under polynomial time reductions and thus, we can check every element of KCHP in polynomial time, which means KCHP would be in NP because of HP ∈ NP. Consequently, KCHP ∈ P.  Theorem 2.8. If #P = P, then we can determine in polynomial time which subsets could be solved in a feasible polynomial time from every EXP language. Proof. If #P = P then KCHP ∈ P and P = NP [1]. Moreover, if P = NP then EXP = NEXP [10]. Consequently, CHP ∈ EXP–complete [10]. However, KCHP ⊂ CHP for every possible positive constant k that we could choose and thus, every EXP language contains multiple subsets which are in P (even for a larger k) as a consequence of making a polynomial reduction to CHP. Since #CIRCUIT SAT ∈ P when #P = P, then we can determine in polynomial time from an instance of k CHP where CV has exactly b acceptance b-bits integers inputs for a positive constant k. On the one hand, if the number k is a pretty large number, then this could mean the instance of CHP might also belong to LCHP due to LCHP ⊂ CHP where LCHP would not be in P when #P = P. On the other hand, if k has a small value, then the instance in KCHP can be surely decided in a feasible polynomial time since #P = P. We could calculate the value of k in polynomial time since #CIRCUIT SAT ∈ P when #P = P and thus, this Theorem is true because of we can always make a polynomial reduction of every EXP language to CHP. 

3 CONCLUSION No one has been able to find a polynomial time algorithm for any of more than 300 important known NP–complete problems [5]. Most complexity theorists already assume P is not equal to NP, but no one has found an accepted and valid proof yet [6]. There are several consequences if P is not equal to NP, such as many common problems cannot be solved efficiently [2]. However, a proof of P = NP will have stunning practical consequences, because it leads to efficient methods for solving some of the important problems in NP [2]. The consequences, both positive and negative, arise since various NP–complete problems are fundamental in many fields [2]. This result conclude with a stunning consequence in case of P = #P, which might help us to solve the P versus #P problem.

REFERENCES [1] Sanjeev Arora and Boaz Barak. 2009. Computational complexity: a modern approach. Cambridge University Press. [2] Stephen A Cook. 2000. The P versus NP Problem. (April 2000). Available at Millennium Prize Problems web site http://www.claymath.org/sites/default/files/pvsnp.pdf. [3] Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, and Clifford Stein. 2009. Introduction to , Third Edition (3rd ed.). The MIT Press. [4] Lance Fortnow. 2009. The status of the P versus NP problem. Commun. ACM 52, 9 (2009), 78–86. [5] Michael Garey and David S Johnson. 1979. Computers and Intractability: A Guide to the Theory of NP-Completeness (1 ed.). San Francisco: W. H. Freeman and Company. [6] William I Gasarch. 2012. Guest column: The second P=? NP poll. ACM SIGACT News 43, 2 (2012), 53–77. [7] Oded Goldreich. 2010. P, NP, and NP-Completeness: The basics of computational complexity. Cambridge University Press. [8] Juris Hartmanis. 1989. GoÜdel, von Neumann, and the P = NP problem. Bulletin of the European Association for Theoretical Computer Science 38 (1989), 101–107.

5 [9] John Nash. 1955. Letter to the United States National Security Agency. (January 1955). Available at NSA web site https://www.nsa.gov/news-features/declassified-documents/nash-letters/assets/files/nash_letters1.pdf. [10] Christos H Papadimitriou. 1994. Computational complexity. Addison-Wesley. [11] . 2006. Introduction to the Theory of Computation. Vol. 2. Thomson Course Technology Boston.

6