Instructor: Shengyu Zhang 1. Tractable While we have introduced many problems with polynomial-time algorithms… …not all problems enjoy fast computation.

Slides:



Advertisements
Similar presentations
NP-Hard Nattee Niparnan.
Advertisements

1 NP-completeness Lecture 2: Jan P The class of problems that can be solved in polynomial time. e.g. gcd, shortest path, prime, etc. There are many.
Department of Computer Science & Engineering
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
Lecture 21 NP-complete problems
Great Theoretical Ideas in Computer Science for Some.
Theory of Computing Lecture 16 MAS 714 Hartmut Klauck.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
NP-completeness Sipser 7.4 (pages 271 – 283). CS 311 Mount Holyoke College 2 The classes P and NP NP = ∪ k NTIME(n k ) P = ∪ k TIME(n k )
Computational problems, algorithms, runtime, hardness
NP-completeness Sipser 7.4 (pages 271 – 283). CS 311 Fall The classes P and NP NP = ∪ k NTIME(n k ) P = ∪ k TIME(n k )
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
P versus NP and Cryptography Wabash College Mathematics and Computer Science Colloquium Nov 16, 2010 Jeff Kinne, Indiana State University (Theoretical)
Analysis of Algorithms CS 477/677
NP-complete examples CSC3130 Tutorial 11 Xiao Linfu Department of Computer Science & Engineering Fall 2009.
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture NP-Completeness Jan Maluszynski, IDA, 2007
P, NP, and NP-Complete Suzan Köknar-Tezel.
Complexity Theory: The P vs NP question Lecture 28 (Dec 4, 2007)
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Programming & Data Structures
MCS312: NP-completeness and Approximation Algorithms
Computational Complexity Polynomial time O(n k ) input size n, k constant Tractable problems solvable in polynomial time(Opposite Intractable) Ex: sorting,
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Complexity Classes (Ch. 34) The class P: class of problems that can be solved in time that is polynomial in the size of the input, n. if input size is.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 8: Complexity Theory.
CSC 172 P, NP, Etc. “Computer Science is a science of abstraction – creating the right model for thinking about a problem and devising the appropriate.
CSCI 2670 Introduction to Theory of Computing November 29, 2005.
Polynomial-time reductions We have seen several reductions:
CSCI 2670 Introduction to Theory of Computing December 1, 2004.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
1 Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples: b number of comparisons needed to find the.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
1 Design and Analysis of Algorithms Yoram Moses Lecture 11 June 3, 2010
1 Chapter 34: NP-Completeness. 2 About this Tutorial What is NP ? How to check if a problem is in NP ? Cook-Levin Theorem Showing one of the most difficult.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.
Lecture 12 P and NP Introduction to intractability Class P and NP Class NPC (NP-complete)
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
Nicholas Bulinski.  Informally it is the question of if a computer can quickly verify that a solution to a problem is true then can the computer solve.
CPS Computational problems, algorithms, runtime, hardness (a ridiculously brief introduction to theoretical computer science) Vincent Conitzer.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 30, 2014.
CSE 6311 – Spring 2009 ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS Lecture Notes – Feb. 3, 2009 Instructor: Dr. Gautam Das notes by Walter Wilson.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
NPC.
NP Completeness Piyush Kumar. Today Reductions Proving Lower Bounds revisited Decision and Optimization Problems SAT and 3-SAT P Vs NP Dealing with NP-Complete.
Computational Complexity Shirley Moore CS4390/5390 Fall 2013 August 27, 2013.
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
Computability Examples. Reducibility. NP completeness. Homework: Find other examples of NP complete problems.
Great Theoretical Ideas in Computer Science.
34.NP Completeness. Computer Theory Lab. Chapter 34P.2.
CSE 332: NP Completeness, Part II Richard Anderson Spring 2016.
P & NP.
Computational Complexity Theory
Richard Anderson Lectures NP-Completeness
Great Theoretical Ideas in Computer Science
NP-Completeness Yin Tat Lee
Intro to Theory of Computation
Intro to NP Completeness
Parameterised Complexity
Richard Anderson Lecture 25 NP-Completeness
Richard Anderson Lecture 27 NP Completeness
NP-completeness The Chinese University of Hong Kong Fall 2008
Richard Anderson Lecture 26 NP-Completeness
CSE 589 Applied Algorithms Spring 1999
Richard Anderson Lecture 25 NP Completeness
Presentation transcript:

Instructor: Shengyu Zhang 1

Tractable While we have introduced many problems with polynomial-time algorithms… …not all problems enjoy fast computation. Among those “hard” problems, an important class is NP. 2

P, NP 3

Formal definition of NP 4

5

Examples of NP problems 6

7

8

Question of P vs. NP Is P = NP? The most famous (and notoriously hard) question in computer science.  Staggering philosophical and practical implications  Withstood a great deal of attacks Clay Mathematics Institute recognized it as one of seven great mathematical challenges of the millennium. US$1M.  Want to get rich (and famous)? Here is a “simple” way! 9

The P vs. NP question: intuition Is producing a solution essentially harder than checking a solution?  Coming up with a proof vs. verifying a proof.  Composing a song vs. appreciating a song.  Cooking good food vs. recognizing good food …… 10

What if P = NP? The world becomes a Utopia.  Mathematicians are replaced by efficient theorem- discovering machines.  It becomes easy to come up with the simplest theory to explain known data …… But at the same time,  Many cryptosystems are insecure. 11

Completeness [Cook-Levin] There is a class of NP problems, such that solve any of them in polynomial time, ⇒ solve all NP problems in polynomial time. NP P 12

Reduction and completeness 13

NP-completeness 14

Completeness NP P NP- Complete 15

Meanings of NP-completeness Reduce the number of questions without increasing the number of answers. Huge impacts on almost all other sciences such as physics, chemistry, biology, …  Now given a computational problem in NP, the first step is usually to see whether it’s in P or NPC. “The biggest export of Theoretical Computer Science.” 16

NP P NP- Complete SAT Clique Subset Sum TSP Vertex Cover Integer Programming Shortest Path MST Maximum Flow Maximum Matching PRIMES Linear Programming Not known to be in P or NP-complete: Factoring Graph Isomorphism Nash Equilibrium Local Search 17

The 1 st NP-complete problem: 3-SAT Any NP problem can be verified in polynomial time, by definition. Turn the verification algorithm into a formula which checks every step of computation. Note that in either circuit definition or Turing machine definition, computation is local.  The change of configuration is only at several adjacent locations. 18

19

NP-complete problem 1 : Clique 20

Approach: reduction 21

Construction 22

23

24

NP-complete problem 2: Vertex Cover 25

NP-complete 26

Proof of the theorem 27

A related problem: Independent Set 28

Exercise 29

NP-complete problem 3: Integer Programming (IP) 30

31

Summary 32

Next Next class: April 14 th. Make-up Class:  To be decided. Either class: Nothing about final exam. Final: Open book and lecture notes.  Again, no ipad/iphone/Internet… 33