Princeton University COS 423 Theory of Algorithms Spring 2001 Kevin Wayne NP-Completeness.

Slides:



Advertisements
Similar presentations
How To Give a PowerPoint Talk Kevin is supposed to take a 5 minute break from speaking (commercial break) Not.
Advertisements

Complexity Classes: P and NP
NP-Hard Nattee Niparnan.
NP-Completeness Lecture for CS 302. Traveling Salesperson Problem You have to visit n cities You want to make the shortest trip How could you do this?
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Concept of Completeness and hardness for a complexity class Definition.
The Theory of NP-Completeness
Great Theoretical Ideas in Computer Science for Some.
Discrete Structures & Algorithms The P vs. NP Question EECE 320.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
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.
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Definition of complexity class NP –Nondeterministic computation –Problems.
The Theory of NP-Completeness
1 Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
NP-Complete Problems Problems in Computer Science are classified into
NP-complete and NP-hard problems
Analysis of Algorithms CS 477/677
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture NP-Completeness Jan Maluszynski, IDA, 2007
Chapter 11: Limitations of Algorithmic Power
Chapter 11 Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
1 Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Piyush Kumar (Lecture 7: Reductions)
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
MCS312: NP-completeness and Approximation Algorithms
Chapter 11 Limitations of Algorithm Power. Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples:
Computational Complexity Polynomial time O(n k ) input size n, k constant Tractable problems solvable in polynomial time(Opposite Intractable) Ex: sorting,
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
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.
Lecture 30. P, NP and NP Complete Problems 1. Recap Data compression is a technique to compress the data represented either in text, audio or image form.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 8: Complexity Theory.
Prabhas Chongstitvatana1 NP-complete proofs The circuit satisfiability proof of NP- completeness relies on a direct proof that L  p CIRCUIT-SAT for every.
CSC 413/513: Intro to Algorithms NP Completeness.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
CSE 3813 Introduction to Formal Languages and Automata Chapter 14 An Introduction to Computational Complexity These class notes are based on material from.
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.
1 Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
Sailesh Prabhu Prof. Swarat Chaudhuri COMP 482: Design and Analysis of Algorithms Spring 2013.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
1 Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Unit 9: Coping with NP-Completeness
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
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.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
NP-Complete problems.
Lecture 12 P and NP Introduction to intractability Class P and NP Class NPC (NP-complete)
NP-Completeness (Nondeterministic Polynomial Completeness) Sushanth Sivaram Vallath & Z. Joseph.
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.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 29.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
NPC.
CS216: Program and Data Representation University of Virginia Computer Science Spring 2006 David Evans Lecture 8: Crash Course in Computational Complexity.
Young CS 331 D&A of Algo. NP-Completeness1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and.
1 Ch 10 - NP-completeness Tractable and intractable problems Decision/Optimization problems Deterministic/NonDeterministic algorithms Classes P and NP.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
Advanced Algorithms Piyush Kumar (Lecture 8: NP Completeness) Welcome to COT5405 Based on Kevin Wayne’s slides.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
1 The Theory of NP-Completeness 2 Review: Finding lower bound by problem transformation Problem X reduces to problem Y (X  Y ) iff X can be solved by.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
Polynomial-Time Reduction
NP-Completeness Yin Tat Lee
Intro to Theory of Computation
Chapter 11 Limitations of Algorithm Power
Presentation transcript:

Princeton University COS 423 Theory of Algorithms Spring 2001 Kevin Wayne NP-Completeness

2 Properties of Algorithms A given problem can be solved by many different algorithms. Which ALGORITHMS will be useful in practice? A working definition: (Jack Edmonds, 1962) n Efficient: polynomial time for ALL inputs. n Inefficient: "exponential time" for SOME inputs. Robust definition has led to explosion of useful algorithms for wide spectrum of problems. n Notable exception: simplex algorithm.

3 Exponential Growth Exponential growth dwarfs technological change. n Suppose each electron in the universe had power of today’s supercomputers. n And each works for the life of the universe in an effort to solve TSP problem using N! algorithm. n Will not make a dent for 1,000 city TSP. 1000! >> >>   Quantity Supercomputer instructions per second Age of universe in seconds † Number Electrons in universe †10 79 † Estimated

