NP-Complete William Strickland COT4810 Spring 2008 February 7, 2008.

Slides:



Advertisements
Similar presentations
NP-Complete Problems CIT 596, Spring Problems that Cross the Line What if a problem has: o An exponential upper bound o A polynomial lower bound.
Advertisements

Time Complexity P vs NP.
Complexity Theory Lecture 1 Lecturer: Moni Naor. Computational Complexity Theory Study the resources needed to solve computational problems –Computer.
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
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Design and Analysis of Algorithms NP-Completeness Haidong Xue Summer 2012, at GSU.
Theory of Computing Lecture 16 MAS 714 Hartmut Klauck.
© The McGraw-Hill Companies, Inc., Chapter 8 The Theory of NP-Completeness.
02/01/11CMPUT 671 Lecture 11 CMPUT 671 Hard Problems Winter 2002 Joseph Culberson Home Page.
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.
Humans, Computers, and Computational Complexity J. Winters Brock Nathan Kaplan Jason Thompson.
1 Polynomial Time Reductions Polynomial Computable function : For any computes in polynomial time.
The Theory of NP-Completeness
CSE 326: Data Structures NP Completeness Ben Lerner Summer 2007.
1 Other Models of Computation. 2 Models of computation: Turing Machines Recursive Functions Post Systems Rewriting Systems.
Computational Complexity CSC 172 SPRING 2002 LECTURE 27.
NP-complete and NP-hard problems
Analysis of Algorithms CS 477/677
Halting Problem. Background - Halting Problem Common error: Program goes into an infinite loop. Wouldn’t it be nice to have a tool that would warn us.
1 The Theory of NP-Completeness 2 NP P NPC NP: Non-deterministic Polynomial P: Polynomial NPC: Non-deterministic Polynomial Complete P=NP? X = P.
CSCE350 Algorithms and Data Structure
Scott Perryman Jordan Williams.  NP-completeness is a class of unsolved decision problems in Computer Science.  A decision problem is a YES or NO answer.
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.
Chapter 7 Inefficiency and Intractability CS 345 Spring Quarter, 2014.
Review Byron Gao. Overview Theory of computation: central areas: Automata, Computability, Complexity Computability: Is the problem solvable? –solvable.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 8: Complexity Theory.
Theory of Computation, Feodor F. Dragan, Kent State University 1 NP-Completeness P: is the set of decision problems (or languages) that are solvable in.
NP Complexity By Mussie Araya. What is NP Complexity? Formal Definition: NP is the set of decision problems solvable in polynomial time by a non- deterministic.
Cs3102: Theory of Computation Class 24: NP-Completeness Spring 2010 University of Virginia David Evans.
CSC 413/513: Intro to Algorithms NP Completeness.
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.
CSCI 2670 Introduction to Theory of Computing December 1, 2004.
CSE 3813 Introduction to Formal Languages and Automata Chapter 14 An Introduction to Computational Complexity These class notes are based on material from.
P, NP, and Exponential Problems Should have had all this in CS 252 – Quick review Many problems have an exponential number of possibilities and we can.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
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 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.
Limits to Computation How do you analyze a new algorithm? –Put it in the form of existing algorithms that you know the analysis. –For example, given 2.
NP-Completeness (Nondeterministic Polynomial Completeness) Sushanth Sivaram Vallath & Z. Joseph.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
Design and Analysis of Algorithms NP-Completeness Haidong Xue Summer 2012, at GSU.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 7 Time Complexity Some slides are in courtesy.
1 CSE 326: Data Structures: Graphs Lecture 24: Friday, March 7 th, 2003.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 30, 2014.
Solving the Logic Satisfiability problem Solving the Logic Satisfiability problem Jesus De Loera.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
NPC.
1 Time Complexity We use a multitape Turing machine We count the number of steps until a string is accepted We use the O(k) notation.
Chapter 15 P, NP, and Cook’s Theorem. 2 Computability Theory n Establishes whether decision problems are (only) theoretically decidable, i.e., decides.
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.
Introduction to NP-Completeness Tahir Azim. The Downside of Computers Many problems can be solved in linear time or polynomial time But there are also.
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
1 1. Which of these sequences correspond to Hamilton cycles in the graph? (a) (b) (c) (d) (e)
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.
Computability Examples. Reducibility. NP completeness. Homework: Find other examples of NP complete problems.
CSE 332: NP Completeness, Part II Richard Anderson Spring 2016.
NP-Completeness A problem is NP-complete if: It is in NP
Other Models of Computation
Computational Complexity
Time Complexity We use a multitape Turing machine
Halting Problem.
Chapter 34: NP-Completeness
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
The Polynomial Hierarchy Enumeration Problems 7.3.3
Presentation transcript:

