designing oracles for grover...
TRANSCRIPT
![Page 1: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/1.jpg)
Designing Oracles for Grover Algorithm
![Page 2: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/2.jpg)
Homework1. You have time until December 3 to return me this homework.
2. Please use PPT, Word or some word processor. You may send also PDF. The simulation should be done in Matlab. Matlab code and all results should be submitted with comments and explanations.
3. The homework is to simulate Grover algorithm on some small oracle of your design.
4. The absolute minimum is to solve the map coloring problem (planar graph coloring) which I discussed in the class. You have to show all stages of your design and explanations of design procedures. For doing this part of homework you obtain 10 points.
5. If you will add a part of oracle to calculate that the cost of coloring is below certain value T, you will obtain another 10 points. See some hints in next slides.
6. If you design an oracle for some other NP-hard or NP-complete problem, different than the graph coloring problem, and simulate it successfully, you will obtain a total of 20 points. This cannot be a satisfiability problem and the problem should have some practical meaning and not be some arbitrary Boolean function as an oracle.
7. Quality of presentation of results, explanation, figures and use of English will be also taken into account while grading.
![Page 3: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/3.jpg)
Examples of Problems for Oracles
• Satisfiability oracles: These oracles are based on creating the single-output satisfiability formula. The formula can use various gate types and structures, depending on the problem.
• Constraint satisfaction oracles: These type of oracles are for constraint satisfaction problems such as graph coloring, image matching or cryptographic puzzles. These oracles use both logical, arithmetical and relational blocks and have often the decision oracle and the optimization oracle as their components. The decision oracle is the global AND of several partial decision sub-oracles.
• Path problems: These are problems to find certain path in a graph, for introduce Euler path or Hamiltonian path. Many games and puzzles such as “Man, wolf, Goat and Cabbage” belong to this category. The oracles includes decision sub-oracles for each move(edge) in the graph of the problem(game)
![Page 4: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/4.jpg)
• Problems related to spectral transforms:
• The mapping problems, including their special class, the subset selection problems.
![Page 5: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/5.jpg)
The Satifiability oracles includes the following:
• POS satisfiability.
• Solving unite covering problem by Petrich Function.
• Solving binate covering problem
• Solving various multi-level SAT formulas, especially the generalized SAT of the form
• Solving even-odd covering problem for ESOP, PPRM, FPRM and similar minimization problems
• Solving AND-OR DAG from robotics and Artificial intelligence.
![Page 6: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/6.jpg)
The constraint satisfiability oracles include:
• Proper graph coloring
• Compatible graph coloring
• Graph coloring problems with non-standard cost functions
• Waltz algorithm for image matching
• Cryptoarithmetic puzzles such as SEND + MORE = MONEY
![Page 7: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/7.jpg)
The Mapping oracles include:
• Maximum cliques (used in Maghoute algorithm for graph coloring)
• Maximum independent set
• Finding prime implicants of the Boolean Function.
![Page 8: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/8.jpg)
Path oracles include:
• Euler path
• Hamilton path
• Shortest path
• Longest path
• Traveling salesman
• Missionaries and cannibals logic puzzle
• Man, Wolf, Goat and Cabbage logic puzzle
![Page 9: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/9.jpg)
Exhaustive solving of equations includes:
• an + bn = cn
![Page 10: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/10.jpg)
Finding a Hamiltonian Path in a Graph
• Problem.
• Given is a non-oriented graph. Find a path of edges of this graph that goes through all nodes, passing each of them only once, and finishes in the initial node.
• Find a Hamiltonian path or prove that such path does not exist for a given graph.
![Page 11: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/11.jpg)
• (a) A graph with Hamiltonian Path, (b) a graph with no Hamiltonian Path
![Page 12: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/12.jpg)
Finding Maximum Cliques in a graph
• Maximum Clique in a graph. • There are other maximum cliques but this is the
only one maximum clique with four nodes. • {3, 4, 6} is a maximum clique with 3 nodes.
![Page 13: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/13.jpg)
Solving the Satisfiability Class of Problems
• Classical oracle for POS Satisfiability .
abcd
))()((1 dbccadcaf
( ) ( ) ( )a c d a c c b d
acd ac cbd
![Page 14: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/14.jpg)
• Realization of oracle for POS SAT .
)()()( dbccadcaf
![Page 15: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/15.jpg)
Oracle for function
using mirror circuits to decrease the number of ancilla bits.
The circuit is not minimized.
f ab cd ac b abcd a b c2 [( ) ( )] [( ) ( )]
f ab cd abcd b bac b abcd a ab abc2 [( ) ( )] [( ) ( )]
For example, given is a SAT formula:
The formula is transformed to the following form
f ab cd ac b abcd a b c2 [( ) ( )] [( ) ( )]
![Page 16: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/16.jpg)
Classical versus Quantum Oracle
a
b
c
d
e
f
g
h
a3
a6
B ) Non optimized quantum array of the classical oracle from Fig A)
![Page 17: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/17.jpg)
Maximum Cliques and Maximum Independent Sets of graphs
a6
a1a5
a4a3
a2
Fig. A presents the incompability graph.
Every two ancilla bits that can not be combined are linked by a solid edge.
The graph shows that there are the following maximum
independent sets: {a1, a4 }, { a1, a5 }, { a2, a5 }, { a2 , a4 }, among others.
We select pairs { a1, a4 } and { a2 , a5 } for folding.
This leads to the quantum array with mirror circuit, presented in Fig. B
![Page 18: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/18.jpg)
CONSTRAINTS SATISFACTION PROBLEMS
• Fig. 9.9.
S E N D
+ M O R E
M O N E Y
![Page 19: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/19.jpg)
D + E = 10 C1 + Y C1 { 0, 1 }
N + R + C1 = 10 C2 + E C2 { 0, 1 }
E + O + C2 = 10 C3 + N C3 { 0, 1 }
S + M + C3 = 10 C4 + O C4 { 0, 1 }
C4 = M
Fig. 9.10a. Equations compiled from the problem formulation from Figure 9.9.
![Page 20: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/20.jpg)
S { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }E { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }N { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }D { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }M { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }O { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }R { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }Y { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
Fig. 9.10b. Constraints for nodes in the graph.
![Page 21: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/21.jpg)
S ≠ E, S ≠ N, S ≠ D, S ≠ M etc.
Fig. 9.10c. Inequalities for unique encoding of nodes of the graph.
![Page 22: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/22.jpg)
C4 = M C4 { 0, 1 }M = 1
S + M + C3 = 10 C4 + OS + M + C3 = 10 M + O
S + C3 = 9 M + OS + C3 = 9 + O ( Simplified equation)
Fig.9.11. Equations compiled from the SEND+MORE=MONEY equation
![Page 23: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/23.jpg)
Fig. 9.12. Graph of constraints for the SEND+MORE=MONEY problem.
*
+
*+
E
C4
C3C1
C2
S
D
Y
*
+
+
R
N
||
*
+
0
M||
10
||
+
+
||
+||10
all-
eq
ua
tio
ns-o
k
![Page 24: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/24.jpg)
Fig. 9.14. The remaining part of the oracle for the SEND+MORE=MONEY problem.
S E N D M O R Y C1
C2
C3
C4
4S4E4 N
4 D4M4O4R4YC1
1
C21
C31
C41
GN GN GN GN GN GN GN GN
3 3 3 3 3 3 3 3
all-good-numbers
![Page 25: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/25.jpg)
• Fig.9.15. The part of an oracle for the SEND+MORE=MONEY problem that checks uniqueness of mapping
S E N D M O R Y C1
C2
C3
C4
444444441111
≠ ≠ ≠ ≠
all-different
SENDMORYC1C2
C3
C4
S≠E S≠N S≠D S≠M
And so on…..
![Page 26: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/26.jpg)
Fig. 9.16. The part of oracle for the SEND+MORE=MONEY
problem that….
![Page 27: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/27.jpg)
ORACLES FOR CONSTRAINT SATISFACTION
PROBLEMS
The Graph Coloring Problem.
Map of Europe
![Page 28: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/28.jpg)
Vector
Of
Hadamards
Vector
Of
Basic
States
|0>
Oracle with Comparators,
Global AND gate
Work bits
Output of AND
All good colorings are
encoded by negative phaseThink this as a very
big Kmap with -1
for every good
coloring
Figure 5: Block Diagram
![Page 29: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/29.jpg)
2
1
3
4
Two wires for color of node 1
Two wires for color of node 2
Two wires for color of node 3
Two wires for color of node 4
Gives “1” when nodes 1 and 2
have different colors
12 13 23
24
34
Value 1 for good coloring
We need to give all possible colors here
Figure 6a: A simple graph coloring problem
![Page 30: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/30.jpg)
2
1
3
4
Two wires for color of node 1
Two wires for color of node 2
Two wires for color of node 3
Two wires for color of node 4
Gives “1” when nodes 1 and 2 have
different colors
12
13 23
24
34
Value 1 for good coloring
We need to give all possible
colors here
Figure 6a: A simple graph coloring
problem
![Page 31: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/31.jpg)
Simplified schematic of our Graph Coloring Oracle.
inputs
C
C
AND
Sorting/
AbsorberColor #
Counter
Compar
ator
Desired
number of
colors
AND Output
![Page 32: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/32.jpg)
a
b
0
Sum
Carry
Carry
Sum
a
b
0
c
Quantum Adders.
(a)Half-adder realized using Toffoli and Feynman gates,
(b) (b) Full adder realized using two Toffoli, Feynman and inverter gates.
![Page 33: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/33.jpg)
FA FA
e0
e1
e2
e3
e4
e5
HA
e6
e7
3 2-bit Adder
s0c
0s
1c1
s2c
2
Block “Count Ones” realized using binary Half-Adders and Full-
Adders.
The block at the bottom is the adder from Figure 9.2.
![Page 34: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/34.jpg)
BINARY EQUALITY COMPARATOR_ _ _ _ _ _ _ _ _M = a0a1b0 b1 + a0a1b0b1+ a0a1b0 b1 + a0a1b0b1
_ _ _ _ _ _= a0 b0 (a1b1 + a1b1 ) + a0 b0 (a1b1 + a1b1 )
_ _ _ _= (a1b1 + a1b1 ) (a0 b0 + a0 b0)
a0
b0
a1
b1
Inverted Karnaugh map of C block.
![Page 35: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/35.jpg)
a0
b0
a1
c1
1
Quantum C Block
![Page 36: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/36.jpg)
s3
b3
s1
b1
s0
b0
0
b0
s0
b1
s1
b1 s
1
s2
b2
b2 s
2
b3
s3 b
3 s
3
(b3
s3)b
3= s
3b
3
(b3 s
3)(b
2 s
2)b
2 s
3b
3
(b3
s3)(b
2 s2)(b
1 s
1)b
1
(b3 s
3)(b
2 s
2)b
2 s
3b
3
(b3 s
3)(b
2 s2)(b
1 s
1)(b
0 s
0)b
0
(b3 s
3)(b
2 s2)(b
1 s
1)b
1
(b3 s
3)(b
2 s
2)b
2 s
3b
3
Binary Implementation of Comparator. Please
observe the Toffoli gate with 5 inputs in AND.
![Page 37: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/37.jpg)
• Quantum Implementation of 8:4 Compressor and Comparator
s1
s0
s3
b3
b1
b0
b2
|0>
e0
e1
e2
e3
e4
e5
|0>
|0>e6
e7
|0>
|0>
|0>
|0>
ss0
cc0
ss1
cc1
ss2
cc2
sss0
ccc0
sss1
ccc1
cccc1
|0>
s2
Count ones
Comparator
![Page 38: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/38.jpg)
8
8
2
1
SAP
SAP
8
null
1
2
SAP
8
1
null
2
SAP
SAP
1
8
2
null
SAP
1
2
8
null
Butterfly iterative circuit for sorting/absorbing
![Page 39: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/39.jpg)
SAP block
SAP
a
x
b
y
c
z
d
v
![Page 40: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/40.jpg)
xy a=b a>b a<b
00
01
11
10
c=null
d=null
z=0
v=0
c=b
d=null
z=1
v=0
c=a
d=null
z=1
v=0
c=a
d=null
z=1
v=0
c=b
d=a
z=1
v=1
c=a
d=null
z=1
v=0
c=a
d=null
z=1
v=0
c=b
d=null
z=1
v=0
c=a
d=b
z=1
v=1
c=null
d=null
z=0
v=0
c=null
d=null
z=0
v=0
c=b
d=null
z=1
v=0
c,d,z,v
The map for c, d, z, and v signals
![Page 41: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/41.jpg)
aibi
00 01 11 10
00
01
10
0
0
--- --- --- ---
0 0 1
0 0 1
1 0 1 1
11
Q1+
Q1Q2
Karnaugh map for Q1+
0 1 0 0
1 1 1 0
- - - -
0 1 0 0
aibi
00 01 11 10
00
01
11
10
Q2+
Q1Q2
Karnaugh map for Q2+
![Page 42: Designing Oracles for Grover Algorithmweb.cecs.pdx.edu/.../Good-2011/2011_005_Designing-Oracles-Grover-Algorithm.pdf3. The homework is to simulate Grover algorithm on some small oracle](https://reader033.vdocument.in/reader033/viewer/2022041806/5e54df5620528d0b147a5687/html5/thumbnails/42.jpg)
a
b
Q1
Q2
0 Q1+
0 Q2+
Circuit for Q1+Q2+