The pebble motion problems, or pebble motion on graphs, are a set of related problems in graph theory dealing with the movement of multiple objects ("pebbles") from vertex to vertex in a graph with a constraint on the number of pebbles that can occupy a vertex at any time. Pebble motion problems occur in domains such as multi-robot motion planning (in which the pebbles are robots) and network routing (in which the pebbles are packets of data). The best-known example of a pebble motion problem is the famous 15 puzzle where a disordered group of fifteen tiles must be rearranged within a 4x4 grid by sliding one tile at a time.
The general form of the pebble motion problem is Pebble Motion on Graphs formulated as follows:
Let
G=(V,E)
n
P=\{1,\ldots,k\}
k<n
S:P → V
S(i) ≠ S(j)
i ≠ j
m=(p,u,v)
p
u
v
S0
S+
S0
S+
Common variations on the problem limit the structure of the graph to be:
Another set of variations consider the case in which some or all of the pebbles are unlabeled and interchangeable.
Other versions of the problem seek not only to prove reachability but to find a (potentially optimal) sequence of moves (i.e. a plan) which performs the transformation.
Finding the shortest solution sequence in the pebble motion on graphs problem (with labeled pebbles) is known to be NP-hard and APX-hard. The unlabeled problem can be solved in polynomial time when using the cost metric mentioned above (minimizing the total number of moves to adjacent vertices), but is NP-hard for other natural cost metrics.