Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More...

239
Reductions & NP- Completeness Jeff Edmonds York University See 2001 slides More Classes for 4111 More Detailed Steps f or 6111 Thanks Intro & COSC 3101/4111/6111

Transcript of Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More...

Page 1: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Reductions & NP-Completeness

Jeff Edmonds

York University

• See 2001 slides

• More Classes for 4111• More Detailed Steps for 6111

Thanks Intro & COSC 3101/4111/6111

Page 2: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

More ClassesFor 4111

COSC 3101/4111/6111

Reductions & NP-Completeness

Jeff Edmonds

York University

Page 3: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

A Problem P is said to be computable/decidable/recursive

• if on every input the machine halts and give the correct answer.

Acceptable

Computable

Non-Deterministic Machines

Page 4: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Acceptable

Computable

Three equivalent definitions for a problem PAcceptable: TM M

• On every yes input, the machine halts and gives the correct answer.

• On every no input, the machine could halt and gives the correct answer or could run for ever.

• Witnesses: computable Valid such that P(I) = S Valid(I,S)• Enumerable: TM M

• Every yes input I, is eventually printed.• No no input is ever printed.

Non-Deterministic Machines

Page 5: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Acceptable

ComputableIs there a languagethat can be acceptedbut not computed?

Turing proves uncomputable.Alg: Run M on I. If it halts halt and say “yes” If it does not halt run forever.

Halting(M,I) = Does TM M halt on input I.

Halting

Non-Deterministic Machines

Page 6: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

The Post Correspondence Problem (PCP)• The input is a finite collection of dominos

• A solution is a finite sequence of the dominos bca

aab

caa

abcc

aab

• So that the combined string on the top is the same as that on the bottom

a b c a a a b ca b c a a a b c

bca ,

aab ,

caa ,

abccI =

Non-Deterministic Machines

I can give a solution as a witness.

Page 7: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

bca

aab

caa

abcc

aab

Non-Deterministic Machines

I can give a solution as a witness.

But how big is this witness?

NP

Exp

Poly

Computable

Acceptable

• If dominos can’t be repeated, |S| |I|

• If dominos can be repeated, |S| can be arbitrarily long.

PCP?

PCP?

Without Repeats

WithRepeats

Page 8: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

CoNPnot SAT

Computable

Exp

Poly

NP

GCD

SAT

HaltingAcceptable CoAcceptable

Not Halting

Non-DeterministicYes instances I

• have accepting computations

• have witness/solutions.No instances I

• Do not.

Co-Non-DeterministicNo instances I

• have accepting computations

• have witness/solutions.Yes instances I

• Do not.

Non-Deterministic Machines

Page 9: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

In More Depth

• Non-Deterministic Poly-Time• Reductions• NP vs Co-NP Preserving Reductions• NP-Complete• K-Clique vs K-Independent Set• 12 Steps• Any P ≤ Sat• 3-Col ≤ 3-Sat• Sat ≤ 3-Col• More Problems• 12 Steps in More Depth

COSC 3101/4111/6111

Reductions & NP-Completeness

Jeff Edmonds

York University

Page 10: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

•An optimization problem•Each solution is either valid or not (no cost)• The output is • Yes, it has a valid solution.• No, it does not• the solution is not returned

• Eg: Given graph and integer <G,k>, does G have a clique of size k?

Non-DeterministicPoly-Time Decision Problems (NP)

Page 11: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

• Key: Given • an instance I (= <G,k>)• and a solution S (= subset of nodes)• there is a poly-time alg Valid(I,S) to test

whether or not S is a valid solution for I.• Poly-time in |I| not in |S|. |S| can't be too big.

k=4

ValidNot Valid

Formal definition:Prob NP iff poly time Validsuch that Prob(I) = S Valid(I,S)

Non-Deterministic Poly-Time (NP)

Page 12: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

• Key:• If the instance has a valid solution• A non-deterministic (fairy god mother)

could prove it to you by giving you such a solution as a witness.

• You could check that it is valid.• You could convince your boss.

k=4

Valid

Non-Deterministic Poly-Time (NP)

Page 13: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

• Key:• If the instance does not have a valid solution• A non-deterministic (fairy god mother)

could prove it to you by giving you ????

• You have no way to convince your boss.

k=5

Non-Deterministic Poly-Time (NP)

Page 14: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

• Example: 3-Col:• Instance: A graph G.• Solution: Colouring C nodes of G with 3 colours

such that every edge has two colours. • G is a Yes instance if there is such a colouring. • Given an instance G and a solution C,

there is a poly-time alg Valid(G,C) to test whether or not C is a valid 3-colouring of G.

3-Col NP.

G Col

Col

Non-Deterministic Poly-Time (NP)

Page 15: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

• Example: Not 3-Col:• Instance: A graph G.• Solution: Colouring C nodes of G with 3 colours

such that every edge has two colours. • G is a No instance if there is not such a colouring. • Given an instance G and a solution C,

there is a poly-time alg Valid(G,C) to test whether or not C is a valid 3-colouring of G.

Not 3-Col NP. Not 3-Col Co-NP.

I can't witnessYes instances

G Col

Non-Deterministic Poly-Time (NP)

Page 16: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Computable

Exp

Poly

Known

GCD

NP

Definition is asymmetric.There is a witness that a graph has a 3-Col.There is no known witness that a graph has no 3-Col.

3-ColCoNPNot 3-Col

Jack Edmonds Steve Cook

Non-Deterministic Poly-Time (NP)

Page 17: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

• Example: Sorting• Instance: A list of numbers X=[x1,…xn].• Solution: Sorted order X’. • Given an instance X and a solution X’,

there is a poly-time alg Valid(X,X’) to test whether or not X’ is a sorting of X.

Sorting NP.Sorting is not a decision (Yes/No) problem.

X=[5,3,7,2] X’=[2,3,5,7]

Non-Deterministic Poly-Time (NP)

Page 18: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

• Example: Parity• Instance: A list of bits X=[x1,…xn].• X is a Yes Instance if the number of xi=1 is odd. Parity Poly-Time NP.

X=[0,1,0,1,1,0]parity=1 Don’t be lazy.

You can solve this on your own.

What do I give as a witness?

Non-Deterministic Poly-Time (NP)

Page 19: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Computable

Exp

