Consider a puzzle consisting of n tokens on an n-vertex graph, where each token has a distinct starting vertex and a distinct target vertex it wants to reach, and the only allowed transformation is to swap the tokens on adjacent vertices.
We prove that every such puzzle is solvable in O(n2) token swaps, and thus focus on the problem of minimizing the number of token swaps to reach the target token placement.
We give a polynomial-time 2-approximation algorithm for trees, and using this, obtain a polynomial-time 2α-approximation algorithm for graphs whose tree α-spanners can be computed in polynomial time.
Finally, we show that the problem can be solved exactly in polynomial time on complete bipartite graphs.