Гроверов алгоритам

Гроверов алгоритам је квантни алгоритам за претраживање несортиране базе података са Н уноса у О(Н1/2) времену користећи О(лог Н) меморијског простора (видети велико О). Лов Гровер га је формулисао 1996.

У моделима класичног израчунавања, претраживање и сортирање несортиране базе података не може бити остварено за мање од линеарног времена (тако да је претраживање елемената члан - по - члан скоро оптимално). Гроверов алгоритам илуструје да у квантном моделу претрага може бити извршена брже од овога; то јест, његова временска сложеност О(Н1/2) је асимптотски најбржа могућа за претраживање несортиране базе података у квантном моделу.[1] Пружа квадратно побољшање, за разлику од других квантних алгоритама, који пружају експоненцијално побољшање у односу на њихове класичне алтернативе. Ипак, чак је и квадратно побољшање значајно када је Н велико.

Као и многи други квантни алгоритми, Гроверов алгоритам је пробабилистички у смислу да даје тачан резултат са високим процентом вероватноће. Вероватноћа појаве грешке може бити смањена понављањем алгоритма. (Пример детерминистичког квантног алгоритма је Деутсцх-Јозса алгоритхм, који увек даје тачан одговор.)

Примене

уреди

Иако се сврха Гроверовог алгоритма најчеће описује као "претраживање базе података", моће бити тачније описати је као "инверзија функције". Грубо речено, ако имамо функцију y=ф(x) која може бити евалуирана на квантном рачунару, овај алгоритам нам дозвољава да израчунамо x када је дато y. Инверзија функције је повезана са претрагом базе података тако што бисмо могли доћи до функције која даје тачну вредност y ако се x поклапа са жељеним уносом у базу, и још једну вредност y за остале вредности x.

Гроверов алгоритам се такође може користити за одређивање средишта и медијане скупа бројева, и за решавање проблема колизије. Алгоритам се може даље оптимизовати ако постоји више од једног траженог уноса и тражени број уноса је унапред познат.

Поставка

уреди

Узмимо несортирану базу података са Н уноса. Алгоритму је потребан Н-димензионални статусни простор Х, који може бити обезбеђен са н=лог2 Н кјубита. Узимајући у обзир проблем одређивања индекса уноса базе података који задовољава неки постављени услов. Нека је ф функција која означава уносе базе података са 0 или 1, где је ф(ω)=1 ако и само ако ω задовољава тражени услов. Доступан нам је (преко квантне црне кутије) приступ ка подпроблему у облику линеарног оператора, Уω, који се понаша као:

 
 

Наш циљ је да идентификујемо индекс  .

Кораци алгоритма

уреди
 
Квантно коло Репрезентација Гроверовог алгоритма

Кораци Гроверовог алгоритма су следећи: Нека је   униформна суперпозиција свих стања

 .

Тада је оператор

 

познат као Гроверов дифузиони оператор.

Ево алгоритма:

  1. Иницијализација система у стање
     
  2. Применити следеће "Гроверове итерације" р(Н) пута. Функција р(Н), која је асимптотски О(Н½), описана је доле.
    1. Применити оператор  .
    2. Применити оператор  .
  3. Применити мерење Ω. Резултати мерења ће бити λω са вероватноћом која се приближава 1 за Н≫1. Из λω, се може добити ω.

Прва итерација

уреди

Прелиминарна обсервација, паралелна са нашом дефиницијом

 ,

је да Уω може бити изражено на алтернативни начин:

 .

Да бисмо ово доказали довољно је проверити како се Уω понаша у базним стањима:

 .
  за све  .

Следећа израчунавања показују шта се догађа у првој итерацији:

 .
 .
 .
 
 .

После примене два оператора (  анд   ), амплитуда траженог елемента је опала од   до  .

Опис

уреди

Гроверовом алгоритму је потребан оператор "квантног одлучивања"   Који препознаје решења траженог проблема и даје им негативан знак. Да бисмо одржали алгоритам претраге општим, оставићемо унутрашња дешавања одлучивања као црну кутију, али ћемо објаснити како је знак промењен. Одлучивање садржи функцију   која враћа   ако је   решење траженог проблема и   у супротном. Одлучивање је линеарни оператор који делује на два кјубита, индекс кјубит   и кјубит одлучивања  :

 

