Computational complexity theory

Similar documents
Introduction to computer science

NP-complete? NP-hard? Some Foundations of Complexity. Prof. Sven Hartmann Clausthal University of Technology Department of Informatics

Complexity Classes P and NP

A Working Knowledge of Computational Complexity for an Optimizer

NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University

NP-Completeness and Cook s Theorem

On the Relationship between Classes P and NP

NP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness

Page 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NP-Complete. Polynomial-Time Algorithms

Computer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li

Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.

P versus NP, and More

Universality in the theory of algorithms and computer science

Tutorial 8. NP-Complete Problems

OHJ-2306 Introduction to Theoretical Computer Science, Fall

Quantum and Non-deterministic computers facing NP-completeness

Introduction to Algorithms. Part 3: P, NP Hard Problems

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Notes on Complexity Theory Last updated: August, Lecture 1

The Classes P and NP

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

SIMS 255 Foundations of Software Design. Complexity and NP-completeness

CSC 373: Algorithm Design and Analysis Lecture 16

CAD Algorithms. P and NP

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

The Classes P and NP. mohamed@elwakil.net

Theoretical Computer Science (Bridging Course) Complexity

Factoring & Primality

Lecture 7: NP-Complete Problems

Tetris is Hard: An Introduction to P vs NP

Lecture 19: Introduction to NP-Completeness Steven Skiena. Department of Computer Science State University of New York Stony Brook, NY

P vs NP problem in the field anthropology

Study of algorithms for factoring integers and computing discrete logarithms

Guessing Game: NP-Complete?

CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 313]

Chapter. NP-Completeness. Contents

Oracle Turing machines faced with the verification problem

Quantum Computing and Grover s Algorithm

CS 3719 (Theory of Computation and Algorithms) Lecture 4

Notes on Complexity Theory Last updated: August, Lecture 1

2 Elements of classical computer science

Turing Machines and Understanding Computational Complexity

ON THE COMPLEXITY OF THE GAME OF SET.

2.1 Complexity Classes

Determination of the normalization level of database schemas through equivalence classes of attributes

THE TURING DEGREES AND THEIR LACK OF LINEAR ORDER

Computational Game Theory and Clustering

! X is a set of strings. ! Instance: string s. ! Algorithm A solves problem X: A(s) = yes iff s! X.

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Open Problems in Quantum Information Processing. John Watrous Department of Computer Science University of Calgary

A greedy algorithm for the DNA sequencing by hybridization with positive and negative errors and information about repetitions

Non-Black-Box Techniques In Crytpography. Thesis for the Ph.D degree Boaz Barak

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

The Basics of Graphical Models

Turing Machines: An Introduction

How To Solve An Npa-Complete Problems With Quantum Computing And Chaotic Dynamics

Faster deterministic integer factorisation

MATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis

Lecture 13 - Basic Number Theory.

Factoring by Quantum Computers

Notes on NP Completeness

U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, Notes on Algebra

Introduction to Logic in Computer Science: Autumn 2006

Applied Algorithm Design Lecture 5

Cloud Computing is NP-Complete

3. Computational Complexity.

Simulation-Based Security with Inexhaustible Interactive Turing Machines

CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move.

NP-completeness and the real world. NP completeness. NP-completeness and the real world (2) NP-completeness and the real world

CoNP and Function Problems

On the Unique Games Conjecture

Course Manual Automata & Complexity 2015

SOLVING NARROW-INTERVAL LINEAR EQUATION SYSTEMS IS NP-HARD PATRICK THOR KAHL. Department of Computer Science

Chapter 1. Computation theory

Chapter 1. NP Completeness I Introduction. By Sariel Har-Peled, December 30, Version: 1.05

IEOR 6711: Stochastic Models I Fall 2012, Professor Whitt, Tuesday, September 11 Normal Approximations and the Central Limit Theorem

Discuss the size of the instance for the minimum spanning tree problem.

Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs

How to Prove a Theorem So No One Else Can Claim It

Some Minesweeper Configurations

One last point: we started off this book by introducing another famously hard search problem:

Revised Version of Chapter 23. We learned long ago how to solve linear congruences. ax c (mod m)

Theorem (informal statement): There are no extendible methods in David Chalmers s sense unless P = NP.

Outline Introduction Circuits PRGs Uniform Derandomization Refs. Derandomization. A Basic Introduction. Antonis Antonopoulos.

Breaking The Code. Ryan Lowe. Ryan Lowe is currently a Ball State senior with a double major in Computer Science and Mathematics and

