  We propose a new method to extend the size of a quantum computation beyond
the number of physical qubits available on a single device. This is
accomplished by randomly inserting measure-and-prepare channels to express the
output state of a large circuit as a separable state across distinct devices.
Our method employs randomized measurements, resulting in a sample overhead that
is $\widetilde{O}(4^k / \varepsilon ^2)$, where $\varepsilon $ is the accuracy
of the computation and $k$ the number of parallel wires that are "cut" to
obtain smaller sub-circuits. We also show an information-theoretic lower bound
of $\Omega(2^k / \varepsilon ^2)$ for any comparable procedure. We use our
techniques to show that circuits in the Quantum Approximate Optimization
Algorithm (QAOA) with $p$ entangling layers can be simulated by circuits on a
fraction of the original number of qubits with an overhead that is roughly
$2^{O(p\kappa)}$, where $\kappa$ is the size of a known balanced vertex
separator of the graph which encodes the optimization problem. We obtain
numerical evidence of practical speedups using our method applied to the QAOA,
compared to prior work. Finally, we investigate the practical feasibility of
applying the circuit cutting procedure to large-scale QAOA problems on
clustered graphs by using a $30$-qubit simulator to evaluate the variational
energy of a $129$-qubit problem as well as carry out a $62$-qubit optimization.