Као и обично,   означава сабирање по модулу 2. Операција мења кјубит одлучивања ако   или га у супротном оставља непромењеног. У Гроверовом алгоритму желимо да променимо знак стања   ако обележава решење. Ово је постигнуто постављањем кјубита претраживања у стање  , које је промењено на   ако је   решење:

 

Разматрамо   као промењено, пошто кјубит одлучивања није промењен, па по конвенцији кјубити одлучивања обично нису поменути у опису Гроверовог алгоритма. Мада је операција одлучивања   једноставно написана као:

 

Геометријски доказ коректности

уреди
 
Слика приказује геометријску репрезентацију прве итерације Гроверовог алгоритма. Вектор стања   је ротиран ка циљном вектору   ас схоwн.

Посматрајмо раван разапету са   и  , где је   кет у подпростору нормалан на  . Посматраћемо прву итерацију, која це понаша као иницијални кет  . Пошто је   један од базних вектора у   преклапање је

 

На геометријском језику, угао   између   и   је дат као:

 

Оператор   је рефлексија на хиперраван ортогоналну на   за векторе у равни разапете са   и  ; нпр. понаша се као рефлексија преко  . Оператор   је рефлексија кроз  . Према томе, вектор стања остаје у равни разапетој са   и   после сваке примене оператора   и  , и једноставно је проверити да оператор   сваке Гроверове итерације ротира вектор стања за угао  .

Потребно је да станемо када вектор стања прође близу  ; након овога, подитерације ротирају вектор стања даље од  , умањујући вероватноћу добијања тачног одговора. Тачна вероватноћа тачности одговора је:

 

где јер (цео) број Гроверових итерација. Најраније где добијамо меру близу оптималне је према томе  .

Алгебарски доказ коректности

уреди

Да бисмо обавили алгебарску анализу потребно је да откријемо шта се догађа када више пута применимо  . Природан начин да се ово учини је помоћу анализе сопствених вредности матрице. Приметимо да током целокупног израчунавања, стање алгоритма је линеарна комбинација   и  . Можемо написати дејство од   и   у нормалном простору разапетом са   као:

 
 

Тако да у бази   (која није ни ортогонална нити база целокупног простора) дејство   примене   праћено са   дато је матрицом

 

Испада да је ова матрица веома згодна Жорданова форма. Ако оријентишемо  , то је

  где је  

Испоставља се да је р-ти степен матрице (У односу на р итерација)

 

Коришћењем ове форме можемо користити тригонометријске идентитете како бисмо израчунали вероватноћу посматрајући ω након р итерација поменутих у претходном одељку,

 .

Алтернативно, неко са правом може помислити да би време близу оптималног за разликовање било када су углови 2рт анд -2рт удаљени најдаље могуће, што је у вези са   ор  . Тада је систем у стању

 

Сада кратко израчунавање показује да обсервација доприноси тачном одговору ω са грешком О(1/Н).

Проширење простора за вишеструке поготке

уреди

Ако, уместо једног траженог уноса, постоји к уноса који одговарају, исти алгоритам важи, али број итерација мора бити π(Н/к)1/2/4 уместо πН1/2/4. Постоји неколико начина да се суочимо са случајем када је к непознато. На пример, један може применити Гроверов алгоритам неколико пута, са

 

итерација. За произвољно к, једна од итерација ће пронаћи тражени унос са довољно високом вероватноћом. Укупан број итерација је највише

 

што је и даље О(Н1/2). Може се показати да ово може бити унапређено. Ако је број означених појмова к, где је к непознато, постоји алгоритам који налази решење за   упита. Ова чињеница се може искористити за решавање проблема колизија.,[2][3]

Парцијална квантна претрага

уреди

