Evaluating Algorithmic Design Paradigms

20
Grace Hopper Celebration of Women in Computing Evaluating Algorithmic Design Paradigms Sashka Davis Advised by Russell Impagliazzo UC San Diego October 6, 2006

description

Evaluating Algorithmic Design Paradigms. Sashka Davis Advised by Russell Impagliazzo UC San Diego October 6, 2006. Suppose you have to solve a problem Π …. No Greedy alg. exists ? Or I didn’t think of one?. Is there a Dynamic Programming algorithm that solves Π ?. - PowerPoint PPT Presentation

Transcript of Evaluating Algorithmic Design Paradigms

Page 1: Evaluating Algorithmic Design Paradigms

Grace Hopper Celebration of Women in Computing

Evaluating Algorithmic Design Paradigms

Sashka DavisAdvised by Russell Impagliazzo

UC San DiegoOctober 6, 2006

Page 2: Evaluating Algorithmic Design Paradigms

Suppose you have to solve a problem Π…

Is there a Greedy algorithm that solves Π?Is there a Backtracking

algorithm that solves Π?

Is there a Dynamic Programming algorithm

that solves Π?

Eureka! I have a DP Algorithm!No Backtracking agl.

exists? Or I didn’t think of one?

Is my DP algorithm optimal or a better one

exists?

No Greedy alg. exists? Or I didn’t think of one?

Page 3: Evaluating Algorithmic Design Paradigms

Suppose we a have formal model of each algorithmic paradigm

Is there a Greedy algorithm that solves

Π?

No Greedy algorithm can solve Π exactly. Is there a Backtracking

algorithm that solves Π?No Backtracking algorithm

can solve Π exactly.

Is there a Dynamic Programming alg. that

solves Π?

DP helps!

Is my algorithm optimal, or a better DP

algorithm exists?

Yes, it is! Because NO DP alg. can solve Π more

efficiently.

Page 4: Evaluating Algorithmic Design Paradigms

The goal

• To build a formal model of each of the basic algorithmic design paradigms which should capture the strengths of the paradigm.

• To develop lower bound technique, for each formal model, that can prove negative results for all algorithms in the class.

Page 5: Evaluating Algorithmic Design Paradigms

Using the framework we can answer the following questions

1. When solving problems exactly:What algorithmic design paradigm can help?• No algorithm within a given formal model can solve the problem

exactly.• We find an algorithm that fits a given formal model.

2. Is a given algorithm optimal?• Prove a lower bound matching the upper bound for all algorithms

in the class.

3. Solving the problems approximately:• What algorithmic paradigm can help?• Is a given approximation scheme optimal within the formal model?

Page 6: Evaluating Algorithmic Design Paradigms

Current hierarchy of formal models [BNR03], [DI04], [ABBO+05],[BODI06]

Greedy

Greedy

PRIORITY

pBTprioritized Branching Trees

pBP prioritized Branching Programs

Backtracking & Simple DP

Backtracking & Simple DP

DynamicProgramming

DynamicProgramming

PRIORITY

Page 7: Evaluating Algorithmic Design Paradigms

Some of our results

PRIORITY algorithms (formal model of greedy algoritms):1. Dijkstra’s algorithm solves the Single Source Shortest Path (SSSP) in graphs with

non-negative edges and cannot be simplified.2. No PRIORITY algorithm can solve the SSSP in graphs with negative weights.3. Proved lower bounds on the approximation ratio for Weighted Vertex Cover,

Maximum Independent Set, and Steiner Tree problems.

pBT algorithms (formal model of BT and simple DP algoritms):1. There is no efficient pBT algorithm which finds the shortest path in graphs with

negative weights but no negative cycles efficiently.

pBP algorithms ( formal model of Dynamic Programing):1. There is no efficient pBP algorithm which finds the maximum matching in bipartite

graphs.

Page 8: Evaluating Algorithmic Design Paradigms

Some of our results

PRIORITY

pBT

pBP

ADAPTIVEPRIORITY

FIXEDPrim’s

Kruskal’s

Dijkstra’s

Minimum Spanning Tree

Shortest Path in no-negative graphs

Shortest Path in negative graphs no cycles

Bellman-Ford

Maximum Matching in Bipartite graphs

Flow Algorithms

Page 9: Evaluating Algorithmic Design Paradigms

PRIORITY a formal model of greedy algorithms

Consider Kruskal’s algorithm• orders edges of the graph ONCE according to weight,• Inspects the next edge according to the order and makes irrevocable decision,

to add or not, to the solution (MST)

Consider Prims’s algoritm• Proceeds in iteration

– each iteration orders edges in the cut in non-descending order according to weight,

