Complexity Theory: the P Vs NP Question

Total Page:16

File Type:pdf, Size:1020Kb

Complexity Theory: the P Vs NP Question 12/1/2009 The $1M question The Clay Mathematics Institute Complexity Theory: Millenium Prize Problems The P vs NP question 1. Birch and Swinnerton-Dyer Conjecture 2. Hodge Conjecture Lecture 28 (December 1, 2009) 3. Navier-Stokes Equations 4. P vs NP 5. Poincaré Conjecture 6. Riemann Hypothesis 7. Yang-Mills Theory Princeton CS Building XKCD PPP 1 0 1 0 0 0 0 === 0 1 1 1 1 0 1 NNN 1 0 0 1 1 1 0 PPP 1 0 1 0 0 0 0 ??? 0 1 1 1 1 1 1 The P versus NP problem Is perhaps one of the biggest open problems in computer science (and mathematics!) today. (Even featured in the TV show NUMB3RS) But what is the P-NP problem? 1 12/1/2009 Sudoku 3x3x3 Sudoku Sudoku 3x3x3 4x4x4 Sudoku Sudoku Suppose it takes you S(n) to solve n x n x n V(n) time to verify the solution Fact: V(n) = O(n 2 x n 2) Question: is there some constant such that constant ... S(n) ≤ n ? 4x4x4 n x n x n 2 12/1/2009 Sudoku The P versus NP problem P vs NP problem (informally) = Is proving a theorem much more difficult Does there exist an than checking the proof of a theorem? algorithm for n x n x n Sudoku that runs in time p(n) for some polynomial p( ) ? ... n x n x n Hamilton Cycle Given a graph G = (V,E), a cycle that visits all the nodes exactly once Let’s start at the beginning… The Problem “HAM” Circuit-Satisfiability Input: A circuit C with one output Input: Graph G = (V,E) Output: YES if C is satisfiable Output: YES if G has a Hamilton cycle NO if C is not satisfiable NO if G has no Hamilton cycle The Set “HAM” AND NOT HAM = { graph G | G has a Hamilton cycle } AND 3 12/1/2009 Bipartite Matching Input: A bipartite graph G = (U,V,E) The Set “SAT” Output: YES if G has a perfect matching SAT = { all satisfiable circuits C } NO if G does not Sudoku Input: n x n x n sudoku instance The Set “BI-MATCH” Output: YES if this sudoku has a solution BI-MATCH = { all bipartite graphs that have a NO if it does not perfect matching } The Set “SUDOKU” SUDOKU = { All solvable sudoku instances } Reducing Search to Decision Decision Versus Search Problems Given an algorithm for decision Sudoku, Decision Problem Search Problem devise an algorithm to find a solution YES/NO answers Find a Hamilton cycle Idea: Does G have a in G if one exists, Fill in one-by-one and Hamilton cycle? else return NO use decision algorithm Find a 3-coloring of Can G be G if one exists, else 3-colored ? return NO 4 12/1/2009 Reducing Search to Decision Given an algorithm for decision HAM, Decision/Search Problems devise an algorithm to find a solution We’ll study decision problems because Idea: they are almost the same (asymptotically) Find the edges of the as their search counterparts cycle one by one What is an efficient algorithm? Is an O(n) algorithm efficient? Polynomial Time and How about O(n log n)? polynomial time The Class “P” of O(n 2) ? O(n c) for some constant c Decision Problems O(n 10 ) ? O(n log n ) ? non-polynomial O(2 n) ? time O(n!) ? Does an algorithm running in O(n 100 ) time count as efficient? Asking for a poly-time algorithm for a We consider non-polynomial time problem sets a (very) low bar when asking algorithms to be inefficient. for efficient algorithms. And hence a necessary condition for an The question is: can we achieve even this algorithm to be efficient is that it should for 3-coloring? run in poly-time. SAT? Sudoku? 5 12/1/2009 The Class P The Class P We say a subset L of Σ* is in P if there is a program A and a polynomial p() The class of all sets L that can be recognized in polynomial time. such that for any x in Σ*, The class of all decision problems that A(x) runs for at most p(|x|) time can be decided in polynomial time. and answers question “is x in L?” correctly. Languages/Functions in P? Example 1: CONN = {graph G: G is a connected graph} Why are we looking only at sets ⊆ Σ*? Algorithm A 1: What if we want to work with graphs or If G has n nodes, then run depth first search boolean formulas? from any node, and count number of distinct node you see. If you see n nodes, G ∈ CONN, else not. Θ Time: p1(|x|) = (|x|). Languages/Functions in P? HAM, SUDOKU, SAT are not known to be in P Onto the new class, NP CO-HAM = { G | G does NOT have a Hamilton cycle} CO-HAM ∈ P if and only if HAM ∈ P 6 12/1/2009 Verifying Membership NP A set L ∈ NP Is there a short “proof” I can give you for: if there exists an algorithm A and a polynomial p( ) G ∈ HAM? For all x ∈ L For all x ′ ∉ L ∈ G BI-MATCH? there exists y with For all y ′ with |y| ≤ p(|x|) |y ′| ≤ p(|x ′|) G ∈ SAT? such that A(x,y) = YES we have A(x ′,y ′) = NO ∈ G CO-HAM? in p(|x|) time in p(|x|) time Recall the Class P NP A set L ∈ NP We say a set L ⊆ Σ* is in P if there is if there exists an algorithm A and a a program A and polynomial p( ) a polynomial p() For all x ∈ L For all x ′ ∉ L such that for any x in Σ*, there exists a y with For all y ′ with A(x) runs for at most p(|x|) time |y| ≤ p(|x|) |y ′| ≤ p(|x ′|) and answers question “is x in L?” correctly. such that A(x,y) = YES we have A(x ′,y ′) = NO can think of A as “proving” that x is in L in p(|x|) time in p(|x|) time The Class NP P ⊆ NP The class of sets L for which there exist For any L in P, we can just take y to be the “short” proofs of membership empty string and satisfy the requirements. (of polynomial length) that can “quickly” verified Hence, every language in P is also in NP. (in polynomial time) . Recall: A doesn’t have to find these proofs y; it just needs to be able to verify that y is a “correct” proof. 7 12/1/2009 Summary: P versus NP Languages/Functions in NP? Set L is in P if membership in L can be decided in poly-time. G ∈ HAM? Set L is in NP if each x in L has a short “proof G ∈ BI-MATCH? of membership” that can be verified in poly- time. G ∈ SAT? Fact: P ⊆ NP G ∈ CO-HAM? Question: Does NP ⊆ P ? NP Contains Lots of Problems We Don’t Know to be in P Classroom Scheduling Why Care? Packing objects into bins Scheduling jobs on machines Finding cheap tours visiting a subset of cities Allocating variables to registers Finding good packet routings in networks Decryption … How can we prove that NP ⊆ P? OK, OK, I care... I would have to show that every set in NP has a But where do I begin polynomial time algorithm… if I want to reason about How do I do that? the P=NP problem? It may take a long time! Also, what if I forgot one of the sets in NP? 8 12/1/2009 We can describe just one problem L in NP, such that if this problem L is in P, The “Hardest” Set in NP then NP ⊆ P. It is a problem that can capture all other problems in NP. Sudoku The “Hardest” Sets in NP Sudoku Clique Sudoku has a polynomial time SAT Independent-Set algorithm 3-Colorability HAM if and only if P = NP These problems are all “polynomial-time equivalent”. ... I.e., each of these can be reduced to any n x n x n of the others in poly-time “Poly-time reducible to each other” Reducing problem Y to problem X in poly-time F is poly-time How do you prove these computable Answer are the hardest? Instance Instance I Y of IX = F(I Y ) of problem Y problem X Answer Oracle for Oracle for problem Y problem X 9 12/1/2009 Theorem [Cook/Levin]: Last lecture… 3-colorability Circuit Satisfiability SAT is one language in NP, such that if we can show SAT is in P, then we have shown NP ⊆ P. AND NOT SAT is a language in NP that can capture all other languages in NP. AND We say SAT is NP-complete. Last lecture… Any language in NP can be reduced SAT and 3COLOR: Two problems that seem (in polytime to) quite different, but are substantially the an instance of same. SAT hence SAT is NP-complete Also substantially the same as CLIQUE and can be reduced (in polytime to) INDEPENDENT SET. (Homework) an instance of If you get a polynomial-time algorithm for one, 3COLOR hence 3COLOR is NP-complete you get a polynomial-time algorithm for ALL. Definition of P and NP Definition of problems SAT, 3-COLOR, HAM, SUDOKU, BI-MATCH SAT, 3-COLOR, HAM, SUDOKU all essentially equivalent. Here’s What Solve any one in poly-time You Need to ⇒ solve all of them in poly-time Know… 10.
Recommended publications
  • The Top Eight Misconceptions About NP- Hardness
    The top eight misconceptions about NP- hardness Zoltán Ádám Mann Budapest University of Technology and Economics Department of Computer Science and Information Theory Budapest, Hungary Abstract: The notions of NP-completeness and NP-hardness are used frequently in the computer science literature, but unfortunately, often in a wrong way. The aim of this paper is to show the most wide-spread misconceptions, why they are wrong, and why we should care. Keywords: F.1.3 Complexity Measures and Classes; F.2 Analysis of Algorithms and Problem Complexity; G.2.1.a Combinatorial algorithms; I.1.2.c Analysis of algorithms Published in IEEE Computer, volume 50, issue 5, pages 72-79, May 2017 1. Introduction Recently, I have been working on a survey about algorithmic approaches to virtual machine allocation in cloud data centers [11]. While doing so, I was shocked (again) to see how often the notions of NP-completeness or NP-hardness are used in a faulty, inadequate, or imprecise way in the literature. Here is an example from an – otherwise excellent – paper that appeared recently in IEEE Transactions on Computers, one of the most prestigious journals of the field: “Since the problem is NP-hard, no polynomial time optimal algorithm exists.” This claim, if it were shown to be true, would finally settle the famous P versus NP problem, which is one of the seven Millenium Prize Problems [10]; thus correctly solving it would earn the authors 1 million dollars. But of course, the authors do not attack this problem; the above claim is just an error in the paper.
    [Show full text]
  • 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/.
    [Show full text]
  • 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].
    [Show full text]
  • QP Versus NP
    QP versus NP Frank Vega Joysonic, Belgrade, Serbia [email protected] Abstract. Given an instance of XOR 2SAT and a positive integer 2K , the problem exponential exclusive-or 2-satisfiability consists in deciding whether this Boolean formula has a truth assignment with at leat K satisfiable clauses. We prove exponential exclusive-or 2-satisfiability is in QP and NP-complete. In this way, we show QP ⊆ NP . Keywords: Complexity Classes · Completeness · Logarithmic Space · Nondeterministic · XOR 2SAT. 1 Introduction The P versus NP problem is a major unsolved problem in computer science [4]. This is considered by many to be the most important open problem in the field [4]. 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 [4]. It was essentially mentioned in 1955 from a letter written by John Nash to the United States National Security Agency [1]. However, the precise statement of the P = NP problem was introduced in 1971 by Stephen Cook in a seminal paper [4]. In 1936, Turing developed his theoretical computational model [14]. The deterministic and nondeterministic Turing machines have become in two of the most important definitions related to this theoretical model for computation [14]. A deterministic Turing machine has only one next action for each step defined in its program or transition function [14]. A nondeterministic Turing machine could contain more than one action defined for each step of its program, where this one is no longer a function, but a relation [14].
    [Show full text]
  • A Short History of Computational Complexity
    The Computational Complexity Column by Lance FORTNOW NEC Laboratories America 4 Independence Way, Princeton, NJ 08540, USA [email protected] http://www.neci.nj.nec.com/homepages/fortnow/beatcs Every third year the Conference on Computational Complexity is held in Europe and this summer the University of Aarhus (Denmark) will host the meeting July 7-10. More details at the conference web page http://www.computationalcomplexity.org This month we present a historical view of computational complexity written by Steve Homer and myself. This is a preliminary version of a chapter to be included in an upcoming North-Holland Handbook of the History of Mathematical Logic edited by Dirk van Dalen, John Dawson and Aki Kanamori. A Short History of Computational Complexity Lance Fortnow1 Steve Homer2 NEC Research Institute Computer Science Department 4 Independence Way Boston University Princeton, NJ 08540 111 Cummington Street Boston, MA 02215 1 Introduction It all started with a machine. In 1936, Turing developed his theoretical com- putational model. He based his model on how he perceived mathematicians think. As digital computers were developed in the 40's and 50's, the Turing machine proved itself as the right theoretical model for computation. Quickly though we discovered that the basic Turing machine model fails to account for the amount of time or memory needed by a computer, a critical issue today but even more so in those early days of computing. The key idea to measure time and space as a function of the length of the input came in the early 1960's by Hartmanis and Stearns.
    [Show full text]
  • Notes for Lecture 1
    Stanford University | CS254: Computational Complexity Notes 1 Luca Trevisan January 7, 2014 Notes for Lecture 1 This course assumes CS154, or an equivalent course on automata, computability and computational complexity, as a prerequisite. We will assume that the reader is familiar with the notions of algorithm, running time, and of polynomial time reduction, as well as with basic notions of discrete math and probability. We will occasionally refer to Turing machines. In this lecture we give an (incomplete) overview of the field of Computational Complexity and of the topics covered by this course. Computational complexity is the part of theoretical computer science that studies 1. Impossibility results (lower bounds) for computations. Eventually, one would like the theory to prove its major conjectured lower bounds, and in particular, to prove Conjecture 1P 6= NP, implying that thousands of natural combinatorial problems admit no polynomial time algorithm 2. Relations between the power of different computational resources (time, memory ran- domness, communications) and the difficulties of different modes of computations (exact vs approximate, worst case versus average-case, etc.). A representative open problem of this type is Conjecture 2P = BPP, meaning that every polynomial time randomized algorithm admits a polynomial time deterministic simulation. Ultimately, one would like complexity theory to not only answer asymptotic worst-case complexity questions such as the P versus NP problem, but also address the complexity of specific finite-size instances, on average as well as in worst-case. Ideally, the theory would be eventually able to prove results such as • The smallest boolean circuit that solves 3SAT on formulas with 300 variables has size more than 270, or • The smallest boolean circuit that can factor more than half of the 2000-digit integers, has size more than 280.
    [Show full text]
  • The P Versus Np Problem
    THE P VERSUS NP PROBLEM STEPHEN COOK 1. Statement of the Problem The P versus NP problem is to determine whether every language accepted by some nondeterministic algorithm in polynomial time is also accepted by some (deterministic) algorithm in polynomial time. To define the problem precisely it is necessary to give a formal model of a computer. The standard computer model in computability theory is the Turing machine, introduced by Alan Turing in 1936 [37]. Although the model was introduced before physical computers were built, it nevertheless continues to be accepted as the proper computer model for the purpose of defining the notion of computable function. Informally the class P is the class of decision problems solvable by some algorithm within a number of steps bounded by some fixed polynomial in the length of the input. Turing was not concerned with the efficiency of his machines, rather his concern was whether they can simulate arbitrary algorithms given sufficient time. It turns out, however, Turing machines can generally simulate more efficient computer models (for example, machines equipped with many tapes or an unbounded random access memory) by at most squaring or cubing the computation time. Thus P is a robust class and has equivalent definitions over a large class of computer models. Here we follow standard practice and define the class P in terms of Turing machines. Formally the elements of the class P are languages. Let Σ be a finite alphabet (that is, a finite nonempty set) with at least two elements, and let Σ∗ be the set of finite strings over Σ.
    [Show full text]
  • Notes for Lecture Notes 2 1 Computational Problems
    Stanford University | CS254: Computational Complexity Notes 2 Luca Trevisan January 11, 2012 Notes for Lecture Notes 2 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation for search problems is equivalent to its formulation for decision problems, and we prove the time hierarchy theorem, which remains essentially the only known theorem which allows to show that certain problems are not in P. 1 Computational Problems In a computational problem, we are given an input that, without loss of generality, we assume to be encoded over the alphabet f0; 1g, and we want to return as output a solution satisfying some property: a computational problem is then described by the property that the output has to satisfy given the input. In this course we will deal with four types of computational problems: decision problems, search problems, optimization problems, and counting problems.1 For the moment, we will discuss decision and search problem. In a decision problem, given an input x 2 f0; 1g∗, we are required to give a YES/NO answer. That is, in a decision problem we are only asked to verify whether the input satisfies a certain property. An example of decision problem is the 3-coloring problem: given an undirected graph, determine whether there is a way to assign a \color" chosen from f1; 2; 3g to each vertex in such a way that no two adjacent vertices have the same color. A convenient way to specify a decision problem is to give the set L ⊆ f0; 1g∗ of inputs for which the answer is YES.
    [Show full text]
  • Classification of Multiplicity-Free Kronecker Products
    Classification of Multiplicity-Free Kronecker Products Christine Bessenrodt (Leibniz University Hannover) Jeffrey Remmel (University of California, San Diego) Stephanie van Willigenburg (University of British Columbia) and Sami Assaf (University of Southern California) Christopher Bowman (City University London) Angela Hicks (Stanford University) Vasu Tewari (University of British Columbia) May 10–May 17 2015 1 Overview of the Field Schur functions have been a central area of research dating from the time of Cauchy in 1815 (bialternants [7]) to the present day work of Field’s medallists such as Tao (the hive model [8]) and Okounkov (Schur positivity [9]). This is due to their ubiquitous nature in mathematics and beyond. Schur functions are labelled by weakly decreasing sequences of positive integers, called partitions. Given two Schur functions, they can be ‘multiplied’ in three different ways: outer product, inner product, and plethysm. We wish to understand the coefficients that arise in expanding such a product with respect to the basis of Schur functions. The outer product is the most well understood, the coefficients arising are the Littlewood–Richardson coefficients and there is an efficient combinatorial description of these coefficients, called the Littlewood– Richardson rule. In the case of the inner and plethysm products, the coefficients are called the Kronecker and plethysm coefficients respectively, and they are substantially more difficult to understand. The determi- nation of the classical Clebsch-Gordan coefficients arising in the decomposition of tensor products amounts in the case of the symmetric groups to a search for an efficient combinatorial description of the Kronecker coefficients; it is one of the central problems of algebraic combinatorics today.
    [Show full text]
  • Knowledge, Creativity and P Versus NP
    Knowledge, Creativity and P versus NP Avi Wigderson April 11, 2009 Abstract The human quest for efficiency is ancient and universal. Computa- tional Complexity Theory is the mathematical study of the efficiency requirements of computational problems. In this note we attempt to convey the deep implications and connections of the results and goals of computational complexity, to the understanding of the most basic and general questions in science and technology. In particular, we will explain the P versus NP question of computer science, and explain the consequences of its possible resolution, P = NP or P 6= NP , to the power and security of computing, the human quest for knowledge, and beyond. The connection rests on formalizing the role of creativity in the discovery process. The seemingly abstract, philosophical question: Can creativity be automated? in its concrete, mathematical form: Does P = NP ?, emerges as a central challenge of science. And the basic notions of space and time, studied as resources of efficient computation, emerge as key objects of study to solving this mystery, just like their physical counterparts hold the key to understanding the laws of nature. This article is prepared for non-specialists, so we attempt to be as non-technical as possible. Thus we focus on the intuitive, high level meaning of central definitions of computational notions. Necessarily, we will be sweeping many technical issues under the rug, and be content that the general picture painted here remains valid when these are carefully examined. Formal, mathematical definitions, as well as better historical account and more references to original works, can be found in any textbook, e.g.
    [Show full text]
  • Algorithm for P Versus NP Problem on Sets by JEEVAN – KUSHALAIAH Method
    International Journal of Computer Applications Technology and Research Volume 2– Issue 5, 526 - 529, 2013, ISSN: 2319–8656 Algorithm for P versus NP Problem on Sets by JEEVAN – KUSHALAIAH Method Neelam Jeevan Kumar Electrical and Electronics Engineering, JNTU Hyderabad Rangashaipet, Warangal, Andhra Pradesh, India. Abstract: P versus NP [1-2] Problems are one of the most important open questions in mathematics and theoretical computer science. Jeevan – Kushalaiah Method is a method to find the possible number of combinations between n-elements. This article explains about Algorithm to solve subset sum problem quickly and easily. The problems on subset sum problems perform arithmetic operations that can be calculated in terms of exponential time - polynomial time. Major part of the article deals with Class-P type problems which in be solved on a deterministic Turing Machine. This article is mainly prepared on the basis of an article in Wikipedia. Keywords: Jeevan-Kushalaiah Method; Jeevan – Kushalaiah Algorithm; Time Complexity; Exponential Time; Polynomial Time; 1. INTRODUCTION 2. JEEVAN – KUSHALAIAH METHOD In computational complexity theory an answer to Jeevan – Kushalaiah Method [5] is a method to the P = NP [3-4] question would determine whether know possible different combinations between n- problems that can be verified in polynomial time, like elements (either elements are constants or variables). the subset-sum problem, can also be solved in Let there are n-elements a1, a2, a3 … an exponential- polynomial time. If it turned out that P ≠ NP, it would mean that there are problems in NP (such The possible number of Combinations are in sets as NP-complete problems) that are harder to compute with addition operation are, N than to verify: they could not be solved in polynomial N= a a a a a +a , a +a , a + time, but the answer could be verified in polynomial {0,[( 1),( 2),( 3),….( 2)],[( 1 2) ( 1 3) ( 1 time.
    [Show full text]
  • Arxiv:1811.06787V2 [Cs.CC] 23 Jan 2021
    PRAMs over integers do not compute maxflow efficiently Luc Pellissier, University Paris Est Creteil Thomas Seiller, CNRS [email protected] [email protected] January 26, 2021 Abstract This paper presents a new semantic method for proving lower bounds in computational complexity. We use it to prove that maxflow, a Ptime complete problem, is not computable in polylogarithmic time on parallel random access machines (prams) working with integers, showing that NCZ 6= Ptime, where NCZ is the complexity class defined by such machines, and Ptime is the standard class of polynomial time computable problems (on, say, a Turing machine). On top of showing this new separation result, we show our method captures previous lower bounds results from the literature: Steele and Yao’s lower bounds for algebraic decision trees [30], Ben-Or’s lower bounds for algebraic computation trees [4], Cucker’s proof that NCR is not equal to PtimeR [10], and Mulmuley’s lower bounds for “prams without bit operations” [20]. arXiv:1811.06787v2 [cs.CC] 23 Jan 2021 1 Contents 1 Introduction 3 2 Contents of the paper 5 3 Programs as Dynamical systems 9 4 Algebraic models of computations as amcs 12 5 Entropy and Cells 18 6 First lower bounds 21 7 Refining the method 23 8 Recovering Ben Or and Cucker’s theorems 26 9 Algebraic surfaces for an optimization problem 28 10 Improving Mulmuley’s result 32 2 1 Introduction 1.1 Computational Complexity The field of computational complexity was initiated soon after the conception of the first computers. While theoretical results had already established a definition of the notion of "computable function" on the set of natural numbers, it became quickly apparent that computable did not mean practical, as many functions considered computable could not be computed within a reasonable time.
    [Show full text]