Poly

Known

Parity

NP3-Col

Games

CoNPNot 3-Col

Jack Edmonds Steve Cook

Parity Poly-Time NP.

Non-Deterministic Poly-Time (NP)

Page 20: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

• Example: Airplane Wing:• Instance: Requirements I of the wing.• Solution: A description S of how to make the wing. • I is a Yes instance if there is such a wing. • Given an instance I and a proof S,

there is a poly-time alg Valid(I,S) to test whether or not S is a valid solution for I.

ÞAirplane Wing NP.

I = [weight, lift, cost, …]

Non-Deterministic Poly-Time (NP)

Page 21: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

• Example: Math Truth:• Instance: A math statement I• Solution: A proof S. • I is a Yes instance if there is such a proof. • Given an instance I and a proof S,

there is a poly-time alg Valid(I,S) to test whether or not S is a valid solution for I.

ÞMath Truth NP.Witness is way too big!

I = [ a,b,c,r 3 ar+br cr]

in |I| not in |S|

Non-Deterministic Poly-Time (NP)

Page 22: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

• Example: Math Truth:• Instance: A math statement I• Solution: A proof S. • I is a Yes instance if there is such a proof.• Math Statement I can encode whether a TM stops• Halting problem poly Math Truth Math Truth Undecidable.

I = [ a,b,c,r 3 ar+br cr]

Non-Deterministic Poly-Time (NP)

Page 23: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Computable

Exp

Poly

Known

GCD

Halting

NP3-Col

Games

CoNPNot 3-Col

Math Truth

Turing 1936

Non-Deterministic Poly-Time (NP)

Page 24: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Computable

Exp

Poly

Known

GCD

NP3-Col

Games

CoNPNot 3-Col

HaltingMath TruthAcceptable

If the program does halt,I can give you its computationas a witness.It the statement does have a proof,I could give you a proofas a witness.

Non-Deterministic Poly-Time (NP)

Page 25: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Reductions

• Reduction: Design a fast algorithm for one computational problem, using a supposedly fast algorithm for another problem as a subroutine.

Palg ≤poly Poracle

Page 26: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Computable

Exp

Poly

Known

GCD

NP

Definition is asymmetric.There is a witness that a graph has a 3-Col.There is no known witness that a graph has no 3-Col.

3-ColCoNPNot 3-Col

Jack Edmonds Steve Cook

NP vs Co-NP Preserving Reductions

Page 27: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

GIVEN:Not 3-Col

<G>

BUILD:3-Col

<G>

Yes G is not 3-colorable

No G is not 3-Colorable

3-Col ≤poly Not 3-Col

NP vs Co-NP Preserving Reductions

Page 28: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

GIVEN:Not 3-Col

<G>

BUILD:3-Col

<G>

No G is 3-colorable

Yes G is 3-Colorable

3-Col ≤poly Not 3-Col

If poly timeNot poly time

Poly timeIf not poly time

NP vs Co-NP Preserving Reductions

Page 29: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

GIVEN:Not 3-Col

<G>

BUILD:3-Col

<G>

No G is 3-colorable

Yes G is 3-Colorable

3-Col ≤poly Not 3-Col

???If NP-complete

NP vs Co-NP Preserving Reductions

Page 30: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Computable

Exp

Poly

Known

GCD

NP

Definition is asymmetric.There is a witness that a graph has a 3-Col.There is no known witness that a graph has no 3-Col.

3-ColCoNPNot 3-Col

Jack Edmonds Steve Cook

???If NP-complete

NP vs Co-NP Preserving Reductions

Page 31: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Palg ≤poly Poracle

Cook Reduction: Design any fast algorithm for Palg using a supposed fast algorithm for Poracle as a subroutine.

Karp Reduction: The algorithm for Palg calls that for Poracle only once Yes Yes & No No

NP vs Co-NP Preserving Reductions

Page 32: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

We will only consider reductions of this simple form.Because they preserve NP vs Co-NP

Palg ≤poly Poracle

Karp Reduction: Yes Yes & No No

NP vs Co-NP Preserving Reductions

Page 33: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Computable

Exp

Poly

Known

GCD

NP

complete

NP-Complete Problems

Problem Pnew is NP-Complete

• Pnew not too hard.

• Pnew NP

Pnew

Test in poly-time if a given solution

is valid Sat

Page 34: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Computable

Exp

Poly

Known

GCD

NP

complete

NP-Complete Problems

Problem Pnew is NP-Complete

• Pnew not too hard.

• Pnew NP

• Pnew sufficiently hard.

• PNP, P ≤poly Pnew

• Easier: Sat ≤poly Pnew

• Cook: P ≤poly Sat Pnew

Sat

Page 35: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Clique: Given <G,k>, does G contains a k-clique?

A K-independent setis a set of K nodes

with no edges between them.

Independent Set: Given <G,k>, does G contains a k-Ind Set?

K-Clique vs K-Independent Set

A K-clique is a set of K nodes with all edges between them.

Page 36: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Clique: Given <G,k>, does G contains a k-clique? Independent Set: Given <G,k>, does G contains a k-Ind Set?

K-Clique vs K-Independent Set

Brute Force: Try out all n choose k possible subsets.If k = (n) then 2(n) subsets to checkIf k=3 thenonly O(n3)

Page 37: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

GIVEN:Indep.

Set Oracle

<G,k>

BUILD:CliqueOracle

<G*, k>

G* has a k Indep. set or not

G has a k clique or not

Clique ≤poly Indep Set

K-Clique vs K-Independent Set

Page 38: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

GIVEN:Indep.

Set Oracle

<G,k>

BUILD:CliqueOracle

<G*, k>

G* has a k Indep. set or not

G has a k clique or not

Clique ≤poly Indep Set

Proof of correctness:Our oracle says yes to <G,k>

iff Old oracle says yes to <G*,k>iff G* has a k indep. setiff G has a k clique

K-Clique vs K-Independent Set

Page 39: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

G*

G

G* has edge if and only if G does not

K-Clique vs K-Independent Set

Page 40: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

G*

GThis graph contains a

clique of size 4.

This graph contains an independent set of size 4.

if and only if

K-Clique vs K-Independent Set

Page 41: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Steps for proving that Pnew is NP-Complete

1) I am addicted to solving NP-Complete Problems

