  By connecting multiple quantum computers (QCs) through classical and quantum
channels, a quantum communication network can be formed. This gives rise to new
applications such as blind quantum computing, distributed quantum computing and
quantum key distribution. In distributed quantum computing, QCs collectively
perform a quantum computation. As each device only executes a sub-circuit with
fewer qubits than required by the complete circuit, a number of small QCs can
be used in combination to execute a large quantum circuit that a single QC
could not solve on its own. However, communication between QCs may still occur.
Depending on the connectivity of the circuit, qubits must be teleported to
different QCs in the network, adding overhead to the actual computation; thus,
it is crucial to minimize the number of teleportations. In this paper, we
propose an evolutionary algorithm for this problem. More specifically, the
algorithm assigns qubits to QCs in the network for each time step of the
circuit such that the overall teleportation cost is minimized. Moreover,
network-specific constraints such as the capacity of each QC in the network can
be taken into account. We run experiments on random as well as benchmarking
circuits and give an outline on how this method can be adjusted to be
incorporated into more realistic network settings as well as in compilers for
distributed quantum computing. Our results show that an evolutionary algorithm
is well suited for this problem when compared to the graph partitioning
approach as it delivers better results while simultaneously allows the easy
integration and consideration of various problem-specific constraints.
