我对Grover算法中必须使用oracle qubit感到困惑。
我的问题是,是否需要一个oracle qubit取决于您如何实现oracle?或者,是否有任何理由使用oracle qubit?(例如,存在一些无法使用oracle qubit无法解决的问题,或者更容易考虑使用oracle qubit的问题,或者这是一个约定,等等)
许多资源介绍了带有oracle量子位的Grover算法,但是我发现在某些情况下您不需要oracle量子位。
例如,这是IBM Q仿真器中Grover算法的两种实现。一种是使用oracle qubit,另一种则不是。在这两种情况下,我都想从| 00>,| 01>,| 10>和| 11>的空间中找到| 11>。在这两种情况下,oracle成功将| 11>翻转到-| 11>。
・使用oracle qubit(链接到IBM Q模拟器)
・没有oracle qubit(链接到IBM Q模拟器)