Introducing Simon's algorithm
Simon's algorithm is one of the most important algorithms, which provides us with an intuition about the periodicity of a particular function; in other words, it helps us to find when a function repeats itself. Simon's algorithm is also called the periodic quantum algorithm and it provides an exponential speedup as compared to classical period-finding algorithms.
The main goal of Simon's algorithm is to find whether a given function is one-to-one or two-to-one, for which they are defined as having the following properties:
- One-to-one: This function will map unique inputs to unique outputs, such as .
- Two-to-one: This function will map two inputs to a unique output, such as .
For the two-to-one mapping process, we have a secret bit string, b, which helps to check whether the function is two-to-one or not. The condition is that if
In Simon's algorithm as well, we will use an oracle or black-box model, , to...