2) I trust in my higher power to help

A witness

12 Steps

Page 42: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Steps for proving that Pnew is NP-Complete

0) Pnew NP

1) What to reduce it to

2) What is what

3) Direction of reduction & Code

4) Look for similarities

5) Instance Map

6) Solution Map

7) Valid to Valid

8) Reverse Solution Map

9) Valid to Valid

10) Working Algorithm

11) Running Time

12 Steps

Page 43: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Formal definition:Pnew NP iff poly time Validsuch that Pnew(I) = S Valid(I,S)

Design poly-time algorithm Valid(I,S)

which determines whether a given solution S

is valid for a given instance I.

12 Steps Step 0: Pnew NP

Page 44: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Palg ≤poly Poracle

Choose a problem Pis NP-comp that is as similar to Pnew as possible and that is already known to be NP-Complete.

12 Steps Step 1: What to reduce it to

Page 45: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

= Independent Set = CliquePnew Pis NP-comp

Inew Iis NP-comp

k=4k=3

Snew Sis NP-comp

12 Steps Step 2: What is what

Page 46: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Reduce Pnew to Pis NP-comp or Pis NP-comp to Pnew?

Pis NP-comp ≤poly Pnew

Palg ≤poly Poracle

12 Steps Step 3: Direction of reduction & Code

Page 47: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

12 Steps Step 3: Direction of reduction & Code

Page 48: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Independent SetClique

Both instances are graphs: nodes & edgesA clique solution is a subset of the nodes with edges.An Ind Set solution is a subset of the nodes without edges.

12 Steps Step 4: Look for similarities

Page 49: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

12 Steps Step 5: Instance Map

Page 50: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Ioracle = InstanceMap(Ialg)

Ialg

12 Steps Step 5: Instance Map

Page 51: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Ioracle

Ialgno yes

no yes

Yes mapped to YesNo to No

12 Steps Step 5: Instance Map

Page 52: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

12 Steps Step 6: Solution Map

Page 53: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Ioracle

Ialg

Potential Solution S.

Potential Solution = SolutionMap(S).

12 Steps Step 6: Solution Map

Page 54: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Salg = SolutionMap(Soracle)

Ioracle = InstanceMap(Ialg)

Ialg

Soracle

If Soracle is valid solution for Ioracle,then Salg is valid solution for Ialg

Valid

Valid

12 Steps Step 7: Valid to Valid

Page 55: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Ioracle

Ialg

Potential Solution S.

Potential Solution = ReverseSolutionMap(S).

12 Steps Step 8: Reverse Solution Map

Not part of code,but of proof.

Page 56: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Salg

Ioracle = InstanceMap(Ialg)

Ialg

Soracle = ReverseSolutionMap(Salg)

If Salg is valid solution for Ialg,then Soracle is valid solution for Ioracle

Valid

Valid

12 Steps Step 9: Valid to Valid

Page 57: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Our Algalg says yes to Ialg

iff old Algoracle says yes to Ioracle

iff Ioracle has a valid solution Soracle iff Ialg has a valid solution Salg

iff Ialg is a yes instance.

Steps 6&7Steps 8&9

12 Steps Step 10: Working Algorithm

Page 58: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Salg = SolutionMap(Soracle)

Ioracle = InstanceMap(Ialg)

Algalg(Ialg) is poly time if the following are poly time: Algoracle(Ioracle) Assumed

Your job

12 Steps Step 11: Running Time

Page 59: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Graph Colouring

Scheduling

Clique Independent Set

Palg ≤poly Poracle

or Palg Poracle

Circuit Satisfiability

Any NP-Problem

This will prove thatCir-SAT is NP-Complete.

Page 60: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

GIVEN:Oracle for

Cir-Sat

I

BUILD:Oracle for arbitrary

NP Problem

?

I don’t even know what problem I am trying to solve!!!

ReductionAny NP-problem ≤poly Cir-SAT

Page 61: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

We have a poly-time alg Valid(I,S) to test whether or not S is a valid solution for I.

k=4

Valid

Formal definition:Parbitrary NP iff poly time Validsuch that Parbitrary(I) = S Valid(I,S)

We need to solve some unknown NP-Problem.What do we know about it?

Page 62: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

GIVEN:Oracle for

Cir-Sat

I

BUILD:Oracle for arbitrary

NP Problem

Please, give me a solution Ssuch that

Valid(I,S) is true.

ReductionAny NP-problem ≤poly Cir-SAT

That looks like a Turing Machine.I only know about

circuits

Page 63: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

The Circuit Satisfiability Problem

x3x2x1

OR

ORANDAND

OR

NOT

One bit outputNo feedback

An instance is a circuit C.

F T F

A solution is an assignment X = [F,T,F…].

F F

F

F F

T

C(X) evaluates to T or F.

Page 64: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

The Circuit Satisfiability Problem

x3x2x1

OR

ORANDAND

OR

NOT

An instance is a circuit C.A solution is an assignment X = [F,T,F…].A valid solution has C(X) = True.

F F F

F F

T

F T

FGiven a circuit, does it have a satisfying assignment?

Page 65: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Very Powerful

Turing (and friends) prove that any algorithm computed by aJAVA program in poly-timecan be computed by a Turing Machine in poly-time.

Cook proves that any algorithm computed by a Turing Machine in time T(n) can be computed by a family of circuits of size [T(n)]2.

But clearly, circuits compute.

The Circuit Satisfiability Problem

Page 66: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

GIVEN:Oracle for

Cir-Sat

I

BUILD:Oracle for arbitrary

NP Problem

Please, give me a solution Ssuch that

VI(S) is true.

ReductionAny NP-problem ≤poly Cir-SAT

Thanks for the circuit.But what is S?I can only find assignments.

I build a circuit VI(S)equivalent to Valid(I,S)

Page 67: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

GIVEN:Oracle for

Cir-Sat

I

BUILD:Oracle for arbitrary

NP Problem

Please, give me an assignment X

such that VI(X) is true.

ReductionAny NP-problem ≤poly Cir-SAT

My pleasure.Here: X

I build a circuit VI(S)equivalent to Valid(I,S)

I decode X into Sand am done.

Page 68: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

12 Step Program

Let's be more formal.

And flow the 12 steps.

