NP-Completeness Motivation Efficiency Complexity Classes

Total Page:16

File Type:pdf, Size:1020Kb

NP-Completeness Motivation Efficiency Complexity Classes COMS21103 Motivation I This course is mostly about efficient algorithms and data structures for NP-completeness solving computational problems. (or how to prove that problems are probably hard) I Today we take a break from this and look at whether we can prove that a problem has no efficient algorithm. Ashley Montanaro [email protected] I Why? Proving that a task is impossible can be helpful information, as Department of Computer Science, University of Bristol it stops us from trying to complete it. Bristol, UK 19 November 2013 I During this lecture we’ll take an informal approach to discussing this, and computational complexity in general – see the references at the end for more detail. Ashley Montanaro Ashley Montanaro [email protected] [email protected] COMS21103: Proving problems are hard Slide 1/31 COMS21103: Proving problems are hard Slide 2/31 Efficiency Complexity classes Our first task is to define what we mean by efficiency. I For the rest of this lecture we will restrict to decision problems, i.e. problems with a yes/no answer. I We think of an algorithm as being efficient if it runs in time polynomial in the input size. I When we say “problem”, we really mean a family of problems, rather than just one instance. I That is, if the input is n bits in size, the algorithm should run in time c O(n ) for some constant c which does not depend on the input. Examples of decision problems: I Examples of polynomial-time algorithms include Dijkstra’s algorithm, I CONNECTIVITY: decide whether a graph is connected; Kruskal’s algorithm, and in fact every algorithm you have seen in this I PRIMALITY: decide whether an integer is prime; course so far. I EDIT DISTANCE: given two strings and an integer k, decide whether their edit distance is at most k. I An example of an algorithm which is not polynomial-time: testing whether an integer N is prime by trying to divide it by all integers m The set of decision problems which have algorithms with runtime between 2 and √N. polynomial in the input size is known as P. I As N is specified by O(log N) bits, this algorithm runs in time I So we think of P as the class of decision problems which can be exponential in the input size. solved efficiently. Ashley Montanaro Ashley Montanaro [email protected] [email protected] COMS21103: Proving problems are hard Slide 3/31 COMS21103: Proving problems are hard Slide 4/31 Formalities Reductions One of the most fundamental questions in computer science is to Some notes about formalising this notion (which we’ll largely ignore for the determine which problems are in P. This can be done using the notion of rest of this lecture): reductions. I Imagine we want to solve a problem 1, but only know how to solve I A decision problem can be formally identified with a language, i.e. a L another problem 2. One way to solve 1 is simply to transform it into subset 0, 1 ∗, where 0, 1 ∗ is the set of bit-strings of arbitrary L L L ⊆ { } { } 2. length. L I That is, imagine we have a polynomial-time algorithm which, given an instance of 1, transforms it into an instance of 2 such that the I Each input bit-string x such that x corresponds to an input such L L ∈ L answer on the second instance is “yes” if and only if the answer on the that the answer should be “yes”; all strings x / correspond to inputs ∈ L first instance is “yes”. such that the answer should be “no”. I Then we can use our algorithm for to solve the second instance. L2 I The notion of “algorithm” should also be defined formally, in terms of I We say that reduces to if such a transformation exists. Turing machines. However, we omit the details for this lecture. L1 L2 I If P, and reduces to , then P. L2 ∈ L1 L2 L1 ∈ Ashley Montanaro Ashley Montanaro [email protected] [email protected] COMS21103: Proving problems are hard Slide 5/31 COMS21103: Proving problems are hard Slide 6/31 Verifying solutions to problems Verifying solutions to problems The class of decision problems for which, if the answer is “yes”, we can I There are many problems which we may not know how to solve verify this in time polynomial in the input size is known as NP. efficiently, but for which, if someone claims the answer is yes, we can verify the claim efficiently. I We can think of problems in this class as a game where we are given a proof that the answer is “yes” by an all-powerful wizard, and our job I For example, consider the FACTORISATION problem: given two is to check that the proof is correct. integers n and k, does n have a prime factor less than k? I If the answer is “yes”, we should accept a correct proof; but if the ACTORISATION = I An instance of F : n 820 580 620 832 258 609, answer is “no”, we should not be fooled by any incorrect proof. k = 364 797 008. Is the answer “yes”? I It is clear that P NP, as if we can solve a problem in polynomial ⊆ I If someone claims the answer is “yes”, they can give us the prime time, we can efficiently verify a claimed solution we are given: we just factors of n. We can then easily check whether they multiply together ignore it, and solve the problem ourselves. to give n, and whether one of them is less than k. I But whether or not P = NP (aka the P vs. NP question) is the biggest I Here the answer is indeed yes. unsolved problem in computer science! Ashley Montanaro Ashley Montanaro [email protected] [email protected] COMS21103: Proving problems are hard Slide 7/31 COMS21103: Proving problems are hard Slide 8/31 More on NP NP-hardness and NP-completeness I We say that a decision problem is NP-hard if, for every problem 0 I The initials “NP” stand for Nondeterministic Polynomial (for reasons L L ∈ NP, there is a polynomial-time reduction from 0 to . beyond the scope of this lecture. ), and not Non-Polynomial. L L I So, informally, NP-hard problems are at least as hard as the hardest I Indeed, the P vs. NP question precisely asks whether all problems in problems in NP. NP have polynomial-time algorithms. I If is NP-hard, and there exists a polynomial-time algorithm for , L L I Resolving P vs. NP would win you everlasting fame (as well as $1M then P = NP. So if we can prove that is NP-hard, this is evidence L from the Clay Mathematics Institute). that there is no polynomial-time algorithm that solves it. I Although we don’t know whether P = NP, most people consider this I We say that a problem is NP-complete if is NP-hard and NP. L L L ∈ very unlikely, as it would imply that whenever we have an efficient Informally, NP-complete problems are the hardest problems in NP. algorithm to verify a “yes” solution to a decision problem, we also have an efficient algorithm to solve the problem. I It is not obvious that any NP-complete problems should exist. Ashley Montanaro Ashley Montanaro [email protected] [email protected] COMS21103: Proving problems are hard Slide 9/31 COMS21103: Proving problems are hard Slide 10/31 P and NP in pictures An NP-complete problem The CIRCUIT SAT (short for “satisfiability”) problem is defined as follows. The picture if P=NP: The picture if P=NP: I The input to the problem is a circuit (i.e. a sequence of AND, OR and 6 NOT gates connected by wires in some order). I The circuit takes some bits as input and produces a single-bit output. NP-complete I The problem is to determine whether there exists an input such that the output is 1. For example: NP P=NP 1 1 AND OR P 0 NOT AND 1 CIRCUIT SAT is in NP: if the answer is “yes”, and we are given a claimed input such that the output is 1, we can simulate the circuit to check it. Ashley Montanaro Ashley Montanaro [email protected] [email protected] COMS21103: Proving problems are hard Slide 11/31 COMS21103: Proving problems are hard Slide 12/31 An NP-complete problem More NP-complete problems Claim I Now that we know that CIRCUIT SAT is NP-complete, we can use this CIRCUIT SAT is NP-hard. to prove that other problems are also NP-complete. Proof sketch I If we have a problem NP such that CIRCUIT SAT reduces to , L ∈ L then must be NP-complete. I We need to show that, for any NP, reduces to CIRCUIT SAT. L L ∈ L I If NP, then there is a polynomial-time algorithm which checks a I This can be seen as good evidence that there is no efficient algorithm L ∈ claimed solution to when the answer is “yes”. for . L L I We can write any such algorithm as a circuit with at most polynomially many gates by “compiling” it. I The first problem for which we will prove NP-completeness in this way I If there exists a proof that the answer should be “yes”, this is called 3-SAT.
Recommended publications
  • Valuative Characterization of Central Extensions of Algebraic Tori on Krull
    Valuative characterization of central extensions of algebraic tori on Krull domains ∗ Haruhisa Nakajima † Department of Mathematics, J. F. Oberlin University Tokiwa-machi, Machida, Tokyo 194-0294, JAPAN Abstract Let G be an affine algebraic group with an algebraic torus G0 over an alge- braically closed field K of an arbitrary characteristic p. We show a criterion for G to be a finite central extension of G0 in terms of invariant theory of all regular 0 actions of any closed subgroup H containing ZG(G ) on affine Krull K-schemes such that invariant rational functions are locally fractions of invariant regular func- tions. Consider an affine Krull H-scheme X = Spec(R) and a prime ideal P of R with ht(P) = ht(P ∩ RH ) = 1. Let I(P) denote the inertia group of P un- der the action of H. The group G is central over G0 if and only if the fraction e(P, P ∩ RH )/e(P, P ∩ RI(P)) of ramification indices is equal to 1 (p = 0) or to the p-part of the order of the group of weights of G0 on RI(P)) vanishing on RI(P))/P ∩ RI(P) (p> 0) for an arbitrary X and P. MSC: primary 13A50, 14R20, 20G05; secondary 14L30, 14M25 Keywords: Krull domain; ramification index; algebraic group; algebraic torus; char- acter group; invariant theory 1 Introduction 1.A. We consider affine algebraic groups and affine schemes over a fixed algebraically closed field K of an arbitrary characteristic p. For an affine group G, denote by G0 its identity component.
    [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]
  • Lecture 11 — October 16, 2012 1 Overview 2
    6.841: Advanced Complexity Theory Fall 2012 Lecture 11 | October 16, 2012 Prof. Dana Moshkovitz Scribe: Hyuk Jun Kweon 1 Overview In the previous lecture, there was a question about whether or not true randomness exists in the universe. This question is still seriously debated by many physicists and philosophers. However, even if true randomness does not exist, it is possible to use pseudorandomness for practical purposes. In any case, randomization is a powerful tool in algorithms design, sometimes leading to more elegant or faster ways of solving problems than known deterministic methods. This naturally leads one to wonder whether randomization can solve problems outside of P, de- terministic polynomial time. One way of viewing randomized algorithms is that for each possible setting of the random bits used, a different strategy is pursued by the algorithm. A property of randomized algorithms that succeed with bounded error is that the vast majority of strategies suc- ceed. With error reduction, all but exponentially many strategies will succeed. A major theme of theoretical computer science over the last 20 years has been to turn algorithms with this property into algorithms that deterministically find a winning strategy. From the outset, this seems like a daunting task { without randomness, how can one efficiently search for such strategies? As we'll see in later lectures, this is indeed possible, modulo some hardness assumptions. There are two main objectives in this lecture. The first objective is to introduce some probabilis- tic complexity classes, by bounding time or space. These classes are probabilistic analogues of deterministic complexity classes P and L.
    [Show full text]
  • R Z- /Li ,/Zo Rl Date Copyright 2012
    Hearing Moral Reform: Abolitionists and Slave Music, 1838-1870 by Karl Byrn A thesis submitted to Sonoma State University in partial fulfillment of the requirements for the degree of MASTER OF ARTS III History Dr. Steve Estes r Z- /Li ,/zO rL Date Copyright 2012 By Karl Bym ii AUTHORIZATION FOR REPRODUCTION OF MASTER'S THESIS/PROJECT I grant permission for the reproduction ofparts ofthis thesis without further authorization from me, on the condition that the person or agency requesting reproduction absorb the cost and provide proper acknowledgement of authorship. Permission to reproduce this thesis in its entirety must be obtained from me. iii Hearing Moral Reform: Abolitionists and Slave Music, 1838-1870 Thesis by Karl Byrn ABSTRACT Purpose ofthe Study: The purpose of this study is to analyze commentary on slave music written by certain abolitionists during the American antebellum and Civil War periods. The analysis is not intended to follow existing scholarship regarding the origins and meanings of African-American music, but rather to treat this music commentary as a new source for understanding the abolitionist movement. By treating abolitionists' reports of slave music as records of their own culture, this study will identify larger intellectual and cultural currents that determined their listening conditions and reactions. Procedure: The primary sources involved in this study included journals, diaries, letters, articles, and books written before, during, and after the American Civil War. I found, in these sources, that the responses by abolitionists to the music of slaves and freedmen revealed complex ideologies and motivations driven by religious and reform traditions, antebellum musical cultures, and contemporary racial and social thinking.
    [Show full text]
  • Simple Doubly-Efficient Interactive Proof Systems for Locally
    Electronic Colloquium on Computational Complexity, Revision 3 of Report No. 18 (2017) Simple doubly-efficient interactive proof systems for locally-characterizable sets Oded Goldreich∗ Guy N. Rothblumy September 8, 2017 Abstract A proof system is called doubly-efficient if the prescribed prover strategy can be implemented in polynomial-time and the verifier’s strategy can be implemented in almost-linear-time. We present direct constructions of doubly-efficient interactive proof systems for problems in P that are believed to have relatively high complexity. Specifically, such constructions are presented for t-CLIQUE and t-SUM. In addition, we present a generic construction of such proof systems for a natural class that contains both problems and is in NC (and also in SC). The proof systems presented by us are significantly simpler than the proof systems presented by Goldwasser, Kalai and Rothblum (JACM, 2015), let alone those presented by Reingold, Roth- blum, and Rothblum (STOC, 2016), and can be implemented using a smaller number of rounds. Contents 1 Introduction 1 1.1 The current work . 1 1.2 Relation to prior work . 3 1.3 Organization and conventions . 4 2 Preliminaries: The sum-check protocol 5 3 The case of t-CLIQUE 5 4 The general result 7 4.1 A natural class: locally-characterizable sets . 7 4.2 Proof of Theorem 1 . 8 4.3 Generalization: round versus computation trade-off . 9 4.4 Extension to a wider class . 10 5 The case of t-SUM 13 References 15 Appendix: An MA proof system for locally-chracterizable sets 18 ∗Department of Computer Science, Weizmann Institute of Science, Rehovot, Israel.
    [Show full text]
  • Glossary of Complexity Classes
    App endix A Glossary of Complexity Classes Summary This glossary includes selfcontained denitions of most complexity classes mentioned in the b o ok Needless to say the glossary oers a very minimal discussion of these classes and the reader is re ferred to the main text for further discussion The items are organized by topics rather than by alphab etic order Sp ecically the glossary is partitioned into two parts dealing separately with complexity classes that are dened in terms of algorithms and their resources ie time and space complexity of Turing machines and complexity classes de ned in terms of nonuniform circuits and referring to their size and depth The algorithmic classes include timecomplexity based classes such as P NP coNP BPP RP coRP PH E EXP and NEXP and the space complexity classes L NL RL and P S P AC E The non k uniform classes include the circuit classes P p oly as well as NC and k AC Denitions and basic results regarding many other complexity classes are available at the constantly evolving Complexity Zoo A Preliminaries Complexity classes are sets of computational problems where each class contains problems that can b e solved with sp ecic computational resources To dene a complexity class one sp ecies a mo del of computation a complexity measure like time or space which is always measured as a function of the input length and a b ound on the complexity of problems in the class We follow the tradition of fo cusing on decision problems but refer to these problems using the terminology of promise problems
    [Show full text]
  • 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).
    [Show full text]
  • Concurrent PAC RL
    Concurrent PAC RL Zhaohan Guo and Emma Brunskill Carnegie Mellon University 5000 Forbes Ave. Pittsburgh PA, 15213 United States Abstract environment, whereas we consider the different problem of one agent / decision maker simultaneously acting in mul- In many real-world situations a decision maker may make decisions across many separate reinforcement tiple environments. The critical distinction here is that the learning tasks in parallel, yet there has been very little actions and rewards taken in one task do not directly impact work on concurrent RL. Building on the efficient explo- the actions and rewards taken in any other task (unlike multi- ration RL literature, we introduce two new concurrent agent settings) but information about the outcomes of these RL algorithms and bound their sample complexity. We actions may provide useful information to other tasks, if the show that under some mild conditions, both when the tasks are related. agent is known to be acting in many copies of the same One important exception is recent work by Silver et al. MDP, and when they are not the same but are taken from a finite set, we can gain linear improvements in the (2013) on concurrent reinforcement learning when interact- sample complexity over not sharing information. This is ing with a set of customers in parallel. This work nicely quite exciting as a linear speedup is the most one might demonstrates the substantial benefit to be had by leveraging hope to gain. Our preliminary experiments confirm this information across related tasks while acting jointly in these result and show empirical benefits.
    [Show full text]
  • NP-Complete Problems and Physical Reality
    NP-complete Problems and Physical Reality Scott Aaronson∗ Abstract Can NP-complete problems be solved efficiently in the physical universe? I survey proposals including soap bubbles, protein folding, quantum computing, quantum advice, quantum adia- batic algorithms, quantum-mechanical nonlinearities, hidden variables, relativistic time dilation, analog computing, Malament-Hogarth spacetimes, quantum gravity, closed timelike curves, and “anthropic computing.” The section on soap bubbles even includes some “experimental” re- sults. While I do not believe that any of the proposals will let us solve NP-complete problems efficiently, I argue that by studying them, we can learn something not only about computation but also about physics. 1 Introduction “Let a computer smear—with the right kind of quantum randomness—and you create, in effect, a ‘parallel’ machine with an astronomical number of processors . All you have to do is be sure that when you collapse the system, you choose the version that happened to find the needle in the mathematical haystack.” —From Quarantine [31], a 1992 science-fiction novel by Greg Egan If I had to debate the science writer John Horgan’s claim that basic science is coming to an end [48], my argument would lean heavily on one fact: it has been only a decade since we learned that quantum computers could factor integers in polynomial time. In my (unbiased) opinion, the showdown that quantum computing has forced—between our deepest intuitions about computers on the one hand, and our best-confirmed theory of the physical world on the other—constitutes one of the most exciting scientific dramas of our time.
    [Show full text]
  • Randomized Computation Eugene Santos Looked at Computability for Probabilistic TM
    Randomized Computation Eugene Santos looked at computability for Probabilistic TM. John Gill studied complexity classes defined by Probabilistic TM. 1. Eugene Santos. Probabilistic Turing Machines and Computability. Proc. American Mathematical Society, 22: 704-710, 1969. 2. Eugene Santos. Computability by Probabilistic Turing Machines. Trans. American Mathematical Society, 159: 165-184, 1971. 3. John Gill. Computational Complexity of Probabilistic Turing Machines. STOC, 91-95, 1974. 4. John Gill. Computational Complexity of Probabilistic Turing Machines. SIAM Journal Computing 6(4): 675-695, 1977. Computational Complexity, by Fu Yuxi Randomized Computation 1 / 108 Synopsis 1. Tail Distribution 2. Probabilistic Turing Machine 3. PP 4. BPP 5. ZPP 6. Random Walk and RL Computational Complexity, by Fu Yuxi Randomized Computation 2 / 108 Tail Distribution Computational Complexity, by Fu Yuxi Randomized Computation 3 / 108 Markov's Inequality For all k > 0, 1 Pr[X ≥ kE[X ]] ≤ ; k or equivalently E[X ] Pr[X ≥ v] ≤ : v I Observe that d · Pr[X ≥ d] ≤ E[X ]. I We are done by letting d = kE[X ]. Computational Complexity, by Fu Yuxi Randomized Computation 4 / 108 Moment and Variance Information about a random variable is often expressed in terms of moments. k I The k-th moment of a random variable X is E[X ]. The variance of a random variable X is Var(X ) = E[(X − E[X ])2] = E[X 2] − E[X ]2: The standard deviation of X is σ(X ) = pVar(X ): Fact. If X1;:::; Xn are pairwise independent, then n n X X Var( Xi ) = Var(Xi ): i=1 i=1 Computational Complexity, by Fu Yuxi Randomized Computation 5 / 108 Chebyshev Inequality For all k > 0, 1 Pr[jX − E[X ]j ≥ kσ] ≤ ; k2 or equivalently σ2 Pr[jX − E[X ]j ≥ k] ≤ : k2 Apply Markov's Inequality to the random variable (X − E[X ])2.
    [Show full text]
  • Convex Optimization: Algorithms and Complexity
    Foundations and Trends R in Machine Learning Vol. 8, No. 3-4 (2015) 231–357 c 2015 S. Bubeck DOI: 10.1561/2200000050 Convex Optimization: Algorithms and Complexity Sébastien Bubeck Theory Group, Microsoft Research [email protected] Contents 1 Introduction 232 1.1 Some convex optimization problems in machine learning . 233 1.2 Basic properties of convexity . 234 1.3 Why convexity? . 237 1.4 Black-box model . 238 1.5 Structured optimization . 240 1.6 Overview of the results and disclaimer . 240 2 Convex optimization in finite dimension 244 2.1 The center of gravity method . 245 2.2 The ellipsoid method . 247 2.3 Vaidya’s cutting plane method . 250 2.4 Conjugate gradient . 258 3 Dimension-free convex optimization 262 3.1 Projected subgradient descent for Lipschitz functions . 263 3.2 Gradient descent for smooth functions . 266 3.3 Conditional gradient descent, aka Frank-Wolfe . 271 3.4 Strong convexity . 276 3.5 Lower bounds . 279 3.6 Geometric descent . 284 ii iii 3.7 Nesterov’s accelerated gradient descent . 289 4 Almost dimension-free convex optimization in non-Euclidean spaces 296 4.1 Mirror maps . 298 4.2 Mirror descent . 299 4.3 Standard setups for mirror descent . 301 4.4 Lazy mirror descent, aka Nesterov’s dual averaging . 303 4.5 Mirror prox . 305 4.6 The vector field point of view on MD, DA, and MP . 307 5 Beyond the black-box model 309 5.1 Sum of a smooth and a simple non-smooth term . 310 5.2 Smooth saddle-point representation of a non-smooth function312 5.3 Interior point methods .
    [Show full text]
  • Limits to Parallel Computation: P-Completeness Theory
    Limits to Parallel Computation: P-Completeness Theory RAYMOND GREENLAW University of New Hampshire H. JAMES HOOVER University of Alberta WALTER L. RUZZO University of Washington New York Oxford OXFORD UNIVERSITY PRESS 1995 This book is dedicated to our families, who already know that life is inherently sequential. Preface This book is an introduction to the rapidly growing theory of P- completeness — the branch of complexity theory that focuses on identifying the “hardest” problems in the class P of problems solv- able in polynomial time. P-complete problems are of interest because they all appear to lack highly parallel solutions. That is, algorithm designers have failed to find NC algorithms, feasible highly parallel solutions that take time polynomial in the logarithm of the problem size while using only a polynomial number of processors, for them. Consequently, the promise of parallel computation, namely that ap- plying more processors to a problem can greatly speed its solution, appears to be broken by the entire class of P-complete problems. This state of affairs is succinctly expressed as the following question: Does P equal NC ? Organization of the Material The book is organized into two parts: an introduction to P- completeness theory, and a catalog of P-complete and open prob- lems. The first part of the book is a thorough introduction to the theory of P-completeness. We begin with an informal introduction. Then we discuss the major parallel models of computation, describe the classes NC and P, and present the notions of reducibility and com- pleteness. We subsequently introduce some fundamental P-complete problems, followed by evidence suggesting why NC does not equal P.
    [Show full text]