Presentation is loading. Please wait.

Presentation is loading. Please wait.

David Evans CS200: Computer Science University of Virginia Computer Science Lecture 15: Intractable Problems (Smiley.

Similar presentations


Presentation on theme: "David Evans CS200: Computer Science University of Virginia Computer Science Lecture 15: Intractable Problems (Smiley."— Presentation transcript:

1 David Evans http://www.cs.virginia.edu/~evans CS200: Computer Science University of Virginia Computer Science Lecture 15: Intractable Problems (Smiley Puzzles and Curing Cancer)

2 11 February 2002CS 200 Spring 20022 Menu P and NP NP Problems NP-complete Problems

3 11 February 2002CS 200 Spring 20023 Complexity Class P Class P: problems that can be solved in polynomial time O(n k ) for some constant k. Easy problems like sorting, making a photomosaic using duplicate tiles, understanding the universe.

4 11 February 2002CS 200 Spring 20024 Complexity Class NP Class NP: problems that can be solved in nondeterministic polynomial time If we could try all possible solutions at once, we could identify the solution in polynomial time. We’ll see a few examples today.

5 11 February 2002CS 200 Spring 20025 n log 2 n (quicksort) n 2 (bubblesort) Growth Rates

6 11 February 2002CS 200 Spring 20026 Why O( 2 n ) work is “intractable” n! 2n2n n2n2 n log n today 2022 time since “Big Bang” log-log scale

7 11 February 2002CS 200 Spring 20027 Moore’s Law Doesn’t Help If the fastest procedure to solve a problem is O(2 n ) or worse, Moore’s Law doesn’t help much. Every doubling in computing power increases the problem size by 1.

8 11 February 2002CS 200 Spring 20028 Smileys Problem Input: 16 square tiles Output: Arrangement of the tiles in 4x4 square, where the colors and shapes match up, or “no, its impossible”.

9

10 11 February 2002CS 200 Spring 200210 NP Problems Best way we know to solve it is to try all possible permutations until we find one that is right Easy to check if an answer is right –Just look at all the edges if they match We know the simleys problem is: O( n! ) and  ( n ) but no one knows if it is  ( n! ) or  ( n )

11 11 February 2002CS 200 Spring 200211 This makes a huge difference! n! 2n2n n2n2 n log n today 2032 time since “Big Bang” log-log scale Solving the 5x5 smileys problem either takes a few seconds, or more time than the universe has been in existence. But, no one knows which for sure!

12 11 February 2002CS 200 Spring 200212 Who cares about smiley puzzles? If we had a fast (polynomial time) procedure to solve the smiley puzzle, we would also have a fast procedure to solve the 3/stone/apple/tower puzzle: 3

13 11 February 2002CS 200 Spring 200213 3SAT  Smiley Step 1: Transform     Step 2: Solve (using our fast smiley puzzle solving procedure) Step 3: Invert transform (back into 3SAT problem

14 11 February 2002CS 200 Spring 200214 The Real 3SAT Problem (also identical to Smileys Puzzle)

15 11 February 2002CS 200 Spring 200215 Propositional Grammar Sentence ::= Clause Sentence Rule: Evaluates to value of Clause Clause ::= Clause 1  Clause 2 Or Rule: Evaluates to true if either clause is true Clause ::= Clause 1  Clause 2 And Rule: Evaluates to true iff both clauses are true

16 11 February 2002CS 200 Spring 200216 Propositional Grammar Clause ::=  Clause Not Rule: Evaluates to the opposite value of clause (  true  false) Clause ::= ( Clause ) Group Rule: Evaluates to value of clause. Clause ::= Name Name Rule: Evaluates to value associated with Name.

17 11 February 2002CS 200 Spring 200217 Proposition Example Sentence ::= Clause Clause ::= Clause 1  Clause 2 (or) Clause ::= Clause 1  Clause 2 (and) Clause ::=  Clause (not) Clause ::= ( Clause ) Clause ::= Name a  (b  c)   b  c

18 11 February 2002CS 200 Spring 200218 The Satisfiability Problem (SAT) Input: a sentence in propositional grammar Output: Either a mapping from names to values that satisfies the input sentence or no way (meaning there is no possible assignment that satisfies the input sentence)

19 11 February 2002CS 200 Spring 200219 SAT Example SAT (a  (b  c)   b  c )  { a: true, b: false, c: true }  { a: true, b: true, c: false } SAT (a   a )  no way Sentence ::= Clause Clause ::= Clause 1  Clause 2 (or) Clause ::= Clause 1  Clause 2 (and) Clause ::=  Clause (not) Clause ::= ( Clause ) Clause ::= Name

20 11 February 2002CS 200 Spring 200220 The 3SAT Problem Input: a sentence in propositional grammar, where each clause is a disjunction of 3 names which may be negated. Output: Either a mapping from names to values that satisfies the input sentence or no way (meaning there is no possible assignment that satisfies the input sentence)

21 11 February 2002CS 200 Spring 200221 3SAT / SAT Is 3SAT easier or harder than SAT? It is definitely not harder than SAT, since all 3SAT problems are also SAT problems. Some SAT problems are not 3SAT problems.

22 11 February 2002CS 200 Spring 200222 3SAT Example 3SAT ( (a  b   c)  (  a   b  d)  (  a  b   d)  (b   c  d ) )  { a: true, b: false, c: false, d: false } Sentence ::= Clause Clause ::= Clause 1  Clause 2 (or) Clause ::= Clause 1  Clause 2 (and) Clause ::=  Clause (not) Clause ::= ( Clause ) Clause ::= Name

23 11 February 2002CS 200 Spring 200223 3SAT  Smiley Like 3/stone/apple/tower puzzle, we can convert every 3SAT problem into a Smiley Puzzle problem! Transformation is more complicated, but still polynomial time. So, if we have a fast (P) solution to Smiley Puzzle, we have a fast solution to 3SAT also!

24 11 February 2002CS 200 Spring 200224 NP Complete 3SAT and Smiley Puzzle are examples of NP-complete Problems A problem is NP-complete if it is as hard as the hardest problem in NP All NP problems can be mapped to any of the NP-complete problems in polynomial time Either all NP-complete problems are tractable (in P) or none of them are!

25 11 February 2002CS 200 Spring 200225 NP-Complete Problems Easy way to solve by trying all possible guesses If given the “yes” answer, quick (in P) way to check if it is right –Solution to puzzle (see if it looks right) –Assignments of values to names (evaluate logical proposition in linear time) If given the “no” answer, no quick way to check if it is right –No solution (can’t tell there isn’t one) –No way (can’t tell there isn’t one)

26 11 February 2002CS 200 Spring 200226 Traveling Salesman Problem –Input: a graph of cities and roads with distance connecting them and a minimum total distant –Output: either a path that visits each with a cost less than the minimum, or “no”. If given a path, easy to check if it visits every city with less than minimum distance travelled

27 11 February 2002CS 200 Spring 200227 Graph Coloring Problem –Input: a graph of nodes with edges connecting them and a minimum number of colors –Output: either a coloring of the nodes such that no connected nodes have the same color, or “no”. If given a coloring, easy to check if it no connected nodes have the same color, and the number of colors used.

28 11 February 2002CS 200 Spring 200228 Minesweeper Consistency Problem –Input: a position in the game Minesweeper –Output: either a assignment of bombs to variables, or “no”. If given a bomb assignment, easy to check if it is consistent.

29 11 February 2002CS 200 Spring 200229 Photomosaic Problem –Input: a set of tiles, a master image, a color difference function, and a minimum total difference –Output: either a tiling with total color difference less than the minimum or “no”. If given a tiling, easy to check if the total color difference is less than the minimum.

30 11 February 2002CS 200 Spring 200230 Drug Discovery Problem –Input: a set of proteins, a desired 3D shape –Output: a sequence of proteins that produces the shape If given a sequence, easy (not really) to check if sequence has the right shape. Note: solving the minesweeper problem may be worth $1M, but if you can solve this one its worth $1Trillion+. (US Drug sales = $200B/year)

31 11 February 2002CS 200 Spring 200231 Factoring Problem –Input: an n -digit number –Output: a set of factors whose product is the input number Given the factors, easy to multiply to check if they are correct Not proven to be NP-Complete (but probably is) See “Sneakers” for what solving this one is worth… (PS7 will consider this)

32 11 February 2002CS 200 Spring 200232 NP-Complete Problems These problems sound really different…but they are really the same! A P solution to any NP-Complete problem makes all of them in P (worth ~$1Trillion) –Solving the minesweeper constraint problem is actually as good as solving drug discovery! A proof that any one of them has no polynomial time solution means none of them have polynomial time solutions (worth ~$1M) Most computer scientists think they are intractable…but no one knows for sure!

33 11 February 2002CS 200 Spring 200233 Charge Later in the course: –There are some problems even harder than NP complete problems! –There are problems we can prove are not solvable, no matter how much time you have. (Gödel – your spring break reading) PS4 Due Friday (Lab Hours Thu 7-9pm) Friday –Either review for exam or reduction example


Download ppt "David Evans CS200: Computer Science University of Virginia Computer Science Lecture 15: Intractable Problems (Smiley."

Similar presentations


Ads by Google