Advanced Algorithm Design and Analysis Student: Gertruda Grolinger Supervisor: Prof. Jeff Edmonds...

Preview:

Citation preview

Advanced Algorithm Advanced Algorithm Design and AnalysisDesign and Analysis

Student: Student: Gertruda Gertruda GrolingerGrolinger

Supervisor: Supervisor: Prof. Jeff Prof. Jeff EdmondsEdmonds

CSE 4080 CSE 4080 Computer Science ProjectComputer Science Project

Linear Programming: “What to put in a hotdog?”Linear Programming: “What to put in a hotdog?”

Approximation Algorithms: KnapsackApproximation Algorithms: Knapsack

NP-completeness: ReductionsNP-completeness: Reductions

Classifying problemsClassifying problems

Network Flow: Steepest Assent, Edmonds-Karp, Network Flow: Steepest Assent, Edmonds-Karp, MatchingMatching

Dynamic Programming: Parsing CFGDynamic Programming: Parsing CFG

Greedy Algorithms: MatroidsGreedy Algorithms: Matroids

Recursion: ParsingRecursion: Parsing

Divide and Conquer: Fast Fourier TransformationsDivide and Conquer: Fast Fourier Transformations

Topics:Topics:

The Pebble GameThe Pebble Game

The Pebble GameThe Pebble Game

• Used for studying time-space Used for studying time-space trade-off trade-off

• One player game, played on a DAGOne player game, played on a DAG

Output nodes

Nodes

Input nodes

Formalization:Formalization:

• Directed acyclic graphDirected acyclic graph

• Bounded in-degreeBounded in-degree

Three main rules:Three main rules:

2.2. A pebble can be placed on a node A pebble can be placed on a node vv if all predecessors of the node if all predecessors of the node vv are are marked with pebbles marked with pebbles

3.3. A pebble can be removed from a A pebble can be removed from a node at any time node at any time

NoteNote: : a pebble removed from the graph can be ‘reused’a pebble removed from the graph can be ‘reused’

1.1. A pebble can be placed A pebble can be placed on any input nodeon any input node

Strategy:Strategy:sequence of legal moves which ends sequence of legal moves which ends in pebbling the distinguished node in pebbling the distinguished node ff

The Goal:The Goal:to place a pebble on some to place a pebble on some previously distinguished node previously distinguished node ff while minimizing the number while minimizing the number of pebbles usedof pebbles used

A move:A move:placing or removing one of the placing or removing one of the pebblespebblesaccording to the three given according to the three given rulesrules

f

30

70

60

50

40

20107 moves and 7 pebbles

Example 1

30

70

60

50

40

201011 moves and 3 pebbles

Example 2

Interpretation:Interpretation:

1.1. A pebble can be placed A pebble can be placed on any input node ~ LOADon any input node ~ LOAD

2.2. A pebble can be placed on A pebble can be placed on a node a node vv if all predecessors of the node if all predecessors of the node vv are marked with pebbles ~ COMPUTE are marked with pebbles ~ COMPUTE

3.3. A pebble can be removed form a A pebble can be removed form a node at any time ~ DELETE node at any time ~ DELETE

• Use as few pebbles as possible ~ # ~ # REGISTERSREGISTERS• Use as few moves as possible ~ TIME~ TIME

input nodes

nodes

output nodes

In general:In general:

How many pebbles How many pebbles are required to pebble a are required to pebble a

graphgraph with n nodes?with n nodes?

Pyramid graph PPyramid graph Pkk::

Pyramid graph PPyramid graph Pkk::

Fact 1:

Every pebbling strategy for Pk (k > 1)must use AT LEAST k + 1 pebbles.

That is Ω( ) pebbles expressed in number of edges n.

n√

Pyramid graph PPyramid graph Pkk: :

k = 5

We needat least:

k + 1 = 6

Pyramid graph PPyramid graph Pkk: :

Let’s considerhaving

k = 5 pebbles

Arbitrary graph with restricted Arbitrary graph with restricted in-degree (d =2):in-degree (d =2):

Fact 2:

Every graph of in-degree 2 can be pebbledwith O(n/log n) pebbles (n = # nodes in the graph).

Arbitrary graph with restricted Arbitrary graph with restricted in-degree (d =2):in-degree (d =2):

Proof:

• Recursive pebbling strategy

• Cases

• Recursions for each case

• Solutions:P(n) = O(n/log n)

O(n/log n)

A Pebble problemA Pebble problem

Pebble a DAG that has a rectangle of nodes that is w wide and h high (h <<w).

h

w

The goal is to put a pebble on any single node on the top row.

For each node v (not on the bottom row),there will be d nodes In(v) = {u1, u2,…ud} on the previous row with edges to v.

v

u1 u2 ud…

Dynamic Programming

1. Algorithm that uses as many pebbles (memory) as needed, but does not redo any work

2. Loop invariant

3. How much time and how many pebbles?

Dynamic Programming algorithm

Place a pebble on each of the nodes on the bottom row

After the i th iteration: there is a pebble on each node of the i th row from the bottom

Next iteration: place a pebble on each nodeon the (i +1)st row and remove pebbles from thei th row so they can be reused

Exit when i =h

Loop Invariant

Progress made, LI maintained

Time and pebbles (space) needed

Time = O(h *w)

Pebbles = 2 *w = O(w)

Recursive Backtracking

Task: to place a pebble on some node v whichis r rows from the bottom

Algorithm (recursive) to accomplish this taskthat re-does work but uses as few pebbles aspossible

Time(r ) and Pebbles(r) are time and pebblesused to place a pebble on one node r rowsfrom the bottom

Recursive Backtracking algorithm

My task is to place a pebble on some node v which is r rows from the bottom

I ask a friend, for each of the d nodes ui In(v) to place a pebble on ui

Once there is a pebble on all nodes ui In(v), I place a pebble on node v

Time(r ) and Pebbles(r)

Time(r) = d * Time(r-1) + 1 ≈ d * Time(r-1) =

= d(r-1)

Pebbles(r ) = Pebbles(r-1) + (d – 1) =

= (d - 1) * (r – 1) + 1

Conclusion: time-space trade-off

Time comparison

DP: (h * w)

RB: (d (h-1))

Space comparison

DP: (w)

RB: (d * h) where h << w

References:

1. Gems of theoretical computer science U. Schöning, R. J. Pruim

2. Asymptotically Tight Bounds on Time-Space Trade-offs in a Pebble Game T. Lengauer, R. E. Tarjan

3. Theoretical Models 2002/03 P. van Emde Boas

Thank you for your attention Thank you for your attention

Questions ?Questions ?

Recommended