
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 L’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, all 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, Boolean Circuit, 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 solution [2]. 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 Turing machine 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 complexity class. A language over an alphabet is any set of strings made up 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º = fw 2 Σ∗ : M¹wº = “yes”g: We denote by tM ¹wº the number of steps in the computation of M on input w [1]. For n 2 N we denote by TM ¹nº the worst case run time of M; that is n TM ¹nº = maxftM ¹wº : w 2 Σ g 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 = fw : M¹w;cº = “yes” for some string cg: We measure the time of a verifier only in terms of the length of w, so 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 f0; 1g∗ be the infinite set of binary strings, a function f : f0; 1g∗ ! N is in #P if there exists a polynomial time verifier M such that for every x 2 f0; 1g∗, f ¹xº = jfy : M¹x;yº = “yes”gj where j ::: j denotes the cardinality set function [1]. A function f : Σ∗ ! Σ∗ is a polynomial time computable function 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 ⊆ f0; 1g is polynomial time reducible to a language L2 ⊆ f0; 1g , written L1 ≤p L2, if there is a polynomial time computable function f : f0; 1g∗ ! f0; 1g∗ such that for all x 2 f0; 1g∗, x 2 L1 if and only if f ¹xº 2 L2: An important complexity class is NP–complete [7]. A language L ⊆ f0; 1g∗ is NP–complete if • L 2 NP, and 0 0 • L ≤p L for every L 2 NP. 0 0 If L is a language such that L ≤p L for some L 2 NP–complete, then L is NP–hard [3]. Moreover, if L 2 NP, then L 2 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º 2 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 º 2 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 = f1; :::;ng 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 2 V has a sort c¹iº associated with it, where c¹iº 2 f1; 0; ^; _; +g [ fx1; x2; :::g (1 and 0 are translated to true and false respectively [10]). If c¹iº 2 f1; 0g [ fx1; x2; :::g, 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º 2 f^; _g, 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º = fx 2 X : c¹iº = x for some gate i in Cg). 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 2 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º 2 X, then T ¹iº = T ¹c¹iºº. If now c¹iº =+, then there is a unique gate j < i such that ¹j;iº 2 E. By induction, we know T ¹jº, and then T ¹iº is 1 if T ¹jº = 0, and viceversa.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages7 Page
-
File Size-