In computational complexity theory and quantum computing, Simon's problem is a computational problem conceived to showcase the efficiency increase a quantum algorithm could have over a classic one. Although the problem itself is of little practical value, it is interesting because it provides an exponential speedup over any classical algorithm (in a black box model).
Contents
The problem deals with the model of decision tree complexity or query complexity and was conceived by Daniel Simon in 1994. Simon exhibited a quantum algorithm, usually called Simon's algorithm, that solves the problem exponentially faster than any deterministic or probabilistic classical algorithm, requiring exponentially less computational power than the best classical probabilistic algorithm.
This problem yields an oracle separation between BPP and BQP, unlike the separation provided by the Deutsch-Jozsa algorithm, which separates P and EQP.
Simon's algorithm was also the inspiration for Shor's algorithm. Both problems are special cases of the abelian hidden subgroup problem, which is now known to have efficient quantum algorithms.
Problem description and algorithm
The input to the problem is a function (implemented by a black box)
The set of n-bit strings is a
Consider the Hilbert space consisting of the tensor product of the Hilbert space of input strings, and output strings. Using Hadamard operations, we can prepare the initial state
and then call the oracle to transform this state to
Hadamard transforms convert this state to
We perform a simultaneous measurement of both registers. If
Complexity
Simon's algorithm requires