Advanced Algorithm Design and Analysis - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Advanced Algorithm Design and Analysis

Description:

A pebble can be placed on. a node v if all predecessors of the node ... The goal is to put a pebble on any single. node on the top row. ... – PowerPoint PPT presentation

Number of Views:81
Avg rating:3.0/5.0
Slides: 28
Provided by: steve1101
Category:

less

Transcript and Presenter's Notes

Title: Advanced Algorithm Design and Analysis


1
Advanced Algorithm Design and Analysis
CSE 4080 Computer Science Project
  • Student Gertruda Grolinger
  • Supervisor Prof. Jeff Edmonds

2
Topics
  • Divide and Conquer Fast Fourier Transformations
  • Recursion Parsing
  • Greedy Algorithms Matroids
  • Dynamic Programming Parsing CFG
  • Network Flow Steepest Assent, Edmonds-Karp,
  • Matching
  • Classifying problems
  • NP-completeness Reductions
  • Approximation Algorithms Knapsack
  • Linear Programming What to put in a hotdog?

3
The Pebble Game
4
The Pebble Game
  • One player game, played on a DAG
  • Used for studying time-space trade-off

5
Formalization
  • Directed acyclic graph
  • Bounded in-degree

Output nodes
Nodes
Input nodes
6
Three 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
7
Strategysequence 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
8

Example 1
7 moves and 7 pebbles
9

Example 2
11 moves and 3 pebbles
10

Interpretation
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

11

In general How many pebbles are required to
pebble a graph with n nodes?
12
Pyramid graph Pk
13
Pyramid 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.
14
Pyramid graph Pk
k 5
We need at least k 1 6
15
Pyramid graph Pk
Lets consider having k 5 pebbles
16
Arbitrary 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).
17
Arbitrary graph with restricted in-degree (d 2)
O(n/log n)
Proof
  • Recursive pebbling strategy
  • Cases
  • Recursions for each case
  • Solutions
  • P(n) O(n/log n)

18
A 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.
19
Dynamic Programming
  • Algorithm that uses as many pebbles
  • (memory) as needed, but does not redo
  • any work
  1. Loop invariant
  1. How much time and how many pebbles?

20
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 node
  • on the (i 1)st row and remove pebbles from the
  • i th row so they can be reused
  • Exit when i h

21
Time and pebbles (space) needed
  • Time O(h w)
  • Pebbles 2 w O(w)

22
Recursive 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

23
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

24
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

25
Conclusion 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

26
References
  • 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
27
Thank you for your attention ?
  • Questions ?
Write a Comment
User Comments (0)
About PowerShow.com