4 Properties of Problems Which PROBLEMS will we be able to solve in practice? n Those with efficient algorithms. n How can I tell if I am trying to solve such a problem?  Theory of NP-completeness helps. YesProbably No Shortest pathLongest path Euler cycleHamiltonian cycle Min cutMax cut 2-SAT3-SAT Matching3D-Matching Unknown Factoring Graph isomorphism Baseball eliminationSoccer elimination PLANAR-2-COLORPLANAR-3-COLOR Bipartite vertex coverVertex cover PLANAR-4-COLORPLANAR-3-COLOR

5 P Decision problem X. n X is a (possibly infinite) set of binary strings. n Instance: finite binary string s, of length |s|. n Algorithm A solves X if A(s) = YES  s  X. Polynomial time. n Algorithm A runs in polynomial-time if for every instance s, A terminates in at most p(s) "steps", where p is some polynomial. Definition of P. n Set of all decision problems solvable in polynomial time on a deterministic Turing machine. Examples: n MULTIPLE: Is the integer y a multiple of x? n RELPRIME: Are the integers x and y relatively prime? n PERFECT-MATCHING: Given graph G, is there a perfect matching?

6 Strong Church-Turing Thesis Definition of P fundamental because of SCT. Strong Church-Turing thesis: n P is the set of decision problems solvable in polynomial time on REAL computers. Evidence supporting thesis: n True for all physical computers. n Can create deterministic TM that efficiently simulates any real general-purpose machine (and vice versa). Possible exception? n Quantum computers: no conventional gates.

7 Efficient Certification Certification algorithm. n Design an algorithm that checks whether proposed solution is a YES instance. Algorithm C is an efficient certifier for X if: n C is a polynomial-time algorithm that takes two inputs s and t. n There exists a polynomial p( ) so that for every string s, s  X  there exists a string t such that |t|  p(|s|) and C(s, t) = YES. Intuition. n Efficient certifier views things from "managerial" viewpoint. n It doesn't determine whether s  X on its own. n Rather, it evaluates a proposed proof t that s  X. n Accepts if and only if given a "short" proof of this fact.

8 Certifiers and Certificates COMPOSITE: Given integer s, is s composite? Observation. s is composite  there exists an integer 1 < t < s such that s is a multiple of t. n YES instance: s = 437,669. – certificate t = 541 or 809 (a factor) Certifier: Is s a multiple of t? NO Input s: 437,669 Certificate t: 541 s is a YES instanceno conclusion YES

9 Certifiers and Certificates COMPOSITE: Given integer s, is s composite? Observation. s is composite  there exists an integer 1 < t < s such that s is a multiple of t. n YES instance: s = 437,669. – certificate t = 541 or 809 (a factor) n NO instance: s = 437,677. – no witness can fool verifier into saying YES n Conclusion: COMPOSITE  NP. Certifier: Is s a multiple of t? NO Input s: 437,677 Certificate t: ??? s is a YES instanceno conclusion YES

10 Certifiers and Certificates CLIQUE: Given an undirected graph, is there a subset S of k nodes such that there is an arc connecting every pair of nodes in S? Certifier: 1. For all pairs of nodes v and w in t, check that (v, w) is an edge in the graph. 2. Check that number of nodes in t  k. NO Input s: s is a YES instance no conclusion YES CLIQUE  NP. u x v y zw Certificate t: {u, v, w, x} k = 4

11 Certifiers and Certificates 3-COLOR: Given planar map, can it be colored with 3 colors? Certifier: 1. Check that s and t describe same map. 2. Count number of distinct colors in t. 3. Check all pairs of adjacent states. NO Input s:Certificate t: s is a YES instance no conclusion YES 3-COLOR  NP.

12 NP Definition of NP: n Does NOT mean "not polynomial." Definition of NP: n Set of all decision problems for which there exists an efficient certifier. n Definition important because it links many fundamental problems. Claim: P  NP. Proof: Consider problem X  P. n Then, there exists efficient algorithm A(s) that solves X. n Efficient certifier B(s, t): return A(s).

13 NP Definition of EXP: n Set of all decision problems solvable in exponential time on a deterministic Turing machine. Claim: NP  EXP. Proof: Consider problem X  NP. n Then, there exists efficient certifier C(s, t) for X. n To solve input s, run C(s, t) on all strings t with |t|  p(|s|). n Return YES, if C(s, t) returns YES for any of these. Useful alternate definition of NP: n Set of all decision problems solvable in polynomial time on a NONDETERMINISTIC Turing machine. n Intuition: act of searching for t is viewed as a non-deterministic search over the space of possible proofs. Nondeterministic TM can try all possible solutions in parallel.

