{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

16 - Dealing with hard problems - Problem classes P &amp; NP

# 16 - Dealing with hard problems - Problem classes P...

This preview shows pages 1–11. Sign up to view the full content.

Part VI: Dealing with Hard Problems Lecture 16: Problem Classes P & NP Lecture 16: Problem Classes P & NP Part VI: Dealing with Hard Problems

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Introduction to Part VI So far: techniques for designing efficient algorithms: divide-and-conquer, dynamic-programming, greedy-algorithms. What happens if you can’t find an efficient algorithm for a given problem? Lecture 16: Problem Classes P & NP Part VI: Dealing with Hard Problems
Introduction to Part VI Blame yourself. I couldn’t find a polynomial-time algorithm; I guess I’m too dumb. Lecture 16: Problem Classes P & NP Part VI: Dealing with Hard Problems

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Introduction to Part VI Show that no-efficient algorithm exists. I couldn’t find a polynomial-time algorithm, because no such algorithm exists! Lecture 16: Problem Classes P & NP Part VI: Dealing with Hard Problems
Introduction to Part VI Showing that a problem has an efficient algorithm is, relatively, easy. “All’ that is needed is to demonstrate an algorithm. Proving that no efficient algorithm exists for a particular problem is difficult. Question How can we prove the non-existence of something? We will now learn about NP-Complete Problems, which provide us with a way to approach this question. Lecture 16: Problem Classes P & NP Part VI: Dealing with Hard Problems

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Introduction to Part VI A very large class of thousands of practical problems for which it is not known if the problems have “efficient” solutions It is known that if any one of the NP-complete problems has an efficient solution then all of the NP-complete problems have efficient solutions Researchers have spent innumerable man-years trying to find efficient solutions to these problems and failed. So, NP-Complete problems are very likely to be hard. What do you do: prove that your problem is NP-Complete. Lecture 16: Problem Classes P & NP Part VI: Dealing with Hard Problems
Introduction to Part VI What do you actually do: I couldn’t find a polynomial-time algorithm, but neither could all these other smart people! Lecture 16: Problem Classes P & NP Part VI: Dealing with Hard Problems

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Introduction to Part VI Lecture 15: Introduce the concepts that will permit us to discuss whether a problem is ‘hard’ or ‘easy’. Lecture 16: Introduce NP-completeness and show how to prove that a problem is NP-complete. Time permitting, we will also discuss what can you do for a NP-complete problem (approximate algorithms). Reference : Chapter 34 of CLRS Lecture 16: Problem Classes P & NP Part VI: Dealing with Hard Problems
Outline of Lecture 15 Objective: Introduce the concepts that will permit us to discuss whether a problem is ‘hard’ or ‘easy’. Input size of a problem. Optimization problems vs decision problems. The Class P The Class NP Lecture 16: Problem Classes P & NP Part VI: Dealing with Hard Problems

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Encoding the Inputs of Problems Complexity of a problem is measured w.r.t the size of input.
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}