SlideShare a Scribd company logo
7
Most read
9
Most read
10
Most read
P, NP and NP-Complete
Problems
Introduction
 An algorithm with O(n3) complexity isn’t bad
 because it can still be run for fairly large
 inputs in a reasonable amount of time.
 In this chapter, we are concerned with
 problems with exponential complexity.
 Tractable and intractable problems
 Study the class of problems for which no
 reasonably fast algorithms have been found,
 but no one can prove that fast algorithms do
 not exist.
                                           2
Our Old List of Problems
 Sorting
 Searching
 Shortest paths in a graph
 Minimum spanning tree
 Traveling salesman problem
 Knapsack problem
 Towers of Hanoi
                              3
Tractability
An algorithm solves the problem in
polynomial time if its worst-case time
efficiency belongs to O(p(n)) where p(n) is a
polynomial of the problem’s input size n.

Problems that can be solved in polynomial
time are called tractable.

Problems that cannot be solved in polynomial
time are called intractable.
                                                4
Classifying a Problem’s Complexity
Is there a polynomial-time algorithm that solves the
   problem?
Possible answers:
  yes
  no
      because it can be proved that all algorithms take
      exponential time
      because it can be proved that no algorithm exists at all
      to solve this problem
  don’t know, but if such algorithms were to be found, then
  it would provide a means of solving many other problems
  in polynomial time
                                                             5
Types of Problems
Optimization problem: construct a solution that
maximizes or minimizes some objective function
Decision problem: A question that has two
possible answers, yes and no.
  Example: Hamiltonian circles: A Hamiltonian circle in
  an undirected graph is a simple circle that passes
  through every vertex exactly once. The decision
  problem is: Does a given undirected graph have a
  Hamiltonian circle?


                                                      6
Some More Problems (1)
Many problems will have decision and optimization versions
  Traveling salesman problem
     Optimization problem: Given a weighted graph, find Hamiltonian cycle of
     minimum weight.
     Decision problem: Given a weighted graph and an integer k, is there a
     Hamiltonian cycle with total weight at most k?

  Knapsack : Suppose we have a knapsack of capacity W (a positive
  integer) and n objects with weights w1, …, wn, and values v1, …, vn
  (where w1, …, wn, and v1, …, vn are positive integers)
     Optimization problem: Find the largest total value of any subset of the
     objects that fits in the knapsack (and find a subset that achieves the
     maximum value)
     Decision problem: Given k, is there a subset of the objects that fits in the
     knapsack and has total value at least k?
                                                                              7
Some More Problems (2)
Bin packing: Suppose we have an unlimited number of bins each of
capacity one, and n objects with sizes s1, …, sn, where 0 ≤ si≤ 1( si
are rational numbers)
   Optimization problem: Determine the smallest number of bins into which
   the objects can be packed(and find an optimal packing).
   Decision problem: Given, in addition to the inputs described, an integer
   k, do the objects fit in k bins?

Graph coloring:
   coloring: assign a color to each vertex so that adjacent vertices are not
   assigned the same color.
   Chromatic number: the smallest number of colors needed to color G.
We are given an undirected graph G = (V, E) to be colored.
   Optimization problem: Given G, determine the chromatic number .
   Decision problem: Given G and a positive integer k, is there a coloring of
   G using at most k colors? If so, G is said to be k-colorable.           8
The class P
P : the class of decision problems that can be solved in
   O(p(n)), where p(n) is a polynomial on n.

Why use the existence of a polynomial time bound as the criterion?
  if not, very inefficient
  nice closure properties                     Given a computer program
  machine independent in a strong sense       and an input to it,
                                              determine whether the
                                              program will halt on that
What is the solvability of a decision problem?
                                              input or continue working
  Solvable/decidable in polynomial time       indefinitely on it.
  Solvable/decidable but intractable
  Unsolvable/undecidable problems: e.g., the halting problem
  No polynomial algorithm has been found, nor has the impossibility of
  such an algorithm been proved.                                     9
The class NP
Informally, NP is the class of decision problems for which a given proposed
   solution for a given input can be checked quickly(in polynomial time) to
   see if it really is a solution.

