- dynprog Source: Siraichi et al. (2018)
- wpm Source: Siraichi et al. (2018)
- qubiter Source: https://github.com/artiste-qb-net/qubiter
- wqubiter Description: Same as
- wpm_random Description: Same as
- ibm Source: https://github.com/Qiskit/qiskit-terra

Paper: Qubit Allocation

Description: Dynamic programming algorithm that solves the qubit allocation problem optimally, without reordering the gates.

Paper: Qubit Allocation

Description: Weighted partial matching algorithm. It also does not reorder the gates. It is a fast straight-forward solution that relies on simple heuristics.

Description: Old qubiter implementation. It will only work on architectures that are reachable within at most two steps.

Description: IBM mapping algorithm.

- jku Source: Zulehner et. al.
- sabre Source: Li et. al.
- bmt Source: Siraichi et al. (2019)
- chw Source: Zulehner et. al. Paper: Compiling SU(4) Quantum Circuits to IBM QX Architectures.

Paper: An Efficient Methodology for Mapping Quantum Circuits to the IBM QX Architectures.

Description: A-star search based algorithm. It split the program into layers, and uses the A-star search to find a mapping that is able to translate each of them directly.

Paper: Tackling the Qubit Mapping Problem for NISQ-Era Quantum Devices.

Description: Hill-climbing like algorithm. At each step, the algorithm tries to approximate the qubits, while taking into account future gates.

Paper: Qubit Allocation as a Combination of Subgraph Isomorphism and Token Swapping.

Description: The Bounded Mapping Tree algorithm. It is a three-phase algorithm that: (i) splits the program into smaller programs; (ii) finds how to best combine each of the smaller programs; and (iii) combines them, solving the Token Swapping Problem.

Description: The IBM Developer Challenge winner. It also uses a modified A-star algorithm in order to solve each of its dependencies. However, it does so by solving one CNOT gate at a time, and taking into account future gates.