– Inspects the next edge according to the order and makes irrevocable decision, to add or not, to the solution MST

Questions:1. Can we canonize all ADAPTIVE algorithms? 2. Does there exist a FIXED priority algorithm for SSSP?

PRIORITY

ADAPTIVE

FIXEDPrim’sKruskal’s

Dijkstra’s

MST ShortestPath

Page 10: Evaluating Algorithmic Design Paradigms

Consider one iteration of Dijkstra’s algorithm

s t

d(1)

d(2)

d(3)

d(4)

Suppose d(3)=min{d(1),d(2),d(3),d(4)} then (u,v) is added to the solution.

uv

R=Reached

N=Not Yet Reached

Page 11: Evaluating Algorithmic Design Paradigms

Can Dijkstra’s algorithm be simplified?

ADAPTIVE PRIORITY

FIXED priority algorithm1) Orders edges ONCE2) Inspects an edge; makes a decision

Is there a FIXED priority algorithm that solves SP?

?

If there is no FIXED priority algorithm for ShortPath problemthen Dijkstra’s algorithm cannot be simplified.

Page 12: Evaluating Algorithmic Design Paradigms

ShortPath problem

ShortPath problem: Given a graph G=(V,E) and s,t in V. Find the shortest path from s to t in G.Instance: set of edgesSolution: a path in G connecting s, t

Theorem: There is no FIXED priority algorithm that solves ShortPath problem exactly.

Corollaries:1. Dijkstra solves the problem exactly and hence cannot be simplified2. The classes of FIXED and ADAPTIVE priority algorithms are distinct.

Page 13: Evaluating Algorithmic Design Paradigms

Lower bound setting

• Lower bound is a game between Adversary and Solver• Existence of a FIXED priority algorithm is a strategy for

Solver• Existence of a strategy for the Adversary establishes the

lower bound

The winning strategy for the Adversary presents a nemesis graph, which can be modified so that the Solver either:– fails to output a solution– outputs a path, but not the shortest one

Page 14: Evaluating Algorithmic Design Paradigms

Theorem 1 proof sketch:The Adversary’s graph

t

b

s

a u,k

w,k

X,1

v,1y,1

z,1

, , , , ,u v w x y z

Page 15: Evaluating Algorithmic Design Paradigms

Modification of the graph

then the Adversary presents:

t

b

s

a u,k

w,k

x,1

v,1y,1

z,1

If Solver considers edge (y,1) before edge (z,1)

Page 16: Evaluating Algorithmic Design Paradigms

If Solver considers (y,1) before (z,1)

1. The Algorithm selects (y,1) first– Case 1: (y,1) is added to MST– Case 2: (y,1) is NOT added to MST

The cases when the algorithm selects (u,k) or

(x,1) first reduce to Case 1 and 2.

t

b

s

a u,k

x,1

y,1

z,1

Page 17: Evaluating Algorithmic Design Paradigms

Case 1: Solver decides to add (y,1)

Solver constructs a path {u,y}

Adversary outputs solution {x,z}

1

2

Alg k

Adv

t

u,k

x,1

y,1

z,1

b

a

s

Page 18: Evaluating Algorithmic Design Paradigms

Case 2: Solver decides (y,1) is NOT part of the path

Solver has failed to construct a path. Adversary outputs a solution {u,y} and wins the game.

t

u,k

x,1

y,1

z,1

b

a

s

Page 19: Evaluating Algorithmic Design Paradigms

The outcome of the game:– Solver fails to construct a tree in which t is reachable from s.

– When Solver succeeds, the approximation ratio achieved is (k+1)/2.

– The Adversary can set k arbitrarily large and thus can gain any advantage.

1. No FIXED priority algorithm can solve the ShortPath problem.

2. Dijkstra solves ShortPath problem, hence it cannot be simplified.

3. FIXED priority algorithms are properly contained in ADAPTIVE priority algorithms.

ADAPTIVE

FIXED

ShortPathDijkstra’s

Page 20: Evaluating Algorithmic Design Paradigms

GreedyGreedy

BTBTDPDP

Conclusions

Building formal models of basic algorithmic design paradigm and developing general lower bound techniques we can answer:

1. What algorithmic design paradigm can help? (a) Certify the problem as hard: by Proving NO algorithms in the class can solve it.(b) Or we find an algorithm within a given formal class.

2. If we solved the problem, then we can prove that our algorithm is optimal. By Proving a matching lower bound for ALL algorithms in the class.

3. If No technique can solve the problem exactly then we use the framework to:(a) How good an approximation scheme can we get using different algorithmic

techniques?(b) Certify that our approximation algorithm is optimal.