Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Quantum walks:
Definition and
applications
Ashley Montanaro
Talk structure
Introduction to quantum walks
Defining a quantum walk
...on
the line
...on undirected graphs
NEW
...on directed graphs
Applications of quantum walks
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
Time
5
2
1
4
3
6
0
1
2
3
Probability at vertex
1 2 3 4 5 6
1
½½
1
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
3
Half-silvered
mirror
Physical intuition behind a quantum
walk on a graph
Time
5
2
6
4
1
3
0
1
2
3
Amplitude at point
1 2 3 4 5 6
1
After 3 steps we are guaranteed to be in detector “6” –
this is caused by quantum interference.
1
Mathematical definition of a
random walk
Express a classical random walk as a
matrix W of transition probabilities
2
4
1
3
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
=
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)
2
4
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
1
3
This can be considered as a quantum
analogue of flipping a coin to decide
which direction to go at each step of
the walk
= (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
shift:
send
|L |L + i|R,
|R i|L + |R
|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
1.
start |R|0
2.
coin (i|L + |R)|0
shift i|L|-1 + |R|1
3.
coin (i|L - |R)|-1 + (i|L + |R)|1
shift i|L|-2 - |R|0 + i|L|0 + |R|2
4.
coin (i|L - |R)|-2 + (i|L + |R)|2
shift 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 line
results in a probability distribution like:
position
Whereas running this quantum walk for the
same number of steps gives:
The peaks and troughs in this graph are caused by
quantum 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
Quantum walk search algorithm
Shenvi, Kempe, Whaley, 2002
Element distinctness
Kempe, 2002
Ambainis, 2004
Applications of element distinctness
Magniez, Santha, Szegedy, 2003
Buhrmann, Spalek, 2004
Quantum network routing
Consider a network whose topology is
a d-dimensional hypercube
We want to route a packet from one
corner of the hypercube to the other
(eg. from 000 to 111)
010
110
111
011
100
000
101
001
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”
Quantum walk search algorithm
Consider the unstructured search problem: given a
function
f(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
Our walk consists of a combination of a coin flip and a
shift, as before
each vertex, labelled by an n-bit string, corresponds to a
possible input to the oracle
each vertex has n neighbours
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
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
{1, 1, 2, 3}
11,12
11,12,2
11,2
Two vertices are connected if they
differ in exactly one element
11,3
12,2
The graph on the right encodes
the set {1, 1, 2, 3} for M = 2
12,3
2,3
11,12,3
11,2,3
12,2,3
Quantum walk algorithm for
element distinctness (2)
Basic walk algorithm:
start with some subset S’ S (where |S’| = M)
2. check whether S’ contains any duplicates (needs
O(M) queries)
3. if not, change to a different subset S’’ that differs in
exactly one element
4. check S’’ for duplicates (needs 1 query)
5. repeat steps 3 and 4 until a duplicate is found
1.
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
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
M is the number of elements in the initial subset
r is the number of steps of the quantum 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
find (a, b) such that (f(a), f(b)) P, where P is
some property
i.e.:
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, quantph/0504116