2

Grover's algorithm is traditionally used under an oracle, $U_f$ such that $U_f | x \rangle = (-1)^{f(x)} | x \rangle$ where $f(x)$ is either $0$ or $1$.

But in the Wikipedia page, there is an alternative oracle definition.

$$U_F |x, y \rangle = |x, y \oplus f(x) \rangle$$

This is similar to the Deutsch-Jozsa oracle.

And the page later proves that Grover's algorithm can be used under this oracle too:

$$ U_F | x, - \rangle = \frac{1}{\sqrt{2}} \left ( U_F |x, 0 \rangle - U_F |x, 1 \rangle \right ) = \frac{1}{\sqrt{2}} \left ( |x, f(x) \rangle - |x, 1 \oplus f(x) \rangle \right ) = \begin{cases} \frac{1}{\sqrt{2}} \left (|x, 1 \rangle - |x, 0 \rangle \right ) & if \; f(x) = 0 \\ \frac{1}{\sqrt{2}} \left (|x, 0 \rangle - |x, 1 \rangle \right ) & if \; f(x) = 1 \end{cases} \\ = U_f |x \rangle \otimes | - \rangle $$

But just because this version can be solved using the original Grover's algorithm doesn't mean that it is optimal for this version. So is it still optimal in this version?

Andrew Baker
  • 299
  • 1
  • 9

0 Answers0