Figure 3. The optimization graph used to find a pulse sequence for a given dot configuration, described in Section III B 2. (a) Configuration of the two EO qubits of interest within a larger 2D grid of dots, with labeled spins comprising qubits A and B. Allowed exchange interactions are indicated by lines between dots. (b) Connectivity of the selected (numbered) dots, encoding the allowed exchange interactions. (c) Ideal all-to-all CX pulse sequence (assuming any exchange interaction is allowed). Not all of these edges are present in the connectivity of interest, so spin swaps must be interleaved to shuffle the spins between dots and bring the desired spins into contact. (d) A node of the optimization graph. Each node corresponds to the application of one of the reference pulses from the all-to-all sequence. At this layer, the pair $(B_2, B_3)$ is applied, so $B_2$ and $B_3$ must be in neighboring dots. Note the highlighted dot pairs $(A_2, B_1)$ and $(B_2, B_3)$ in red, corresponding to the most-recently-applied pulses. (e) An edge between nodes represents the insertion of spin-swap operations (exchange interactions). In this case, we perform spin swaps to move spin $A_2$ from dot 3 to dot 5, where it can interact with $B_3$ as desired. The weight of this edge is the total number of new pulses that will be added to the sequence: the first spin swap on dots (2,3) can be absorbed the previous pulse $(A_2, B_1)$; however, the second spin swap and the $(A_2, B_3)$ reference pulse each add one to the sequence length, so the overall edge weight is 2. (f) An edge to a different node in the next layer. In this case, we apply two spin swaps which can both be absorbed into previous pulses. The weight is 1 due to the $(A_2, B_3)$ pulse that is applied in the next node.