  Quantum hardware continues to advance, yet finding new quantum algorithms -
quantum software - remains a challenge, with classically trained computer
programmers having little intuition of how computational tasks may be performed
in the quantum realm. As such, the idea of developing automated tools for
algorithm development is even more appealing for quantum computing than for
classical. Here we develop a robust, multi-objective evolutionary search
strategy to design quantum circuits 'from scratch', by combining and
parameterizing a task-generic library of quantum circuit elements. When applied
to 'ab initio' design of quantum circuits for the input/output mapping
requirements of the quantum Fourier transform and Grover's search algorithm, it
finds textbook circuit designs, along with alternative structures that achieve
the same functionality. Exploiting its multi-objective nature, the discovery
algorithm can trade off performance measures such as accuracy, circuit width or
depth, gate count, or implementability - a crucial requirement for
first-generation quantum processors and applications.