NP-Complete William Strickland COT4810 Spring 2008 February 7, 2008

Overview Related Concepts and Terms Origins and Terminology of NP-C NP-C Facts Relations of NP NP Complete Proof Steps Working with NP-Complete Future of NP-Complete

Related Concepts and Terms Non-deterministic Machine Accelerates problem solution over deterministic machine. Branches computation at choice points. Machine can process infinite number of choices in parallel. Usually ‘implemented’ as Turing machine. Deterministic machine is non-deterministic without choices. Problem characteristics Problem complexity equals best known solution complexity. Intractable if no polynomial solution. Is complete if it is hardest member of its own class.

Origins and Terminology of NP-C Related Concepts and Terms Cook’s Contributions Karp’s Refinements Levin and modern terminology

Cook’s Contributions Concept of NP-complete originates with Steven Cook in 1971 Class P and NP defined: P defined as problem that can be solved in polynomial time on deterministic machine. NP defined as problems that have Polynomial solutions on non- deterministic machines. Proved Satisfiability problem to be hardest in NP class. Demonstrated reductions using polynomial time Turing machine.

Karp’s Refinements In 1972, Richard Karp defined NP-complete as we know it today Simplified reduction to polynomial transformation Many more NP-complete problems proven Created the “Polynomial Complete” class (now known as NP-C)

Levin and modern terminology In 1973, Leonid Levin provided showed alternate theorem similar to Cook’s. Largely due to efforts of Donald Knuth modern terms are accepted in NP-complete Coined. NP-hard coined to describe problems at least as hard as NP- Complete. In 1978, Strong NP-C coined by Michael Garey and Donald Johnson as problems still NP-C when using unary language.

NP-C Facts Hardest problems in NP class. Any NP problem can be reduced to NP-C problem in polynomial time. Any NP-Complete problem can be reduced to any other NP-C problem in polynomial time. If Polynomial solution found for one, there is polynomial solution to all NP problems and P=NP. If NP problem proven to be intractable then NP-C intractable and P≠NP.

Relations of NP P NP-CcoNP-C coNPNP *Assuming P≠NP and NP≠coNP Adapted from [Garey 157]

NP-Complete Proof Steps Four steps to prove is NP-C Show is NP. Select known NP-C. Transform known NP-C to NP-C in question. Prove transformation is polynomial. Typical proof if is by restriction; show known NP-C as special case.

Working with NP-Complete 5 methods to find solutions to NP-complete in reasonable time Special case – determine if special case, if so attempt to find polynomial solution to this case only. Dynamic programming and Branch-and-Bound – search intelligently for a solution in exponential set. Probabilistic – write the algorithm be written in such a way as the common case will have polynomial time even if other cases remain exponential. Approximation – find acceptable approximation of the answer be found in polynomial time. Heuristic – sacrifice provable accuracy for fast generation of a ‘good’ approximate solution.

Future of NP-Complete If proven intractable: NP-C based cryptography validated. Continued efforts on approximation algorithms. More approximation support in hardware. If polynomial solution found: All NP problems (most practical problems) are polynomial. One algorithm solves all solution to almost any problem. Hardware to accelerate algorithm. NP-C based cryptography no longer viable.

References Blum, Lenore, et al. Complexity and Real Computation. New York: Springer-Verlag, 1998 Dewdney, A.K.. The New Turing Omnibus st. New York: Henry Holt and Company, Garey, Michael R., and Johnson, David S. Computers and Intractability. New York: W. H. Freeman and Company, Mehlhoun, Kurt. Data Structures and Algorithms. Graphing Algorithms and NP-Completeness 2. Berlin: Springer-Verlag, Rothe, Jörg. Complexity Theory and Cryptography. Berlin: Springer-Verlag, Smith, Carl H. A Recursive Introduction to Theory of Computation. New York: Springer-Verlag, Wilf, Herbert S. Algorithms and Complexity. Englewood Cliffs, New York: Prentice-Hall, 1986.

Questions: 1)The Selection sort algorithm solves the sequential sorting problem. True or False, This problem is a NP class problem. 2)Using what technique can an algorithm always produce the exact solution to a NP-C problem, yet average polynomial time.