Quantum walk search. In the context of quantum computing, the quantum walk search is a quantum algorithm for finding a marked node in a graph.

The concept of a quantum walk is inspired by classical random walks, in which a walker moves randomly through a graph or lattice. In a classical random walk, the position of the walker can be described using a probability distribution over the different nodes of the graph. In a quantum walk, on the other hand, the walker is represented by a quantum state, which can be in a superposition of several locations simultaneously.

Search algorithms based on quantum walks have the potential to find applications in various fields, including optimization, machine learning, cryptography, and network analysis. The efficiency and probability of success of a quantum walk search depend heavily on the structure of the search space. In general, quantum walk search algorithms offer an asymptotic quadratic speedup similar to that of Grover's algorithm.

One of the first works on the application of quantum walk to search problems was proposed by Neil Shenvi, Julia Kempe, and K. Birgitta Whaley.

Classical problem description 
Given a search space  and a subset  which contains the marked elements, a probabilistic search algorithm samples an element  uniformly at random at each step, until it finds a marked element from . If we define  as the fraction of marked elements, a procedure of that kind must be repeated  times to find a marked element.

If we have information about the structure of  we can model it as a graph , where every vertex  represents a sample from the search space with , while the edges represent the conditional probability to sample the next element starting from the current sample.

We perform a search by starting from a random vertex and, if it does not belong to , we sample the next vertex  among the ones connected to . This procedure is known as random walk search. To have a probability close to  to find the marked node, we need to take asymptotically   steps on the graph, where the parameter  is the spectral gap associated to the stochastic matrix  of the graph.

To assess the computational cost of a random walk algorithm, one usually divides the procedure into three sub-phases such as Setup, Check, and Update, and analyses their cost.

Setup
The setup cost  refers to the initialization of the stationary distribution over the vertices of the graph.

Update
The update cost  is the cost to simulate a transition on the graph according to the transition probability defined in .

Check
The check cost  is the cost to verify if the current element belongs to the set .

The total cost of a random walk search algorithm is . The greedy version of the algorithm, where the check is performed after every step on the graph has a complexity of . The presence of the spectral gap term  in the cost formulation can be thought of as the minimum number of steps that the walker must perform to reach the stationary distribution. This quantity is also known as mixing time.

Algorithm description 
The quantum walk search algorithm was first proposed by Magniez et al., also known as MNRS algorithm, and is based on the quantum walk formulation proposed by Mario Szegedy. The walk is performed on the directed edges of the graph so to represent the quantum state associated with the search space we need two quantum registers , which correspond to the edge from  to . To easily understand how it works, the algorithm can be explained through its geometric interpretation. We first define  as the uniform superposition over the neighbours of . We additionally define the superposition over the marked and non-marked states, often referred to as the good and bad states, as

 and 

where  is the set of marked elements. The uniform superposition over all the edges  can be viewed a combination of good and bad states.

 with .

The algorithm is composed of the following steps:
 Initialize the quantum state with , usually it is done by some state preparation routine.
 Repeat for : 
 Perform a reflection through 
 Perform a reflection through  
 Measure the first quantum register and check if it is marked

Since the way the algorithm finds a marked element is based on the amplitude amplification technique, the proof of correctness is similar to the one of Grover's algorithm (which can also be viewed as a special case of a quantum walk on a fully connected graph ). The two reflections through  and  exhibit the effect of moving the quantum state toward the good state. After  applications of the reflections the state can be written as  , and by setting  we have that  which yields the good state with a high probability.

First reflection
The first reflection has the effect of checking if the current vertex is marked and applying a phase shift equal to  if it is so. This is a common procedure in many quantum algorithms based on amplitude amplification and can be realized through a quantum oracle function that verifies the condition .

Second reflection
The second reflection is implemented with a quantum phase estimation over the walk operator  which must reflect the structure of the graph we are exploring. The walk operator can be defined as  where  and  are two reflections through the subspaces  and . Since the eigenvalues of  are on the form and the operator has a unique eigenvalue equal to  corresponding to  given by ,  we can perform a phase estimation with precision  to find the unique eigenvalue. The precision of the reflection depends on the number of qubits used to estimate the phase.

Complexity
With the same formalism used to estimate the cost of the classical random walk algorithm, the quantum costs can be summarised with:

 S: is the cost to initialize the superposition  
 U: is the cost perform a step on the graph in superposition i.e. reflection through 
 C: is the cost to implement the quantum oracle i.e. reflection through 

The total cost of the quantum walk search is , which results in a quadratic speedup compared to the classical version. Compared to Grover's algorithm quantum walks become advantageous in the presence of large data structures associated with each quantum state, since in the first case they are entirely rebuilt at each iteration while in walks they are only partially updated in each step.

Hypercube example 
This is an example of how to apply the quantum walk search on a hypercube graph.

Although in the original description Szegedy quantum walks are used, for this example we show the use of coined quantum walk as it is more intuitive to understand. In any case, the two formalizations turn out to be equivalent under specific assumptions.

The search space is a -hypercube with , it has  vertices and it has a degree equal to . Each node  can be labeled with a binary string of  bits and two nodes are connected by an edge if their Hamming distance is . To set up the quantum walk search we need a coin register of dimension  to encode all the possible directions which a walker can choose and a vertex register of dimension to represent the vertices.

The computational basis is  with.

The walk is performed by two operators:

 Coin operator  is used to create the superposition over the possible directions 
 Shift operator  is used to take a step in the graph according to one direction

Thus, the walk operator is .

In the case of the hypercube graph, we can leverage the fact that the binary encoding of the vertices differ by only one bit for any couple of adjacent nodes to construct an efficient shift operator. The shift operator can be written as:

where  is the -basis for the hypercube ( if  the basis are ). For the coin there are multiple choices such as the Grover coin or the Fourier coin, one can choose the Grover coin to have an equal superposition over all the directions.

The algorithm works as follows:

 Repeat for 
 Initialise the counting register for the phase in superposition 
 Perform a phase estimation on  with  precision
 Mark an auxiliary qubit if the estimated phase is  
 Un-compute auxiliary data structure
 Measure the vertex register

The shift operator is a key factor to the implementation on an efficient quantum walk, while for certain families of graph such as toroids and lattices, the shift is known, for non-regular graph the design of an effective shift operator is still an open challenge.

Applications 
The following applications are based on quantum walk on Johnson graph .

Element distinctness 
Given a function  defined on , it asks to find two distinct elements  such that  if there exist such a pair.

Matrix product verification
Given three  matrices  and , the problem asks to verify if  or otherwise find the indices  such that .

Triangle 
A triangle is a complete subgraph on three vertices part of an undirected graph . Given the adjacent matrix of a graph the problem asks to find a triangle if there is any.

See also 

 Grover's algorithm
 Quantum phase estimation
 Quantum walk
 Random walk

References

Further reading

External links 

 Quantum Walk
 Implementation of quantum walk on cycle graph
 Studying quantum walks on near term quantum computers

Quantum algorithms