NP-Completeness Polynomial Transformation
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. -
Lecture 9 1 Interactive Proof Systems/Protocols
CS 282A/MATH 209A: Foundations of Cryptography Prof. Rafail Ostrovsky Lecture 9 Lecture date: March 7-9, 2005 Scribe: S. Bhattacharyya, R. Deak, P. Mirzadeh 1 Interactive Proof Systems/Protocols 1.1 Introduction The traditional mathematical notion of a proof is a simple passive protocol in which a prover P outputs a complete proof to a verifier V who decides on its validity. The interaction in this traditional sense is minimal and one-way, prover → verifier. The observation has been made that allowing the verifier to interact with the prover can have advantages, for example proving the assertion faster or proving more expressive languages. This extension allows for the idea of interactive proof systems (protocols). The general framework of the interactive proof system (protocol) involves a prover P with an exponential amount of time (computationally unbounded) and a verifier V with a polyno- mial amount of time. Both P and V exchange multiple messages (challenges and responses), usually dependent upon outcomes of fair coin tosses which they may or may not share. It is easy to see that since V is a poly-time machine (PPT), only a polynomial number of messages may be exchanged between the two. P ’s objective is to convince (prove to) the verifier the truth of an assertion, e.g., claimed knowledge of a proof that x ∈ L. V either accepts or rejects the interaction with the P . 1.2 Definition of Interactive Proof Systems An interactive proof system for a language L is a protocol PV for communication between a computationally unbounded (exponential time) machine P and a probabilistic poly-time (PPT) machine V such that the protocol satisfies the properties of completeness and sound- ness. -
(R18A0507) Design and Analysis of Algorithms.Pdf
DESIGN AND ANALYSIS OF ALGORITHMS [R18A0507] LECTURE NOTES B.TECH III YEAR – I SEM (R18) (2020-2021) DEPARTMENT OF INFORMATION TECHNOLOGY MALLA REDDY COLLEGE OF ENGINEERING & TECHNOLOGY (Autonomous Institution – UGC, Govt. of India) Recognized under 2(f) and 12 (B) of UGC ACT 1956 (Affiliated to JNTUH, Hyderabad, Approved by AICTE - Accredited by NBA & NAAC – „A‟ Grade - ISO 9001:2015 Certified) Maisammaguda, Dhulapally (Post Via. Hakimpet), Secunderabad – 500100, Telangana State, India IIIYearB.Tech.IT–ISem L T/P/D C 3 -/-/- 3 (R18A0507) Design And Analysis of Algorithms Objectives: To analyze performance ofalgorithms. To choose the appropriate data structure and algorithm design method for a specifiedapplication. To understand how the choice of data structures and algorithm design methodsimpacts the performance ofprograms. To solve problems using algorithm design methods such as the greedy method,divide and conquer, dynamic programming, backtracking and branch andbound. To understand the differences between tractable and intractableproblems. To introduce P and NPclasses. UNIT I: Introduction-Algorithm definition, Algorithm Specification, Performance Analysis- Space complexity, Time complexity, Randomized Algorithms. Divide and conquer- General method, applications - Binary search, Merge sort, Quick sort, Strassen‟s Matrix Multiplication. UNIT II: Disjoint set operations, union and find algorithms, AND/OR graphs, Connected Components and Spanning trees, Bi-connected components Backtracking-Generalmethod,applications-The8-queenproblem,sumofsubsetsproblem,graphcoloring, -
Lecture 10: Space Complexity III
Space Complexity Classes: NL and L Reductions NL-completeness The Relation between NL and coNL A Relation Among the Complexity Classes Lecture 10: Space Complexity III Arijit Bishnu 27.03.2010 Space Complexity Classes: NL and L Reductions NL-completeness The Relation between NL and coNL A Relation Among the Complexity Classes Outline 1 Space Complexity Classes: NL and L 2 Reductions 3 NL-completeness 4 The Relation between NL and coNL 5 A Relation Among the Complexity Classes Space Complexity Classes: NL and L Reductions NL-completeness The Relation between NL and coNL A Relation Among the Complexity Classes Outline 1 Space Complexity Classes: NL and L 2 Reductions 3 NL-completeness 4 The Relation between NL and coNL 5 A Relation Among the Complexity Classes Definition for Recapitulation S c NPSPACE = c>0 NSPACE(n ). The class NPSPACE is an analog of the class NP. Definition L = SPACE(log n). Definition NL = NSPACE(log n). Space Complexity Classes: NL and L Reductions NL-completeness The Relation between NL and coNL A Relation Among the Complexity Classes Space Complexity Classes Definition for Recapitulation S c PSPACE = c>0 SPACE(n ). The class PSPACE is an analog of the class P. Definition L = SPACE(log n). Definition NL = NSPACE(log n). Space Complexity Classes: NL and L Reductions NL-completeness The Relation between NL and coNL A Relation Among the Complexity Classes Space Complexity Classes Definition for Recapitulation S c PSPACE = c>0 SPACE(n ). The class PSPACE is an analog of the class P. Definition for Recapitulation S c NPSPACE = c>0 NSPACE(n ). -
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. -
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 Σ. -
NP-Completeness
CMSC 451: Reductions & NP-completeness Slides By: Carl Kingsford Department of Computer Science University of Maryland, College Park Based on Section 8.1 of Algorithm Design by Kleinberg & Tardos. Reductions as tool for hardness We want prove some problems are computationally difficult. As a first step, we settle for relative judgements: Problem X is at least as hard as problem Y To prove such a statement, we reduce problem Y to problem X : If you had a black box that can solve instances of problem X , how can you solve any instance of Y using polynomial number of steps, plus a polynomial number of calls to the black box that solves X ? Polynomial Reductions • If problem Y can be reduced to problem X , we denote this by Y ≤P X . • This means \Y is polynomal-time reducible to X ." • It also means that X is at least as hard as Y because if you can solve X , you can solve Y . • Note: We reduce to the problem we want to show is the harder problem. Call X Because polynomials Call X compose. Polynomial Problems Suppose: • Y ≤P X , and • there is an polynomial time algorithm for X . Then, there is a polynomial time algorithm for Y . Why? Call X Call X Polynomial Problems Suppose: • Y ≤P X , and • there is an polynomial time algorithm for X . Then, there is a polynomial time algorithm for Y . Why? Because polynomials compose. We’ve Seen Reductions Before Examples of Reductions: • Max Bipartite Matching ≤P Max Network Flow. • Image Segmentation ≤P Min-Cut. • Survey Design ≤P Max Network Flow. -
Computational Complexity
Computational Complexity The Harvard community has made this article openly available. Please share how this access benefits you. Your story matters Citation Vadhan, Salil P. 2011. Computational complexity. In Encyclopedia of Cryptography and Security, second edition, ed. Henk C.A. van Tilborg and Sushil Jajodia. New York: Springer. Published Version http://refworks.springer.com/mrw/index.php?id=2703 Citable link http://nrs.harvard.edu/urn-3:HUL.InstRepos:33907951 Terms of Use This article was downloaded from Harvard University’s DASH repository, and is made available under the terms and conditions applicable to Open Access Policy Articles, as set forth at http:// nrs.harvard.edu/urn-3:HUL.InstRepos:dash.current.terms-of- use#OAP Computational Complexity Salil Vadhan School of Engineering & Applied Sciences Harvard University Synonyms Complexity theory Related concepts and keywords Exponential time; O-notation; One-way function; Polynomial time; Security (Computational, Unconditional); Sub-exponential time; Definition Computational complexity theory is the study of the minimal resources needed to solve computational problems. In particular, it aims to distinguish be- tween those problems that possess efficient algorithms (the \easy" problems) and those that are inherently intractable (the \hard" problems). Thus com- putational complexity provides a foundation for most of modern cryptogra- phy, where the aim is to design cryptosystems that are \easy to use" but \hard to break". (See security (computational, unconditional).) Theory Running Time. The most basic resource studied in computational com- plexity is running time | the number of basic \steps" taken by an algorithm. (Other resources, such as space (i.e., memory usage), are also studied, but they will not be discussed them here.) To make this precise, one needs to fix a model of computation (such as the Turing machine), but here it suffices to informally think of it as the number of \bit operations" when the input is given as a string of 0's and 1's. -
Complexity Theory
Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Outline z Goals z Computation of Problems { Concepts and Definitions z Complexity { Classes and Problems z Polynomial Time Reductions { Examples and Proofs z Summary University at Buffalo Department of Industrial Engineering 2 Goals of Complexity Theory z To provide a method of quantifying problem difficulty in an absolute sense. z To provide a method comparing the relative difficulty of two different problems. z To be able to rigorously define the meaning of efficient algorithm. (e.g. Time complexity analysis of an algorithm). University at Buffalo Department of Industrial Engineering 3 Computation of Problems Concepts and Definitions Problems and Instances A problem or model is an infinite family of instances whose objective function and constraints have a specific structure. An instance is obtained by specifying values for the various problem parameters. Measurement of Difficulty Instance z Running time (Measure the total number of elementary operations). Problem z Best case (No guarantee about the difficulty of a given instance). z Average case (Specifies a probability distribution on the instances). z Worst case (Addresses these problems and is usually easier to analyze). University at Buffalo Department of Industrial Engineering 5 Time Complexity Θ-notation (asymptotic tight bound) fn( ) : there exist positive constants cc12, , and n 0 such that Θ=(())gn 0≤≤≤cg12 ( n ) f ( n ) cg ( n ) for all n ≥ n 0 O-notation (asymptotic upper bound) fn( ) : there -
An Introduction to Computational Complexity Theory Fall 2015 Problem Set #2 V
15-855: An Introduction to Computational Complexity Theory Fall 2015 Problem Set #2 V. Guruswami & M. Wootters Due on October 8, 2015 (in class, or by email to [email protected]). Instructions: Same as for problem set 1. Pick any 6 problems to solve out of the 8 problems. If you turn in solutions to more than 6 problems, we will take your top 6 scoring problems. 1. \Karp-Lipton variant." If EXP ⊆ P=poly, then EXP = Σ2. Hint: For any L 2 EXP with an exponential time TM M deciding L, using the hypothesis, guess a circuit that computes any cell of the computation tableau of M on input x, and use it to decide whether x 2 L in Σ2. 2. \Circuit lower bounds." S nc (a) Define EXPSPACE = c≥1 SPACE(2 ). Prove that EXPSPACE 6⊆ P=poly, i.e., exponen- tial space does not admit polynomial-sized circuits. (b) Prove that for every fixed integer k ≥ 1, PH 6⊆ SIZE(nk). P P k (c) Strengthen the above result to Σ2 \ Π2 6⊆ SIZE(n ) for any k ≥ 1. (Hint: Karp-Lipton Theorem.) 3. \PH big ) PH small.": Show that PH = PSPACE ) PH = Σk for some finite k 2 N. 4. \Easy decision, hard counting." A Boolean formula is \monotone" if it uses only ANDs and ORs: no negations. Show that #MONOTONE-SAT (counting the number of satisfying assignments to a given monotone formula) is #P-complete. 5. \Toda's theorem for NP via linear codes" Let K = 2n and N = 2n2 , and let us say that a K × NG(n) with 0-1 entries is nice if (n) O(1) • Given i; j, the entry Gi;j can be computed in n time. -
AC0[P] Lower Bounds Against MCSP Via the Coin Problem
Electronic Colloquium on Computational Complexity, Report No. 18 (2019) AC0[p] Lower Bounds against MCSP via the Coin Problem Alexander Golovnev∗ Rahul Ilangoy Russell Impagliazzoz Harvard University Rutgers University University of California, San Diego Valentine Kabanetsx Antonina Kolokolova{ Avishay Talk Simon Fraser University Memorial University of Newfoundland Stanford University February 18, 2019 Abstract Minimum Circuit Size Problem (MCSP) asks to decide if a given truth table of an n-variate boolean function has circuit complexity less than a given parameter s. We prove that MCSP is hard for constant-depth circuits with mod p gates, for any prime p ≥ 2 (the circuit class AC0[p]). Namely, we show that MCSP requires d-depth AC0[p] circuits of size at least exp(N 0:49=d), where N = 2n is the size of an input truth table of an n-variate boolean function. Our circuit lower bound proof shows that MCSP can solve the coin problem: distinguish uniformly random N- bit strings from those generated using independent samples from a biased random coin which is 1 with probability 1=2 + N −0:49, and 0 otherwise. Solving the coin problem with such parameters is known to require exponentially large AC0[p] circuits. Moreover, this also implies that MAJORITY is computable by a non-uniform AC0 circuit of polynomial size that also has MCSP-oracle gates. The latter has a few other consequences for the complexity of MCSP, e.g., we get that any boolean function in NC1 (i.e., computable by a polynomial-size formula) can also be computed by a non-uniform polynomial-size AC0 circuit with MCSP-oracle gates. -
A Fast Algorithm for Performance-Driven Module Implementation Selection*
VLSI DESIGN (C) 1999 OPA (Overseas Publishers Association) N.V. 1999, Vol. 10, No. 2, pp. 237-247 Published by license under Reprints available directly from the publisher the Gordon and Breach Science Photocopying permitted by license only Publishers imprint. Printed in Malaysia. A Fast Algorithm for Performance-Driven Module Implementation Selection* EDWARD Y. C. CHENG and SARTAJ SAHNI Department of Computer and Information Science and Engineering, University of Florida, Gainesville, FL 32611-6120 (Received 24 March 1998," In finalform 8 February 1999) We develop an O( p log n) time algorithm to obtain optimal solutions to the p-pin n-net single channel performance-driven implementation selection problem in which each module has at most two possible implementations (2-PDMIS). Although Her, Wang and Wong [1] have also developed an O(p log n) algorithm for this problem, experi- ments indicate that our algorithm is twice as fast on small circuits and up to eleven times as fast on larger circuits. We also develop an O(pnc-l) time algorithm for the c, c > 1, channel version of the 2-PDMIS problem. Keywords and Phrases." Channel density, net span constraint, performance-driven module imple- mentation selection, complexity 1. INTRODUCTION routing problem. Channel routing with rearrange- able pins was studied by Kobayashi and Drozd [3]. In the channel routing problem, we have a routing They proposed a three step algorithm (1) permute channel with modules on the top and bottom of pins so as to maximize the number of aligned pin the channel, the modules have pins and subsets of pairs (a pair of pins on different sides of the chan- pins define nets.