14 EXP The Main Question Does P = NP? (Edmonds, 1962) n Is the original DECISION problem as easy as CERTIFICATION? n Does nondeterminism help you solve problems faster? Most important open problem in computer science. n If yes, staggering practical significance. n Clay Foundation Millennium $1 million prize. NP P If P  NP If P = NP EXP P = NP

15 The Main Question Generator (P)Certifier (NP) n Factor integer s. Is s a multiple of t? n Color a map with minimum # colors. Check if all adjacent regions have different colors. n Design airfoil of minimum drag. Compute drag of airfoil. n Prove a beautiful theorem. Understand its proof. n Write a beautiful sonnet. Appreciate it. n Devise a good joke. Laugh at it. n Vinify fine wine. Be a wine snob. n Orate a good lecture. Know when you've heard one. n Ace an exam. Verify TA's solutions. Imagine the wealth of a society that produces optimal planes, bridges, rockets, theorems, art, music, wine, jokes.

16 The Main Question Does P = NP? n Is the original DECISION problem as easy as CERTIFICATION? If yes, then: n Efficient algorithms for 3-COLOR, TSP, FACTOR,... n Cryptography is impossible (except for one-time pads) on conventional machines. n Modern banking system will collapse. n Harmonial bliss. If no, then: n Can't hope to write efficient algorithm for TSP. n But maybe efficient algorithm still exists for FACTOR....

17 The Main Question Does P = NP? n Is the original DECISION problem as easy as CERTIFICATION? Probably no, since: n Thousands of researchers have spent four frustrating decades in search of polynomial algorithms for many fundamental NP problems without success. Consensus opinion: P  NP. But maybe yes, since: No success in proving P  NP either.

18 Polynomial Transformation Problem X polynomial reduces (Cook-Turing) to problem Y (X  P Y) if arbitrary instances of problem X can be solved using: n Polynomial number of standard computational steps, plus n Polynomial number of calls to oracle that solves problem Y. Problem X polynomial transforms (Karp) to problem Y if given any input x to X, we can construct an input y such that x is a YES instance of X if and only if y is a YES instance of Y. n We require |y| to be of size polynomial in |x|. Polynomial transformation is polynomial reduction with just one call to oracle for Y, exactly at the end of the algorithm for X. Note: all previous reductions were of this form!

19 NP-Complete Definition of NP-complete: n A problem Y in NP with the property that for every problem X in NP, X polynomial transforms to Y. n "Hardest computational problems" in NP. EXP NP P If P  NP If P = NP NP- complete EXP P = NP

20 NP-Complete Definition of NP-complete: n A problem Y in NP with the property that for every problem X in NP, X polynomial transforms to Y. Significance. n Efficient algorithm for any NP-complete problem  efficient algorithm for every other problem in NP. n Links together a huge and diverse number of fundamental problems: – TSP, 3-COLOR, CNF-SAT, CLIQUE, n Can implement any computer program in 3-COLOR. Notorious complexity class. n Only exponential algorithms known for these problems. n Called "intractable" - unlikely that they can be solved given limited computing resources.

21 Some NP-Complete Problems Most natural problems in NP are either in P or NP-complete. Six basic genres and paradigmatic examples of NP-complete problems. n Packing problems: SET-PACKING, INDEPENDENT-SET. n Covering problems: SET-COVER, VERTEX-COVER. n Sequencing problems: HAMILTONIAN-CYCLE, TSP. n Partitioning problems: 3-COLOR, CLIQUE. n Constraint satisfaction problems: SAT, 3-SAT. n Numerical problems: SUBSET-SUM, PARTITION, KNAPSACK. Caveat: PRIME, FACTOR not known to be NP-complete.

22 The "World's First" NP-Complete Problem CNF-SAT is NP-complete. (Cook-Levin, 1960’s) Idea of proof: n Given problem X in NP, by definition, there exists nondeterministic TM M that solves X in polynomial time. n Possible execution of M on input string s forms a branching tree of configurations, where each configuration gives snapshot of M (tape contents, head position, state of finite control) at some time step t. n M is polynomial time  polynomial tree depth  polynomial number of tape cells in play. n Use polynomial number of Boolean variables to model which symbol occupies cell i at time t, location of read head at time t, state of finite control, etc. n Use polynomial number of clauses to ensure machine makes legal moves, starts and ends in appropriate configurations, etc. Stephen Cook

