NP-Completeness  For convenience, the theory of NP - Completeness is designed for decision problems (i.e. whose solution is either yes or no).  Abstractly,

Slides:



Advertisements
Similar presentations
Part VI NP-Hardness. Lecture 23 Whats NP? Hard Problems.
Advertisements

Theory of NP-Completeness
Complexity Classes: P and NP
 2004 SDU Lecture17-P,NP, NPC.  2004 SDU 2 1.Decision problem and language decision problem decision problem and language 2.P and NP Definitions of.
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Concept of Completeness and hardness for a complexity class Definition.
Complexity class NP Is the class of languages that can be verified by a polynomial-time algorithm. L = { x in {0,1}* | there exists a certificate y with.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Advanced Topics in Algorithms and Data Structures
Complexity Theory CSE 331 Section 2 James Daly. Reminders Project 4 is out Due Friday Dynamic programming project Homework 6 is out Due next week (on.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
P, NP, PS, and NPS By Muhannad Harrim. Class P P is the complexity class containing decision problems which can be solved by a Deterministic Turing machine.
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Definition of complexity class NP –Nondeterministic computation –Problems.
Complexity and Cryptography
1 dKS, Spring Some practical information Lecturers: Kristoffer Arnsfelt Hansen and Peter Bro Miltersen. Homepage:
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
The Theory of NP-Completeness
NP-Complete Problems Problems in Computer Science are classified into
NP-complete and NP-hard problems
Analysis of Algorithms CS 477/677
Computational Complexity, Physical Mapping III + Perl CIS 667 March 4, 2004.
Chapter 11: Limitations of Algorithmic Power
1.1 Chapter 1: Introduction What is the course all about? Problems, instances and algorithms Running time v.s. computational complexity General description.
Computability and Modeling Computation What are some really impressive things that computers can do? –Land the space shuttle (and other aircraft) from.
MCS312: NP-completeness and Approximation Algorithms
CSCE350 Algorithms and Data Structure
Computational Complexity Polynomial time O(n k ) input size n, k constant Tractable problems solvable in polynomial time(Opposite Intractable) Ex: sorting,
Complexity 2-1 Problems and Languages Complexity Andrei Bulatov.
Internet Engineering Czesław Smutnicki Discrete Mathematics – Computational Complexity.
Complexity theory and combinatorial optimization Class #2 – 17 th of March …. where we deal with decision problems, finite automata, Turing machines pink.
Review Byron Gao. Overview Theory of computation: central areas: Automata, Computability, Complexity Computability: Is the problem solvable? –solvable.
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.
1.1 Chapter 2: The Theory of NP-completeness Problems vs. Languages Encoding schemes P, NP.
TECH Computer Science NP-Complete Problems Problems  Abstract Problems  Decision Problem, Optimal value, Optimal solution  Encodings  //Data Structure.
CSC 413/513: Intro to Algorithms NP Completeness.
Polynomial-time reductions We have seen several reductions:
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.
NP-COMPLETENESS PRESENTED BY TUSHAR KUMAR J. RITESH BAGGA.
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.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
Lecture 12 P and NP Introduction to intractability Class P and NP Class NPC (NP-complete)
NP-Algorithms Tractable vs Intractable Some problems are intractable: as they grow large, we are unable to solve them in reasonable time.
NP-completeness Class of hard problems. Jaruloj ChongstitvatanaNP-complete Problems2 Outline  Introduction  Problems and Languages Turing machines and.
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.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 7 Time Complexity Some slides are in courtesy.
NP-Completness Turing Machine. Hard problems There are many many important problems for which no polynomial algorithms is known. We show that a polynomial-time.
Computability and Complexity 2-1 Problems and Languages Computability and Complexity Andrei Bulatov.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
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.
COMPLEXITY. Satisfiability(SAT) problem Conjunctive normal form(CNF): Let S be a Boolean expression in CNF. That is, S is the product(and) of several.
Optimization/Decision Problems Optimization Problems – An optimization problem is one which asks, “What is the optimal solution to problem X?” – Examples:
Lecture. Today Problem set 9 out (due next Thursday) Topics: –Complexity Theory –Optimization versus Decision Problems –P and NP –Efficient Verification.
CS623: Introduction to Computing with Neural Nets (lecture-7) Pushpak Bhattacharyya Computer Science and Engineering Department IIT Bombay.
TU/e Algorithms (2IL15) – Lecture 9 1 NP-Completeness NOT AND OR AND NOT AND.
1 P and NP. 2 Introduction The Traveling Salesperson problem and thousands of other problems are equally hard in the sense that if we had an efficient.
Conceptual Foundations © 2008 Pearson Education Australia Lecture slides for this course are based on teaching materials provided/referred by: (1) Statistics.
Chapters 11 and 12 Decision Problems and Undecidability.
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
Chapter 2: The Theory of NP-completeness
Opracowanie językowe dr inż. J. Jarnicki
Chapter 10 NP-Complete Problems.
Part VI NP-Hardness.
CS 583 Fall 2006 Analysis of Algorithms
Recall last lecture and Nondeterministic TMs
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-Completeness  For convenience, the theory of NP - Completeness is designed for decision problems (i.e. whose solution is either yes or no).  Abstractly, a decision problem  consists simply of a set D   of instances and a subset Y   D   We describe a decision problem by specifying a generic instance and stating a yes - no question  Examples: subgraph isomorphism and TSP

Decision Problems  A decision problem can be obtained from an optimization problem by adding a bound  As long as the cost function is relatively easy to compute, the decision problem can be no harder than the optimization problem.  The reason we restrict ourselves to decision problems is that they have a natural correspondence to formal languages.

Formal languages  For any finite set of symbols , we denote by  * the set of all finite strings of symbols from . For example, if  = {0,1}, then  * consists of , 0,1, 01,10,00,11,…….  If L is a subset of  *, we say L is a language over the alphabet .  An encoding scheme is a mechanism for describing each instance of a problem  by an appropriate string of symbols over some fixed alphabet .

Problem Encodings  Thus a problem  and encoding scheme e partition  * into three classes : those that are encoding of "no", those that are encoding of "yes", and those that are not a valid encoding at all.  We define [ ,e] = { x   * :  is the alphabet of e and x is the encoding under e of an instance I  Y  }  We will say that if a result holds for L[ ,e] then it holds for problem  under encoding scheme e

Problem Encodings  Most properties that we will consider will be essentially encoding independent so long as we restrict ourselves to reasonable encoding schemes  That is, if e and e are both reasonable encoding schemes, then a property holds either for both L[ ,e] and L[ , e ] or neither.  This will allow us to say that the property holds for  without specifying e.

Reasonable Encoding Scheme  conciseness  no unnecessary padding  binary representation of numbers  Decodability  Given any particular component of a given instance, one should be able to specify a polynomial-time algorithm that is capable of extracting its value from an encoded instance

Turing Machine  Deterministic one_tape Turning Machine (DTM)  Consists : finite state control, read_write head, and a tape (2_way infinite)  A program for a DTM specifies  A finite set  of tape symbols which includes    of i/p symbols and a distinct blank symbol b   -   A finite set Q of states which includes q 0, q y, q N  : (Q - { q y, q N } )    Q    { -1,1}

Turing Machine Operation  i/p is a string x   *.  x is placed in square 1…|x|. All others contain blank.  Program starts in state q 0 at sequence 1.  If current state is q y or q N then computation has ended and the answer is "yes" or "no".

Complexity Classes  P = { L :  polynomial time DTM m for which L= L m }  NP = { L :  polynomial time NDTM m for which L= L m }  NP can also be defined in terms of polynomial-time verifiability

Verifiability  Take TSP. Suppose someone claimed that the answer for some instance is "yes".  We could, if we were skeptical, ask this person to prove their claim by providing us with a tour.  It would then be a simple matter to verify the truth or falsity of their claim.

Verifiability  It is this notation of polynomial time verification that the class NP is intended to isolate. Note that polynomial verifiability is different from solvability

Polynomial Reducability  A language L is NP -complete if L  NP and for all other language L  NP, L  L  If any single NP complete problem can be solved in polynomial time, then all problems in NP can be solved in polynomial time  If any problem in NP -complete is intractable, then all problems in NP -complete are intractable  Once we have even a single NP -complete problem, it becomes easier to prove NP - completeness

co- NP co- NP ={L | complement (L)  NP } Is ( NP  co- NP ) - P non-empty?

Proving NP -Completeness A problem  is NP -complete if it satisfies two properties: –If  belongs to NP [this condition is sometimes called being “ NP -easy”] –If every problem in NP can be reduced to  in polynomial time [this condition is called being “ NP -hard”]