use of simulated annealing in quantum circuit synthesis
DESCRIPTION
Use of Simulated Annealing in Quantum Circuit Synthesis. Manoj Rajagopalan 17 Jun 2002. Outline. Overview Simulated Annealing: the idea used Implementation Results Conclusions and Future Work. Quantum Circuit Synthesis. Input-output transformation specified - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/1.jpg)
Use of Simulated Annealing in Quantum Circuit Synthesis
Manoj Rajagopalan17 Jun 2002
![Page 2: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/2.jpg)
Outline
• Overview• Simulated Annealing: the idea used• Implementation• Results• Conclusions and Future Work
![Page 3: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/3.jpg)
Quantum Circuit Synthesis
• Input-output transformation specified• Objective: Gates and their arrangement into a
circuit to achieve this transformation• Methods:
– Factorization <vshende> (Cybenko)– Enumeration <gmathew, akprasad> (exhaustive, B&B)– Genetic Algorithms <smaddipa> (Williams+, Yabuki+)– Simulated Annealing <rmanoj> ( )
![Page 4: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/4.jpg)
Synthesis by SA
• Choose whole circuit every time• Use equivalent transformations
(optimization)• Incremental modification (ends of circuit)
– Computationally efficient!– But is it good enough?
• Hey, what is Simulated Annealing?
![Page 5: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/5.jpg)
Optimization Problems• State variables:
– Reflect the system state– May not be directly modified
• Control variables (degrees of freedom):– Affect the state– Directly modified
• Constraints on state and control (equality/inequality)• Objective: Solve for optimum of scalar objective
function
![Page 6: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/6.jpg)
Optimization Heuristics
• Search space is too large for exhaustive enumeration, too complex to visualize
• Pick random solutions and evaluate performance index (PI)
• Filter good/best solution(s)• Perturb these and re-evaluate PI• Incorporate means to avoid local minima
![Page 7: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/7.jpg)
Simulated Annealing: Basic Idea• Objective: minimize scalar function subject
to given constraints• Select one initial solution and evaluate cost• Perturb the solution and calculate new cost• Improvement in cost?
– Yes: Copy perturbed solution to initial solution– No: Probabilistically accept perturbed solution
(to avoid local minima)
![Page 8: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/8.jpg)
Quantum Circuit Synthesis as an Optimization Problem
• Select type, number and location of gates (control)
• Evaluate equivalent unitary operator (state)• Constraint: Operator == given unitary• Objective: Minimize number of gates
![Page 9: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/9.jpg)
Outline
• Overview• Simulated Annealing: the idea used
– Incremental perturbation• Implementation• Results• Conclusions and Future Work
![Page 10: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/10.jpg)
SA: Quantum Circuit Synthesis
• Assume given operator can be synthesized• Number of qubits known for given operator• Choose entire circuits in each perturbation?
– How many gates?– What location?– Need to ‘multiply’ all gates to get equivalent operator each
time!• Alternative: Incremental modification (at ends of
circuit each time): NOP, ADD, REM, REP• Qubits handled independently
![Page 11: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/11.jpg)
SA: Incremental Perturbation
H
T
S
H
H
#0
#1
#2
#3
ADD: Hadamard Gate to #1
![Page 12: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/12.jpg)
H
T
S
H
H
H
ADD: Hadamard Gate to #1
#0
#1
#2
#3
SA: Incremental Perturbation
![Page 13: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/13.jpg)
SA: Incremental Perturbation
• Equivalent Operator =
OperatorOriginal
I
I
H
I
![Page 14: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/14.jpg)
H
T
S
H
H
#0
#1
#2
#3
SA: Incremental Perturbation
REMove: Hadamard Gate from #0
![Page 15: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/15.jpg)
SA: Incremental PerturbationH
T
S
H
H
REMove: Hadamard Gate from #0
#0
#1
#2
#3
![Page 16: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/16.jpg)
SA: Incremental Perturbation
• Equivalent Operator =
OperatorOriginal
I
I
I
H
![Page 17: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/17.jpg)
SA: Incremental Perturbation
H
T
S
H
H
#0
#1
#2
#3
REPlace: T Gate on #2 with X Gate
![Page 18: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/18.jpg)
SA: Incremental Perturbation
H
T
S
H
H
#0
#1
#2
#3
REPlace: T Gate on #2 with X Gate
![Page 19: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/19.jpg)
SA: Incremental Perturbation
• Equivalent Operator =
OperatorOriginal
I
X
I
I
I
T
I
I
![Page 20: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/20.jpg)
SA: Incremental Perturbation
H
T
S
H
H
#0
#1
#2
#3
REPlace: CNOT on #1-3 with CNOT on #3-2
![Page 21: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/21.jpg)
SA: Incremental Perturbation
H
T
S
H
#0
#1
#2
#3
REPlace: CNOT on #1-3 with CNOT on #3-2
H
![Page 22: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/22.jpg)
SA: Incremental Perturbation
H
T
S
H
#0
#1
#2
#3
REPlace: CNOT on #1-3 with CNOT on #3-2
H
![Page 23: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/23.jpg)
SA: Incremental Perturbation
• Equivalent Operator =
OpOriginal
I
NOT
C
I
I
I
H
I
NOT
I
C
I
C
NOT
I
I
I
I
H
I
I
NOT
C
I
![Page 24: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/24.jpg)
Outline
• Overview• Simulated Annealing: the idea used• Implementation
– Data Structures– Algorithm– Annealer Configuration– Hardware and Software Platforms
• Results• Conclusions and Future Work
![Page 25: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/25.jpg)
Data Structures
• Class qgate: Quantum gates & operators• Qubit: list<qgate>• Circuit: Array of qubits• qgate instance for CNOTs duplicated on
control and target qubits
![Page 26: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/26.jpg)
SA Algorithm
• Initial circuit = empty• Initial operator = I• For each qubit
– For head and tail of qubit, each• Choose one out of 4 moves: NOP, ADD, REM, REP in a non-
conflicting manner.• Choose gates required for these, if applicable
• Evaluate new operator, guarding special cases• Calculate (frobenius) norm of deviation from
given unitary
![Page 27: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/27.jpg)
SA Algorithm
• Out of a few (10) such moves, choose move with minimum deviation norm
• Is this below tolerance (10-6) ?– Yes: Synthesis complete! Return.– No: Is this ‘cost’ better than that previously
accepted?• Yes: Accept this move into circuit• No: Accept this move with probability e(- cost / T)
![Page 28: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/28.jpg)
SA Algorithm
• Repeat this procedure for a few (10) trials.• Change temperature according to schedule.• Iterate whole procedure till temperature
lower limit is reached.
![Page 29: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/29.jpg)
Annealer Configuration• Moves:
– 4 equiprobable changes at each end of qubit: NOP, ADD, REM, REP
• 1 or 10 moves per trial• 1 or 10 trials per iteration• 1001 iterations:
– Tstart = 1– Tend = 0.001– Temperature schedule = linear with step 0.001
• Objective: Simply minimize deviation norm (no circuit size reduction yet) (tolerance = 10-6)
![Page 30: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/30.jpg)
Platforms
• proton.eecs.umich.edu• AMD Athlon @ 1194 MHz 256kB cache• Debian linux (kernel v2.4.18)• Coded in C++• g++ 2.95.4 with –O3 optimization• Timing and peak memory tracking using getrusage()
![Page 31: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/31.jpg)
Outline
• Overview• Simulated Annealing: the idea used• Implementation• Results
– Single qubit circuits– Circuits with CNOT gates
• Conclusions and Future Work
![Page 32: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/32.jpg)
Results: simple {H,X,Z} circuits
• TEST I– Randomly generated, 3 qubits, 30 gates– Optimal equivalent:
X
X
Z
Z
![Page 33: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/33.jpg)
Results(1/2): TEST I
Using {H, X, Z} Using {H, X}
# gates Time(s) # gates Time(s)
Min 4 0 6 0.09
Max 22 1.57 72 1.95
Avg 9 0.33 26 0.76
97% success rate 61% success rate
![Page 34: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/34.jpg)
Results(2/2): TEST I
Using {H, Z} Using {H, X, S}
# gates Time(s) # gates Time(s)
Min 6 0 5 0.11
Max 47 1.84 23 1.71
Avg 10 0.35 12 0.66
17% success rate 54% success rate
![Page 35: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/35.jpg)
Results: Simple {H, X, Z} circuits
• TEST II– Randomly generated– 5 qubits, 300 gates
![Page 36: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/36.jpg)
Results(1/3): TEST II
Using {H, X, Z} Using {H, X, S}
# gates Time(s) # gates Time(s)
Min 6 0.02 7 0.06
Max 74 3.54 127 15.11
Avg 17 0.60 27 5.53
100% success rate 82% success rate
![Page 37: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/37.jpg)
Results(2/3): TEST IIUsing {H, Z} Using {H, X}
# gates Time(s) # gates Time(s)
Min 8 0.06 10 0.05
Max 58 11.54 178 13.98
Avg 23 1.82 52 3.48
99% success rate 81% success rate
![Page 38: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/38.jpg)
Results(3/3): TEST II
Using {H, S} Using {H, T}
# gates Time(s) # gates Time(s)
Min 12 0.46 28 19.86
Max 94 17.71 28 19.86
Avg 29 4.23 28 19.86
81% success rate 1 % success rate
![Page 39: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/39.jpg)
{H, X, Z}: Conclusions
• Easily synthesized• Optimal equivalents detected• Average number of gates is impressive!• Versatility of annealer: wide variety of gate
libraries• Fast!
![Page 40: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/40.jpg)
Results: Circuits with CNOTs• Brassard’s teleportation circuit
– Careful with the gates (especially S and T) !
R
L
S
T
S
Sender Receiver
![Page 41: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/41.jpg)
Results(1/3): Send CircuitUsing {L, CNOT, R} Using {CNOT, H, SNC}
# gates Time(s) # gates Time(s)
Min 4 0 21 1.1
Max 213 99.68 199 84.17
Avg 53 11.23 70 23.17
95 % success rate 8 % success rate
![Page 42: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/42.jpg)
Results (2/3): Send CircuitUsing {CNOT, H, X} Using {CNOT, H, Z}
# gates Time(s) # gates Time(s)
Min 20 0.75 8 0.06
Max 301 100.38 357 107.00
Avg 125 31.43 162 38.46
51 % success rate 45 % success rate
![Page 43: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/43.jpg)
Results(3/3): Send CircuitUsing {CNOT, H, X,
SNC, TNC} Using {R, S, T, L, X,
CNOT}
# gates Time(s) # gates Time(s)
Min - -
Max - -
Avg - -
0 % success rate ? % success rate
![Page 44: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/44.jpg)
Send Circuit: Conclusions
• Difficult to synthesize with overspecified gate library
• Using 10 trials per iteration instead of the usual 1 improves chances of getting an equivalent circuit and may even detect optimal one but takes much more time and may show worse average performance
![Page 45: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/45.jpg)
Results(1/2): Receiver Circuit
Using {S, CNOT, T} Using {CNOT, H, SNC}
# gates Time(s) # gates Time(s)
Min 4 0 4 0
Max 20 0.52 16 0.72
Avg 5 0.05 6 0.11100 % success rate83% find optimum
100 % success rate68% find optimum
![Page 46: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/46.jpg)
Results(2/2): Receiver Circuit
Using {SNC, CNOT, TNC, X, H}
Using {R, S, T, L, X, CNOT}
# gates Time(s) # gates Time(s)
Min 3 0Max 16 1.19Avg 5 0.22
100 % success rate44% find optimum
? % success rate? % find optimum
![Page 47: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/47.jpg)
Receiver Circuit: Conclusions
• A lot easier to synthesize than the send circuit
• Variety of gate libraries can be used• Overspecified gate library not a problem• Annealer finds optimum quite often.
![Page 48: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/48.jpg)
Teleportation circuit: Previous Work
• Williams and Gray– Objective: minimize discrepancy, sum of
absolute value of matrix of differences– Send and receive minimal circuits have 4 gates
each. Achieved. 3 using N&C gates• Yabuki and Iba
– Receive circuit needs minimum of 3 gates. We get 4 using given library and 3 using N&C gates
![Page 49: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/49.jpg)
Outline
• Overview• Simulated Annealing: the idea used• Implementation• Results• Conclusions and Future Work
![Page 50: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/50.jpg)
Overall Conclusions
• Annealer is versatile over a range of discrete gate sets using a very simple configuration
• Incremental perturbation works very well (Igor rules!)
![Page 51: Use of Simulated Annealing in Quantum Circuit Synthesis](https://reader030.vdocuments.net/reader030/viewer/2022012919/56815e6b550346895dccea19/html5/thumbnails/51.jpg)
Future Work• Optimizations
– Compose single qubit gates into one operator
• Ideas– Optimal synthesis: include # gates in PI– Circuits equivalent upto a nonzero global phase– Annealer configurations (types and probabilities of
moves, temperature schedule) based on plots of quality of solution against iterations
– More challenging problems: Toffoli gates (increased interqubit interaction) , single qubit rotations (continuous values)