Алгоритм Гровера та його відношення до класів складності?


12

Мене плутає алгоритм Гровера і його зв'язок з класами складності.

Алгоритм Гровера знаходить і елемент k у базі даних (такий, що ) елементів з викликає оракул. f ( k ) = 1 N=2нf(к)=1

N=2н/2

Отже, у нас є така проблема:

Проблема: Знайдіть у базі даних, щоf ( k ) = 1кf(к)=1

Тепер я усвідомлюю, що це не проблема вирішення, і тому наші звичайні визначення класу складності , тощо не дійсно застосовуються. Але мені цікаво знати, як ми б визначили клас складності в такому випадку - а погода це робиться щодо або ?NP N nПНПNн

Крім того, алгоритм Гровера може використовуватися як підпрограма. Я читав у кількох місцях, що алгоритм Гровера не змінює клас складності проблеми - чи є евристичний спосіб це побачити.


Розглянемо використання \text{}для написання назв класів складності. Наприклад \text{NP}або\text{BQP}
Санчаян Дутта

1
Я не впевнений, що ви тут просите. Алгоритми не можуть бути членами класів складності, оскільки класи складності містять обчислювальні задачі. Ви запитуєте, чи міститься проблема, зазначена у питанні, у «відомому» класі складності чи є повною для нього? Ви запитуєте, чи призводить «відкриття» алгоритму Гровера до теореми про співвідношення відомих класів складності? Поясніть будь ласка.
Дискретна ящірка

Відповіді:


6

Підсумок

  • Існує теорія складності проблем пошуку (також відома як проблеми відношення). Ця теорія включає класи під назвою 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:H2m+1H2m+1O|a|b=|a|bf(a)f:{0,1}m{0,1}y .O|y|0=|y|1

Тут сам оракул є входом до проблеми: він відіграє роль , а відношення, яке ми обчислюємо, R ( O , y )x

R(О,у)[О|у|0=|у|1][f(у)=1].