Formally, NP: the class of decision problems that can be solved by
   nondeterministic polynomial (NP) algorithms

   A nondeterministic algorithm: a two-stage procedure that takes as its input
   an instance I of a decision problem and does the following
       “guessing” stage: An arbitrary string S is generated that can be
       thought of as a guess at a solution for the given instance (but may be
       complete gibberish as well)
       “verification” stage: A deterministic algorithm takes both I and S as its
       input and check if S is a solution to instance I, (outputs yes if s is a
       solution and outputs no or not halt at all otherwise)



                                                                           10
The class NP
 A nondeterministic algorithm solves a decision problem if and
 only if for every yes instance of the problem it returns yes on
 some execution.

 A nondeterministic algorithm is said to be polynomially
 bounded if there is a polynomial p such that for each input of
 size n for which the answer is yes, there is some execution of
 the algorithm that produces a yes output in at most p(n) steps.




                                                             11
Example: graph coloring
 Nondeterministic graph coloring
   First phase: generate a string s, a list of
   characters, c1c2…cq ,which the second
   phase interpret as a proposed coloring
   solution
   Second phase: interpret the above
   characters as colors to be assigned to the
   vertices ci   vi

                                            12
Example: CNF Satisfiability
     The problem: Given a boolean expression expressed in
     conjunctive normal form(CNF), can we assign values
     true and false to variables to satisfy the CNF ?
     This problem is in NP. Nondeterministic algorithm:
       Guess truth assignment                     Make the formula true
       Check assignment to see if it satisfies CNF formula

     Example:
(A⋁¬B ⋁ ¬C ) ⋀ (¬A ⋁ B) ⋀ (¬ B ⋁ D ⋁ E ) ⋀ (F ⋁ ¬ D)

     Truth assignments:
     A B   CD    E   F
1.   0 1   1 0   1   0                   literals
2.   1 0   0 0   0   1
3.   1 1   0 0   0   1
4.   …                                                              13
The Relationship between P & NP (1)
P ⊆ NP
  (I ∈ P I ∈ NP): Every decision problem solvable
  by a polynomial time deterministic algorithm is
  also solvable by a polynomial time
  nondeterministic algorithm.
  To see this, observe that any deterministic
  algorithm can be used as the checking stage of a
  nondeterministic algorithm.
    If I ∈ P, and A is any polynomial deterministic algorithm
    for I, we can obtain a polynomial nondeterministic
    algorithm for I merely by using A as the checking stage
    and ignoring the guess. Thus I ∈ P implies I ∈ NP

                                                                14
The Relationship between P & NP (2)
  ?
P = NP (NP ⊆ P?)
  Can the problems in NP be solved in
  polynomial time?
  A tentative view
                              NP


                          P



                                        15
NP-Completeness (1)
NP-completeness is the term used to describe decision
problems that are the hardest ones in NP
  If there were a polynomial bounded algorithm for an NP-
  complete problem, then there would be a polynomial bounded
  algorithm for each problem in NP.
  Examples
     Hamiltonian cycle
     Traveling salesman
     Knapsack
     Bin packing
     Graph coloring
     Satisfiability



                                                          16
Informal Definition of NP-Completeness
    Informally, an NP-complete problem is a problem in
    NP that is as difficult as any other problem in this
    class, because by definition, any other problem in NP
    can be reduced to it in polynomial time.
    A decision problem D1 is said to be polynomially
    reducible to a decision problem D2 if there exists a
    function t that transforms instances of D1 to instances
    of D2 such that
        1. t maps all yes instances of D1 to yes instances of D2 and
        all no instances of D1 to all no instances of D2.
        2. t is computable by a polynomial-time algorithm.

If D2 is polynomially solvable, then D1 can also be solved in polynomial time.

                                                                            17
An Example of Polynomial Reductions
 Problem P: Given a sequence of Boolean
 values, does at least one of them have the
 value true?
 Problem Q: Given a sequence of integers, is
 the maximum of the integers positive?
 Transformation T:
 t(x1, x2, …, xn) = (y1, y2, …, yn), where
  yi = 1 if xi = true, and yi = 0 if xi = false.

                                               18
Another Example of Polynomial Reductions

