Simon’s Problem
Setting the stage
Before quantum computers were expected to factor large numbers they were expected to do something more elementary: solve a hidden-structure problem in exponentially fewer queries than any classical computer. That is exactly what Simon's algorithm does, and the key to understanding it is first grasping the problem it solves.
The problem
You are given black-box (oracle) access to a function
that satisfies a promise: there exists a secret string such that for all ,
Here denotes bitwise XOR. Two cases cover every allowed :
- (the all-zeros string): is one-to-one (injective). Every input gives a distinct output.
- : is two-to-one. Exactly the pair maps to the same output for every .
Goal: determine using as few queries to as possible.
Why it is hard classically
A classical algorithm must find two inputs with to identify a non-trivial , or it must check enough distinct outputs to certify that is injective. By a birthday-paradox argument, finding a collision requires queries in the worst case — exponential in . More carefully, any classical (even randomised) algorithm needs at least queries to succeed with constant probability (de Wolf, Lecture Notes, Theorem 6.5).
Simon's promise as an HSP
Simon's problem is the simplest non-trivial instance of the Hidden Subgroup Problem (HSP). The group is (bit strings under XOR), and the hidden subgroup is
When the subgroup is trivial (); when the subgroup has order 2. The function is constant on the cosets of and distinct across them — precisely the HSP promise applied to this abelian group.
Deutsch-Jozsa is the special case: the "is constant or balanced?" question translates to "is or ?" Simon's problem generalises this to arbitrary , introducing the full collision structure that makes the exponential quantum speedup possible.
The quantum advantage — a preview
Simon's algorithm (covered in the next lesson) makes quantum queries to and recovers with high probability. The circuit uses two -qubit registers:
- Prepare the first register in a uniform superposition .
- Query the oracle to entangle both registers: .
- Measure the second register. The post-measurement state of the first register collapses to the uniform superposition over the coset for some random .
- Apply Hadamard gates to the first register. The amplitudes constructively interfere only on bit strings satisfying (where is the bitwise inner product). Measuring yields such a .
After rounds the learner accumulates linearly independent constraints over , from which is recovered by Gaussian elimination. The total query count is — exponentially fewer than the classical lower bound of .
Formalising the promise
To be precise: an oracle for Simon's problem is any function satisfying the two-to-one (or injective) condition above. A quantum algorithm is allowed to call the quantum oracle in superposition. Classical algorithms may only evaluate on one input at a time.
The remarkable fact Simon proved in 1994 (published 1997) is that this exponential query separation is unconditional — it holds in the black-box model regardless of computational complexity assumptions. This was the first unconditional, non-trivial exponential quantum speedup and directly inspired Shor to look for an exponential speedup in the non-black-box (structured) setting, leading to the factoring algorithm.
Sign in on the full site to ask questions and join the discussion.