Introduction to NP-Completeness Written and copyright c by Jie Wang 1

Fairness in Routing and Load Balancing

8 Primes and Modular Arithmetic

Analog devices have been used, over the years, to solve a variety of problems. Perhaps most widely

Small Maximal Independent Sets and Faster Exact Graph Coloring

Transcription:

Computational complexity theory Goal: A general theory of the resources needed to solve computational problems What types of resources? Time What types of computational problems? decision problem Decision problems A decision problem is a computational problem with a yes or no answer Example: Is the number n prime? Why focus on decision problems? Decision problems are simple: This makes it easy to develop a rigorous mathematical theory Decision problems are surprisingly general: Many other problems can be recast in terms of decision problems that are essentially equivalent 1

Multiplication problem: What is the product of m and n? Multiplication decision problem: Is the kth bit of the product of m and n a one? Factoring problem: What is the smallest non-trivial factor of n? Factoring decision problem: Does n have a non-trivial factor smaller than k? Nomenclature: easy = tractable = efficiently computable hard = intractable = not efficiently computable A problem is easy if there is a Turing machine to solve the problem that runs in time polynomial in the size of the problem input Otherwise the problem is hard This definition is usually applied to both decision problems and more general problems 2

Why polynomial-time = easy Christos H. Papadimitriou, Computational Complexity: It should not come as a surprise that our choice of polynomial algorithms as the mathematical concept that is supposed to capture the informal notion of practically efficient computation is open to criticism from all sides. [...] Ultimately, our argument for our choice must be this: Adopting polynomial worst-case performance as our criterion of efficiency results in an elegant and useful theory that says something meaningful about practical computation, and would be impossible without this simplification. Definition: The set of all decision problems soluble in polynomial time on a Turing machine is denoted P Terminology: Multiplication is in P means, the multiplication decision problem is in P Factoring is thought not to be in P means The factoring decision problem is thought not to be in P 3

The Church-Turing thesis Doesn the definition of P depend upon the computational model used in the statement of the definition, namely, the Turing machine? Church-Turing thesis: Any algorithmic process can be simulated on a Turing machine In 1982, Richard Feynman observed that it did not appear possible for a Turing Machine to simulate certain quantum physical processes without incurring an exponential slowdown This led Feynman to ask whether a quantum systems can be simulated on a quantum computer 1985 David Deutsch reformulated the Church-Turing thesis in physical terms Every finitely realizable physical system can be perfectly simulated by universal computing machine operating by finite means 4

Strong Church-Turing thesis: Any physically reasonable algorithmic process can be simulated on a Turing machine, with at most a polynomial slowdown in the number of steps required to do the simulation Deutsch: Maybe computers based on quantum mechanics might violate the strong Church- Turing thesis? Strong Church-Turing thesis New formulation: The strong Church-Turing thesis implies that the problems in P are precisely those for which a polynomial-time solution is the best possible, in any physically reasonable model of computation 5

Many important problems aren t known to be in P Factoring The traveling salesman problem (TSP) Traveling salesman decision problem: Given a network and a number, k, is there a tour through all the cities of length less than k? It is widely believed that neither of these problems is in P Witnesses Determining whether 7747 has a factor less than 70 is thought to be hard Verifying that 61 is a factor of 7747 (= 127 x 61) less than 70 is easy: just check that 61 < 70 and use the efficient long-division algorithm you learnt in school. The factoring decision problem has witnesses to yes instances of the problem - informally, solutions to the factoring problem, which can be checked in polynomial time TSP seems to be hard, but also has easily-checked witnesses for yes instances 6

NP Definition: The complexity class NP consists of all decision problems for which yes instances of the problem have witnesses checkable in polynomial time on a Turing machine Examples: The factoring and TSP decision problems Many important optimization problems are in NP - it is often hard to find a solution, but easy to verify a solution once it is found The structure of NP A problem is NP-complete if it is in NP and every other problem in NP reduces to it Not obvious that NP-complete problems even exist! Cook-Levin Theorem: Provided the first example of an NP-complete problem - the satisfiability problem NP- complete Thousands of other problems are now known to be NP-complete, including the travelling salesman and Hamiltonian cycle problems 7

Many people believe that quantum computers won t efficiently solve NP-complete problems, but maybe can solve some problems in NPI Candidates for NPI include factoring and graph isomorphism 8

Probabilistic Turing Machine Allowing the Turing machine to do random coin flips appears to help for NP problems The set of all decision problems soluble on a (randomized) Turing machine is denoted PTM 9