Pagpili ng bilang ng iterations
Napatunayan na natin na ang state vector ng register sa Grover's algorithm ay nananatili sa two-dimensional subspace na sinasaklaw ng at kapag natapos na ang initialization step.
Ang layunin ay mahanap ang isang elemento at maaabot ito kung makukuha natin ang state β dahil kapag sinukat natin ang state na ito, garantisadong makukuha natin ang measurement outcome na Dahil ang state ng pagkatapos ng iterations sa step 2 ay
dapat nating piliin ang upang
ay maging kalapit ng hangga't maaari sa absolute value, para mapalaki ang probabilidad na makakuha ng mula sa measurement. Para sa anumang anggulo ang halaga ng ay nag-o-oscillate habang tumataas ang , kahit hindi ito kailangang peryodiko β walang garantiya na makukuha natin ang parehong halaga ng dalawang beses.
Natural na, bukod sa pagiging malaki ng probabilidad na makakuha ng elemento mula sa measurement, nais din nating piliin ang pinakamaliit na hangga't maaari, dahil ang na aplikasyon ng operasyon ay nangangailangan ng na queries sa function Dahil layunin nating gawing malapit sa ang sa absolute value, isang natural na paraan ay ang pumili ng upang
Kapag sinolve para sa makukuha natin ang
Siyempre, dapat integer ang , kaya hindi natin palaging maaabot nang eksakto ang halagang ito β ngunit ang magagawa natin ay ang kumuha ng pinakamalapit na integer sa halagang ito, na kung saan ay
Ito ang inirerekomendang bilang ng iterations para sa Grover's algorithm. Habang tinatapusin ang pagsusuri, makikita natin na ang pagiging malapit ng integer na ito sa target na halaga ay natural na nakakaapekto sa performance ng algorithm.
(Bilang paalala, kung ang target na halaga na ay eksaktong nasa kalagitnaan ng dalawang integer, ang expression na ito ng ang makukuha sa pamamagitan ng pag-round up. Maaari ring i-round down, na mas makatuwirang gawin dahil nangangahulugang isang query na mas kaunti β ngunit ito ay pangalawa at hindi mahalaga para sa layunin ng aralin.)
Alalahanin na ang halaga ng anggulo ay ibinibigay ng formula
makikita natin na ang inirerekomendang bilang ng iterations na ay nakasalalay sa bilang ng mga string sa Nagdudulot ito ng hamon kung hindi natin alam kung gaano karaming solusyon mayroon tayo, tulad ng tatalakayin natin sa ibang pagkakataon.
Natatanging paghahanapβ
Una, tukuyin natin ang sitwasyon kung saan mayroon lamang isang string na na Isa pang paraan ng pagsabi nito ay isinasaalang-alang natin ang isang instance ng problema ng Unique search. Sa kasong ito mayroon tayong
na maaaring maginhawang i-approximate bilang
kapag nagiging malaki ang Kung papalitan natin ng sa expression na
makukuha natin
Alalahanin na ang ay hindi lamang ang bilang ng beses na ginagawa ang operasyon , kundi pati na rin ang bilang ng queries sa function na kailangan ng algorithm, kaya nakikita nating papalapit na tayo sa pagkuha ng algorithm na nangangailangan ng na queries.
Ngayon ay susuriin natin kung gaano kahusay ang inirerekomendang pagpili ng Ang probabilidad na ang panghuling measurement ay magreresulta sa natatanging solusyon ay maaaring ipahayag nang malinaw bilang
Ang unang argument, ay tumutukoy sa bilang ng mga item na hinahanap natin, at ang pangalawang argument, na sa kasong ito, ay tumutukoy sa bilang ng mga solusyon. Kalaunan ay gagamitin natin ang parehong notasyon nang mas pangkalahataan, kung saan may maramihang solusyon.
Narito ang isang talahanayan ng mga probabilidad ng tagumpay para sa mga tumataas na halaga ng
Pansinin na ang mga probabilidad na ito ay hindi mahigpit na tumataas. Partikular na, may kagiliw-giliw na anomalya kapag kung saan nakakakuha tayo ng solusyon nang may katiyakan. Ngunit maaaring mapatunayan sa pangkalahatan na
para sa lahat ng kaya ang probabilidad ng tagumpay ay papalapit sa sa limitasyon habang nagiging malaki ang tulad ng iminumungkahi ng mga halagang nabanggit sa itaas. Maganda ito!
Ngunit pansinin, gayunpaman, na kahit isang mahinang hangganan tulad ng ay nagpapatunay ng utility ng Grover's algorithm. Para sa anumang measurement outcome na na makukuha natin mula sa pagpapatakbo ng pamamaraan, palagi nating masusuri kung gamit ang isang query sa At kung mabigo tayong makuha ang natatanging string na na may probabilidad na hindi hihigit sa sa isang pagpapatakbo ng pamamaraan, pagkatapos ng na magkakalayong pagpapatakbo ng pamamaraan ay mabibigo tayong makuha ang natatanging string na ito na may probabilidad na hindi hihigit sa Ibig sabihin, gamit ang na queries sa makukuha natin ang natatanging solusyon na may probabilidad na hindi bababa sa Gamit ang mas mahusay na hangganan na makikita na ang probabilidad ng paghanap ng gamit ang pamamaraang ito ay talagang hindi bababa sa
Maramihang solusyonβ
Habang nagbabago ang bilang ng mga elemento sa , nagbabago rin ang anggulo na maaaring magkaroon ng malaking epekto sa probabilidad ng tagumpay ng algorithm. Para sa brevity, isulat natin ang upang tukuyin ang bilang ng mga solusyon, at tulad ng dati ay ipagpalagay nating
Bilang motivating example, isipin natin na mayroon tayong na solusyon sa halip na isang solusyon, tulad ng tiningnan natin sa itaas. Ibig sabihin nito
na halos doble ng anggulo na mayroon tayo sa kaso ng kapag malaki ang Ipagpalagay nating hindi natin alam nang mas mabuti, at pinili ang parehong halaga ng tulad sa setting ng natatanging solusyon:
Ang epekto ay magiging mapaminsala tulad ng ipinapakita ng sumusunod na talahanayan ng mga probabilidad.
Sa pagkakataong ito ang probabilidad ng tagumpay ay papalapit sa habang lumalaki ang Nangyayari ito dahil epektibo tayong umiikot nang doble ang bilis kumpara sa noong may natatanging solusyon, kaya nalalampasan natin ang target na at napupunta malapit sa
Gayunpaman, kung gagamitin natin ang inirerekomendang pagpili ng na kung saan ay
para sa
mas maganda ang magiging performance. Upang maging mas tiyak, ang paggamit ng pagpiling ito ng ay nagdudulot ng tagumpay na may mataas na probabilidad.
Ginagawang pangkalahataan ang nabanggit nang mas maaga, maaaring mapatunayan na
kung saan ginagamit natin ang notasyong iminungkahi nang mas maaga: ang ay tumutukoy sa probabilidad na ang Grover's algorithm na pinatakbo para sa na iterations ay magsisiwalat ng solusyon kapag mayroon na solusyon sa kabuuan mula sa na posibilidad.
Ang lower bound na ito na sa probabilidad ng tagumpay ay medyo kakaiba dahil ang mas maraming solusyon ay nagbibigay ng mas masamang lower bound β ngunit sa ilalim ng pagpapalagay na ang ay makabuluhang mas maliit kaysa maaari pa ring masabi natin na ang probabilidad ng tagumpay ay medyo mataas. Tulad ng dati, ang katotohanan lamang na ang ay medyo malaki ay nagpapatunay ng utility ng algorithm.
Nangyayari rin na
Ang lower bound na ito ay naglalarawan ng probabilidad na ang isang string na na pinili nang random ay isang solusyon β kaya ang Grover's algorithm ay palaging hindi bababa sa random guessing. (Sa katunayan, kapag ang Grover's algorithm ay random guessing.)
Ngayon tingnan natin ang bilang ng iterations (at samakatuwid ang bilang ng queries)
para sa
Para sa bawat totoo na ang kaya
Ipinapahiwatig nito na
Nagdudulot ito ng pagtitipid sa bilang ng queries habang lumalaki ang Partikular na, ang kinakailangang bilang ng queries ay
Hindi kilalang bilang ng solusyonβ
Kung ang bilang ng mga solusyon na ay hindi kilala, kailangan ng ibang diskarte, dahil sa sitwasyong ito wala tayong kaalaman sa na magbibigay-impormasyon sa ating pagpili ng Sa katunayan, mayroon pang maraming diskarte.
Isang simpleng diskarte ay ang pumili ng
nang random na pantay-pantay. Ang pagpili ng sa ganitong paraan ay palaging nakakahanap ng solusyon (kung mayroon man) na may probabilidad na higit sa 40%, kahit hindi ito halata at nangangailangan ng pagsusuri na hindi isasama dito. Makatuwiran naman ito, partikular na kapag iniisip natin ang geometric na larawan: ang pag-ikot ng state ng nang random na bilang ng beses tulad nito ay hindi iba sa pagpili ng random na unit vector sa space na sinasaklaw ng at na para sa mga iyon ay malamang na malaki ang coefficient ng Sa pamamagitan ng pag-uulit ng pamamaraang ito at pagsusuri ng outcome sa parehong paraan tulad ng inilarawan nang mas maaga, ang probabilidad na mahanap ang solusyon ay maaaring gawing malapit sa
Mayroong isang pinahusay na pamamaraan na nakakahanap ng solusyon kapag mayroon gamit ang na queries, kahit hindi kilala ang bilang ng solusyon na , at nangangailangan ng na queries upang matukoy na walang solusyon kapag
Ang pangunahing ideya ay ang pumili ng nang random mula sa set na nang paulit-ulit, para sa mga tumataas na halaga ng Partikular na, maaari tayong magsimula sa at taasan ito nang exponential, palaging tinatatapos ang proseso sa sandaling mahanap ang solusyon at nililimitahan ang upang hindi masayang ang mga queries kapag walang solusyon. Ginagamit ng proseso ang katotohanan na mas kaunting queries ang kailangan kapag mas maraming solusyon. Ngunit kailangan ng ilang pag-iingat upang balansehin ang rate ng paglaki ng sa probabilidad ng tagumpay para sa bawat iteration. (Ang paggamit ng ay gumagana, halimbawa, tulad ng ipinapakita ng pagsusuri. Ang pag-double ng gayunpaman, ay hindi gumagana β ito pala ay masyadong mabilis na pagtaas.)
Ang mga trivial na kasoβ
Sa buong pagsusuri na ginawa natin ngayon, ipinagpalagay natin na ang bilang ng mga solusyon ay hindi zero. Sa katunayan, sa pamamagitan ng pagtukoy sa mga vector
impliside nating ipinagpalagay na ang at ay parehong hindi walang laman. Dito natin titingnan nang maikli kung ano ang nangyayari kapag isa sa mga set na ito ay walang laman.
Bago pa man natin simulan ang pagsusuri, pansinin ang halata: kung bawat string na ay isang solusyon, makikita natin ang solusyon kapag nasukat natin; at kapag walang solusyon, hindi natin makikita ang isa. Sa ilang paraan ay hindi na kailangang pumunta pa nang mas malalim kaysa dito.
Maaari nating, gayunpaman, mabilis na i-verify ang matematika para sa mga trivial na kasong ito. Ang sitwasyon kung saan isa sa at ay walang laman ay nangyayari kapag constant ang ; ang ay walang laman kapag para sa bawat at ang ay walang laman kapag para sa bawat Ibig sabihin nito
at samakatuwid
Kaya, anuman ang bilang ng iterations na na ginagawa natin sa mga kasong ito, ang mga measurement ay palaging magsisiwalat ng uniform random string na