Як алгоритм Гровера використовується для оцінки середньої та медіани набору чисел?


10

На сторінці Вікіпедії для алгоритму Гровера згадується, що:

"Алгоритм Гровера також може бути використаний для оцінки середнього та медіани набору чисел"

Поки я лише знав, як це можна використовувати для пошуку в базі даних. Але не впевнений, як застосувати цю методику для оцінки середнього та медіани набору чисел. Більше того, на цій сторінці немає цитування (наскільки я помітив), яке б пояснювало техніку.


Або якщо ви вирішите відповісти на власне запитання, або для того, хто вирішить взяти завдання для себе, це посилання виглядає як чудове місце для початку Як використовувати алгоритм Гровера для пошуку середнього (він же середнього, інтегрального) функції
Вейрдо

@agaitaarino Дякую Я перегляну це. До речі, ваш коментар не відображається належним чином як посилання, оскільки ви залишили порожнє місце після круглих дужок. :)
Санчаян Дутта

Відповіді:


9

Ідея оцінки середнього значення приблизно така:

  • Для будь-якого який дає виходи в реалах, визначте масштабований F ( x ), який дає виходи в діапазоні від 0 до 1. Ми прагнемо оцінити середнє значення F ( x ) .f(x)F(x)F(x)

  • Визначимо унітарний , чия операція U : | 0 | 0 1UaВажливо зазначити, що цей унітар легко реалізується. Ви починаєте з перетворення Хадамара на першому регістрі, виконуєте обчисленняf(x)на регістрі ацилла, використовуєте це для здійснення керованого обертання другого регістра, а потім не обчислюєте регістр ancilla.

    Ua:|0|012n/2x|x(1F(x)|0+F(x)|1).
    f(x)
  • Визначимо унітарний .G=Ua(I2|00||00|)UaIZ

  • Починаючи зі стану , використовуйте G так само, як ви б використовувати Гровер итератор для оцінки числа рішень задачі пошуку.Ua|0|0G

|ψ=1xF(x)xF(x)|x|1|ψ=1x1F(x)x1F(x)|x|0,
Ua|0|0=(xF(x)|ψ+x1F(x)|ψ)2n/2|ψF(x)|1|ψIZm2nm

UaI2n|00|


z

x|f(x)f(z)|.
Txf(x)TT

Звичайно, я пропускаю деякі деталі точного часу роботи, оцінки помилок тощо.


Чи потрібно спочатку запустити алгоритм Гровера в логарифмічну кількість разів, щоб обчислити значення min і max функції, перш ніж ви зможете виконати масштабування на кроці 1?
tparker

@tparker Це, мабуть, залежить. Часто передбачається, що ви знаєте достатньо про функцію F, щоб мати можливість обмежувати її можливі значення.
DaftWullie
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.