Підсумок
- Існує теорія складності проблем пошуку (також відома як проблеми відношення). Ця теорія включає класи під назвою FP , FNP та FBQP, які ефективно вирішують пошукові проблеми з різними видами ресурсів.
- З проблем пошуку ви також можете визначити проблеми з рішенням, що дозволяє співвідносити проблеми пошуку з звичайними класами P , NP та BQP .
- Незалежно від того, чи вважаєте ви пошуковим варіантом версії рішення проблеми, спосіб розгляду вхідних даних до проблеми неструктурованого пошуку визначить, які верхні межі можна поставити за її складність.
Складність проблем відносин
Як зазначаєте, проблема Гровера вирішує пошукову задачу, яка в літературі щодо складності іноді називається також проблемою відношення . Тобто це проблема такого роду:
Структура загальної пошукової проблеми.
З огляду на вхід та бінарне відношення R , знайдіть y y таке, що R ( x , y ) має місце.xRyR(x,y)
Класи складності FP і FNP визначаються з точки зору таких задач, де, зокрема, цікавиться той випадок, коли має довжину, щонайменше, поліноміальну функцію довжини x , і де співвідношення R ( x , y ) може саме обчислюється протягом часу, обмеженого деяким многочленом довжиною ( x , y ) .yxR(x,y)(x,y)
Зокрема: приклад проблеми "пошуку в базі даних", до якої зазвичай застосовується пошук Гровера, можна описати наступним чином.
Неструктурований пошук.
Дано вхідний оракул така, що O | ⟩ | б ⟩ = | ⟩ | b ⊕ f ( a ) ⟩ для деякої функції f : { 0 , 1 } m → { 0 , 1 } , знайди y y таку, що O | у ⟩ | 0 ⟩ = | у ⟩ | 1O:H⊗m+12→H⊗m+12O|a⟩|b⟩=|a⟩|b⊕f(a)⟩f:{0,1}m→{0,1}y .O|y⟩|0⟩=|y⟩|1⟩
Тут сам оракул є входом до проблеми: він відіграє роль , а відношення, яке ми обчислюємо,
R ( O , y )x
Р ( О , у)≡[ О| у⟩ | 0 ⟩ = | у⟩ | 1 ⟩ ]≡[ ф(y)=1].
Припустимо, що замість оракула нам надається конкретний вхід який описує, як функція f обчислюється, то ми можемо розглянути, до якого класу складності належить ця проблема. Як вказує , відповідний клас складності, який ми отримуємо, залежить від того, як надається вхід.xfpyramids
Припустимо, що функція введення надається у вигляді бази даних (як іноді описується проблема), де кожен запис у базу даних має деяку довжину . Якщо n - довжина рядка x, що використовується для опису всієї бази даних , то база даних має N = n / ℓ записів. Тоді можна вичерпно шукати всю базу даних, запитуючи послідовно кожен з N записів, і зупиняти, якщо ми знайдемо запис y такий, що f ( y ) = 1 . Припустимо, що кожен запит до бази даних займає щось на зразок O (ℓnxN=n/ℓNyf(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}ny∈{0,1}mO:Hm+12→Hm+12на стандартній основі стан , де м може бути значно більше , ніж П ( журнал п ) . Прикладом може бути, коли x визначає форму CNF деякої булевої функції f : { 0 , 1 } m → { 0 , 1 } для m ∈ O ( n ) , і в цьому випадку ми можемо ефективно оцінити f ( y ) на вході y ∈|y⟩|b⟩mΩ(logn)xf:{0,1}m→{0,1}m∈O(n)f(y) і тим самим ефективно оцінювати O у стандартних базових станах. Це ставить проблему вFNP.y∈{0,1}mO
Дано процедуру для оцінки з ( x , y ) у часі O ( p ( n ) ) для n = | х | , Алгоритм Гровера вирішує задачу неструктурованого пошуку O в часі O ( p ( n ) √f(y)(x,y)O(p(n))n=|x|O⊆O(p(n)√O(p(n)2m−−−√) . Це не є поліномом вn, і тому недостатньо, щоб поставити цю проблему вFBQP: ми отримуємо лише квадратичне прискорення - хоча це все-таки потенційно величезна економія часу на обчислення, якщо припустити, що перевага, надана алгоритмом Гровера, не втрачається накладні витрати, необхідні для квантових обчислень, що не мають відмов.⊆O(p(n)2n−−√)n
В обох випадках, складність визначається в термінах довжини рядка х * , який вказує , як обчислити оракула O . У випадку, коли x являє собою оглядову таблицю, ми маємо N = n / ℓ , в цьому випадку продуктивність як функція N аналогічна продуктивності як функції n ; але у випадку, коли x лаконічно задає O , а N ∈ O ( 2 n / 2 ) , повідомлення великого зображення про те, що Гровер вирішує задачу в OnxOxN=n/ℓNnxON∈O(2n/2)запити затьмарюють чіткіше повідомлення про те, що цей алгоритм все ще є експоненціальним часом для квантового комп'ютера.O(N−−√)
Складність рішення з проблем відносин
Існує прямий спосіб отримати проблеми рішення з проблем відносин, який добре відомий з теорії NP- незавершених проблем: перетворити пошукову проблему на питання про існування справедливого рішення.
Версія рішення загальної проблеми пошуку.
Давши вхід та двійкове відношення R , визначте, чи виконується ∃ y : R ( x , y ) .xR∃y:R(x,y)
Клас складності NP по суті може бути визначений з точки зору таких задач, коли співвідношення є ефективно обчислюваним: найвідоміші NP- неповні проблеми (CNF-SAT, HAMCYCLE, 3-COLORING) - це про існування справедливого рішення для проблема, яка може бути ефективно перевірена. Цей перехід від створення рішень до просто підтвердження існування рішень - це також те, що дозволяє описувати версії цілочисельної факторизації, які знаходяться в BQP (запитуючи, чи існують нетривіальні фактори, а не запитувати значення нетривіальних факторів) .R
У випадку неструктурованого пошуку, знову ж таки, який клас складності найкраще описує проблему, залежить від того, як структурований вхід. Визначення існування рішення проблеми відносин може бути зведено до пошуку та перевірки рішення цієї проблеми. Таким чином, у випадку, коли вхід - це рядок визначає оракул як таблицю пошуку, проблема неструктурованого пошуку знаходиться в P ; і в більш загальному випадку, якщо x визначає ефективний засіб оцінки оракула, проблема полягає в NP . Можливо також, що існує спосіб визначення, чи існуєxx рішення для неструктурованого пошуку, яке робить це, фактично не знаходячи рішення, хоча взагалі не зрозуміло, як це зробити таким чином, який би забезпечив перевагу перед фактичним пошуком рішення.
Складність Oracle
Я явно був перехід від розмов про оракулі , шляхи , що вхід х може бути використаний для визначення (і оцінки) оракул O . Але, звичайно, головний спосіб, з якого ми розглядаємо алгоритм Гровера, - це результат оракула, в якому оцінка оракула займає єдиний часовий крок і не вимагає спокус. Як ми вважаємо складність проблеми в цьому випадку?OxO
У цьому випадку ми маємо справу з релятивізованою моделлю обчислення, в якій оцінювання цього одного конкретного оракула (який, пам’ятайте, є входом до проблеми) - це примітивна операція. Цей оракул визначено для всіх вхідних розмірів: щоб розглянути проблему пошуку по рядках довжиною n , потрібно вказати, що ви розглядаєте, як оракул O діє на входи довжиною n , що знову було б зроблено, враховуючи довжину a булева рядок x, взята як вхідна. У цьому випадку спосіб, яким ми би представляли проблему, може бути наступним.OnOnx
Неструктурований Пошук по відношенню до Oracle . O
Дано вхід довжини n ,x=11⋯1n
знайти a (задача відношення) абоy∈{0,1}n
визначити, чи існує (задача рішення)y∈{0,1}n
такий, що .O|y⟩|0⟩=|y⟩|1⟩
Ця проблема знаходиться в (для проблеми рішення) або F N P O (для проблеми відношення), залежно від того, яку версію проблеми ви хочете розглянути. Оскільки алгоритм Гровера НЕ поліноміальний алгоритм часу, ця проблема не відомо, що в B Q P O або F B Q P O . Насправді ми можемо сказати щось сильніше, як це скоро побачимо.NPOFNPOBQPOFBQPO
Причина, через яку я перебрав фактичний опис неструктурованого пошуку, заснований на оракулі, полягав у тому, щоб торкнутися вашої точки складності, а зокрема торкнутися питання розміру вводу . Складність проблем значною мірою регулюється тим, як вказані вхідні дані: як стислий специфікатор (у випадку, як функція вказана в CNF-SAT), як явна специфікація (у випадку оглядової таблиці для функція) або навіть як ціле число, вказане в унарному, тобто як довжина рядка 1s, як зазначено вище (як у "Неструктурованому пошуку відносно Oracle " вище).O
Як ми бачимо з останнього випадку, якщо ми ставимося до вступу лише як до оракул, ситуація виглядає дещо неінтуїтивно зрозумілою, і це, безумовно, унеможливлює говорити про шляхи реалізації "бази даних". Але однією з чеснот розгляду релятивізованої версії проблеми з фактичним оракулом є те, що ми можемо довести речі, які в іншому випадку ми не маємо поняття, як довести. Якби ми могли довести, що версія рішення про стислі неструктуровані проблеми пошуку знаходилася в BQP , то ми б готові здійснити величезний прорив у практичному обчисленні; і якби ми могли довести, що проблема рішення насправді не була в BQP , то ми б показали, що P ≠ PSPACE, що було б величезним проривом у обчислювальній складності. Ми також не знаємо, як це зробити. Але для relativised проблеми, ми можемо показати , що є оракули , для яких варіант вирішення «неструктурованою пошук щодо O » в N P O , але не в B Q P O . Це дозволяє нам показати, що хоча квантові обчислення є потенційно потужними, є підстави очікувати, що BQP, ймовірно, не містить NP , і що версія відношення неструктурованого пошуку, зокрема, навряд чи міститиметься в FBQP, не накладаючи сильних обмежень на те, як вхід представлений.OONPOBQPO
\text{}
для написання назв класів складності. Наприклад\text{NP}
або\text{BQP}