280 likes | 1.13k Views
Grover Algorithm. Marek Perkowski. I used slides of Anuj Dawar, Jake Biamonte, Julian Miller and Orlin Grabbe but I am to be blamed for extensions and (possible) mistakes. From Grover to general search. Graph Coloring. Building oracle for graph coloring is a better example.
E N D
Grover Algorithm Marek Perkowski I used slides of Anuj Dawar, Jake Biamonte, Julian Miller and Orlin Grabbe but I am to be blamed for extensions and (possible) mistakes
Graph Coloring • Building oracle for graph coloring is a better example. • This is not an optimal way to do graph coloring but explains well the principle of building oracles. The Graph Coloring Problem 1 Color every node with a color. Every two nodes that share an edge should have different colors. Number of colors should be minimum 1 3 2 3 2 5 4 5 4 6 7 6 7 This graph is 3-colorable
Simpler Graph Coloring Problem 1 3 2 We need to give all possible colors here 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 13 23 24 34 12 Value 1 for good coloring
Simpler Graph Coloring Problem We need to give all possible colors here Give Hadamard for each wire to get superposition of all state, which means the set of all colorings H |0> |0> H |0> H H H 13 23 24 34 12 Value 1 for good coloring
All good colorings are encoded by negative phase Block Diagram Think about this as a very big Kmap with -1 for every good coloring Vector Of Basic States |0> Vector Of Hadamards Oracle with Comparators, Global AND gate Output of AND Work bits
What Grover algorithm does? • Grover algorithm looks to a very big Kmap and tells where is the -1 in it. Here is -1
What “Grover for multiple solutions” algorithm does? • Grover algorithm looks to a very big Kmap and tells where is the -1 in it. • “Grover for many solutions” will tell all solutions. Here is -1, and here is -1, and here
Variants of Grover • With this oracle the “Grover algorithm for many solutions” will find all good colorings of the graph. • If we want to find the coloring, that is good and in addition has less than K colors, we need to add the cost comparison circuit to the oracle. • Then the oracle’s answers will be “one” only if the coloring is good and has less colors than K. • The oracle thus becomes more complicated but the Grover algorithm can be still used.
tour Answer bit or oracle bit Working bits
Possible Applications • Formulate an oracle (reversible circuit) for the following problems: • 1. Graph coloring with of a planar map. • 2. Graph coloring with the minimum number of colors of an arbitrary graph. • 3. Satisfiability. • 4. Set Covering. • 5. Euler Path in a graph. • 6. Hamiltonian Path in a graph. • 7. Cryptographic Puzzle like SEND+MORE=MONEY.