  Multi-photon entangled graph states are a fundamental resource in quantum
communication networks, distributed quantum computing, and sensing. These
states can in principle be created deterministically from quantum emitters such
as optically active quantum dots or defects, atomic systems, or superconducting
qubits. However, finding efficient schemes to produce such states has been a
long-standing challenge. Here, we present an algorithm that, given a desired
multi-photon graph state, determines the minimum number of quantum emitters and
precise operation sequences that can produce it. The algorithm itself and the
resulting operation sequence both scale polynomially in the size of the
photonic graph state, allowing one to obtain efficient schemes to generate
graph states containing hundreds or thousands of photons.