Припустимо, що замість оракула нам надається конкретний вхід який описує, як функція f обчислюється, то ми можемо розглянути, до якого класу складності належить ця проблема. Як вказує , відповідний клас складності, який ми отримуємо, залежить від того, як надається вхід.хfpyramids

  • Припустимо, що функція введення надається у вигляді бази даних (як іноді описується проблема), де кожен запис у базу даних має деяку довжину . Якщо n - довжина рядка x, що використовується для опису всієї бази даних , то база даних має N = n / записів. Тоді можна вичерпно шукати всю базу даних, запитуючи послідовно кожен з N записів, і зупиняти, якщо ми знайдемо запис y такий, що f ( y ) = 1 . Припустимо, що кожен запит до бази даних займає щось на зразок O (нхN=н/Nуf(у)=1 час, ця процедура зупиняється в часі O ( N log N ) O ( n log n ) , так що проблема вFP.О(журналN)О(журналн)О(NжурналN)О(нжурналн)

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

  • Припустимо, що функція введення описується лаконічно алгоритмом поліноміального часу, який приймає специфікацію та аргументом y { 0 , 1 } m та обчислює O : H m + 1 2х{0,1}ну{0,1}мО:Н2м+1Н2м+1на стандартній основі стан , де м може бути значно більше , ніж П ( журнал п ) . Прикладом може бути, коли x визначає форму CNF деякої булевої функції f : { 0 , 1 } m{ 0 , 1 } для m O ( n ) , і в цьому випадку ми можемо ефективно оцінити f ( y ) на вході y |у|бмΩ(журналн)хf:{0,1}м{0,1}мО(н)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|OO(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/NnxONO(2n/2)запити затьмарюють чіткіше повідомлення про те, що цей алгоритм все ще є експоненціальним часом для квантового комп'ютера.O(N)

Складність рішення з проблем відносин

Існує прямий спосіб отримати проблеми рішення з проблем відносин, який добре відомий з теорії NP- незавершених проблем: перетворити пошукову проблему на питання про існування справедливого рішення.

Версія рішення загальної проблеми пошуку.
Давши вхід та двійкове відношення R , визначте, чи виконується ∃ y : R ( x , y ) .xRy: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=111n

  • знайти 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


2

Класи складності, як правило, визначаються з урахуванням розміру вхідних даних. Відповідні розміри тут (кількість кубітів, з якими ви дозволяєте алгоритму Гровера) та число, яке ви ще не згадали, називайте його m , з бітів, необхідних для опису підпрограми, яка зазвичай називається оракул. Як правило, оракул буде ефективно реалізований у спосіб, який масштабує поліноміально на n , що є випадком, наприклад, якщо ви кодуєте типову булеву проблему задоволеності в оракулі.nmn

У будь-якому випадку, ви не отримаєте виграш в класі складності з використанням алгоритму Гровер: Він приймає експоненціально багато квантових операцій, як правило , , щоб вирішити проблему , ми могли б грубу силу в геометричній прогресії числа кроків, як правило , м * 2 n - 1 , на класичному комп’ютері все одно. Це означає, що проблеми, відомі (наприклад, EXPTIME) або підозрювані (наприклад, NP) для експоненціального виконання, все ще вимагатимуть експоненціального часу виконання.m2n/2m2n1

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


" фізики люблять апелювати до думки, що це все-таки експоненціальна швидкість при невідомому " ... ти мав на увазі написати " все-таки поліномальна швидкість "?
glS

Ні, це дійсно експоненціальна швидкість (просто недостатньо, щоб перетворити експоненціальний час виконання в неекспоненціальний).
піраміди

2

Весь підрахунок проводиться через , кількість бітів, необхідних для опису вхідних даних.n

Клас задач ми визначаємо наступним чином (або це один із способів):NP

Нехай - функція, яка приймає вхід x { 0 , 1 } n і повертає одне бітове значення 0 або 1. Завдання полягає в тому, що ви повинні знайти, чи задане значення x повертає a 1. Однак, є додаткова структура проблеми: якщо f ( x ) = 1 , ви гарантуєте, що існує доказ p x (розміру m poly ( n ) ), такий, що функція g ( x , p x )f(x)x{0,1}nxf(x)=1pxmpoly(n) лише якщо f ( x ) = 1 , а функція g ( x , p x ) є ефективно обчислюваною (тобто вона має час роботи poly ( n ) .g(x,px)=1f(x)=1g(x,px)poly(n)

Дозвольте мені навести декілька прикладів (можливо , це те, що ви просили тут ?):

  • Паритет: відповідає на питання "чи х непарне?". Це настільки тривіально (просто візьміть найменш значущий біт x ), що f ( x ) ефективно обчислюється безпосередньо, і тому доказ є зайвим, g ( x , p x ) = f ( x ) .f(x)xxf(x)g(x,px)=f(x)

  • Складені числа: відповідає на питання «чи є десятковим поданням x складене число?». Одним із можливих доказів у напрямку так (вам потрібно лише довести цей напрямок) є наведення пари факторів. наприклад x = 72 , p x = ( 8 , 9 ) . Тоді g ( x , p ) просто включає множення разом факторів і перевірку їх рівності x .f(x)xx=72px=(8,9)g(x,p)x

  • Графічний ізоморфізм: Дано два графіки і G 2 (тут x містить опис обох графіків), f ( x ) відповідає на питання "чи є два графіки ізоморфними?". Доказ р х перестановка: твердження про те , як вершини в G 1 мапі до тих G 2 . Функція g ( x , p x ) перевіряє, що p x є дійсною перестановкою, переставляє вершини G 1G1G2xf(x)pxG1G2g(x,px)pxG1використовуючи вказану перестановку і перевіряє, що матриця примикання така ж, як у .G2

  • Сапер : стара улюблена гра, вбудована у вікна (та інші), може бути виражена так. Уявіть дошку шахтника, яка частково не розкрита, тому деякі осередки невідомі, а деякі осередки виявлені, щоб виявити, скільки мін знаходиться у сусідніх осередках. Це все вбудовано у змінну . f ( x ) задає питання "чи дійсне призначення мін на непокритому регіоні?". Доказ, p x - це просто одне таке призначення мін. Це легко перевірити за допомогою g ( x , p x ), що просто забезпечує узгодженість з усіма відомими обмеженнями.xf(x)pxg(x,px)

Усі ці проблеми знаходяться в оскільки вони відповідають визначенню ефективного рішення. Деякі з них , як відомо, в Р , а також: ми вже говорили , що непарне тестування в P . Складені числа також є, тому що ефективно перевірити, чи є число простим, використовуючи тестування первинності AKS .NPPP

Ізоморфізм графів і тральщик невідомо, що в . Дійсно, тральщик відомо , що NP -повна, тобто , якщо вона може бути ефективно вирішена, кожна проблема в НП в P . Багато людей підозрюють, що P NP , а значить, і тральщик матиме екземпляри, для вирішення яких потрібно більше часу, ніж поліном.PNPNPPPNP

Один з можливих способів вирішити задачу - це для фіксованого x просто протестувати всі можливі докази p x до максимальної довжини m = poly ( n ) і побачити, чи є задовольняюче рішення, тобто шукати рішення g ( x , p x ) = 1 . Очевидно, що потрібен час O ( 2 м полі ( м ) )NPxpxm=poly(n)g(x,px)=1O(2mpoly(m)), оскільки для пошуку є багато експоненціально елементів, кожен з яких потребує часу для обчислення полінома. Це можна покращити, здійснюючи пошук Гровера: ми просто шукаємо рішення (тобто дійсний p x стає позначеним елементом), і це потребує часу O ( 2 м / 2 полі ( м ) )g(x,px)=1pxO(2m/2poly(m)). Це масово швидше, але не змінює оцінку того, чи є час роботи багаточленним чи щось гірше; він не став алгоритмом багаточленного часу. Наприклад, графний ізоморфізм повинен був би шукати всі можливі перестановки. Тральщику доведеться шукати всі можливі призначення мін на непокритих площах.

Звичайно, деякий час додаткова структура проблеми дозволяє вирішувати різні рішення, які не потребують пошуку всіх можливих доказів. Там пошук Гровера є меншим, а то й зовсім не корисним для нас, але, можливо, ми можемо придумати алгоритм поліноміального часу іншим способом. Наприклад, випадок комбінованого тестування: класично знайти фактори чисельності здається важким: ми не можемо зробити набагато краще, ніж перевірити всі можливі фактори, тому використання такої форми доказування не дуже допомагає, але як уже було сказано, питання можна ефективно вирішити іншим маршрутом, тестуванням первинності AKS.


Класи P і NP зазвичай визначаються як класи мов або проблеми вирішення, наприклад, у відповіді на це запитання . Хоча вони можуть бути «закодовані» як функції з бінарним висновком, як ви робите тут, це трохи нестандартно в теорії складності.
Дискретна ящірка

f(х)

Ви можете визначати речі, що завгодно, але я вважаю, що корисно згадати, що це не стандартно, коли, наприклад, читачі перевіряють інші джерела. Звідси коментар.
Дискретна ящірка

-1

Забудьте про базу даних. Алгоритм Гровера вирішує булеву задачу задоволеності , а саме:

н10

Відомо, що ця проблема є NP-завершеною.


3
У тому, що ви говорите, є елемент істини --- що майже завжди слід думати про оракул як про оцінку функції, а не для пошуку в базі даних; і якщо цю функцію можна оцінити в поліноміальний час, то це фактично екземпляр SAT, який справді є NP-завершеним. Але з огляду на те, що прискорення від Grover є найбільш квадратичним, не ясно, що NP-повнота SAT має відношення до того, що насправді працює алгоритм Гровера.
Ніль де Бодорап

2
Через неосвіченість чи тролінг нахил я більше не збираюся сприяти цьому форуму.
клюд

@kludg Я визнаю, що один з тих, хто відмовився, мій, тому дозвольте мені пояснити; Ваша відповідь без додаткового контексту чи пояснень не відповідає на жодне з питань, які я поставив в ОП. Це цікаво, але, наскільки це скажу, це не стосується моїх конкретних питань. Зараз я можу помилитися з цього приводу, і ви відповідаєте насправді, це відповідь на деякі мої запитання - якщо це так, я не вірю, що на них явно не відповідають.
Квантове спагеттіфікація
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.