P Versus NP Frank Vega
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Computational Complexity: a Modern Approach
i Computational Complexity: A Modern Approach Draft of a book: Dated January 2007 Comments welcome! Sanjeev Arora and Boaz Barak Princeton University [email protected] Not to be reproduced or distributed without the authors’ permission This is an Internet draft. Some chapters are more finished than others. References and attributions are very preliminary and we apologize in advance for any omissions (but hope you will nevertheless point them out to us). Please send us bugs, typos, missing references or general comments to [email protected] — Thank You!! DRAFT ii DRAFT Chapter 9 Complexity of counting “It is an empirical fact that for many combinatorial problems the detection of the existence of a solution is easy, yet no computationally efficient method is known for counting their number.... for a variety of problems this phenomenon can be explained.” L. Valiant 1979 The class NP captures the difficulty of finding certificates. However, in many contexts, one is interested not just in a single certificate, but actually counting the number of certificates. This chapter studies #P, (pronounced “sharp p”), a complexity class that captures this notion. Counting problems arise in diverse fields, often in situations having to do with estimations of probability. Examples include statistical estimation, statistical physics, network design, and more. Counting problems are also studied in a field of mathematics called enumerative combinatorics, which tries to obtain closed-form mathematical expressions for counting problems. To give an example, in the 19th century Kirchoff showed how to count the number of spanning trees in a graph using a simple determinant computation. Results in this chapter will show that for many natural counting problems, such efficiently computable expressions are unlikely to exist. -
The Complexity Zoo
The Complexity Zoo Scott Aaronson www.ScottAaronson.com LATEX Translation by Chris Bourke [email protected] 417 classes and counting 1 Contents 1 About This Document 3 2 Introductory Essay 4 2.1 Recommended Further Reading ......................... 4 2.2 Other Theory Compendia ............................ 5 2.3 Errors? ....................................... 5 3 Pronunciation Guide 6 4 Complexity Classes 10 5 Special Zoo Exhibit: Classes of Quantum States and Probability Distribu- tions 110 6 Acknowledgements 116 7 Bibliography 117 2 1 About This Document What is this? Well its a PDF version of the website www.ComplexityZoo.com typeset in LATEX using the complexity package. Well, what’s that? The original Complexity Zoo is a website created by Scott Aaronson which contains a (more or less) comprehensive list of Complexity Classes studied in the area of theoretical computer science known as Computa- tional Complexity. I took on the (mostly painless, thank god for regular expressions) task of translating the Zoo’s HTML code to LATEX for two reasons. First, as a regular Zoo patron, I thought, “what better way to honor such an endeavor than to spruce up the cages a bit and typeset them all in beautiful LATEX.” Second, I thought it would be a perfect project to develop complexity, a LATEX pack- age I’ve created that defines commands to typeset (almost) all of the complexity classes you’ll find here (along with some handy options that allow you to conveniently change the fonts with a single option parameters). To get the package, visit my own home page at http://www.cse.unl.edu/~cbourke/. -
Algorithms & Computational Complexity
Computational Complexity O ΩΘ Russell Buehler January 5, 2015 2 Chapter 1 Preface What follows are my personal notes created during my undergraduate algorithms course and later an independent study under Professor Holliday as a graduate student. I am not a complexity theorist; I am a graduate student with some knowledge who is–alas–quite fallible. Accordingly, this text is made available as a convenient reference, set of notes, and summary, but without even the slightest hint of a guarantee that everything contained within is factual and correct. This said, if you find an error, I would much appreciate it if you let me know so that it can be corrected. 3 4 CHAPTER 1. PREFACE Contents 1 Preface 3 2 A Brief Review of Algorithms 1 2.1 Algorithm Analysis............................................1 2.1.1 O-notation............................................1 2.2 Common Structures............................................3 2.2.1 Graphs..............................................3 2.2.2 Trees...............................................4 2.2.3 Networks.............................................4 2.3 Algorithms................................................6 2.3.1 Greedy Algorithms........................................6 2.3.2 Dynamic Programming...................................... 10 2.3.3 Divide and Conquer....................................... 12 2.3.4 Network Flow.......................................... 15 2.4 Data Structures.............................................. 17 3 Deterministic Computation 19 3.1 O-Notation............................................... -
Complexity Theory in Computer Science Pdf
Complexity theory in computer science pdf Continue Complexity is often used to describe an algorithm. One could hear something like my sorting algorithm working in n2n'2n2 time in complexity, it's written as O (n2)O (n'2)O (n2) and polynomial work time. Complexity is used to describe the use of resources in algorithms. In general, the resources of concern are time and space. The complexity of the algorithm's time is the number of steps it must take to complete. The cosmic complexity of the algorithm represents the amount of memory the algorithm needs to work. The complexity of the algorithm's time describes how many steps the algorithm should take with regard to input. If, for example, each of the nnn elements entered only works once, this algorithm will take time O'n)O(n)O(n). If, for example, the algorithm has to work on one input element (regardless of input size), it is a constant time, or O(1)O(1)O(1), the algorithm, because regardless of the size of the input, only one is done. If the algorithm performs nnn-operations for each of the nnn elements injected into the algorithm, then this algorithm is performed in time O'n2)O (n2). In the design and analysis of algorithms, there are three types of complexities that computer scientists think: the best case, the worst case, and the complexity of the average case. The best, worst and medium complexity complexity can describe the time and space this wiki will talk about in terms of the complexity of time, but the same concepts can be applied to the complexity of space. -
LSPACE VS NP IS AS HARD AS P VS NP 1. Introduction in Complexity
LSPACE VS NP IS AS HARD AS P VS NP FRANK VEGA Abstract. The P versus NP problem is a major unsolved problem in com- puter science. This consists in knowing the answer of the following question: Is P equal to NP? Another major complexity classes are LSPACE, PSPACE, ESPACE, E and EXP. Whether LSPACE = P is a fundamental question that it is as important as it is unresolved. We show if P = NP, then LSPACE = NP. Consequently, if LSPACE is not equal to NP, then P is not equal to NP. According to Lance Fortnow, it seems that LSPACE versus NP is easier to be proven. However, with this proof we show this problem is as hard as P versus NP. Moreover, we prove the complexity class P is not equal to PSPACE as a direct consequence of this result. Furthermore, we demonstrate if PSPACE is not equal to EXP, then P is not equal to NP. In addition, if E = ESPACE, then P is not equal to NP. 1. Introduction In complexity theory, a function problem is a computational problem where a single output is expected for every input, but the output is more complex than that of a decision problem [6]. A functional problem F is defined as a binary relation (x; y) 2 R over strings of an arbitrary alphabet Σ: R ⊂ Σ∗ × Σ∗: A Turing machine M solves F if for every input x such that there exists a y satisfying (x; y) 2 R, M produces one such y, that is M(x) = y [6]. -
User's Guide for Complexity: a LATEX Package, Version 0.80
User’s Guide for complexity: a LATEX package, Version 0.80 Chris Bourke April 12, 2007 Contents 1 Introduction 2 1.1 What is complexity? ......................... 2 1.2 Why a complexity package? ..................... 2 2 Installation 2 3 Package Options 3 3.1 Mode Options .............................. 3 3.2 Font Options .............................. 4 3.2.1 The small Option ....................... 4 4 Using the Package 6 4.1 Overridden Commands ......................... 6 4.2 Special Commands ........................... 6 4.3 Function Commands .......................... 6 4.4 Language Commands .......................... 7 4.5 Complete List of Class Commands .................. 8 5 Customization 15 5.1 Class Commands ............................ 15 1 5.2 Language Commands .......................... 16 5.3 Function Commands .......................... 17 6 Extended Example 17 7 Feedback 18 7.1 Acknowledgements ........................... 19 1 Introduction 1.1 What is complexity? complexity is a LATEX package that typesets computational complexity classes such as P (deterministic polynomial time) and NP (nondeterministic polynomial time) as well as sets (languages) such as SAT (satisfiability). In all, over 350 commands are defined for helping you to typeset Computational Complexity con- structs. 1.2 Why a complexity package? A better question is why not? Complexity theory is a more recent, though mature area of Theoretical Computer Science. Each researcher seems to have his or her own preferences as to how to typeset Complexity Classes and has built up their own personal LATEX commands file. This can be frustrating, to say the least, when it comes to collaborations or when one has to go through an entire series of files changing commands for compatibility or to get exactly the look they want (or what may be required). -
The Classes FNP and TFNP
Outline The classes FNP and TFNP C. Wilson1 1Lane Department of Computer Science and Electrical Engineering West Virginia University Christopher Wilson Function Problems Outline Outline 1 Function Problems defined What are Function Problems? FSAT Defined TSP Defined 2 Relationship between Function and Decision Problems RL Defined Reductions between Function Problems 3 Total Functions Defined Total Functions Defined FACTORING HAPPYNET ANOTHER HAMILTON CYCLE Christopher Wilson Function Problems Outline Outline 1 Function Problems defined What are Function Problems? FSAT Defined TSP Defined 2 Relationship between Function and Decision Problems RL Defined Reductions between Function Problems 3 Total Functions Defined Total Functions Defined FACTORING HAPPYNET ANOTHER HAMILTON CYCLE Christopher Wilson Function Problems Outline Outline 1 Function Problems defined What are Function Problems? FSAT Defined TSP Defined 2 Relationship between Function and Decision Problems RL Defined Reductions between Function Problems 3 Total Functions Defined Total Functions Defined FACTORING HAPPYNET ANOTHER HAMILTON CYCLE Christopher Wilson Function Problems Function Problems What are Function Problems? Function Problems FSAT Defined Total Functions TSP Defined Outline 1 Function Problems defined What are Function Problems? FSAT Defined TSP Defined 2 Relationship between Function and Decision Problems RL Defined Reductions between Function Problems 3 Total Functions Defined Total Functions Defined FACTORING HAPPYNET ANOTHER HAMILTON CYCLE Christopher Wilson Function Problems Function -
Total Functions in the Polynomial Hierarchy 11
Electronic Colloquium on Computational Complexity, Report No. 153 (2020) TOTAL FUNCTIONS IN THE POLYNOMIAL HIERARCHY ROBERT KLEINBERG∗, DANIEL MITROPOLSKYy, AND CHRISTOS PAPADIMITRIOUy Abstract. We identify several genres of search problems beyond NP for which existence of solutions is guaranteed. One class that seems especially rich in such problems is PEPP (for “polynomial empty pigeonhole principle”), which includes problems related to existence theorems proved through the union bound, such as finding a bit string that is far from all codewords, finding an explicit rigid matrix, as well as a problem we call Complexity, capturing Complexity Theory’s quest. When the union bound is generous, in that solutions constitute at least a polynomial fraction of the domain, we have a family of seemingly weaker classes α-PEPP, which are inside FPNPjpoly. Higher in the hierarchy, we identify the constructive version of the Sauer- Shelah lemma and the appropriate generalization of PPP that contains it. The resulting total function hierarchy turns out to be more stable than the polynomial hierarchy: it is known that, under oracles, total functions within FNP may be easy, but total functions a level higher may still be harder than FPNP. 1. Introduction The complexity of total functions has emerged over the past three decades as an intriguing and productive branch of Complexity Theory. Subclasses of TFNP, the set of all total functions in FNP, have been defined and studied: PLS, PPP, PPA, PPAD, PPADS, and CLS. These classes are replete with natural problems, several of which turned out to be complete for the corresponding class, see e.g. -
Optimisation Function Problems FNP and FP
Complexity Theory 99 Complexity Theory 100 Optimisation The Travelling Salesman Problem was originally conceived of as an This is still reasonable, as we are establishing the difficulty of the optimisation problem problems. to find a minimum cost tour. A polynomial time solution to the optimisation version would give We forced it into the mould of a decision problem { TSP { in order a polynomial time solution to the decision problem. to fit it into our theory of NP-completeness. Also, a polynomial time solution to the decision problem would allow a polynomial time algorithm for finding the optimal value, CLIQUE Similar arguments can be made about the problems and using binary search, if necessary. IND. Anuj Dawar May 21, 2007 Anuj Dawar May 21, 2007 Complexity Theory 101 Complexity Theory 102 Function Problems FNP and FP Still, there is something interesting to be said for function problems A function which, for any given Boolean expression φ, gives a arising from NP problems. satisfying truth assignment if φ is satisfiable, and returns \no" Suppose otherwise, is a witness function for SAT. L = fx j 9yR(x; y)g If any witness function for SAT is computable in polynomial time, where R is a polynomially-balanced, polynomial time decidable then P = NP. relation. If P = NP, then for every language in NP, some witness function is A witness function for L is any function f such that: computable in polynomial time, by a binary search algorithm. • if x 2 L, then f(x) = y for some y such that R(x; y); P = NP if, and only if, FNP = FP • f(x) = \no" otherwise. -
On Total Functions, Existence Theorems and Computational Complexity
Theoretical Computer Science 81 (1991) 317-324 Elsevier Note On total functions, existence theorems and computational complexity Nimrod Megiddo IBM Almaden Research Center, 650 Harry Road, Sun Jose, CA 95120-6099, USA, and School of Mathematical Sciences, Tel Aviv University, Tel Aviv, Israel Christos H. Papadimitriou* Computer Technology Institute, Patras, Greece, and University of California at Sun Diego, CA, USA Communicated by M. Nivat Received October 1989 Abstract Megiddo, N. and C.H. Papadimitriou, On total functions, existence theorems and computational complexity (Note), Theoretical Computer Science 81 (1991) 317-324. wondeterministic multivalued functions with values that are polynomially verifiable and guaran- teed to exist form an interesting complexity class between P and NP. We show that this class, which we call TFNP, contains a host of important problems, whose membership in P is currently not known. These include, besides factoring, local optimization, Brouwer's fixed points, a computa- tional version of Sperner's Lemma, bimatrix equilibria in games, and linear complementarity for P-matrices. 1. The class TFNP Let 2 be an alphabet with two or more symbols, and suppose that R G E*x 2" is a polynomial-time recognizable relation which is polynomially balanced, that is, (x,y) E R implies that lyl sp(lx()for some polynomial p. * Research supported by an ESPRIT Basic Research Project, a grant to the Universities of Patras and Bonn by the Volkswagen Foundation, and an NSF Grant. Research partially performed while the author was visiting the IBM Almaden Research Center. 0304-3975/91/$03.50 @ 1991-Elsevier Science Publishers B.V. -
Finding Diverse and Similar Solutions in Constraint Programming
Finding Diverse and Similar Solutions in Constraint Programming Emmanuel Hebrard Brahim Hnich Barry O’Sullivan Toby Walsh NICTA and UNSW University College Cork University College Cork NICTA and UNSW Sydney, Australia Ireland Ireland Sydney, Australia [email protected] [email protected] [email protected] [email protected] Abstract Parkes, & Roy 1998). Finally, suppose you are trying to ac- It is useful in a wide range of situations to find solutions quire constraints interactively. You ask the user to look at which are diverse (or similar) to each other. We therefore solutions and propose additional constraints to rule out in- define a number of different classes of diversity and simi- feasible or undesirable solutions. To speed up this process, larity problems. For example, what is the most diverse set it may help if each solution is as different as possible from of solutions of a constraint satisfaction problem with a given previously seen solutions. cardinality? We first determine the computational complexity In this paper, we introduce several new problems classes, of these problems. We then propose a number of practical so- each focused on a similarity or diversity problem associated lution methods, some of which use global constraints for en- with a NP-hard problems like constraint satisfaction. We forcing diversity (or similarity) between solutions. Empirical distinguish between offline diversity and similarity problems evaluation on a number of problems show promising results. (where we compute the whole set of solutions at once) and their online counter-part (where we compute solutions in- Introduction crementally). -
Counting Below #P: Classes, Problems and Descriptive Complexity
Msc Thesis Counting below #P : Classes, problems and descriptive complexity Angeliki Chalki µΠλ8 Graduate Program in Logic, Algorithms and Computation National and Kapodistrian University of Athens Supervised by Aris Pagourtzis Advisory Committee Dimitris Fotakis Aris Pagourtzis Stathis Zachos September 2016 Abstract In this thesis, we study counting classes that lie below #P . One approach, the most regular in Computational Complexity Theory, is the machine-based approach. Classes like #L, span-L [1], and T otP ,#PE [38] are defined establishing space and time restrictions on Turing machine's computational resources. A second approach is Descriptive Complexity's approach. It characterizes complexity classes by the type of logic needed to express the languages in them. Classes deriving from this viewpoint, like #FO [44], #RHΠ1 [16], #RΣ2 [44], are equivalent to #P , the class of AP - interriducible problems to #BIS, and some subclass of the problems owning an FPRAS respectively. A great objective of such an investigation is to gain an understanding of how “efficient counting" relates to these already defined classes. By “efficient counting" we mean counting solutions of a problem using a polynomial time algorithm or an FPRAS. Many other interesting properties of the classes considered and their problems have been examined. For example alternative definitions of counting classes using relation-based op- erators, and the computational difficulty of complete problems, since complete problems capture the difficulty of the corresponding class. Moreover, in Section 3.5 we define the log- space analog of the class T otP and explore how and to what extent results can be transferred from polynomial time to logarithmic space computation.