The Pebble Game The Pebble Game Geri Grolinger Geri Grolinger York University York University
Jan 18, 2018
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 ?