, Volume 23, Issue 3, pp 223-245

A Linear-Time Algorithm for the Feasibility of Pebble Motion on Trees

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access


We consider the following pebble motion problem. We are given a tree T with n vertices and two arrangements \(\cal R\) and \(\cal S\) of k distinct pebbles numbered 1, . . ., k on distinct vertices of the tree. Pebbles can move along edges of T provided that at any given time at most one pebble is traveling along an edge and each vertex of T contains at most one pebble. We are asked the following question:

Is arrangement \(\cal S\) reachable from \(\cal R\) ?

We present an algorithm that, on input two arrangements of k pebbles on a tree with n vertices, decides in time O(n) whether the two arrangements are reachable from one another. We also give an algorithm that, on input two reachable configurations, returns a sequence of moves that transforms one configuration into the other.

The pebble motion problem on trees has various applications including memory management in distributed systems, robot motion planning, and deflection routing.

Received August 10, 1996; revised October 1, 1997, and February 17, 1998.