In
quantum computing
Quantum computing is a type of computation whose operations can harness the phenomena of quantum mechanics, such as superposition, interference, and entanglement. Devices that perform quantum computations are known as quantum computers. Though ...
, the Brassard-Høyer-Tapp algorithm or BHT algorithm is a
quantum algorithm
In quantum computing, a quantum algorithm is an algorithm which runs on a realistic model of quantum computation, the most commonly used model being the quantum circuit model of computation. A classical (or non-quantum) algorithm is a finite sequ ...
that solves the
collision problem. In this problem, one is given ''n'' and an ''r''-to-1 function
and needs to find two inputs that ''f'' maps to the same output. The BHT algorithm only makes
queries to ''f'', which matches the lower bound of
in the
black box model.
[
]
The algorithm was discovered by
Gilles Brassard, Peter Høyer, and Alain Tapp in 1997.
It uses
Grover's algorithm, which was discovered the year before.
Algorithm
Intuitively, the algorithm combines the square root speedup from the
birthday paradox using (classical) randomness with the square root speedup from Grover's (quantum) algorithm.
First, ''n''
1/3 inputs to ''f'' are selected at random and ''f'' is queried at all of them. If there is a collision among these inputs, then we return the colliding pair of inputs. Otherwise, all these inputs map to distinct values by ''f''. Then Grover's algorithm is used to find a new input to ''f'' that collides. Since there are ''n'' inputs to ''f'' and ''n''
1/3 of these could form a collision with the already queried values, Grover's algorithm can find a collision with
extra queries to ''f''.
See also
*
Element distinctness problem
References
{{reflist
Quantum algorithms