Page 69: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 0: Cir-SAT NP

Design poly-time algorithm ValidCir-SAT(C,X)

which determines whether a given assignment X

is valid for a given circuit C.

Easy: Evaluate C(X).

Page 70: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 1: What to reduce it to

Palg ≤poly Cir-Sat

Choose a problem Pis NP-comp that is as similar to Cir-Sat as possible and that is already known to be NP-Complete.

Any NP-problem ≤poly Cir-SAT

Have none.

We have a poly-time alg Valid(I,S) to test whether or not S is a valid solution for I.

Page 71: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 2: What is what= Circuit-Sat = some NP problemPnew Parbitrary

Inew IarbitrarySnew Sarbitrary= I = S

x3x2x1

OR

ORANDAND

OR

NOT

F F F

Page 72: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 3: Direction of reduction & Code

Given oracle for Cir-Sat,we need to be able to solve any NP-Complete problem.

Cir-Sat

Parbitrary

Page 73: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

I Sx3x2x1

OR

ORANDAND

OR

NOT

F F F

Step 4: Look for similarities

?

Page 74: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 5: Instance Map

Page 75: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 5: Instance MapI circuit

We have a poly-time alg Valid(I,S) to test whether or not S is a valid solution for I.

Let Validn(I,S) be a circuit:• I is a bit string representing an instance I.• S is a bit string representing a solution S.• Outputs T if S is an encoding of a valid solution of I.

I SG,k

And over pairs of nodes

{u.v} E OR uS OR vS

Eg: Clique

|S| k

Page 76: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 5: Instance Map

Outputs T if S is an encoding of

a valid solution S of I

I S

I circuit

hard wired

Given an instance I

Circuit VI(S) = Valid(I,S)

Validn(I,S)I VI(S)

Page 77: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 6: Solution Map

Page 78: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 6: Solution MapS assignment

X is viewed as a bit string S representing a solution S.

If X is not a bit string representing a solution

then “what ever”

X=[T,F,F,T,F,T]

Outputs T if S is an encoding of

a valid solution S of I

I Shard wired

I VI(S)

Page 79: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 6: Solution MapS assignment

X is viewed as a bit string S representing a solution S.

X=[T,F,F,T,F,T]

Outputs T if S is an encoding of

a valid solution S of I

I Shard wired

I VI(S)

solution S

Page 80: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 7: Valid Valid

VI(X) = T

Outputs T if S is an encoding of

a valid solution S of I

I Shard wired

I VI(S)

Valid(I,S) = Validn(I,S) = VI(X) = T

S is a valid solution of I.

Page 81: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 8: Rev. Sol. Mapsolution assignment

S bit string representing a solution S

solution S

X=[T,F,F,T,F,T]

Outputs T if S is an encoding of

a valid solution S of I

I Shard wired

I VI(S)

Page 82: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 9: Valid Valid

Outputs T if S is an encoding of

a valid solution S of I

I Shard wired

I VI(S)

S is a valid solution of I.

VI(X) = T

VI(X) = Validn(I,S) = Valid(I,S) = T

Page 83: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

GIVEN: Alg for circuit

problem

BUILD:Opt.

problem

I

satisfiable or not

Yes/No

Reduction

VI

i.e. S, S is a valid solution for I

i.e. X, VI(X)

Any NP-problem ≤poly Cir-SAT

Page 84: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Graph Colouring

Scheduling

Clique Independent Set

Palg ≤poly Poracle

or Palg Poracle

Circuit Satisfiability

Any NP-Problem

3-Col?

Page 85: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

3-Col

Graph Col: Given graph G & k can G be coloured with k colours?3-Col: Given graph G can G be coloured with 3 colours?

3-Col ≤poly Graph Col

If you can decide whether you can colour with k colours,then you can decide whether you can colour with 3 colours.

G,k C CG

Page 86: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Graph Colouring

Scheduling

Clique Independent Set

Palg ≤poly Poracle

or Palg Poracle

Circuit Satisfiability

Any NP-Problem

3-Col 3-SAT?

Page 87: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

3-SAT

Cir Sat: Given circuit C does it have a satisfying assignment X?3-SAT: Given an expression:• A circuit consisting of a big AND of clauses• Each clause is the OR of at most 3 literals• Each literal is a variable or its negation.

does it have a satisfying assignment X?

xoryorz AND xorwora AND …

F T T F F F F T T F F F

Page 88: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

3-SAT

Cir Sat: Given circuit C does it have a satisfying assignment X?3-SAT: Given an expression: does it have a satisfying assignment X?

xoryorz AND xorwora AND …

F T T F F F F T T F F F

3-Sat ≤poly Cir Sat

If you can decide whether any circuit is satifiable, then you can decide whether a circuit that happens to be an expression is satisfiable.

Page 89: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Graph Colouring

Scheduling

Clique Independent Set

Palg ≤poly Poracle

or Palg Poracle

Circuit Satisfiability

Any NP-Problem

3-SAT3-Col?

Graph Col ≤poly Cir SAT»

3-Col ≤poly 3-SAT

Page 90: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 5: Instance MapGraph G Expression V

Given an instance G

Circuit VG(C) = Valid(G,C)

G

Outputs T if C is an encoding of

a valid 3-colouring C of G

hard wired CEncoding C of C: u is a node r is a colour x<u,r> = T if node u is colour r.

Page 91: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 5: Instance MapGraph G Expression V

Given an instance G

Circuit VG(C) = Valid(G,C)

Ghard wired CEncoding C of C:

u is a node r is a colour x<u,r> = T if node u is colour r.

And over edges <u,v> and colours r

x<u, r> = F OR x<v, r> = F

clauses with 2 literals

Page 92: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 5: Instance MapGraph G Expression V

Given an instance G

Circuit VG(C) = Valid(G,C)

Ghard wired CEncoding C of C:

u is a node r is a colour x<u,r> = T if node u is colour r.

And over node u

clauses with 3 literals

x<u, r> =T OR x<u, g>=T OR x<u, b>=T

Page 93: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

GIVEN: Alg for circuit

problem

BUILD:Opt.

problem

I

satisfiable or not

Yes/No

Reduction

VG

i.e. C, C is a valid 3-colouring for G

i.e. X, VG(X)

3-Col ≤poly 3-SAT

Page 94: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Graph Colouring

