Які програми має алгоритм пошуку Grover?


14

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

Мені було цікаво дізнатися про інші програми пошуку Гровера, щоб знайти мінімум, середню та медіану набору чисел. Це не замислює мене, чи існують якісь інші менш очевидні програми пошуку Гровера (або додатки його узагальнень, такі як амплітудне посилення), які вже відомі? Буде оцінено будь-яке коротке розуміння того, як це робиться.

Відповіді:


7

Окрім згаданих вами, інше застосування (модифікованого) алгоритму Гровера, про який я знаю, - це вирішення проблеми зіткнення в теорії складності, квантових обчисленнях та обчислювальній математиці . Його також називають алгоритмом BHT .

Вступ :

Проблема зіткнення найчастіше стосується версії 2 на 1, яку описав Скотт Ааронсон у своїй докторській дисертації. З огляду на , що парне і функція F : { 1 , . . . , П } { 1 , . . . , n } ми заздалегідь знаємо, що або f є 1-до-1, або 2-to-1. Ми можемо робити запити про значення f ( i ) для будь-якого i { 1 , 2 ,nf:{1,...,n}{1,...,n}ff(i) . Потім проблема задає питання, скільки запитів нам потрібно зробити, щоб з упевненістю визначити, чи f -1-1-або 2-to-1.i{1,2,...,n}f

Вирішення версії 2-до-1 детерміновано вимагає запитів, і взагалі для розмежування функцій r-to-1 від функцій 1-до-1 потрібні n / r + 1 запити.n/2+1n/r+1

Класичне детерміноване рішення :

Це пряме застосування принципу голубої дуги: якщо функція r-to-1, то після запитів ми гарантовано знайшли зіткнення. Якщо функція 1 на 1, то зіткнення не існує. Якщо нам не пощастить, то n / r запити можуть повернути різні відповіді. Тож n / r + 1 запитів необхідні.n/r+1n/rn/r+1

Рандомізоване класичне рішення :

Якщо дозволити випадковість, проблема легша. За парадоксу днів народження, якщо ми вибираємо (різні) запити в випадковому порядку, то з великою часткою ймовірності ми знаходимо зіткнення в будь-якій фіксованій 2-к-1 функції після запити.Θ(n)

Розчин КВТ :

Інтуїтивно зрозумілий алгоритм поєднує прискорення квадратного кореня з парадоксами дня народження, використовуючи (класичну) випадковість, прискорення квадратного кореня з (квантового) алгоритму Гровера.

По- перше, входи F обрані випадковим чином і е опитується на всіх з них. Якщо між цими входами відбувається зіткнення, ми повертаємо зіткнення пару входів. В іншому випадку всі ці входи відображаються на різні значення на f . Тоді алгоритм Гровера використовується для пошуку нового входу до f, що стикається. Оскільки існує тільки п 2 / 3 такі входи в F , алгоритм Гровера може знайти один (якщо вона існує), зробивши тільки O ( n1/3ffffn2/3fзапити дое.O(n2/3)=O(n1/3)f

Джерела:

  1. https://en.wikipedia.org/wiki/Collision_problem

  2. https://en.wikipedia.org/wiki/BHT_algorithm

  3. Квантовий алгоритм проблеми зіткнення - Жил Брассар, Пітер Хойер, Ален Тапп


Деякі зауваження з приводу рішення BHT (я не знайшов вікіпедії статтю дуже повчальний): По- перше, виберіть входу в тест - е у випадковому порядку. Припустимо, вони не стикаються. Сортуйте ці значення x відповідно до f ( x ) . Тепер, якщо F ( х ) 2-к-1, існує п 1 / 3 значення х уже не перевірено , які стикаються з тим випробуванням. Отже, визначте функцію, яка перевіряє "ще не перевірена та стикається". Це визначає марковані записи. Зіткнення легко перевірити за допомогою відсортованого списку значень f ( x)н1/3fхf(х)f(х)н1/3x . Знаючи точну кількість позначених записів (якщо 2 до 1), Гровер (майже) гарантує рішення. f(x)
DaftWullie

@DaftWullie Так, це точно має сенс. Алгоритм Гровера не гарантує рішення, але велика ймовірність надання правильного рішення. Але хіба це не зовсім очевидно з самого опису Вікіпедії? Я не впевнений, що я розумію точку чи заперечення, яку ви висловлюєте. Я щось пропускаю?
Санчаян Дутта

Все , що я можу сказати, що це не було очевидно для мене . У першому читанні я зрозумів (помилково), що для Гровера, замість того, щоб підготувати суперпозицію всіх можливих станів, він підготував лише суперпозицію над тими, які ще не перевірені. Але це здавалося вирішальним для того, як пояснилося збільшення швидкості. Також мене спочатку хвилювало те, як перевіряються зіткнення: які пари перевіряються на зіткнення та як ефективно можна було б розраховувати зіткнення?
DaftWullie

@DaftWullie Ага, гаразд. Я розумію вашу думку. Вікіпедія не вникає в цю деталь алгоритму. Ви завжди можете посилатися на оригінальний папір ( arxiv.org/abs/quant-ph/9705002 ) для отримання детальної інформації (що, мабуть, ви вже робили). Пізніше я спробую розширити цю відповідь, щоб включити всі деталі. Я ще читаю папери.
Санчаян Дутта

1
Якщо кубіти та квантові ворота не виявляться неймовірно дешевшими, ніж біти та класичні ворота, будь-яке обговорення BHT повинно включати застереження, що витрати перевищують сучасний класичний пошук зіткнення з машиною van Oorschot – Wiener. Докладніше див. Cr.yp.to/papers.html#collisioncost або blog.cr.yp.to/20171017-collisions.html . (Останнє є відповіддю на передбачуване поліпшення BHT, яке претендує на більш економічну ефективність, ніж класичний пошук зіткнень.)
Squeamish Ossifrage

4

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


Чи хотіли б ви трохи допрацювати? Що це за проблеми? Де я можу прочитати більше про них?
DaftWullie

1
ieeexplore.ieee.org/document/7016940 Це електронний документ, який прагне розробити квантовий алгоритм для вирішення проблеми пошуку кореневого полінома. Більше про це можна прочитати там
da281

0

MМ

Насправді алгоритм Гровера - це найвідоміший квантовий алгоритм для багатьох складних проблем оптимізації (таких як NP-повноцінні), які не мають такої структури, яка піддається класичному алгоритму розумніший, ніж брутальний пошук: https: // link.springer.com/chapter/10.1007/978-3-540-78773-0_67 .

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