На странице Википедии об алгоритме Гровера упоминается, что:
«Алгоритм Гровера также можно использовать для оценки среднего и медианы набора чисел»
До сих пор я знал только, как это можно использовать для поиска в базе данных. Но не уверен, как реализовать эту технику для оценки среднего и медианы набора чисел. Более того, на этой странице нет цитирования (насколько я заметил), объясняющего методику.
algorithm
grovers-algorithm
Санчайан Датта
источник
источник
Ответы:
Идея для оценки среднего примерно такова:
Для любого который дает выходные данные в действительных значениях, определите масштабированный F ( x ), который дает выходные данные в диапазоне от 0 до 1. Мы стремимся оценить среднее значение F ( x ) .е( х ) F( х ) F( х )
Определим унитарный чья операция U a : | 0 ⟩ | 0 ⟩ ↦ 1Ua Важно отметить, что этот унитар легко реализуется. Вы начинаете с преобразования Адамара в первом регистре, выполняете вычислениеf(x)в вспомогательном регистре, используете это для реализации управляемого вращения второго регистра, а затем вычисляете вспомогательный регистр.
Определим унитарный .G = Ua( I - 2 | 0 ⟩ ⟨ 0 | ⊗ | 0 ⟩ ⟨ 0 | ) U†aЯ ⊗Я
Начиная с состояния , используйте G так же, как вы бы использовать Гровер итератор для оценки числа решений задачи поиска.Ua| 0⟩ | 0⟩ г
Основная часть этого алгоритма - амплитуда амплитуды, как описано здесь . Основная идея заключается в том, что вы можете определить два состояния и это определяет подпространство для эволюции. Начальное состояниеUa| 0⟩| 0⟩=( √
Кстати, это интересно сравнить с «мощью одного чистого кубита», также известной как DQC1. Там, если вы примените к IUa вероятность получения ответа 1 такая же, как и в неускоренной версии, и дает оценку среднего значения.I2n⊗|0⟩⟨0|
Конечно, я пропускаю некоторые детали точного времени выполнения, оценки ошибок и т. Д.
источник