Scheduling

Clique Independent Set

Palg ≤poly Poracle

or Palg Poracle

Circuit Satisfiability

Any NP-Problem

3-SAT3-Col?

This will prove that 3-Col is NP-Complete.And so are Scheduling, Graph-Colouring, and 3-SAT.

Page 95: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Given a circuit,find a satisfying assignment.

Steve Cook 1971

SAT is NP-Complete!

Computable

Exp

Poly

Known

GCD

NPSAT

complete

Sat ≤poly 3-Col

Page 96: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Colour each node with 3 colours.Nodes with lines between them must have different colours.

»

Two problems that are cosmetically different, but substantially the same

Given a circuit,find a satisfying assignment.

Circuit Satisfiablity ≤poly 3-Col

This will prove that 3-Col is NP-Complete.

Sat ≤poly 3-Col

Page 97: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 0: 3-Col NP

Design poly-time algorithm Valid3-Col(G,C)

which determines whether a given 3-colouring C

is valid for a given graph G.

Easy: Check that each edge is bi-chromatic.

Page 98: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 1: What to reduce it to

Palg ≤poly 3-Col

Choose a problem Pis NP-comp

that is as similar to 3-Col as possible and that is already known to be NP-Complete.

Pis NP-comp = Cir-SAT

Page 99: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 2: What is What

Circuit Problem:• instance = circuit

of gates• solution = true/false

to each variable

3-Colouring• instance = graph

• solution = green/red/blue to each node.

OR

OR

NOT

Output

x y z

G Col

F T T

Page 100: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

GIVEN: Alg for 3-colourproble

m

BUILD: Alg for circuit proble

m

Given an oracle for 3-colorability, how can you quickly solve circuit SAT?

Step 3: Direction of reduction & Code

Page 101: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

GIVEN: Alg for 3-colourproble

m

BUILD: Alg for circuit proble

m

C Graph composed of gadgets that mimic

the gates in C

colourable or not

satisfiable or not

ReductionCircuit ≤poly 3-Colouring

Page 102: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Circuit Problem:• instance = circuit

of gates• solution = true/false

to each variable• true/false

to internal wires

3-Colouring• instance = graph

• solution = green/red/blue to each node.

F T T

OR

OR

NOT

Output

x y z

G Col

?

of gadgets

Step 4: Look for Similarities

Page 103: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

A Graph Named “Gadget”

Steven Rudich had computer search for graph with some

key properties.

Page 104: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Colour each node.

Nodes with lines between them must have different colours.

Could you do it with 2 colours?

Graph Colouring

No

Page 105: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Colour each node.

Nodes with lines between them must have different colours.

Graph Colouring

Yes.

How do we know?

Because we colored it!

Could you do it with 3 colours?

Page 106: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

X Y

Output

variables&wires ~ nodesgate ~ gadgetOR

x y

Output

Page 107: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

X Y

Output

Consider your colouring

T F

true ~ greenfalse ~ red ? ~ yellow

F T

OR

x y

Output

T

redyellowgreen

Page 108: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

X Y

Output

true ~ greenfalse ~ red ? ~ yellow

OR

x y

Output

F T

T

redyellowgreen

Re-map your colouring

T F

Page 109: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

T FX Y

Output?

gate function ~ gadget “function”OR

x y

OutputTT

FT

TF

FF

OrYX

F

T

T

T

F T

T

Page 110: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

T FX Y

Output

X Y Out

F F

F T

T F

T T

?F

F

Consider your colouring

gate function ~ gadget “function”OR

x y

Output

F F

F

F F

Page 111: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

T FX Y

Output

F T

T

T

X Y Out

F F

F T

T F

T T

Consider your colouring

gate function ~ gadget “function”

F T

OR

x y

Output

T

Page 112: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

T FX Y

Output

FT

X Y Out

F F

F T

T F

T T

T

T

Consider your colouring

gate function ~ gadget “function”

FT

OR

x y

Output

T

Page 113: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

T FX Y

Output

T T

T

T

X Y Out

F F

F T

T F

T T

Consider your colouring

gate function ~ gadget “function”

T

OR

x y

Output

T

T

Page 114: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

X Y

Output

T F Consider your colouring

X Y Or

F F F

F T T

T F T

T T T

Or - Gadget

gate function ~ gadget “function”

F T

OR

x y

Output

T

Page 115: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

T FX Y

Output

F T

T

T

X Y Or

F F

F T

T F

T T

Proof

Or - Gadget

gate function ~ gadget “function”

F T

OR

x y

Output

T

Page 116: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

T FX Y

Output

F F

X Y Out

F F

F T

T F

T T

FF X Y Or

F F

F T

T F

T T

Proof

Or - Gadget

gate function ~ gadget “function”OR

x y

Output

F F

F

Page 117: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

T F

X

Output

X NOT

F T

T F

NOT - Gadget

Page 118: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

GIVEN: Alg for 3-colourproble

m

BUILD: Alg for circuit proble

m

C Graph composed of gadgets that mimic

the gates in C

colourable or not

satisfiable or not

ReductionCircuit ≤poly 3-Colouring

Page 119: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 5: Instance Map

Page 120: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 5: Instance Mapcircuit graph

OR

OR

NOT

x y z

Output

Page 121: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

variables&wires ~ nodes

Step 5: Instance Mapcircuit graph

OR

OR

NOT

x y z

Output

xy

z

Output

Page 122: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 5: Instance Mapcircuit graph

OR

OR

NOT

x y z

Output

xy

z

Output

One pallet for “defining” truth. gate ~ gadget

Page 123: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 5: Instance Mapcircuit graph

OR

NOTOR

x y z

Output

xy

z

Output

first input second input

output

The Graph Named “OR-Gadget”

gate ~ gadget

Page 124: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 5: Instance Mapcircuit graph

OR

NOTOR

x y z

Output

xy

z

Output

first input second input

output

gate ~ gadget

Page 125: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 5: Instance Mapcircuit graph

xy

z

Output

OR

OR

NOT

x y z

Output

output

input

The Graph Named “NOT-Gadget”

gate ~ gadget

Page 126: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 5: Instance Mapcircuit graph

xy

z

Output

OR

OR

NOT

x y z

Output

output

input

gate ~ gadget

