Creating your first classical/quantum application (Simon's)
In this section, we will incorporate a lot of what we have learned so far to create a classical/quantum application to solve a problem using Simon's algorithm. The problem is provided in the next section.
Stating Simon's problem
Consider a two-to-one function that connects the results of two input values by XORing each input with a secret string, s. This can be represented as .
We can define this problem using a truth table expression and constructing an Oracle and then leverage Simon's algorithm to solve the problem as 0110. Now, let's implement Simon's algorithm to solve the value, s
.
Implementing Simon's algorithm
Simon's algorithm allows us to search for the secret string that connects the results via a two-to-many function. In this example, the values are XORed with s
, where s
will be set to 11. Let's work on solving this using Qiskit Aqua's built-in components...