23 Establishing NP-Completeness Definition of NP-complete: n A problem Y  NP with the property that for every problem X in NP, X polynomial transforms to Y. Cook's theorem. CNF-SAT is NP-complete. Recipe to establish NP-completeness of problem Y. n Step 1. Show that Y  NP. n Step 2. Show that CNF-SAT (or any other NP-complete problem) transforms to Y. Example: CLIQUE is NP-complete. 4 Step 1. CLIQUE  NP. 4 Step 2. CNF-SAT polynomial transforms to CLIQUE.

24 Minesweeper Consistency Problem Minesweeper. n Start: blank grid of squares. n Some squares conceal mines; the rest are safe. n Find location of mines without detonating any. n Choose a square. – if mine underneath, it detonates and you lose – If no mine, computer tells you how many total mines in 8 neighboring squares

25 Minesweeper Consistency Problem Minesweeper consistency problem. n Given a state of what purports to be a Minesweeper games, is it logically consistent. YES NO

26 Minesweeper Consistency Problem Minesweeper consistency problem. n Given a state of what purports to be a Minesweeper games, is it logically consistent. Claim. Minesweeper consistency is NP-complete. n Proof idea: reduce from circuit satisfiability. n Build circuit by laying out appropriate minesweeper configurations. A Minesweeper Wire

27 Minesweeper Consistency Problem A NOT Gate An AND Gate A OR Gate

28 Minesweeper Consistency Problem A 3-way Splitter A Phase Changer

29 Minesweeper Consistency Problem A Wire Crossing

30 Coping With NP-Completeness Hope that worst case doesn't occur. n Complexity theory deals with worst case behavior. The instance(s) you want to solve may be "easy." – TSP where all points are on a line or circle – 13,509 US city TSP problem solved (Cook et. al., 1998)

31 Coping With NP-Completeness Hope that worst case doesn't occur. Change the problem. n Develop a heuristic, and hope it produces a good solution. n Design an approximation algorithm: algorithm that is guaranteed to find a high-quality solution in polynomial time. – active area of research, but not always possible unless P = NP! – Euclidean TSP tour within 1% of optimal – stay tuned Sanjeev Arora (1997)

32 Coping With NP-Completeness Hope that worst case doesn't occur. Change the problem. Exploit intractability. n Cryptography.

33 Coping With NP-Completeness Hope that worst case doesn't occur. Change the problem. Exploit intractability. Keep trying to prove P = NP.

34 Coping With NP-Completeness A person can be at most two of the following three things:  Honest.  Intelligent.  A politician. If a problem is NP-complete, you design an algorithm to do at most two of the following three things:  Solve the problem exactly.  Guarantee to solve the problem in polynomial time.  Solve arbitrary instances of the problem.

35 Asymmetry of NP Definition of NP: X  NP if there exists a certifier C(s, t) such that: n Input string s is a YES instance if and only if there exists a succinct certificate t such that C(s, t) = YES. n Alternatively, input string s is a NO instance if and only if for all succinct t, C(s, t) = NO. Ex. HAM-CYCLE vs. NO-HAM-CYCLE. n Given G and a proposed Hamiltonian cycle, easy to if check if it really is a Hamiltonian cycle. n Given G, hard to assert that it is not Hamiltonian. Ex. PRIME vs. COMPOSITE. n Given integer s and proposed factor t, it is easy to check if s is a multiple of t. n Appears harder to assert that an integer is not composite.

36 Co-NP NP: Decision problem X  NP if there exists a certifier C(s, t) s.t. n Input string s is a YES instance if and only if there exists a succinct certificate t such that C(s, t) = YES. n Alternatively, input string s is a NO instance if and only if for all succinct t, C(s, t) = NO. co-NP: X  co-NP if there exists a disqualifier D(s, t) s.t. n Input string s is a NO instance if and only if there exists a succinct disqualification t such that D(s, t) = YES. n Alternatively, input string s is a YES instance if and only if for all succinct t, D(s, t) = NO.

37 Co-NP Disqualifications and Disqualifiers PRIME: Given integer s, is s prime? Observation. s is composite if and only if there exists an integer 1 < t < s such that s is a multiple of t. n NO instance: s = 437,669. Conclusions. n PRIME  co-NP. n COMPOSITE  P. Disqualifier: Is s a multiple of t? NO Input s: 437,669 Disqualification t: 541 s is a NO instanceno conclusion YES

