310 likes | 768 Views
Quantum walks: Definition and applications. Ashley Montanaro. Talk structure. Introduction to quantum walks Defining a quantum walk ...on the line ...on undirected graphs ...on directed graphs Applications of quantum walks. NEW. What are quantum walks?.
E N D
Quantum walks: Definition and applications Ashley Montanaro
Talk structure • Introduction to quantum walks • Defining a quantum walk • ...on the line • ...on undirected graphs • ...on directed graphs • Applications of quantum walks NEW
What are quantum walks? • A random walk is the simulation of the random movement of a particle around a graph • A quantum walk is the same – but with a quantum particle • not the same as running a normal random walk algorithm on a quantum computer • Random walks are a useful model for developing classical algorithms; quantum walks provide a new way of developing quantum algorithms • which is particularly important because producing new quantum algorithms is so hard
Physical intuition behind a classical random walk on a graph 5 2 4 6 ½ ½ 1 ½ ½ 1 3 • After 3 steps we are in position “5” or “6” with equal probability.
Physical intuition behind a quantum walk on a graph Light detectors Mirror 5 2 6 4 1 Half-silveredmirror 3
Physical intuition behind a quantum walk on a graph 5 2 6 4 1 1 3 • After 3 steps we are guaranteed to be in detector “6” – this is caused by quantum interference.
Mathematical definition of a random walk • Express a classical random walk as a matrix W of transition probabilities • where the entries in each column sum to 1 • Express a position as a column vector v • Performing a step of the walk corresponds to pre-multiplying v by W • Performing n steps of the walk corresponds to pre-multiplying v by Wn 2 4 1 3 =
Mathematical definition of a quantum walk • Very similar, but: • probabilities combine differently (sum of the amplitudes squared must be 1) • the transition matrix must be unitary (ie. send unit vectors to unit vectors) • This will not in general be the case, so we may need to modify the structure of the graph – for example, by adding a coin space • This can be considered as a quantum analogue of flipping a coin to decide which direction to go at each step of the walk 2 4 1 3 = (e.g.)
Classical random walk on the line • Consider a walk on the following simple infinite graph: • Versions of this walk are useful models for many random processes • When the walker has equal probability to move left or right, it’s well-known that the average distance from the start position after time n is sqrt(n) • But we can define a quantum walk on the same graph with different behaviour: an average distance of n
Quantum walk on the line • We have two quantum registers: a coin register holding |L or |R, and a position register |p • Our walk operation is a coin flip followed by a shift • coin flip: send |L |L + i|R,|R i|L + |R • shift: send |L|p |L|p-1|R|p |R|p+1 • These are both unitary operations, and hence their combination is too • so, together, they provide a way of defining a quantum walk on the line • there are other ways – e.g. the continuous-time formulation of quantum walks
A few iterations of the walk on the line • start |R|0 • coin (i|L + |R)|0shift i|L|-1 + |R|1 • coin (i|L - |R)|-1 + (i|L + |R)|1shift i|L|-2 - |R|0 + i|L|0 + |R|2 • coin (i|L - |R)|-2 + (i|L + |R)|2shift i|L|-3 - |R|-1 + i|L|1 + |R|3 Equal probability to be at |-3, |-1, |1 or |3 - whereas classical random walk favours |-1, |1
Classical vs. quantum walk on the line Running a classical walk on the lineresults in a probability distribution like: position Whereas running this quantum walk for thesame number of steps gives: The peaks and troughs in this graph are caused byquantum interference.
Quantum walks on undirected graphs • Consider a d-regular graph G (each vertex has d arcs leaving it) • We can label each arc and choose between them using a d-dimensional “coin” • A variety of coin operators can be used: we usually pick one to mix between all arcs equally • As before, one step of the walk consists of a coin flip followed by a shift • An irregular graph can be handled using a different coin for each vertex of a different degree • or other methods...
Behaviour of quantum walks on undirected graphs • We can define quantum equivalents of the mixing time and hitting time of a walk • The mixing time of a random walk is the time it takes to converge to a limiting distribution • Quantum walks have quadratically faster mixing time for any undirected graph • The hitting time is the time it takes to reach a given vertex • On certain graphs, quantum walks have exponentially faster hitting time • Open question: for which graphs is this true?
NEW Quantum walks on directed graphs • A quantum walk can be defined on any undirected graph, with the use of a suitable coin • But it turns out that not all directed graphs support the idea of a quantum walk: only reversible ones do • a reversible graph is a graph where, if you can get from a to b, you can get from b to a • each component of such graphs is strongly connected • compare the idea that quantum computers have to be reversible • Quantum walks defined on irreversible graphs will not respect the structure of the graph: there will be some possibility to traverse arcs in the “wrong direction”
NEW Reversible and irreversible graphs • These graphs are reversible: • These graphs are irreversible:
NEW Implications for translation of classical algorithms • Many classical algorithms can be represented as a random walk on a directed graphs with sinks – the idea is to find a sink, which represents a solution to a problem • e.g. Schöning’s random walk algorithm for SAT • A quantum walk cannot be defined on these graphs; this suggests that there is no easy translation of these algorithms into a quantum walk form • However, it is possible to produce a quantum walk which is “like” the original random walk in the sense that, after a long period of time, it has a high probability of ending up in a sink
Applications of quantum walks • Quantum network routing • Kempe, 2002 • Quantum walk search algorithm • Shenvi, Kempe, Whaley, 2002 • Element distinctness • Ambainis, 2004 • Applications of element distinctness • Magniez, Santha, Szegedy, 2003 • Buhrmann, Spalek, 2004
Quantum network routing 110 111 • Consider a network whose topology isa d-dimensional hypercube • We want to route a packet from onecorner of the hypercube to the other(eg. from 000 to 111) • Algorithm: perform ~d steps of a quantum walk. Then measure to see where the packet is. • This has advantages over a classical routing algorithm: • it’s noise resistant: deleting intermediate links will not affect the walk much • intermediate nodes need minimal routing “hardware” 010 011 100 101 000 001
Quantum walk search algorithm • Consider the unstructured search problem: given a functionf(x) = { 1 if x = a, 0 otherwise }find the “marked” element a, where 0 a 2n-1. • Grover’s algorithm can solve this in O(2n/2) queries on a quantum computer, whereas a classical computer needs at least W(2n) queries • Can we produce a quantum walk algorithm that requires the same (optimal) number of queries? • this may be easier to implement, or provide a better model for searching a “real” database
Quantum walk search algorithm (2) • We perform a quantum walk on the hypercube of dimension n • each vertex, labelled by an n-bit string, corresponds to a possible input to the oracle • each vertex has n neighbours • Our walk consists of a combination of a coin flip and a shift, as before • Identify each of the n coin states with each neighbour of a vertex • Use a “marking” coin operator • When at an unmarked vertex, pick a coin state randomly • When at the marked vertex, stay in the same coin state
Quantum walk search algorithm (3) • Start with a superposition over all vertices • If we run the walk for O(2n/2) steps, can prove that there is a high probability it will “home in” on the marked vertex • in fact, there’s a general result stating that “perturbed” walks like this will always find one of the marked elements • We then simply measure the position and we’ve found the marked item
Element distinctness • Problem: does a (multi-)set S of N elements contain any duplicate elements? • Call reading an element from the set a query • Clearly, classically we need N queries to answer the question with certainty • It turns out that a quantum walk algorithm can solve the problem in O(N2/3) queries • which has been proven to be optimal
Quantum walk algorithm for element distinctness {1, 1, 2, 3} • We use a quantum walk on a graph where the vertices are subsets of S containing either M or M + 1 elements for some M < N • Two vertices are connected if they differ in exactly one element • The graph on the right encodes the set {1, 1, 2, 3} for M = 2 11,12 11,12,2 11,2 11,12,3 11,3 12,2 11,2,3 12,3 12,2,3 2,3
Quantum walk algorithm for element distinctness (2) • Basic walk algorithm: • start with some subset S’ S (where |S’| = M) • check whether S’ contains any duplicates (needs O(M) queries) • if not, change to a different subset S’’ that differs in exactly one element • check S’’ for duplicates (needs 1 query) • repeat steps 3 and 4 until a duplicate is found • Because this is a quantum walk, we can start with a superposition of all M-subsets
Analysis of quantum walk • In total, we need (M + r) queries, where • M is the number of elements in the initial subset • r is the number of steps of the quantum walk • It turns out that if we pick M = N2/3, then a solution can be found with high probability in r = N1/3 steps of the walk • resulting in O(N2/3) queries in total • it also turns out that the number of non-query operations required is small, so the query complexity is a good measure of the time complexity • Note that this algorithm requires a significant amount of space – enough to store O(N2/3) elements
Applications of element distinctness • Using element distinctness as a subroutine, quantum walk algorithms have been developed to solve other problems: • finding a triangle in a graph with n vertices in time O(n1.3) • verifying matrix multiplication (testing if A*B = C for some n*n matrices A, B, C) in time O(n1.67) • The algorithm has also been generalised to solve the problem of finding any subset that has a given property • i.e.: find (a, b) such that (f(a), f(b)) P, where P is some property
Conclusions and further reading • Quantum walks can be defined on any undirected graph, and on reversible directed graphs. • Quantum walks are a way to develop quantum algorithms that outperform their classical counterparts. • Further reading (on www.arxiv.org): • “Quantum walks and their algorithmic applications”, A. Ambainis, quant-ph/0311001 • “Quantum random walks – an introductory overview”, J. Kempe, quant-ph/0303081 • “Quantum walks on directed graphs”, A. Montanaro, quant-ph/0504116