cheat sheets for hard problems

Post on 01-Dec-2014

660 Views

Category:

Education

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

A very high-level overview of the modern toolkit involved in solving NP-hard problems.

TRANSCRIPT

Cheat  Sheets  for  Hard  Problems

Some problems tend to be harder than others.

NP

PNP

PNP

NP-complete

PNP

X

solveTSP{blahblah

blahblahblah

}

TSPX

solveTSP{blahblah

blahblahblah

}

TSPX

solveTSP{blahblah

blahblahblah

}

Independent Set

Independent Set

Clique

Independent Set

Clique

Independent SetClique

Independent SetClique

Independent SetClique

Independent SetClique

SolveIndSet { Return Clique( ); }G

TSPX

solveTSP{blahblah

blahblahblah

}

Did you say NP-complete?

Did you say NP-complete?

Travelling SalesmanSatisfiability

Integer Linear ProgrammingMinimum Vertex Cover

Maximum CliqueChromatic NumberIndependent Set

Max-Leaf Spanning TreeMinimum Degree Spanning Tree

Minimum Facility LocationMinimum Broadcast Time

Subset SumDominating Set

Steiner TreeLongest Path

Feedback Vertex SetEdge Dominating Set

3-Dimensional MatchingSet Packing

Minimum Unsplittable FlowMinimum Bandwidth

Minimum Multi-way cut....

Travelling SalesmanSatisfiability

Integer Linear ProgrammingMinimum Vertex Cover

Maximum CliqueChromatic NumberIndependent Set

Max-Leaf Spanning TreeMinimum Degree Spanning Tree

Minimum Facility LocationMinimum Broadcast Time

Subset SumDominating Set

Steiner TreeLongest Path

Feedback Vertex SetEdge Dominating Set

3-Dimensional MatchingSet Packing

Minimum Unsplittable FlowMinimum Bandwidth

Minimum Multi-way cut....

Heuristics

Heuristics

Formal analysis?

You have Polynomial Time.

You have Polynomial Time.WORK BACKWARDS!

Approximation & Randomized Algorithms

A no-compromise situation?

A no-compromise situation?

A no-compromise situation?Exploit additional structure in the input.

Parameterized & Exact Analysis

Parameterized & Exact Analysis

Chromatic  Number  is  easy  on                                Graphs.Interval

Parameterized & Exact Analysis

Chromatic  Number  is  easy  on                                Graphs.Planar*

Parameterized & Exact Analysis

Chromatic  Number  is  easy  on                                Graphs.Bipartite

Good solutions tend to involve a combination of several techniques.

Vertex Cover

Vertex Cover

Every edge has at least one end point in a vertex cover.

Vertex Cover

Every edge has at least one end point in a vertex cover.

Is there a Vertex Cover with at most k vertices?

A vertex with more than k neighbors.

Throw away all vertices with degree (k+1) or more.

(And decrease the budget appropriately.)

Throw away all vertices with degree (k+1) or more.

After all the high-degree vertices are gone...

(And decrease the budget appropriately.)

...any vertex can cover at most k edges.

...any vertex can cover at most k edges.

Suppose the current budget is (k-x).

...any vertex can cover at most k edges.

Suppose the current budget is (k-x).

If the number of edges in the graph exceeds k(k-x)...?

Lots of edges - no small vertex cover possible.

Few edges - brute force becomes feasible.

Lots of edges - no small vertex cover possible.

Few edges - brute force becomes feasible.

win/winsituation

Common Sense

Common Sense

Approximate

Common Sense

Approximate

Randomize

Common Sense

Approximate

Randomize

Exploit Input Structure

Common Sense

Approximate

Randomize

Exploit Input Structure

top related