Page 127: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 5: Instance Mapcircuit graph

xy

z

Output

OR NOT

OR

x y z

Outputfirst input second input

output

The Graph Named “OR-Gadget”gate ~ gadget

Page 128: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 5: Instance Mapcircuit graph

xy

z

Output

OR NOT

OR

x y z

Outputfirst input second input

output

gate ~ gadget

Page 129: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

One extra edge from “False”to “Output”

Step 5: Instance Mapcircuit graph

OR

OR

NOT

x y z

Output

Page 130: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Step 5: Instance Mapcircuit graph

OR

OR

NOT

x y z

Output

Done

Page 131: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

xy

z F F T

Output

OR

OR

NOT

x y z

Output

Step 6: Solution Mapassignment colouringT F

Assume these are the colours of these nodes.

Page 132: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

OR

OR

NOT

x y z xy

z

F

Output

Output

Step 7: Valid ValidT F

correspond

correspond

F F T

OR Gadget

Page 133: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

OR

OR

NOT

x y z xy

z

Output

Output

T F

Fcorrespond

Not Gadget

correspond

Step 7: Valid Valid

F F T

F

Page 134: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

OR

OR

NOT

x y z xy

z

F

Output

Output

T F

correspond

OR Gadget

Step 7: Valid Valid

F F T

F

F

correspond

Page 135: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

OR

OR

NOT

x y z xy

z

F

F

Output

Output

T F

One extra edge from “False”to “Output”

Oops this is a bad coloring

Step 7: Valid Valid

F F T

F

Page 136: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

xy

z F T T

Output

OR

OR

NOT

x y z

Output

Step 6: Solution Mapassignment colouringT F

Assume these are the colours of these nodes.

Page 137: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

OR

OR

NOT

x y z xy

z F T T

T

Output

Output

Step 7: Valid ValidT F

correspond

correspond

Fcorrespond

T

correspond

Page 138: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

OR

OR

NOT

x y z xy

z F T T

T

FT

Output

Output

T F

One extra edge from “False”to “Output”

T Can’t be F

Step 7: Valid Valid

Page 139: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

OR

OR

NOT

x y z xy

z F T T

T

FT

Output

Output

T F

T

T

correspond

Must be T

valid colouring satisfying assignment

Step 7: Valid Valid

Page 140: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

OR

OR

NOT

x y z xy

z F T T

Output

Output

Step 8: Rev. Sol. Mapassignment colouring

Rest of colouringfollows

Page 141: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

OR

OR

NOT

x y z xy

z F T T

Output

Output

Step 9: Valid Valid

Edges in Gadgetsbi-chromatic

Page 142: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

OR

OR

NOT

x y z xy

z F T T

Output

Output

Extra Edge?

correspond

Step 9: Valid Valid

T valid

Must be TExtra Edge bi-chromatic

Page 143: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

OR

OR

NOT

x y z xy

z F T T

Output

Output

Step 9: Valid Valid

T valid

satisfying assignment valid colouring

Page 144: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

OR

OR

NOT

x y z xy

z F T T

Output

Output

Satisfiability of this circuit = 3-colourability of this graph

Step 5-9

FT

TT

Page 145: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Satisfiability of this circuit = 3-colourability of this graph

Page 146: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

GIVEN: Alg for 3-colourproble

m

BUILD: Alg for circuit proble

m

C Graph composed of gadgets that mimic

the gates in C

colourable or not

satisfiable or not

ReductionCircuit ≤poly 3-Colouring

Page 147: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Graph Colouring

Scheduling

Clique Independent Set

Palg ≤poly Poracle

or Palg Poracle

Circuit Satisfiability

Any NP-Problem

3-SAT3-Col

This proves that 3-Col is NP-Complete.And so are Scheduling, Graph-Colouring, and 3-SAT.

Page 148: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Graph Colouring

Scheduling

Clique Independent Set

Palg ≤poly Poracle

or Palg Poracle

Circuit Satisfiability

Any NP-Problem

3-SAT3-Col

?

True but we will not do this here.

Page 149: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Graph Colouring

Scheduling

Clique Independent Set

Palg ≤poly Poracle

or Palg Poracle

Circuit Satisfiability

Any NP-Problem

3-SAT3-Col

NP-Complete Problems

If we can solve one of these quickly,

then we can solve all NP-problems quickly.

Page 150: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Palg ≤poly Poracle

or Palg Poracle

Graph Colouring

Scheduling

Clique Independent Set

Circuit Satisfiability

Any NP-Problem

3-SAT3-Col

NP-Complete Problems

If we can prove one takes exponential time,

then all NP-complete problems take exponential time.

Page 151: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Network Flows

?Yes: If we can solve Sat fast,we can solve Network Flow fast,because we can solve Network Flow fast.

Graph Colouring

Scheduling

Clique Independent Set

Circuit Satisfiability

Any NP-Problem

3-SAT3-Col

NP-Complete Problems

Page 152: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

No: We can solve Network Flow fast,but we cannot solve Sat fast.

?

Network Flows

Graph Colouring

Scheduling

Clique Independent Set

Circuit Satisfiability

Any NP-Problem

3-SAT3-Col

NP-Complete Problems

Page 153: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Yes: We use the fast alg for Network Flow to give a fast alg for Bipartite Matching.

Network Flows

?Bipartite Matching

Graph Colouring

Scheduling

Clique Independent Set

Circuit Satisfiability

Any NP-Problem

3-SAT3-Col

NP-Complete Problems

Page 154: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Math Truth

?

Network Flows

Bipartite Matching

Halting problem poly Math Truth Math Truth Undecidable.

Graph Colouring

Scheduling

Clique Independent Set

Circuit Satisfiability

Any NP-Problem

3-SAT3-Col

NP-Complete Problems

Page 155: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Math Truth

?Yes: If we can solve

Math Truth fast,we can solve Sat fast.Network Flows

Bipartite Matching Undecidable

Graph Colouring

Scheduling

Clique Independent Set

Circuit Satisfiability

Any NP-Problem

3-SAT3-Col

NP-Complete Problems

Page 156: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Steps for proving that Pnew is NP-Complete

•Designed after collecting lots of wrong answers.•Understand and follow them carefully.•Keep the steps separate, because errors happen when they are intertwined.

12 Steps In More Detail