38 Co-NP Disqualifications and Disqualifiers COMPOSITE: Given integer s, is s composite? Pratt's Theorem (1975). s is prime if and only if s > 2 is odd, and there exists an integer 1 < t < s s.t. n NO instance: 437,677. Conclusions. n COMPOSITE  co-NP. n PRIME  NP. Disqualifier: 17^(s-1) mod s = 1 s - 1 = 2  2  3  36,473 17^(s-1)/2 mod s = 437,676 17^(s-1)/3 mod s = 329,415 17^(s-1)/36,473 mod s = 305,452 NO Input s: 437,677 Disqualification t: 17, 2 2  3  s is a NO instanceno conclusion YES

39 NP = co-NP ? Fundamental question: does NP = co-NP? n Do YES-instances have short certificates if and only if NO- instances have succinct disqualifiers. n Consensus opinion: no. Theorem. If NP  co-NP, then P  NP. Proof. We prove if P = NP, then NP = co-NP. n Key idea: P is closed under complementation, so if P = NP, then NP is closed under complementation as well. n More formally, using the assumption P = NP: n Thus, NP  co-NP and co-NP  NP, so co-NP = NP.

40 Good Characterizations Good characterization: NP  co-NP. n If problem X is in NP and co-NP, then: – for YES instance, there is a succinct certificate – for NO instance, there is a succinct disqualifier n Provides conceptual leverage for reasoning about a problem. Examples. n MAX-FLOW: given a network, is there an s-t flow of value  W. – if yes, can exhibit s-t flow that achieves this value – if no, can exhibit s-t cut whose capacity is less than W n PERFECT-MATCHING: given a bipartite graph, is there a perfect matching. – if yes, can exhibit a perfect matching – if no, can exhibit a set of vertices S  L such that the total number of neighbors of S is strictly less than |S|

41 Good Characterizations Observation. P  NP  co-NP. n Proof of max-flow min-cut theorem and Hall's theorem led to stronger results that max-flow and bipartite matching are in P. n Sometimes finding a good characterization seems easier than finding an efficient algorithm: linear programming. Fundamental question: does P = NP  co-NP? n Mixed opinions. n Many examples where problem found to have a non-trivial good characterization, but only years later discovered to be in P. n Note: PRIME  NP  co-NP, but not known to be in P.

42 A Note on Terminology Knuth. (SIGACT News 6, January 1974, p. 12 – 18) Find an adjective x that sounds good in sentences like. n FIND-TSP-TOUR is x. n It is x to decide whether a given graph has a Hamiltonian cycle. n It is unknown whether FACTOR is an x problem. Note: x does not necessarily imply that a problem is in NP or even a decision problem. Knuth's original suggestions. n Hard. n Tough. n Herculean. n Formidable. n Arduous.

43 A Note on Terminology Some English word write-ins. n Impractical. n Bad. n Heavy. n Tricky. n Intricate. n Prodigious. n Difficult. n Intractable. n Costly. n Obdurate. n Obstinate. n Exorbitant. n Interminable.

44 A Note on Terminology Hard-boiled. (Ken Steiglitz) n In honor of Cook. Hard-ass. (Al Meyer) n Hard as satisfiability. Sisyphean. (Bob Floyd) n Problem of Sisyphus was time-consuming. n Hercules needed great strength. n Problem: Sisyphus never finished his task  unsolvable. Ulyssean. (Don Knuth) n Ulysses was note for his persistence and also finished.

45 A Note on Terminology: Made-Up Words Exparent. (Mike Paterson) n exponential + apparent Perarduous. (Mike Paterson) n through, in space or time + completely Supersat. (Al Meyer) n greater than or equal to satisfiability Polychronious. (Ed Reingold) n enduringly long; chronic n Appears in Webster's 2 nd unabridged, but apparently in no other dictionary.

46 A Note on Terminology: Acronyms PET. (Shen Lin) n Probably exponential time. n Provably exponential time, previously exponential time. GNP. (Al Meyer) n Greater than or equal to NP in difficulty. n Costing more than GNP to resolve.

47 A Note on Terminology: Consensus NP-complete. n A problem in NP such that every other problem in NP transforms to it. NP-hard. (Bell Labs, Steve Cook, Ron Rivest, Sartaj Sahni) n A problem such that every problem in NP transforms to it. Knuth's conclusion. n "creative research workers are as full of ideas for new terminology as they are empty of enthusiasm for adopting it."

48 Summary Many fundamental problems are NP-complete. n TSP, 3-CNF-SAT, 3-COLOR, CLIQUE,.... Theory says we probably won't be able to design efficient algorithms for NP-complete problems. n You will likely run into these problems in your scientific life. n If you know about NP-completeness, you can identify them and avoid wasting time.