For example
  a Hamiltonian circuit problem is polynomially reducible to the
  decision version of the traveling salesman problem.
     Hamiltonian circuit problem(HCP): Does a given undirected graph have
     a Hamiltonian cycle?
     Traveling salesman problem(TSP): Given a weighted graph and an
     integer k, is there a Hamiltonian cycle with total weight at most k?
     Transformation t:
          Map G, a given instance of the HCP to a weighted complete graph G’,
          an instance of the TSP by assigning 1 as the edge weight to each
          edge in G and adding an edge of weight 2 between any pair of
          nonadjacent vertices in G.
          Let k be n, the total vertex number in G.


                                                                            19
Formal Definition of NP-Completeness
A decision problem D is said to be NP-complete if
    1. It belongs to class NP.
    2. Every problem in NP is polynomially reducible to D.
The class of NP-complete problems is called NPC.                  NP
Cook’s theorem (1971): discover the first NP-complete        NP-complete
problem, CNF-satisfiability problem.
Show a decision problem is NP-complete
    Show that the problem is NP                                  P
    Show that a known NP-complete problem can be
    transformed to the problem in question in polynomial
    time. (transitivity of polynomial reduction)
Practical value of NP-completeness




                                                                           20

More Related Content

PDF
P, NP, NP-Complete, and NP-Hard
PPTX
Asymptotic Notation
PPT
Bellman Ford's Algorithm
PPTX
Asymptotic Notations
PPTX
Webinar : P, NP, NP-Hard , NP - Complete problems
PPTX
NLP_KASHK:Minimum Edit Distance
PPTX
Single source Shortest path algorithm with example
PPTX
Moore and mealy machine
P, NP, NP-Complete, and NP-Hard
Asymptotic Notation
Bellman Ford's Algorithm
Asymptotic Notations
Webinar : P, NP, NP-Hard , NP - Complete problems
NLP_KASHK:Minimum Edit Distance
Single source Shortest path algorithm with example
Moore and mealy machine

What's hot (20)

PPTX
Simulated Annealing
PPTX
Np hard
PPT
Np completeness
PPT
Asymptotic notations
PPT
Backtracking
PPT
SINGLE-SOURCE SHORTEST PATHS
PPTX
Traveling salesman problem
PPT
Primitive Recursive Functions
PPTX
Turing machine
PPTX
System protection in Operating System
PPTX
Combinatorial Optimization
PPTX
Dynamic programming class 16
PPTX
Kruskal Algorithm
PPT
context free language
PPTX
Regular expressions
PPTX
NP completeness
PPTX
Asymptotic notations
PPTX
Lecture 14 run time environment
PPTX
Greedy algorithms
Simulated Annealing
Np hard
Np completeness
Asymptotic notations
Backtracking
SINGLE-SOURCE SHORTEST PATHS
Traveling salesman problem
Primitive Recursive Functions
Turing machine
System protection in Operating System
Combinatorial Optimization
Dynamic programming class 16
Kruskal Algorithm
context free language
Regular expressions
NP completeness
Asymptotic notations
Lecture 14 run time environment
Greedy algorithms
Ad

Viewers also liked (20)

PDF
Um overview sobre temas em wp
PPTX
Tsp is NP-Complete
PDF
Tsp problem
PDF
Sienna 11 graphs
PPT
Introduction to NP Completeness
PDF
Sienna 12 huffman
PDF
Undecidable Problem
PPTX
Decidability of Finiteness of a Context Free Grammer
PPT
Np cooks theorem
PPTX
Branch and bound
PPT
Branch & bound
PDF
Decidability
DOC
Branch and bound
PPTX
Branch and bounding : Data structures
PPTX
Deciability (automata presentation)
PPTX
Travelling salesman problem ( Operation Research)
PPTX
Ant colony optimization
PPTX
Design and Analysis of Algorithms
PPT
Circuit breaker
Um overview sobre temas em wp
Tsp is NP-Complete
Tsp problem
Sienna 11 graphs
Introduction to NP Completeness
Sienna 12 huffman
Undecidable Problem
Decidability of Finiteness of a Context Free Grammer
Np cooks theorem
Branch and bound
Branch & bound
Decidability
Branch and bound
Branch and bounding : Data structures
Deciability (automata presentation)
Travelling salesman problem ( Operation Research)
Ant colony optimization
Design and Analysis of Algorithms
Circuit breaker
Ad

