Я запутался в том, что вводить в Oracle в алгоритме Гровера.
Разве нам не нужно вводить то, что мы ищем, и где найти то, что мы ищем в Oracle, в дополнение к суперпозиционным квантовым состояниям?
Например, предположим, что у нас есть список имен людей {"Алиса", "Боб", "Кори", "Дио"}, и мы хотим выяснить, есть ли в списке "Дио". Затем Oracle должен принять в качестве входа и выхода . Я вроде это понимаю.
Но разве нам не нужно вводить слово «Dio» и список {«Алиса», «Боб», «Кори», «Дио»} в Oracle? Иначе, как Oracle может вернуть результат? Не упоминается ли это явно, поскольку Oracle является черным ящиком, и нам не нужно думать о том, как его реализовать?
Я понимаю, что Oracle
- Oracle имеет возможность распознавать, есть ли слово «Dio» в списке.
- Для этого Oracle принимает суперпозиционные квантовые состояния в качестве входных данных, где каждое квантовое состояние представляет индекс списка.
- Таким образом, ввод для Oracle означает, проверьте, находится ли слово «Dio» в индексе 0 списка, и верните если да, и верните противном случае.
- В нашем случае Oracle возвращает .
- Но как насчет списка и слова?