1 Sparse complete sets for coNP: Solution of the P versus NP problem Frank Vega Abstract—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? 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 class is coNP. Whether NP = coNP is another fundamental question that it is as important as it is unresolved. In 1979, Fortune showed that if any sparse language is coNP-complete, then P = NP. We prove there is a possible sparse language in coNP-complete. In this way, we demonstrate the complexity class P is equal to NP. Keywords—Complexity Classes, Sparse, Complement Language, Completeness, Polynomial Time. F 1 INTRODUCTION The P versus NP problem is a major unsolved problem possible positive constant k [5]. Whether P = NP or not in computer science [1]. This is considered by many to be is still a controversial and unsolved problem [2]. In this the most important open problem in the field [1]. It is one work, we proved the complexity class P is equal to NP . of the seven Millennium Prize Problems selected by the Hence, we solved one of the most important open problems Clay Mathematics Institute to carry a US$1,000,000 prize for in computer science. the first correct solution [1]. It was essentially mentioned in 1955 from a letter written by John Nash to the United States National Security Agency [2]. However, the precise 2 MOTIVATION statement of the P = NP problem was introduced in 1971 The biggest open question in theoretical computer science by Stephen Cook in a seminal paper [1]. concerns the relationship between these classes: Is P equal In 1936, Turing developed his theoretical computational to NP ? In 2012, a poll of 151 researchers showed that model [3]. The deterministic and nondeterministic Turing 126 (83%) believed the answer to be no, 12 (9%) believed machines have become in two of the most important defi- the answer is yes, 5 (3%) believed the question may be nitions related to this theoretical model for computation [3]. independent of the currently accepted axioms and therefore A deterministic Turing machine has only one next action for impossible to prove or disprove, 8 (5%) said either do not each step defined in its program or transition function [3]. A know or do not care or don’t want the answer to be yes nondeterministic Turing machine could contain more than nor the problem to be resolved [6]. It is fully expected that one action defined for each step of its program, where this P 6= NP [5]. Indeed, if P = NP then there are stunning one is no longer a function, but a relation [3]. practical consequences [5]. For that reason, P = NP is Another relevant advance in the last century has been considered as a very unlikely event [5]. Certainly, P versus the definition of a complexity class. A language over an NP is one of the greatest open problems in science and a alphabet is any set of strings made up of symbols from that correct solution for this incognita will have a great impact alphabet [4]. A complexity class is a set of problems, which not only for computer science, but for many other fields as are represented as a language, grouped by measures such as well [2]. the running time, memory, etc [4]. The set of languages decided by deterministic Turing 3 SUMMARY machines within time f is an important complexity class denoted TIME(f(n)) [5]. In addition, the complexity class In computational complexity theory, a sparse language is a NTIME(f(n)) consists in those languages that can be formal language (a set of strings) such that the complexity decided within time f by nondeterministic Turing machines function, counting the number of strings of length n in the [5]. The most important complexity classes are P and NP . language, is bounded by a polynomial function of n. The The class P is the union of all languages in TIME(nk) for complexity class of all sparse languages is called SP ARSE. every possible positive constant k [5]. At the same time, SP ARSE contains T ALLY , the class of unary languages, NP consists in all languages in NTIME(nk) for every since these have at most one string of any one length. Fortune showed in 1979 that if any sparse language is coNP–complete, then P = NP (this is Fortune’s theorem) • F. Vega, Joysonic, Uzun Mirkova 5, Belgrade, RS, 11000. E-mail: [email protected] [7]. Mahaney used this to show in 1982 that if any sparse language is NP–complete, then P = NP [8]. A simpler This article may appear completely or partially in: Academia.edu, figshare, Zenodo and HAL preprint servers. proof of this based on left-sets was given by Ogihara and This is not a plagiarism, since I am the author of those manuscripts. Watanabe in 1991 [9]. Mahaney’s argument does not actually 2 require the sparse language to be in NP , so there is a sparse a string w is a member of L. This information is called NP–hard set if and only if P = NP [8]. certificate. NP is also the complexity class of languages We create a class with the opposite definition, that is a defined by polynomial time verifiers [5]. If NP is the class of class of languages that are dense instead of sparse. We show problems that have succinct certificates, then the complexity there is a sequence of languages that are in NP–complete, class coNP must contain those problems that have succinct but their density grows as much as we go forward into disqualifications [5]. That is, a \no" instance of a problem in the iteration of the sequence. The first element of the se- coNP possesses a short proof of its being a \no" instance quence is a variation of the NP–complete problem known [5]. as HAM–CYCLE [10]. The next element in the sequence is A function f :Σ∗ ! Σ∗ is a polynomial time com- constructed from this new version of HAM–CYCLE. Indeed, putable function if some deterministic Turing machine M, each language is created from its previous language in the on every input w, halts in polynomial time with just f(w) sequence. on its tape [3]. Let f0; 1g∗ be the infinite set of binary ∗ Since the density grows according we move forward into strings, we say that a language L1 ⊆ f0; 1g is polyno- ∗ the sequence, then there must be a language so much dense mial time reducible to a language L2 ⊆ f0; 1g , written such that its complement is sparse. Fortunately, we find this L1 ≤p L2, if there is a polynomial time computable function property from a language created with the languages of this f : f0; 1g∗ ! f0; 1g∗ such that for all x 2 f0; 1g∗, sequence. Moreover, we show this too dense language is x 2 L if and only if f(x) 2 L : still NP–complete. Thus, the complement of this language 1 2 remains in coNP–complete, because the complement of every An important complexity class is NP–complete [11]. A lan- NP–complete language is complete for coNP [11]. guage L ⊆ f0; 1g∗ is NP–complete if In this way, we find a sparse language in coNP–complete. • L 2 NP , and As a consequence of Fortune’s theorem, we demonstrate 0 0 • L ≤ L for every L 2 NP . that P is equal to NP . To sum up, we proved there is a p 0 0 sparse complete set for coNP and therefore, we just solved If L is a language such that L ≤p L for some L 2 the P versus NP problem. NP–complete, then L is NP–hard [11]. Moreover, if L 2 NP , then L 2 NP–complete [11]. A principal NP–complete problem is HAM–CYCLE [4]. 4 BASIC DEFINITIONS An instance of the language HAM–CYCLE is a simple Let Σ be a finite alphabet with at least two elements, and let graph G = (V; E) where V is the set of vertices and E ∗ Σ be the set of finite strings over Σ [12]. A Turing machine is the set of edges, each edge being an unordered pair of M has an associated input alphabet Σ [12]. For each string w vertices [4]. We say (u; v) 2 E is an edge in a simple graph ∗ in Σ there is a computation associated with M on input w G = (V; E) where u and v are vertices. A simple graph is an [12]. We say that M accepts w if this computation terminates undirected graph without multiple edges or loops [4]. For a in the accepting state, that is M(w) = \yes" [12]. Note that simple graph G = (V; E) a simple cycle in G is a sequence M w fails to accept either if this computation ends in the of distinct vertices hv0; v1; v2; :::; vki such that (vk; v0) 2 E M(w) = \no" rejecting state, that is , or if the computation and (vi−1; vi) 2 E for i = 1; 2; :::; k [4]. A Hamiltonian fails to terminate [12]. cycle is a simple cycle of the simple graph which contains The language accepted by a Turing machine M, denoted all the vertices of the graph.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages6 Page
-
File Size-