Similar to Algorithm chapter 10 (20)

PPT
lecture 27
PPTX
PDF
9. chapter 8 np hard and np complete problems
PDF
UNIT-V.pdf daa unit material 5 th unit ppt
PPT
NP-Completeewwwwwwwwwwwkkjjejjwjjjjjjjjj
PDF
NP Complete Problems in Graph Theory
PPTX
Complexity Classes.pptxfhasfuhaikfuahikhk
PPT
Np completeness h4
PPTX
Introduction to Computational Complexity Theory pptx
PPT
Confidence interval two tail tests-lower bounds upperbounds
PPTX
DAA_Hard_Problems_(4th_Sem).pptxxxxxxxxx
PDF
Analysis and design of algorithms part 4
PPTX
Np Completeness
PPTX
Lower bound theory Np hard & Np completeness
PDF
Bt0080 fundamentals of algorithms2
PDF
Basic_concepts_NP_Hard_NP_Complete.pdf
PDF
UNIT -IV DAA.pdf
PDF
Skiena algorithm 2007 lecture19 introduction to np complete
PPTX
AA ppt9107
lecture 27
9. chapter 8 np hard and np complete problems
UNIT-V.pdf daa unit material 5 th unit ppt
NP-Completeewwwwwwwwwwwkkjjejjwjjjjjjjjj
NP Complete Problems in Graph Theory
Complexity Classes.pptxfhasfuhaikfuahikhk
Np completeness h4
Introduction to Computational Complexity Theory pptx
Confidence interval two tail tests-lower bounds upperbounds
DAA_Hard_Problems_(4th_Sem).pptxxxxxxxxx
Analysis and design of algorithms part 4
Np Completeness
Lower bound theory Np hard & Np completeness
Bt0080 fundamentals of algorithms2
Basic_concepts_NP_Hard_NP_Complete.pdf
UNIT -IV DAA.pdf
Skiena algorithm 2007 lecture19 introduction to np complete
AA ppt9107

More from chidabdu (20)

PDF
Sienna 10 dynamic
PDF
Sienna 9 hashing
PDF
Sienna 8 countingsorts
PDF
Sienna 7 heaps
PDF
Sienna 6 bst
PDF
Sienna 5 decreaseandconquer
PDF
Sienna 4 divideandconquer
PDF
Sienna 3 bruteforce
PDF
Sienna 2 analysis
PDF
Sienna 1 intro
PDF
Sienna 13 limitations
PPT
Unit 3 basic processing unit
PPT
Unit 5 I/O organization
PDF
Algorithm chapter 1
PDF
Algorithm chapter 11
PDF
Algorithm chapter 9
PDF
Algorithm chapter 8
PDF
Algorithm chapter 7
PDF
Algorithm chapter 6
PDF
Algorithm chapter 5
Sienna 10 dynamic
Sienna 9 hashing
Sienna 8 countingsorts
Sienna 7 heaps
Sienna 6 bst
Sienna 5 decreaseandconquer
Sienna 4 divideandconquer
Sienna 3 bruteforce
Sienna 2 analysis
Sienna 1 intro
Sienna 13 limitations
Unit 3 basic processing unit
Unit 5 I/O organization
Algorithm chapter 1
Algorithm chapter 11
Algorithm chapter 9
Algorithm chapter 8
Algorithm chapter 7
Algorithm chapter 6
Algorithm chapter 5

Recently uploaded (20)

PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Electronic commerce courselecture one. Pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Approach and Philosophy of On baking technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
MYSQL Presentation for SQL database connectivity
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Electronic commerce courselecture one. Pdf
Big Data Technologies - Introduction.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
20250228 LYD VKU AI Blended-Learning.pptx
Network Security Unit 5.pdf for BCA BBA.
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Per capita expenditure prediction using model stacking based on satellite ima...
Approach and Philosophy of On baking technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Mobile App Security Testing_ A Comprehensive Guide.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
The AUB Centre for AI in Media Proposal.docx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Chapter 3 Spatial Domain Image Processing.pdf
MYSQL Presentation for SQL database connectivity