Page 157: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Steps for proving that Pnew is NP-Complete

1) Pnew NP

2) What is what

3) Direction of reduction & Code

4) Look for similarities

5) Instance Map

6) Solution Map

7) Valid to Valid

8) Reverse Solution Map

9) Valid to Valid

10) Working Algorithm

11) Running Time

12 Steps In More Detail

Page 158: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Reduce Pnew to Pis NP-comp or Pis NP-comp to Pnew?People get this wrong. Don’t memorize it. Go through it each time.• I want to prove Pnew is hard• hence that Pis NP-comp poly Pnew

• hence that Pis NP-comp is easy• hence I need to design an algorithm for Pis NP-comp

• hence I start with an input instance Iis NP-comp for Pis NP-comp

• to get help, I must map it to an instance Inew for PnewPis NP-comp ≤poly Pnew

Palg ≤poly Poracle

12 Steps Step 3: Direction of reduction & Code

Page 159: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

• Step 5 Ioracle = InstanceMap(Ialg)• Steps 6,7: Salg = SolutionMap(Soracle)• Steps 8,9: Soracle = ReverseSolutionMap(Salg)

Palg

Ialg

Salg

Poracle

Ioracle

Soracle

≤poly

12 Steps If and Only If

Not part of code,but of proof.

Page 160: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Algoracle says yes to Ioracle

Þ Ioracle has a valid solution Soracle Þ Ialg has a valid solution Salg

Þ Ialg is a yes instance.

Steps 6&7

12 Steps If and Only If

Algoracle says no to Ioracle

Þ Ioracle does not have a valid solution Soracle Þ Ialg does not have a valid solution Salg

Þ Ialg is a no instance. No witnessto map!Take to contra positive.

Algoracle gives the correct answerÞ Our algorithm gives the correct answer.

(whether yes or no)

Page 161: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Algoracle says yes to Ioracle

Þ Ioracle has a valid solution Soracle Þ Ialg has a valid solution Salg

Þ Ialg is a yes instance.

Steps 6&7

12 Steps If and Only If

Algoracle says yes to Ioracle

Ioracle has a valid solution Soracle Ialg has a valid solution Salg

Ialg is a yes instance.

Steps 8&9

Algoracle gives the correct answerÞ Our algorithm gives the correct answer.

(whether yes or no)

Take to contra positive.

Page 162: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Salg = SolutionMap(Soracle)

Ioracle = InstanceMap(Ialg)

Ialg

Soracle

Every solution Soracle

needs to be considered.Not just those you intended when you created I oracle.

12 Steps Wider net

Page 163: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Ioracle = InstanceMap(Ialg)

Ialg

Potential Solution S.

To be safe,cast a bigger net.

Potential Solution = SolutionMap(S).

12 Steps Wider net

Page 164: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

It is best to separate the steps of • defining the entire solution Salg being mapped to

in a well defined and clear way.• the proof that Salg is a valid solution.

A false proof • defines part of Salg

• proves that this makes some aspect of Salg valid.• Later to make some other aspect of Salg valid,• it redefines the same part of Salg in an inconsistent way.

12 Steps Wider net and Separate steps 6 & 7

Page 165: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

12 Steps Step 5: Instance Map

Page 166: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Ioracle

Ialgno yes

no yes

ok mapped to twice ok not mapped to

Yes mapped to YesNo to No

12 Steps Step 5: Instance Map

Page 167: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Ioracle

Ialgno yes

no yes

InstanceMapdoes not know ifIalg is a Yesinstance.

12 Steps Step 5: Instance Map

Page 168: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Ioracle

Ialgno yes

no yes

InstanceMapdoes not know ifIalg is a Yesinstance.

A useful mappingbut not poly-time.

12 Steps Step 5: Instance Map

Page 169: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Ioracle

Ialg

Potential Solution S.

Potential Solution = SolutionMap(S).

12 Steps Forward vs Reverse Solution Map

Page 170: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Ioracle

Ialg

Potential Solution S.

Potential Solution = ReverseSolutionMap(S).

12 Steps Forward vs Reverse Solution Map

Page 171: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Soracle

Salg

Salg = SolutionMap(Soracle)Soracle = ReverseSolutionMap(Salg)

In this case, bijective

12 Steps Forward vs Reverse Solution Map

Page 172: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Soracle

Salg

Salg = SolutionMap(Soracle)

ok mapped to twice

ok not mapped to

Soracle = ReverseSolutionMap(Salg)

Even the unexpected solutionsneed to be mapped.

12 Steps Forward vs Reverse Solution Map

Page 173: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

The End

Page 174: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

An early version of these slides produced by

Steven Rudich from Carnegie Mellon University

Page 175: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Things Cut Outof More Detailed NP Talk

Page 176: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Computational Complexity Theory

Computational Complexity Theory is the study of how much of a given resource (such as time, space, parallelism, randomness, algebraic operations, communication, or quantum steps) is required to perform the computations that interest us the most.

Page 177: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Given a graph G, what is a fast algorithm to

decide if it can be 2-colored?

2 CRAYOLAS

PERSPIRATION; BRUTE FORCE: Try out all 2n ways of 2 coloring G.

Page 178: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Sorry

Page 179: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 180: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 181: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 182: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 183: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 184: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 185: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 186: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 187: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 188: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 189: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 190: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 191: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 192: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 193: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 194: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 195: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 196: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 197: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 198: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.
Page 199: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Things Cut Outof intro theory talk

Page 200: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Boss assigns task:

Given a computer program, will it halt?

Everyday industry asks these questions.

Page 201: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Example: Halting Problem

loop a = 1 … 1,000,000 s := s+a end loop

loop a > 0

s := s+a

end loop

Halts

Does not halt

Page 202: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Example: Halting Problem

loop a,b,c,z > 2exit when az + bz = cz

end loop

Proof of not halting = Proof of Fermat’s Last Theorem

loopchaotic behavior

exit when special event

end loop

Chaotic behavior =not knowing what it will do without doing it.

How can we know it will not halt without running it forever?

Page 203: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Your answer:

Sorry. No algorithm exists that tells you for every computer program whether it halts!

Page 204: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Suppose there was a working algorithm:

Halt(P,I) = whether program P halts on input I

Construct from it another algorithm:

