20
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

Embed Size (px)

Citation preview

Page 1: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

CSCI 3160 Design and Analysis of Algorithms

Tutorial 10

Chengyu Lin

Page 2: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

2

Outline

• Decision, Search and Optimization

• Class P & Class NP

• Reductions

• NP-Completeness

Page 3: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

3

Problems in Different Forms

Decision Problem, the answer is simply “YES” or “NO”

Search Problem, find a solution satisfying some properties if one exists, else return it doesn’t exist

Optimization Problem, each solution has an associated value, find a solution with best value (min / max)

Page 4: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

4

Three Forms of CLIQUE

Decision ProblemGiven a graph G and a number k, decide whether G has a clique of size k

Search ProblemGiven a graph G and a number k, find a clique with size k in G if one exists, else return it doesn’t exist

Optimization ProblemGiven a graph G, find a largest clique in G

no harder than

no harder than

Usually, it’s enough to considerDecision Problem in complexity theory

Page 5: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

5

Language and Decision Problem are Equivalent

LanguageA language is just a subset of , the set of all strings of bits

Language to Decision Problem• Given a bit string , decide whether

Decision Problem to Language• Given a Decision Problem• Encode all the instances into bit strings• The corresponding language contains all the

strings of “YES” instances

Page 6: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

6

Class P V.S. Class NP

• P stands for what?

Polynomial !• Class P: Problems solvable in deterministic

polynomial time

• What about NP? No Problem? Not Polynomial (i.e. polynomial time unsolvable)?

Nondeterministic Polynomial !• Class NP: Problems solvable in

nondeterministic polynomial time

Page 7: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

7

Deterministic/Nondeterministic Polynomial time?

• Where do these terms come from?

• They’re based on different computation models Deterministic Turing Machine Nondeterministic Turing Machine

• We will NOT talk about Turing Machine in this course

• Details of these computation models, please refer to the following course CSCI3130 (Formal Languages and Automata Theory)

Page 8: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

8

An Equivalent Definition of Class NP

Class NP: Problems checkable or verifiable in polynomial time

Verification:Given a “certificate” of a solution, we could

verify that the certificate is correct, e.g.Certificate for SAT would be an assignmentCertificate for Hamiltonian Cycle would be a

sequence of n vertices, v1, v2, …, vn

Page 9: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

9

Solvable V.S. Verifiable

• For a problem in P, we have polynomial time algorithm to solve it

• For a problem in NP, we have polynomial time verification algorithm to verify a certificate

Page 10: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

10

Reductions

Reduction: a transformation between instance α of Problem A and instance β of Problem B such that

• The transformation takes polynomial time Polynomial in size of the input instance

• The answer for α is “YES” if and only if the answer for β is also “YES”

Page 11: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

11

Reductions

Polynomial Time Reduction

Polynomial Time Algorithm for Problem

B

Polynomial Time Algorithm for Problem A

α β Yes

No

Yes

No

If problem A is reducible to problem B in polynomial time, then which problem is easier?

A Or B ?

Problem B is at least as hard as Problem A!

Page 12: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

12

Two Ways to Use Reductions

Suppose Problem A is reducible to Problem B

• Solve problem If there exists efficient algorithm for Problem B, then

we can solve Problem A efficiently

• Prove Hardness If Problem A is hard, then Problem B is also hard

Problem A Problem BReduction

Efficient algorithms

Hardness

Page 13: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

13

NP-Completeness

Problem A is NP-complete if

1. Problem A is in NP

2. For any Problem A’ in NP, A’ is reducible to A in polynomial time

• Class NPC: The class of all NP-complete problems, which is a subclass of NP The hardest problems in NP Solve a problem in NPC, you can solve ALL problems in

NP

Page 14: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

14

NP = P ?

If NPC P is not empty, then NP = P

NP

P NPC?

Page 15: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

15

Proof of NP-Completeness

Given a Problem A, prove that A is NP-complete

Proof Scheme 1• Show Problem A is in NP (easier part)• For all Problems in NP, reduce them to A in

polynomial time This has been done for 3SAT, the first NP-complete

problem

Proof Scheme 2• Show Problem A is in NP (easier part)• For arbitrary problem A’ in NPC, reduce A’ to A in

polynomial time This would be much easier

Page 16: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

16

NP-completeness of Longest Path

Longest Path (Decision Version)Given a graph G and an integer k, decide whether G contains a simple path of length greater than k

• Part 1 (Longest Path in NP)Given any sequence of vertices, it’s easy to check the length and whether the sequence is a path, so Longest Path is in NP

• Part 2 (reduce special case to general form)The Longest Path contains Hamiltonian Path (k = n) as a special case, so we can reduce Hamiltonian Path (known in NPC) to Longest Path directly

Page 17: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

17

Reduce SAT to 3SAT

• What about reduce general form to special case?• This implies that even for the special case, the

problem will NOT be easier• This may also give clues where the hardness lies

in

Given an instance φ(x) of SAT, we transform it to an instance φ’(x,y) of 3SAT

𝑥1∨𝑥2∨⋯∨𝑥𝑘

Clause in φ(x)

Set of clauses in φ’(x,y)

𝑥1∨𝑥2∨ 𝑦1 ,

Page 18: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

18

Equivalence in Satisfiability ()

• Suppose is satisfied by , then some must be true

• Set to true, and other to false, then the set of clauses are satisfied by and

𝑥1∨𝑥2∨⋯∨𝑥𝑘

Clause in φ(x)

Set of clauses in φ’(x,y)

𝑥1∨𝑥2∨ 𝑦1 ,True

False

False

TrueFalse

True

Page 19: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

19

Equivalence in Satisfiability ()

𝑥1∨𝑥2∨⋯∨𝑥𝑘

Clause in φ(x)

Set of clauses in φ’(x,y)

𝑥1∨𝑥2∨ 𝑦1 ,• Suppose the set of clauses are satisfied by and ,

if some is true, then is satisfied by

• Otherwise, should be true, then is forced to be true and so on. Finally, is also forced to be true, the last clause is not satisfied, contradiction

Page 20: CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin

Thank You!

Q & A ?