Algorithm chapter 10

  • 1. P, NP and NP-Complete Problems
  • 2. Introduction An algorithm with O(n3) complexity isn’t bad because it can still be run for fairly large inputs in a reasonable amount of time. In this chapter, we are concerned with problems with exponential complexity. Tractable and intractable problems Study the class of problems for which no reasonably fast algorithms have been found, but no one can prove that fast algorithms do not exist. 2
  • 3. Our Old List of Problems Sorting Searching Shortest paths in a graph Minimum spanning tree Traveling salesman problem Knapsack problem Towers of Hanoi 3
  • 4. Tractability An algorithm solves the problem in polynomial time if its worst-case time efficiency belongs to O(p(n)) where p(n) is a polynomial of the problem’s input size n. Problems that can be solved in polynomial time are called tractable. Problems that cannot be solved in polynomial time are called intractable. 4
  • 5. Classifying a Problem’s Complexity Is there a polynomial-time algorithm that solves the problem? Possible answers: yes no because it can be proved that all algorithms take exponential time because it can be proved that no algorithm exists at all to solve this problem don’t know, but if such algorithms were to be found, then it would provide a means of solving many other problems in polynomial time 5
  • 6. Types of Problems Optimization problem: construct a solution that maximizes or minimizes some objective function Decision problem: A question that has two possible answers, yes and no. Example: Hamiltonian circles: A Hamiltonian circle in an undirected graph is a simple circle that passes through every vertex exactly once. The decision problem is: Does a given undirected graph have a Hamiltonian circle? 6
  • 7. Some More Problems (1) Many problems will have decision and optimization versions Traveling salesman problem Optimization problem: Given a weighted graph, find Hamiltonian cycle of minimum weight. Decision problem: Given a weighted graph and an integer k, is there a Hamiltonian cycle with total weight at most k? Knapsack : Suppose we have a knapsack of capacity W (a positive integer) and n objects with weights w1, …, wn, and values v1, …, vn (where w1, …, wn, and v1, …, vn are positive integers) Optimization problem: Find the largest total value of any subset of the objects that fits in the knapsack (and find a subset that achieves the maximum value) Decision problem: Given k, is there a subset of the objects that fits in the knapsack and has total value at least k? 7
  • 8. Some More Problems (2) Bin packing: Suppose we have an unlimited number of bins each of capacity one, and n objects with sizes s1, …, sn, where 0 ≤ si≤ 1( si are rational numbers) Optimization problem: Determine the smallest number of bins into which the objects can be packed(and find an optimal packing). Decision problem: Given, in addition to the inputs described, an integer k, do the objects fit in k bins? Graph coloring: coloring: assign a color to each vertex so that adjacent vertices are not assigned the same color. Chromatic number: the smallest number of colors needed to color G. We are given an undirected graph G = (V, E) to be colored. Optimization problem: Given G, determine the chromatic number . Decision problem: Given G and a positive integer k, is there a coloring of G using at most k colors? If so, G is said to be k-colorable. 8
  • 9. The class P P : the class of decision problems that can be solved in O(p(n)), where p(n) is a polynomial on n. Why use the existence of a polynomial time bound as the criterion? if not, very inefficient nice closure properties Given a computer program machine independent in a strong sense and an input to it, determine whether the program will halt on that What is the solvability of a decision problem? input or continue working Solvable/decidable in polynomial time indefinitely on it. Solvable/decidable but intractable Unsolvable/undecidable problems: e.g., the halting problem No polynomial algorithm has been found, nor has the impossibility of such an algorithm been proved. 9
  • 10. The class NP Informally, NP is the class of decision problems for which a given proposed solution for a given input can be checked quickly(in polynomial time) to see if it really is a solution. Formally, NP: the class of decision problems that can be solved by nondeterministic polynomial (NP) algorithms A nondeterministic algorithm: a two-stage procedure that takes as its input an instance I of a decision problem and does the following “guessing” stage: An arbitrary string S is generated that can be thought of as a guess at a solution for the given instance (but may be complete gibberish as well) “verification” stage: A deterministic algorithm takes both I and S as its input and check if S is a solution to instance I, (outputs yes if s is a solution and outputs no or not halt at all otherwise) 10
  • 11. The class NP A nondeterministic algorithm solves a decision problem if and only if for every yes instance of the problem it returns yes on some execution. A nondeterministic algorithm is said to be polynomially bounded if there is a polynomial p such that for each input of size n for which the answer is yes, there is some execution of the algorithm that produces a yes output in at most p(n) steps. 11
  • 12. Example: graph coloring Nondeterministic graph coloring First phase: generate a string s, a list of characters, c1c2…cq ,which the second phase interpret as a proposed coloring solution Second phase: interpret the above characters as colors to be assigned to the vertices ci vi 12
  • 13. Example: CNF Satisfiability The problem: Given a boolean expression expressed in conjunctive normal form(CNF), can we assign values true and false to variables to satisfy the CNF ? This problem is in NP. Nondeterministic algorithm: Guess truth assignment Make the formula true Check assignment to see if it satisfies CNF formula Example: (A⋁¬B ⋁ ¬C ) ⋀ (¬A ⋁ B) ⋀ (¬ B ⋁ D ⋁ E ) ⋀ (F ⋁ ¬ D) Truth assignments: A B CD E F 1. 0 1 1 0 1 0 literals 2. 1 0 0 0 0 1 3. 1 1 0 0 0 1 4. … 13
  • 14. The Relationship between P & NP (1) P ⊆ NP (I ∈ P I ∈ NP): Every decision problem solvable by a polynomial time deterministic algorithm is also solvable by a polynomial time nondeterministic algorithm. To see this, observe that any deterministic algorithm can be used as the checking stage of a nondeterministic algorithm. If I ∈ P, and A is any polynomial deterministic algorithm for I, we can obtain a polynomial nondeterministic algorithm for I merely by using A as the checking stage and ignoring the guess. Thus I ∈ P implies I ∈ NP 14
  • 15. The Relationship between P & NP (2) ? P = NP (NP ⊆ P?) Can the problems in NP be solved in polynomial time? A tentative view NP P 15
  • 16. NP-Completeness (1) NP-completeness is the term used to describe decision problems that are the hardest ones in NP If there were a polynomial bounded algorithm for an NP- complete problem, then there would be a polynomial bounded algorithm for each problem in NP. Examples Hamiltonian cycle Traveling salesman Knapsack Bin packing Graph coloring Satisfiability 16
  • 17. Informal Definition of NP-Completeness Informally, an NP-complete problem is a problem in NP that is as difficult as any other problem in this class, because by definition, any other problem in NP can be reduced to it in polynomial time. A decision problem D1 is said to be polynomially reducible to a decision problem D2 if there exists a function t that transforms instances of D1 to instances of D2 such that 1. t maps all yes instances of D1 to yes instances of D2 and all no instances of D1 to all no instances of D2. 2. t is computable by a polynomial-time algorithm. If D2 is polynomially solvable, then D1 can also be solved in polynomial time. 17
  • 18. An Example of Polynomial Reductions Problem P: Given a sequence of Boolean values, does at least one of them have the value true? Problem Q: Given a sequence of integers, is the maximum of the integers positive? Transformation T: t(x1, x2, …, xn) = (y1, y2, …, yn), where yi = 1 if xi = true, and yi = 0 if xi = false. 18
  • 19. Another Example of Polynomial Reductions For example a Hamiltonian circuit problem is polynomially reducible to the decision version of the traveling salesman problem. Hamiltonian circuit problem(HCP): Does a given undirected graph have a Hamiltonian cycle? Traveling salesman problem(TSP): Given a weighted graph and an integer k, is there a Hamiltonian cycle with total weight at most k? Transformation t: Map G, a given instance of the HCP to a weighted complete graph G’, an instance of the TSP by assigning 1 as the edge weight to each edge in G and adding an edge of weight 2 between any pair of nonadjacent vertices in G. Let k be n, the total vertex number in G. 19
  • 20. Formal Definition of NP-Completeness A decision problem D is said to be NP-complete if 1. It belongs to class NP. 2. Every problem in NP is polynomially reducible to D. The class of NP-complete problems is called NPC. NP Cook’s theorem (1971): discover the first NP-complete NP-complete problem, CNF-satisfiability problem. Show a decision problem is NP-complete Show that the problem is NP P Show that a known NP-complete problem can be transformed to the problem in question in polynomial time. (transitivity of polynomial reduction) Practical value of NP-completeness 20