370 likes | 598 Views
Route Finding: A Quantum [Non] Algorithm. Jason Clemons EECS 598 November 7, 2001. The Paper.
E N D
Route Finding: A Quantum [Non] Algorithm Jason Clemons EECS 598 November 7, 2001
The Paper • Narayanan, A., Wallace, J. A Quantum Algorithm for Route Finding. Proceedings of the 15th European Meeting on Cybernetics and Systems Research (EMCSR 2000), Vienna, Austria, 25-28 April 2000, Vol. 1, pp 140-143.
Outline for the day • Introduction to Graphs • Review of basic graphs • Review of representation • The QAND • The Basic Algorithm • Interesting Findings • Final Thoughts and Questions
Graphs • Common representation in CS A C B D
Graphs • Terminology • Edges – connect two nodes • Node – Basic state or representation there of • Weight – Cost associated with a node
Graphs • A few characteristics: • Weighted • Directional • Problems from graphs • Graph Coloring • Hamiltonian Circuit Finding • Traveling Salesman (Shortest Route)
Our Graph • Shortest Route Finding for: • Weighted finite edges • Finite number of nodes • Undirected • No self connection edges
Our Graph (Example) A 2 5 S C 1 4 2 B
Representation As Matrix • Adjacency Matrix: • N x N Matrix where N is the number of nodes • Mij = wi to j where w is the weight of the edge from node I to node J and zero or zero if there is no edge
Our Graph as a Tree S 4 2 A B 8 6 4 5 1 7 S B C S A C 12 6 8 9 11 8 10 12 7 4 5 7 6 10 A C A B A B A B S A C S B C
The Quantum And • a QSUMAND b = a + b if (a > 0 and b >0) 0 if a=0 or b =0 where a, b R+ {0} • Example: • 2 QSUMAND 2 = 4 • 2 QSUMAND 0 = 0
The Matrix creation • Each Row is superposition of states representing the edges • Example: • From our Matrix before the row |S> is the vector a|000> + b|010> +c|100> + d|000> • An element can be identified using the row and column labels • Example: <A1|b1> = 1 (note: not an IP)
Quantum Registers • Similar to what is used by Shor • 3 Registers • Reg1 Holds the original adjacency matrix • Reg2 Holds Matrix created when choose start node • Reg3 Interacts with Reg1 to tell us whether a route exists. • During the Algorithm we alternate between Reg2 and Reg3 to hold info
Algorithm Step 1 • Select the Starting node and perform the QSUMAND manipulation process (Perform QSUMAND between start node row and all other rows) to produce a new matrix M2
Algorithm Step 1 • |S1>QSUMAND|S1> • |0 2 4 0> QSUMAND |0 2 4 0> = |0 4 8 0> • |S1>QSUMAND|A1> • |0 2 4 0> QSUMAND |2 0 1 5> = |0 0 5 0> • |S1>QSUMAND|B1> = |0 3 0 0> • |S1>QSUMAND|C1> = |0 7 6 0>
What M2 Says • M2 shows that from S to the row node is connected through column node with a total length of the entry <row|column> • Example: • S to B to A is 5 • We have a new level of the search tree!
What M2 Says • The column shows from the start point to that node and from that node to each of the rows.
Algorithm Step 2 • Manipulate each non-zero column of the matrices constructed in previous step by performing QSUMAND with each non zero column and the entire row in matrix M1 that is associated with each element from the non zero column
Step 2 example • <S2|a2> QSUMAND |S1> • |4> QSUMAND | 0 2 4 0> = |0 6 8 0> • <A2|a2> QSUMAND |A1> = |0 0 0 0> • <B2|a2> QSUMAND |B1> = |7 4 0 5> • <C2|a2> QSUMAND |C1> = |0 12 9 0>
M3 and M4 • They are each a separate side of the search tree • M3 is path from S down Node A • M4 is path from S down Nobe B
M3 and M4 • Entry <Row|Column> is the distance from start to Row by path computed so far and then from row to column • Example: • <B3|s3> in M3 has the cumulative weight for S->A->B->S which is 7 • <B4|s4> in M4 has the cumulative weight for S->B->B->S which is 0
M3 and M4 S M4 M3 4 2 A B 8 6 4 5 7 S B C S A C 12 6 8 9 11 8 10 12 7 4 5 7 6 10 A C A B A B A B S A C S B C
Step 3 • Repeat step 2 adequate amount of times to reach bottom of tree and for each new matrix at each level
Step 4 • Route exists if there is non zero value in a column • Thus measure columns and non zero values are path
Expanding the Adjacency Matrix Creation • Each row and column are a super position of quantum state vectors with N states where N is number of nodes • The N states either show a weight if there is an edge or show that there is no weight ie the n states represent a weight
Issues • Even if have weights, information on which node is connected to which is lost • |s> = |s> + |a> + |b> + |c> looks okay but leads to: • |S1> = a|000> + b|010> + c|100> + d|000>
Issues • Author calls for n distinct values but opens up problem of dealing with states that have the same weight • Author agrees saying: • “There are problems describing the adjacency matrix as quantum state vectors”
Issues • Algorithm calls for acting on single state in a superposition of states ie acting solely on state |a> for the vector |s> = |s> + |a> + |b> + |c>
Alternate Representation • Add in qubits for the node in which this weight is for. • One issue is make sure you have enough qubits to represent the weight • Furthermore the fact that the Qubits are no longer in a single state will complicate the QSUMAND
Review • Graph Basics • Route Finding in general • QAND • The basic Algorithm • Issues with Algorithm • Fixes to be explored
References • Narayanan, A., Wallace, J., A Quantum Algorithm for Route Finding. Proceedings of the 15th European Meeting on Cybernetics and Systems Research (EMCSR 2000), Vienna, Austria, 25-28 April 2000, Vol. 1, pp 140-143. • Penrose, R. Shadows of the Mind: A search for the missing science of consciousness. Oxford University Press 1994. • Shor, P., Algorithms for quantum computation: Discrete logarithms and factoring 1994.
Follow Up • I need a drink after all this.