Skip to content

June 06 meeting algorithm

while circuit is not empty used qubits = ∅ for gate ∈ available gates if gate can be performed perform gate and remove from circuit used qubits ⟵ used qubits υ {gate[0], gate[1]}

for gate ∈ remaining available gates
    for qubit∈gate and qubit is not used
        if ∃"excellent" neighbor ∈ Neighbors(gate) and neighbor is not used
            swap qubit with "excellent" neighbor
            used qubits ⟵ used qubits υ {qubit, neighbor}
        else if ∃"good" neighbor ∈ Neighbors(gate) and neighbor is not used
            swap qubit with "good" neighbbor
            used qubits ⟵ used qubits υ {qubit, neighbor}
        else
            // do nothing