Date post: | 18-Jan-2018 |
Category: |
Documents |
Upload: | kelley-francis |
View: | 217 times |
Download: | 0 times |
The Pebble GameThe Pebble Game
Geri GrolingerGeri GrolingerYork UniversityYork University
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 pebbles3.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
7060
50
40
20107 moves and 7 pebbles
Example 1
30
7060
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 ~ # ~ # REGISERSREGISERS• 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:
Number of pebbles needed to pebblea graph of in-degree 2 is O(n/log n) (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) ≤ cn / log n = O(n/log n)
O(n/log n)
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 ?