Меня немного смущает необходимость оракула в алгоритме Гровера.
Мой вопрос: зависит ли от того, как вы реализуете свой оракул, нужен ли вам оракул-кубит или нет? Или это какая-то причина для оракула? (например, существуют некоторые проблемы, которые невозможно решить без оракула-кубита, или проще думать о проблеме с оракулом-кубитом, или это соглашение и т. д.)
Многие ресурсы представляют алгоритм Гровера с оракулом, но я обнаружил, что в некоторых случаях вам не нужен оракул-кубит.
Например, вот две реализации алгоритма Гровера в симуляторе IBM Q. Один использует оракуловый кубит, а другой нет. В обоих случаях я хотел бы найти | 11> из пространства | 00>, | 01>, | 10> и | 11>. В обоих случаях оракул успешно переворачивает | 11> на - | 11>.
・ С оракулом кубитом ( ссылка на симулятор IBM Q )
・ Без оракула ( ссылка на симулятор IBM Q )