Symbolic Algorithms for Token Swapping

We study different symbolic algorithms to solve two related reconfiguration problems on graphs: the token swapping problem and the permutation routing via matchings problem. Input to both problems is a connected graph with labeled vertices and a token in each vertex. The goal is to move each token to its destination vertex using swap operations. In the token swapping problem, the goal is to find a solution with a minimum number of swaps. In the permutation routing via matchings problem, the goal is to find a solution with a minimum number of steps, where a step is a set of disjoint swaps which can be performed in parallel. First, we present an A* search algorithm. This algorithm can find optimal solutions if used with an admissible heuristic. We also evaluate the use of non-admissible heuristics. In this case, we prove that the result will deviate from an optimum result by at most an even number of swaps. We also present an algorithm based on Boolean satisfiability. We evaluate our methods on a large set of practical benchmarks.

[1]  Yoshio Okamoto,et al.  Approximation and Hardness for Token Swapping , 2016 .

[2]  David Thomas,et al.  The Art in Computer Programming , 2001 .

[3]  Pavel Surynek Finding Optimal Solutions to Token Swapping by Conflict-Based Search and Reduction to SAT , 2018, 2018 IEEE 30th International Conference on Tools with Artificial Intelligence (ICTAI).

[4]  Robert Wille,et al.  An Efficient Methodology for Mapping Quantum Circuits to the IBM QX Architectures , 2017, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[5]  Chen-Fu Chiang,et al.  Scaffold: Quantum Programming Language , 2012 .

[6]  Mathias Soeken Using ZDDs in the mapping of quantum circuits , 2019, QPL.

[7]  Robert Wille,et al.  RevLib: An Online Resource for Reversible Functions and Reversible Circuits , 2008, 38th International Symposium on Multiple Valued Logic (ismvl 2008).

[8]  Tillmann Miltzow,et al.  Complexity of Token Swapping and Its Variants , 2016, Algorithmica.

[9]  Takehiro Ito,et al.  Swapping labeled tokens on graphs , 2014, Theor. Comput. Sci..

[10]  Noga Alon,et al.  Routing permutations on graphs via matchings , 1993, SIAM J. Discret. Math..

[11]  Margaret Martonosi,et al.  ScaffCC: a framework for compilation and analysis of quantum computing programs , 2014, Conf. Computing Frontiers.

[12]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[13]  Oded Goldreich,et al.  The Minimum-Length Generator Sequence Problem is NP-Hard , 1981, J. Algorithms.

[14]  Aaas News,et al.  Book Reviews , 1893, Buffalo Medical and Surgical Journal.

[15]  Shigeru Yamashita,et al.  Quantum Circuit Optimization by Changing the Gate Order for 2D Nearest Neighbor Architectures , 2018, RC.

[16]  Benoît Valiron,et al.  Quipper: a scalable quantum programming language , 2013, PLDI.

[17]  Nils J. Nilsson,et al.  A Formal Basis for the Heuristic Determination of Minimum Cost Paths , 1968, IEEE Trans. Syst. Sci. Cybern..

[18]  Russell Impagliazzo,et al.  Complexity of k-SAT , 1999, Proceedings. Fourteenth Annual IEEE Conference on Computational Complexity (Formerly: Structure in Complexity Theory Conference) (Cat.No.99CB36317).