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

David Evans cs.virginia/evans

  • Upload
    jalena

  • View
    21

  • Download
    0

Embed Size (px)

DESCRIPTION

Lecture 23: Intractable Problems (Smiley Puzzles and Curing Cancer). David Evans http://www.cs.virginia.edu/evans. CS200: Computer Science University of Virginia Computer Science. Menu. Review: P and NP NP Problems NP-Complete Problems. Complexity Class P. - PowerPoint PPT Presentation

Citation preview

Page 1: David Evans cs.virginia/evans

David Evanshttp://www.cs.virginia.edu/evans

CS200: Computer ScienceUniversity of VirginiaComputer Science

Lecture 23: Intractable Problems(Smiley Puzzles and Curing Cancer)

Page 2: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 2

Menu

• Review: P and NP

• NP Problems

• NP-Complete Problems

Page 3: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 3

Complexity Class P

Class P: problems that can be solved in polynomial time

O(nk) for some constant k.

Easy problems like sorting, making a photomosaic using duplicate tiles, understanding the universe.

Page 4: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 4

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.

Page 5: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 5

Why O(2n) work is “intractable”

1

100

10000

1E+06

1E+08

1E+10

1E+12

1E+14

1E+16

1E+18

1E+20

1E+22

1E+24

1E+26

1E+28

1E+30

2 4 8 16 32 64 128

n! 2n

n2

n log n

today2022

time since “Big Bang”

log-log scale

Page 6: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 6

Smileys Problem

Input: n square tiles

Output: Arrangement of the tiles in a square, where the colors and shapes match up, or “no, its impossible”.

Page 7: David Evans cs.virginia/evans
Page 8: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 8

How much work is the Smiley’s Problem?

• Upper bound: (O)O (n!)

Try all possible permutations

• Lower bound: () (n)

Must at least look at every tile

• Tight bound: ()

No one knows!

Page 9: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 9

NP Problems

• Can be solved by just trying all possible answers until we find one that is right

• Easy to quickly check if an answer is right – Checking an answer is in P

• The smileys problem is in NPWe can easily try n! different answers

We can quickly check if a guess is correct (check all n tiles)

Page 10: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 10

Is the Smiley’s Problem in P?

No one knows!

We can’t find a O(nk) solution.

We can’t prove one doesn’t exist.

Page 11: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 11

This makes a huge difference!

1

100

10000

1E+06

1E+08

1E+10

1E+12

1E+14

1E+16

1E+18

1E+20

1E+22

1E+24

1E+26

1E+28

1E+30

2 4 8 16 32 64 128

n! 2n

n2

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!

Page 12: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 12

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

Page 13: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 13

3SAT Smiley

Step 1: Transform into smileys

Step 2: Solve (using our fast smiley puzzle solving procedure)

Step 3: Invert transform (back into 3SAT problem

Page 14: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 14

The Real 3SAT Problem(also can be quickly transformed

into the Smileys Puzzle)

Page 15: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 15

Propositional GrammarSentence ::= Clause

Sentence Rule: Evaluates to value of Clause

Clause ::= Clause1 Clause2

Or Rule: Evaluates to true if either clause is true

Clause ::= Clause1 Clause2

And Rule: Evaluates to true iff both clauses are true

Page 16: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 16

Propositional GrammarClause ::= Clause

Not Rule: Evaluates to the opposite value of clause (true false)

Clause ::= ( Clause )Group Rule: Evaluates to value of clause.

Clause ::= NameName Rule: Evaluates to value associated with Name.

Page 17: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 17

PropositionExample

Sentence ::= Clause

Clause ::= Clause1 Clause2 (or)

Clause ::= Clause1 Clause2 (and)

Clause ::= Clause (not)

Clause ::= ( Clause )

Clause ::= Name

a (b c) b c

Page 18: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 18

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)

Page 19: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 19

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 ::= Clause1 Clause2 (or)

Clause ::= Clause1 Clause2 (and)

Clause ::= Clause (not)

Clause ::= ( Clause )

Clause ::= Name

Page 20: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 20

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)

Page 21: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 21

3SAT / SAT

Is 3SAT easier or harder than SAT?

It is definitely not harder than SAT, since all 3SAT problemsare also SAT problems. Some SAT problems are not 3SAT problems.

Page 22: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 22

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 ::= Clause1 Clause2 (or)

Clause ::= Clause1 Clause2 (and)

Clause ::= Clause (not)

Clause ::= ( Clause )

Clause ::= Name

Page 23: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 23

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!

Page 24: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 24

NP Complete• Cook and Levin proved that 3SAT was NP-

Complete (1971)• A problem is NP-complete if it is as hard as

the hardest problem in NP• If 3SAT can be transformed into a different

problem in polynomial time, than that problem must also be NP-complete.

• Either all NP-complete problems are tractable (in P) or none of them are!

Page 25: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 25

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)

Page 26: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 26

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 traveled

Page 27: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 27

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.

Page 28: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 28

Phylogeny Problem

– Input: a set of n species and their genomes

– Output: a tree that connects all the species in a way that requires the less than k total mutations or “impossible” if there is no such tree.

Page 29: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 29

Minesweeper Consistency Problem– Input: a position of n

squares in the game

Minesweeper– Output: either a

assignment of bombs to

squares, or “no”.

• If given a bomb assignment, easy to check if it is consistent.

Page 30: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 30

Perfect 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.

Note: not a perfect photomosaic!

Page 31: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 31

Drug Discovery Problem– Input: a set of proteins, a

desired 3D shape– Output: a sequence of

proteins that produces the shape (or impossible)

Note: US Drug sales = $200B/year

If given a sequence, easy (not really) to check if sequence has the right shape.

Caffeine

Page 32: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 32

Is it ever useful to be confident that a problem is

hard?

Page 33: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 33

Factoring Problem– Input: an n-digit number

– Output: two prime factors whose product is the input number

• Easy to multiply to check factors are correct

• Not proven to be NP-Complete (but probably is)

• Most used public key cryptosystem (RSA) depends on this being hard

• See “Sneakers” for what solving this means

Page 34: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 34

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!

Page 35: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 35

Speculations• Must study math for 15 years before understanding

an open problem– Was ~10 until Andrew Wiles proved Fermat’s Last

Theorem

• Must study physics for ~6 years before understanding an open problem

• Must study computer science for ~6 weeks before understanding the most important open problem– Unless you’re a 6-year old at Cracker Barrel

• But, every 5 year-old understands the most important open problems in biology!

Page 36: David Evans cs.virginia/evans

21 March 2003 CS 200 Spring 2003 36

Charge

• Problem Set 6: Due Monday

• Minesweeper is NP complete (optional)

• We still aren’t sure if the Cracker Barrel Puzzle is NP-Complete– Chris Frost and Mike Peck are working on it

(except Chris is off in Beverly Hills, see Daily Progress article)

– Will present about their proof at a later lecture