Nhalt(P) = if(Halt(P,P)) loop forever else halt = halts ↔ program P does not halt on input P.

Paradox: Nhalt(Nhalt) = ?

program Nhalt halts on input Nhalt↔ program Nhalt does not halt on input Nhalt

Contradiction!

Halting Problem

Page 205: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Your answer:

Sorry. No algorithm exists that tells you for every computer program whether it halts!

Or any other useful thing about what the program does.

Page 206: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Research in Computer Science

•Vision •Graphics •Robotics • Systems •Data Bases •Networks •Real Time •Artificial Intelligence •Theory

Page 207: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Theoretical Computer Science

Useful Fun Doable by you

Page 208: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

So you want to be a computer scientist?

It is important to learn theory!

• Micro soft packages.• Programming

Page 209: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Boss assigns task:

Given courses students want, schedule them to minimize conflicts.

Everyday industry asks these questions.

Page 210: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Um? Tell me what to code.

The demand for mundane programmers is diminishing.

Your answer:

Page 211: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Your answer:

I learned this great algorithm that will work.

Soon all known algorithms will be available in libraries.

Page 212: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Your answer:

I can develop a new algorithm for you.

Great thinkers will always be needed.

Page 213: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Alternatively, your answer:

Sorry. Very likely no fast algorithm exists that always finds best schedule.

This too will impress your boss.

(else worthy of wealth & Nobel prize)

Page 214: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

The future belongs to the computer scientist who has

A large collection of tools to draw on.

Rudich www.discretemath.com

Page 215: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Creativity

The future belongs to the computer scientist who has

Page 216: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Logical Thinking

The future belongs to the computer scientist who has

Page 217: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Abstract thinking.

The future belongs to the computer scientist who has

Page 218: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

The future belongs to the computer scientist who has

It is important to learn theory!

Page 219: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Theoretical Computer Science Research

Andy Mirzaian

Suprakash Datta

Franck Van Breugel

Jeff Edmonds

Patrick Dymond

Zbigniew Stachniak

Joseph Liu

George Tourlakis

Eric Ruppert

Page 220: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Theoretical Computer Science at York

• Complexity Theory • Algorithms for solving problem• Determining time and memory used• Proving can’t do better

Page 221: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Theoretical Computer Science at York

• Many machines working together • Different speed clocks • Different memory and programs• Communication Networks • Parallel Algorithms

Page 222: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Theoretical Computer Science at York

• Other Topics • Large-scale scientific computing • Sparse matrix technology• Computational geometry • Combinatorial optimization • Graph algorithms • Computational logic, • Knowledge representation

Page 223: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Some Typical Ideas in Theoretical Computer

Science

Page 224: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Computer Science Started with Theory

The theory of computation and algorithms was developed well before the hardware was invented.

This is one of the reasons that progress was made so fast when the hardware was developed.

Page 225: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Please feel free to ask questions!

Professors at York are accessible.

Page 226: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

A Hotdog

A combination of pork, grain, and sawdust, …

Constraints: •Amount of moisture•Amount of protean,•…

Page 227: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

The Hotdog Problem

Given today’s prices,what is a fast algorithm to find the cheapest hotdog?

Page 228: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

There are deep ideas within the simplicity.

=

Abstraction

Goal: Understand and think about complex things in simple ways.

There are deep ideas within the simplicity. Rudich www.discretemath.com

Page 229: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Abstract Out Essential Details

Cost: $29, $8, $1, $2

Amount to add: x1, x2, x3, x4pork

grai

nw

ater

saw

dust

3x1 + 4x2 – 7x3 + 8x4 ³ 122x1 - 8x2 + 4x3 - 3x4 ³ 24

-8x1 + 2x2 – 3x3 - 9x4 ³ 8x1 + 2x2 + 9x3 - 3x4 ³ 31

Constraints: • moisture• protean,• …

29x1 + 8x2 + 1x3 + 2x4Cost of Hotdog:

Page 230: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

3x1 + 4x2 – 7x3 + 8x4 ³ 122x1 - 8x2 + 4x3 - 3x4 ³ 24

-8x1 + 2x2 – 3x3 - 9x4 ³ 8x1 + 2x2 + 9x3 - 3x4 ³ 31

29x1 + 8x2 + 1x3 + 2x4

Subject to:

Minimize:

Abstract Out Essential Details

Page 231: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

A Fast Algorithm

For decades people thought that there was no fast algorithm.

Then one was found!

Theoretical Computer Sciencefinds new algorithms every day.

3x1 + 4x2 – 7x3 + 8x4 ³ 12

2x1 - 8x2 + 4x3 - 3x4 ³ 24

-8x1 + 2x2 – 3x3 - 9x4 ³ 8x1 + 2x2 + 9x3 - 3x4 ³ 31

29x1 + 8x2 + 1x3 + 2x4

Subject to:

Minimize:

»

Page 232: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Doable by You

How can I solve problems that smart people have worked hard on?

Page 233: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Doable by You• We will teach you how to do

it.• You will come upon new

problems that no one has thought about before.

• Hence, you will have the first chance to solve them.

Page 234: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Think Be Creative

Theoretical Computer Science

Page 235: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Gauss S = 1 + 2 + 3 + . . . + n

Arithmetic Sum

Rudich www.discretemath.com

Page 236: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

1 2 . . . . . . . . n

= number of white dots.1 + 2 + 3 + . . . + n-1 + n = S

Page 237: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

1 + 2 + 3 + . . . + n-1 + n = S

n + n-1 + n-2 + . . . + 2 + 1 = S

1 2 . . . . . . . . n

= number of white dots

= number of yellow dots

n . . . . . . . 2 1

Page 238: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

1 + 2 + 3 + . . . + n-1 + n = S

n + n-1 + n-2 + . . . + 2 + 1 = S

= number of white dots

= number of yellow dots

n+1 n+1 n+1 n+1 n+1

n

n

n

n

n

n

= n(n+1) dots in the grid

2S dots

2

1)(nn S

Page 239: Reductions & NP-Completeness Jeff Edmonds York University See 2001 slidesSee 2001 slides More Classes for 4111More Classes for 4111More Classes for 4111More.

Perspiration Search

Try all possible combinations to find the cheapest

Too many to try. With 50 ingredients, number of valid combinations is more than the number of atoms.