Я запутался в алгоритме Гровера и его связи с классами сложности.
Алгоритм Гровера находит и элемент в базе данных с (таким, что ) элементов с обращениями к оракулу.
Итак, у нас есть следующая проблема:
Проблема: Найти в базе данных так, чтобы
Теперь я знаю, что это не проблема решения, и поэтому наши обычные определения класса сложности , т. Д. На самом деле не применяются. Но мне любопытно узнать, как мы будем определять класс сложности в таком случае - и будет ли это сделано в отношении или ?
Кроме того, алгоритм Гровера может быть использован в качестве подпрограммы. Я читал в нескольких местах, что алгоритм Гровера не меняет класс сложности, это проблема - есть ли эвристический способ увидеть это.
complexity-theory
grovers-algorithm
Квантовая спагеттификация
источник
источник
\text{}
для написания имен классов сложности. Например\text{NP}
или\text{BQP}
Ответы:
Резюме
Сложность проблем отношений
Как вы заметили, проблема Гровера решает проблему поиска , которая в литературе о сложности иногда также называется проблемой отношений . То есть это проблема следующего вида:
Классы сложности FP и FNP определены в терминах таких задач, где, в частности, интересует случай, когда имеет длину не более чем полиномиальную функцию длины , и где отношение может само по себе вычисляться за время, ограниченное некоторым полиномом от длины .y x R(x,y) (x,y)
В частности: пример проблемы «поиск в базе данных», к которой обычно применяется поиск Гровера, можно описать следующим образом.
Здесь сам оракул является источником проблемы: он играет рольx , а отношение, которое мы вычисляем, равно
Предположим, что вместо оракула нам предоставляется конкретный вход который описывает, как должна вычисляться функция f , и мы можем затем рассмотреть, к какому классу сложности относится эта задача. Как видно , соответствующий класс сложности, который мы получаем, зависит от того, как предоставляется ввод.x f
pyramids
Предположим, что функция ввода предоставляется в качестве базы данных (как иногда описывается проблема), где каждая запись в базе данных имеет некоторую длину . Если n - длина строки x, используемой для описания всей базы данных , то в базе данных есть N = n / ℓ записей. Затем можно провести исчерпывающий поиск по всей базе данных, запросив каждую из N записей по порядку, и остановиться, если мы найдем запись y такую, что f ( y ) = 1 . Предположим, что каждый запрос к базе данных занимает что-то вроде O (ℓ n x N=n/ℓ N y f(y)=1 , эта процедура останавливается во времени O ( N log N ) ⊆ O ( n log n ) , так что проблема вFP.O(logN)⊆O(logn) O(NlogN)⊆O(nlogn)
Предполагая, что поиск в базе данных может быть выполнен в когерентной суперпозиции, алгоритм Гровера позволяет эту проблему в FBQP . Однако, поскольку FP ⊆ FBQP , классический исчерпывающий поиск также доказывает, что эта проблема находится в FBQP . Все, что мы получаем (с учетом логарифмических коэффициентов), - это квадратичное ускорение благодаря экономии числа запросов к базе данных.
Предположим, что входная функция кратко описывается алгоритмом полиномиального времени, который принимает спецификацию и аргумент y ∈ { 0 , 1 } m и вычисляет O : H m + 1 2x∈{0,1}n y∈{0,1}m O:Hm+12→Hm+12 на нормативной основе состояние , где м может быть значительно больше , чем П ( журнал п ) . Примером может служить случай, когда x задает форму CNF некоторой булевой функции f : { 0 , 1 } m → { 0 , 1 } для m ∈ O ( n ) , и в этом случае мы можем эффективно оценить f ( y ) на входе y ∈|y⟩|b⟩ m Ω(logn) x f:{0,1}m→{0,1} m∈O(n) f(y) и тем самым эффективно оценивать O на стандартных базовых состояниях. Это ставит проблему вFNP.y∈{0,1}m O
Дана процедура оценки из ( x , y ) за время O ( p ( n ) ) для n = | х | Алгоритм Гровера решает проблему неструктурированного поиска O за время O ( p ( n ) √)f(y) (x,y) O(p(n)) n=|x| O O(p(n)2m−−−√) ⊆O(p(n)2n−−√) n
Сложность решения из проблем отношений
Существует простой способ получить решение проблем из отношений отношений, что хорошо известно из теории NP- неполных задач: превратить задачу поиска в вопрос о существовании действительного решения.
Сложность Oracle
Как видно из последнего случая, если мы будем рассматривать ввод только как оракула, ситуация выглядит немного не интуитивно понятной, и это, безусловно, делает невозможным говорить о способах реализации «базы данных». Но одно достоинство рассмотрения релятивизированной версии проблемы с реальным оракулом состоит в том, что мы можем доказать вещи, которые в противном случае мы понятия не имеем, как доказать. Если бы мы могли доказать, что версия решения краткой неструктурированной задачи поиска была в BQP , то мы бы достигли огромного прорыва в практических вычислениях; и если бы мы могли доказать, что проблема решения на самом деле не была в BQP , то мы бы показали, что P ≠ PSPACEO O NPO BQPO
источник
Тем не менее, физики любят апеллировать к мнению, что это все еще экспоненциальное ускорение без какого-либо известного (или действительно легко мыслимого) классического эквивалента. Это наиболее очевидно в примере с базой данных, где функция oracle является поиском в базе данных, а алгоритм Гровера может привести к тому, что потребуется гораздо меньше поисков, чем имеется данных в базе данных. В этом смысле все еще есть существенное преимущество, хотя оно полностью потеряно в картине класса сложности.
источник
Позвольте мне привести несколько примеров (возможно, это то, что вы просили здесь ?):
Конечно, иногда дополнительная структура задачи допускает различные решения, которые не требуют поиска всех возможных доказательств. Там поиск Гровера бесполезен или даже бесполезен, но может случиться так, что мы можем придумать алгоритм полиномиального времени другим способом. Например, в случае составного тестирования: классически, поиск факторов числа кажется трудным: мы не можем сделать намного лучше, чем тестирование всех возможных факторов, поэтому использование этой формы доказательства не очень помогает, но Как уже упоминалось, этот вопрос может быть эффективно решен с помощью другого маршрута, тестирования первичности AKS.
источник
Забудьте о базе данных. Алгоритм Гровера решает проблему булевой удовлетворенности , а именно:
Известно, что проблема является NP-полной.
источник