A method comprising: arranging a plurality of atomic qubits (202, 204, 212, 214, 216) into a 2-dimensional spatial structure to encode an NP-complete quantum computing problem, wherein a ground state of a Hamiltonian of the arrangement of atomic qubits defines a solution to the NP-complete quantum computing problem; initializing the plurality of atomic qubits into an initial state; evolving the plurality of atomic qubits into a final state, wherein the final state is the ground state of the Hamiltonian; and measuring at least some of the plurality of atomic qubits in the final state, characterized in that: the arranging a plurality of atomic qubits (202, 204, 212, 214, 216) into a 2-dimensional spatial structure comprises selectively arranging the atomic qubits as vertex qubits in a geometric configuration within the 2-dimensional spatial structure such that each atomic qubit corresponds with a vertex in a graph representing the quantum computing problem and wherein spatial proximity of the qubits represents edges in the graph; and the evolving the plurality of atomic qubits into a final state comprises driving the plurality of qubits by applying a sequence of resonant laser pulses with a variable duration and a variable optical phase to at least some of the plurality of atomic qubits. arranging a plurality of atomic qubits (202, 204, 212, 214, 216) into a 2-dimensional spatial structure to encode an NP-complete quantum computing problem, wherein a ground state of a Hamiltonian of the arrangement of atomic qubits defines a solution to the NP-complete quantum computing problem; initializing the plurality of atomic qubits into an initial state; evolving the plurality of atomic qubits into a final state, wherein the final state is the ground state of the Hamiltonian; and measuring at least some of the plurality of atomic qubits in the final state, characterized in that: the arranging a plurality of atomic qubits (202, 204, 212, 214, 216) into a 2-dimensional spatial structure comprises selectively arranging the atomic qubits as vertex qubits in a geometric configuration within the 2-dimensional spatial structure such that each atomic qubit corresponds with a vertex in a graph representing the quantum computing problem and wherein spatial proximity of the qubits represents edges in the graph; and the evolving the plurality of atomic qubits into a final state comprises driving the plurality of qubits by applying a sequence of resonant laser pulses with a variable duration and a variable optical phase to at least some of the plurality of atomic qubits. the arranging a plurality of atomic qubits (202, 204, 212, 214, 216) into a 2-dimensional spatial structure comprises selectively arranging the atomic qubits as vertex qubits in a geometric configuration within the 2-dimensional spatial structure such that each atomic qubit corresponds with a vertex in a graph representing the quantum computing problem and wherein spatial proximity of the qubits represents edges in the graph; and the evolving the plurality of atomic qubits into a final state comprises driving the plurality of qubits by applying a sequence of resonant laser pulses with a variable duration and a variable optical phase to at least some of the plurality of atomic qubits.