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
editThe 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 .
Variations
editCommon variations on the problem limit the structure of the graph to be:
- a tree[2]
- a square grid,[3]
- a bi-connected graph.[4]
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.
Complexity
editFinding the shortest solution sequence 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]
References
edit- ^ 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, pp. 241–250, CiteSeerX 10.1.1.17.3556, doi:10.1109/sfcs.1984.715921, ISBN 978-0-8186-0591-8, S2CID 40949575
- ^ 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, S2CID 672515
- ^ 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, CiteSeerX 10.1.1.75.1525, doi:10.1137/060652063, MR 2383232
- ^ 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, pp. 3613–3619, doi:10.1109/robot.2009.5152326, ISBN 978-1-4244-2788-8, S2CID 6621773
- ^ 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, pp. 511–520, doi:10.1109/sfcs.1994.365740, ISBN 978-0-8186-6580-6, S2CID 1998334
- ^ 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