Cs 332 algorithms
1 / 12

- PowerPoint PPT Presentation

  • Uploaded on

CS 332: Algorithms. NP Completeness Continued. Homework 5. Extension: due midnight Monday 22 April. Review: Tractibility. Some problems are undecidable : no computer can solve them E.g., Turing’s “Halting Problem” We don’t care about such problems here; take a theory class

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about '' - saxon

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Cs 332 algorithms l.jpg

CS 332: Algorithms

NP Completeness Continued

David Luebke 13/11/2014

Homework 5 l.jpg
Homework 5

  • Extension: due midnight Monday 22 April

David Luebke 23/11/2014

Review tractibility l.jpg
Review: Tractibility

  • Some problems are undecidable: no computer can solve them

    • E.g., Turing’s “Halting Problem”

    • We don’t care about such problems here; take a theory class

  • Other problems are decidable, but intractable: as they grow large, we are unable to solve them in reasonable time

    • What constitutes “reasonable time”?

David Luebke 33/11/2014

Review p l.jpg
Review: P

  • Some problems are provably decidable in polynomial time on an ordinary computer

    • We say such problems belong to the set P

    • Technically, a computer with unlimited memory

    • How do we typically prove a problem  P?

David Luebke 43/11/2014

Review np l.jpg
Review: NP

  • Some problems are provably decidable in polynomial time on a nondeterministic computer

    • We say such problems belong to the set NP

    • Can think of a nondeterministic computer as a parallel machine that can freely spawn an infinite number of processes

    • How do we typically prove a problem  NP?

  • Is P  NP? Why or why not?

David Luebke 53/11/2014

Review p and np summary l.jpg
Review: P And NP Summary

  • P = set of problems that can be solved in polynomial time

  • NP = set of problems for which a solution can be verified in polynomial time

  • PNP

  • The big question: Does P = NP?

David Luebke 63/11/2014

Review np complete problems l.jpg
Review: NP-Complete Problems

  • The NP-Complete problems are an interesting class of problems whose status is unknown

    • No polynomial-time algorithm has been discovered for an NP-Complete problem

    • No suprapolynomial lower bound has been proved for any NP-Complete problem, either

  • Intuitively and informally, what does it mean for a problem to be NP-Complete?

David Luebke 73/11/2014

Review reduction l.jpg
Review: Reduction

  • A problem P can be reduced to another problem Q if any instance of P can be rephrased to an instance of Q, the solution to which provides a solution to the instance of P

    • This rephrasing is called a transformation

  • Intuitively: If P reduces in polynomial time to Q, P is “no harder to solve” than Q

David Luebke 83/11/2014

An aside terminology l.jpg
An Aside: Terminology

  • What is the difference between a problem and an instance of that problem?

  • To formalize things, we will express instances of problems as strings

    • How can we express a instance of the hamiltonian cycle problem as a string?

  • To simplify things, we will worry only about decision problems with a yes/no answer

    • Many problems are optimization problems, but we can often re-cast those as decision problems

David Luebke 93/11/2014

Np hard and np complete l.jpg
NP-Hard and NP-Complete

  • If P is polynomial-time reducible to Q, we denote this P p Q

  • Definition of NP-Hard and NP-Complete:

    • If all problems R  NP are reducible to P, then P is NP-Hard

    • We say P is NP-Complete if P is NP-Hard and P  NP

    • Note: I got this slightly wrong Friday

  • If P p Q and P is NP-Complete, Q is alsoNP- Complete

David Luebke 103/11/2014

Why prove np completeness l.jpg
Why Prove NP-Completeness?

  • Though nobody has proven that P != NP, if you prove a problem NP-Complete, most people accept that it is probably intractable

  • Therefore it can be important to prove that a problem is NP-Complete

    • Don’t need to come up with an efficient algorithm

    • Can instead work on approximation algorithms

David Luebke 113/11/2014

Proving np completeness l.jpg
Proving NP-Completeness

  • What steps do we have to take to prove a problem Pis NP-Complete?

    • Pick a known NP-Complete problem Q

    • Reduce Q to P

      • Describe a transformation that maps instances of Q to instances of P, s.t. “yes” for P = “yes” for Q

      • Prove the transformation works

      • Prove it runs in polynomial time

    • Oh yeah, prove P NP (What if you can’t?)

David Luebke 123/11/2014