Модификацију Гроверовог алгоритм,а названу парцијална квантна претрага, описали су Гровер и Радхакришнан 2004. године[4] I парцијалној претрази, нисмо заинтересовани за проналажење тачне адресе траженог појма, само неколико првих цифара адресе. Еквивалентно, можемо то посматрати као "сецкање" простора обухваћеног претрагом у блокове, и онда питати "у ком блоку се налази тражени појам?". У многим применама, оваква претрага доприноси довољно информација ако циљна адреса садржи тражену информацију. Како бисмо то показали, користићемо пример дат од стране L.К. Гровера, ако имамо листу студената уређену по просеку оцена, можемо бити заинтересовани само да ли је студент у доњем 25%, 25-50%, 50-70% или 75-100% проценту.

Да бисмо описали парцијалну претрагу, користићемо базу података подељену на   блокова, од којих је сваки величине  . Очигледно, проблем парцијалне претраге је једноставнији. Размотримо класичан приступ - одаберемо насумично један блок, па затим применимо уобичајену претрагу кроз остатак блокова (на језику теорије скупова лангуаге, комплемент). Уколико не пронађемо тражени појам, знаћемо да није у блоку у коме смо тражили. Просечан број итерација креће се од   до  .

Гроверовом алгоритму је потребно   итерација. Парцијална претрага ће бити бржа за нумерички фактор који зависи од броја блокова  . Парцијална претрага користи   глобалних итерација   локалних итерација. Глобални Гроверов оператор је означен са   док је локални Гроверов оператор означен са  .

Глобални Гроверов оператор делује на блокове. Специјално, дат је као:

  1. Применити   стандардних Гроверових итерација на целокупну базу.
  2. Применити   локалних Гроверових итерација. Локална Гроверова итерација је директна сума Гроверових итерација и сваког блока.
  3. Применити једну стандатдну Гроверову итерацију

Оптималне вредности   и   су размотрене у чланку Гровера и Радхакришнана. Неко се може запитати шта се дешава ако се примени узастопна парцијална претрага на различитим нивоима "резолуције". Ова идеја је детаљно проучена од стране Корепина анд Ксуа, који су је назвали квантно бинарно стабло претраге. Доказали су да да није бржа у односу на примену једне парцијалне претраге.

Оптималност

уреди

Познато је да је Гроверов алгоритам оптималан. Што ће рећи, било који алгоритам који приступа бази података коришћењем само оператора Уω мора применити Уω најмање онолико пута колико и Гроверов алгоритам.[1] Овај резултат је битан за разумевање ограничења квантног израчунавања. Да је проблем Гроверове претраге решив за логц Н применом Уω, из тога би следило да је класа НП садржана у БQП, свођењем проблема из НП на проблеме типа Гроверове претраге. Оптималност Гроверовог алгоритма налаже (али не доказује) да класа НП није садржана у БQП.

Број итерација за к пронађених погодака, π(Н/к)1/2/4, је такође оптималан.[2]

Референце

уреди
  1. ^ а б Беннетт C.Х., Бернстеин Е., Брассард Г., Вазирани У., Тхе стренгтхс анд wеакнессес оф qуантум цомпутатион. СИАМ Јоурнал он Цомпутинг . 26 (5): 1510—1523 http://www.cs.berkeley.edu/~vazirani/pubs/bbbv.ps.  Недостаје или је празан параметар |титле= (помоћ) (1997). Схоwс тхе оптималитy оф Гровер'с алгоритхм.
  2. ^ а б Мицхел Боyер; Гиллес Брассард; Петер Хøyер; Алаин Тапп (1998), „Тигхт Боундс он Qуантум Сеарцхинг”, Фортсцх. Пхyс., 46 (4–5): 493—506, Бибцоде:1998ФорПх..46..493Б, С2ЦИД 10032711, арXив:qуант-пх/9605034 , дои:10.1002/(СИЦИ)1521-3978(199806)46:4/5<493::АИД-ПРОП493>3.0.ЦО;2-П 
  3. ^ Андрис Амбаинис (2004), „Qуантум сеарцх алгоритхмс”, СИГАЦТ Неwс, 35 (2): 22—35, С2ЦИД 11326499, арXив:qуант-пх/0504012 , дои:10.1145/992287.992296 
  4. ^ Гровер, Лов К.; Радхакрисхнан, Јаикумар (2004). „qуант-пх/0407122”. арXив:qуант-пх/0407122 . 

Литература

уреди

Спољашње везе

уреди