A Linear Time Algorithm for the Feasibility of Pebble Motion on Graphs

Given a connected, undirected, simple graph and pebbles labeled , a configuration of these pebbles is an injective map assigning the pebbles to vertices of . Let and be two such configurations. From a configuration, pebbles can move on as follows: In each step, at most one pebble may move from the vertex it currently occupies to an adjacent unoccupied vertex, yielding a new configuration. A natural question in this setting is the following: Is configuration reachable from and if so, how? We show that the feasibility of this problem can be decided in time (and therefore optimal), providing a positive answer to an open problem raised by Auletta et al. The pebble motion problem on graphs finds applications in multi-robot path planning, deflection routing in data networks, and memory management in distributed systems. Fast feasibility test for this problem can help eliminate infeasible instances, thus avoiding unnecessary computation on parts of these instances.
View on arXiv