Grover Algorithm Marek Perkowski I used slides of

  • Slides: 21
Download presentation
Grover Algorithm Marek Perkowski I used slides of Anuj Dawar, Jake Biamonte, Julian Miller

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

From Grover to general search

Graph Coloring • Building oracle for graph coloring is a better example. • This

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 3 2 5 4 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 5 4 6 6 7 7 This graph is 3 -colorable

Simpler Graph Coloring Problem 1 3 2 We need to give all possible colors

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 1 2 1 3 2 3 2 4 3 4 Value 1 for good coloring

Simpler Graph Coloring Problem Give Hadamard for each wire to get superposition of all

Simpler Graph Coloring Problem Give Hadamard for each wire to get superposition of all state, which means the set of all colorings We need to give all possible colors here |0> |0> H H H 1 2 1 3 2 3 2 4 3 4 Value 1 for good coloring

Block Diagram Vector Of Basic States |0> All good colorings are encoded by negative

Block Diagram Vector Of Basic States |0> All good colorings are encoded by negative phase Think about this as a very big Kmap with -1 for every good coloring Vector Of Hadamards Oracle with Comparators, Global AND gate Work bits Output of AND

What Grover algorithm does? • Grover algorithm looks to a very big Kmap and

What Grover algorithm does? • Grover algorithm looks to a very big Kmap and tells where is the -1 in it. 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 Here is -1

What “Grover for multiple solutions” algorithm does? • • Grover algorithm looks to a

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. 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 1 Here is -1, and here is 1, and here

Variants of Grover • With this oracle the “Grover algorithm for many solutions” will

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.

Another example

Another example

This is a better example of problems for Grover

This is a better example of problems for Grover

Advantage of Grover, although not “tractable”

Advantage of Grover, although not “tractable”

Example of oracle

Example of oracle

Another example of Oracle, more realistic

Another example of Oracle, more realistic

tour Answer bit or oracle bit Working bits

tour Answer bit or oracle bit Working bits

Possible Applications • Formulate an oracle (reversible circuit) for the following problems: – 1.

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.