Pebble motion problems

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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.

Theoretical formulation[edit]

The general form of the pebble motion problem is Pebble Motion on Graphs[1] formulated as follows:

Let be a graph with vertices. Let be a set of pebbles with . An arrangement of pebbles is a mapping such that for . A move consists of transferring pebble from vertex to adjacent unoccupied vertex . The Pebble Motion on Graphs problem is to decide, given two arrangements and , whether there is a sequence of moves that transforms into .


Common variations on the problem limit the structure of the graph to be:

Another set of variations consider the case in which some[5] or all[3] 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 path in the pebble motion on graphs problem (with labeled pebbles) is known to be NP-hard[6] and APX-hard.[3] 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.[3]


  1. ^ Kornhauser, Daniel; Miller, Gary; Spirakis, Paul (1984), "Coordinating pebble motion on graphs, the diameter of permutation groups, and applications", Proceedings of the 25th Annual Symposium on Foundations of Computer Science (FOCS 1984), IEEE Computer Society Press, doi:10.1109/sfcs.1984.715921 
  2. ^ Auletta, V.; Monti, A.; Parente, M.; Persiano, P. (1999), "A linear-time algorithm for the feasibility of pebble motion on trees", Algorithmica, 23 (3): 223–245, doi:10.1007/PL00009259, MR 1664708 
  3. ^ a b c d Călinescu, Gruia; Dumitrescu, Adrian; Pach, János (2008), "Reconfigurations in graphs and grids", SIAM Journal on Discrete Mathematics, 22 (1): 124–138, doi:10.1137/060652063, MR 2383232 
  4. ^ Surynek, Pavel (2009), "A novel approach to path planning for multiple robots in bi-connected graphs", Proceedings of the IEEE International Conference on Robotics and Automation (ICRA 2009), IEEE, doi:10.1109/robot.2009.5152326 
  5. ^ Papadimitriou, Christos H.; Raghavan, Prabhakar; Sudan, Madhu; Tamaki, Hisao (1994), "Motion planning on a graph", Proceedings of the 35th Annual Symposium on Foundations of Computer Science (FOCS 1994), IEEE Computer Society Press, doi:10.1109/sfcs.1994.365740 
  6. ^ Ratner, Daniel; Warmuth, Manfred (1990), "The -puzzle and related relocation problems", Journal of Symbolic Computation, 10 (2): 111–137, doi:10.1016/S0747-7171(08)80001-6, MR 1080669