Title: Advanced Algorithm Design and Analysis
1Advanced Algorithm Design and Analysis
CSE 4080 Computer Science Project
- Student Gertruda Grolinger
- Supervisor Prof. Jeff Edmonds
2Topics
- Divide and Conquer Fast Fourier Transformations
- Greedy Algorithms Matroids
- Dynamic Programming Parsing CFG
- Network Flow Steepest Assent, Edmonds-Karp,
- Matching
- NP-completeness Reductions
- Approximation Algorithms Knapsack
- Linear Programming What to put in a hotdog?
3The Pebble Game
4The Pebble Game
- One player game, played on a DAG
- Used for studying time-space trade-off
5Formalization
Output nodes
Nodes
Input nodes
6Three main rules
1. A pebble can be placed on any input node
2. A pebble can be placed on a node v if
all predecessors of the node v are marked
with pebbles
3. A pebble can be removed from a node at
any time
Note a pebble removed from the graph can be
reused
7Strategysequence of legal moves which ends in
pebbling the distinguished node f
The Goalto place a pebble on some previously
distinguished node f while minimizing the
number of pebbles used
A moveplacing or removing one of the
pebbles according to the three given rules
8Example 1
7 moves and 7 pebbles
9Example 2
11 moves and 3 pebbles
10Interpretation
1. A pebble can be placed on any input node
LOAD
2. A pebble can be placed on a node v if
all predecessors of the node v are marked
with pebbles COMPUTE
3. A pebble can be removed form a node at
any time DELETE
- Use as few pebbles as possible REGISTERS
- Use as few moves as possible TIME
11In general How many pebbles are required to
pebble a graph with n nodes?
12Pyramid graph Pk
13Pyramid graph Pk
Fact 1 Every pebbling strategy for Pk (k gt
1) must use AT LEAST k 1 pebbles.
That is O( ) pebbles expressed in number of
edges n.
14Pyramid graph Pk
k 5
We need at least k 1 6
15Pyramid graph Pk
Lets consider having k 5 pebbles
16Arbitrary graph with restricted in-degree (d 2)
Fact 2 Every graph of in-degree 2 can be
pebbled with O(n/log n) pebbles (n nodes in
the graph).
17Arbitrary graph with restricted in-degree (d 2)
O(n/log n)
Proof
- Recursive pebbling strategy
- Solutions
- P(n) O(n/log n)
18A Pebble problem
Pebble a DAG that has a rectangle of nodes that
is w wide and h high (h ltltw).
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.
The goal is to put a pebble on any single node
on the top row.
19Dynamic Programming
- Algorithm that uses as many pebbles
- (memory) as needed, but does not redo
- any work
- Loop invariant
- How much time and how many pebbles?
20Dynamic 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 node
- on the (i 1)st row and remove pebbles from the
- i th row so they can be reused
21Time and pebbles (space) needed
22Recursive Backtracking
- Task to place a pebble on some node v which
- is r rows from the bottom
- Algorithm (recursive) to accomplish this task
- that re-does work but uses as few pebbles as
- possible
- Time(r ) and Pebbles(r) are time and pebbles
- used to place a pebble on one node r rows
- from the bottom
23Recursive 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
24Time(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
25Conclusion time-space trade-off
- Time comparison
-
- DP Q(h w)
- RB Q(d (h-1))
- Space comparison
-
- DP Q(w)
- RB Q(d h) where h ltlt w
26References
- 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
27Thank you for your attention ?