Hindi nakaayos na paghahanap
Buod​
Magsisimula tayo sa paglalarawan ng problema na nireresolta ng algorithm ni Grover. Tulad ng dati, itatatakda natin ang bilang binary alphabet sa buong talakayan na ito.
Ipagpalagay na ang
ay isang function mula sa mga binary string na may haba patungo sa mga bit. Ipagpalagay natin na kaya nating kalkulahin ang function na ito nang mahusay, ngunit bukod doon ay arbitrary ito at hindi natin maaasahan na may espesyal na estruktura ito o isang partikular na implementasyon na angkop sa ating pangangailangan.
Ang ginagawa ng algorithm ni Grover ay maghanap ng string kung saan Tatawagin natin ang mga ganitong string na solusyon sa problema ng paghahanap. Kung mayroong maraming solusyon, ang alinman sa mga ito ay itinuturing na tamang output, at kung walang solusyon, ang tamang sagot ay nangangailangan na iulat natin na walang solusyon.
Ang gawaing ito ay tinatawag na problema ng hindi nakaayos na paghahanap dahil hindi natin maaasahan na ang ay may anumang partikular na estruktura para maging madali ito. Hindi tayo naghahanap sa isang ordered na listahan, o sa loob ng ilang data structure na espesyal na dinisenyo para mapadali ang paghahanap — sa esensya ay naghahanap tayo ng karayom sa isang mandala ng dayami.
Sa intuitive na pagsasalita, maaari nating isipin na mayroon tayong isang napaka-komplikadong Boolean circuit na nagkakalkula ng at madali nating maaaring patakbuhin ang circuit na ito sa isang napiling input string kung gusto natin. Ngunit dahil napakacomplex ng circuit, wala tayong pagkakataon na maunawaan ito sa pamamagitan ng pagsusuri nito (bukod sa kakayahang suriin ito sa mga napiling input string).
Isang paraan para isagawa ang gawaing paghahanap na ito nang klasikal ay ang simpleng pag-ulit sa lahat ng string sinusuri ang sa bawat isa para malaman kung ito ay solusyon o hindi. Mula rito, isulat natin ang
para sa kaginhawaan. Mayroong na mga string sa kaya ang pag-ulit sa lahat ng mga ito ay nangangailangan ng na evaluations ng Sa ilalim ng pagpapalagay na limitado tayo sa pag-evaluate ng sa mga napiling input, ito ang pinakamahusay na magagawa natin sa isang deterministic na algorithm kung gusto nating garantiyahan ang tagumpay. Sa isang probabilistic na algorithm, maaari tayong umasa na makatipid ng oras sa pamamagitan ng random na pagpili ng mga input string para sa ngunit kakailanganin pa rin natin ng na evaluations ng kung gusto nating mabigyan ng mataas na probabilidad ng tagumpay ang paraang ito.
Nireresolta ng algorithm ni Grover ang problema ng paghahanap na ito nang may mataas na probabilidad gamit lamang ang na evaluations ng Para maging malinaw, ang mga function evaluation na ito ay dapat na mangyari sa superposition, katulad ng mga query algorithm na tinalakay sa aralin na Quantum query algorithms, kabilang ang algorithm ni Deutsch, ang Deutsch-Jozsa algorithm, at ang algorithm ni Simon. Hindi tulad ng mga algorithm na iyon, ang algorithm ni Grover ay gumagamit ng iterative na diskarte: sinusuri nito ang sa mga superposition ng mga input string at inihahalo ang mga evaluations na ito sa iba pang mga operasyon na nagdudulot ng mga interference pattern, na nagreresulta sa isang solusyon nang may mataas na probabilidad (kung mayroon) pagkatapos ng na iterations.
Pormal na pahayag ng problema​
Ipopormal natin ang problema na nireresolta ng algorithm ni Grover gamit ang query model ng computation. Ibig sabihin, ipagpalagay nating mayroon tayong access sa function sa pamamagitan ng isang query gate na tinutukoy sa karaniwang paraan:
para sa bawat at Ito ang aksyon ng sa mga standard basis state, at ang aksyon nito sa pangkalahatan ay tinutukoy ng linearidad.
Tulad ng tinalakay sa aralin na Quantum algorithmic foundations, kung mayroon tayong Boolean circuit para sa pagkalkula ng maaari nating i-transform ang deskripsiyon ng Boolean circuit na iyon sa isang quantum circuit na nagpapatupad ng (gamit ang ilang bilang ng workspace qubits na nagsisimula at nagtatapos ng computation sa estado na ). Kaya, kahit gumagamit tayo ng query model para ipormal ang problema na nireresolta ng algorithm ni Grover, hindi ito limitado sa modelong ito; maaari nating patakbuhin ang algorithm ni Grover sa anumang function na mayroon tayong Boolean circuit.
Narito ang isang tumpak na pahayag ng problema, na pinangalanang Search dahil naghahanap tayo ng solusyon, ibig sabihin ang isang string na nagdudulot sa na mag-evaluate sa
Pansinin na ito ay hindi isang promise problem — ang function ay arbitrary. Magiging kapaki-pakinabang, gayunpaman, na isaalang-alang ang sumusunod na promise variant ng problema, kung saan garantisado na may eksaktong isang solusyon. Lumabas ang problemang ito bilang halimbawa ng promise problem sa aralin na Quantum query algorithms.
Pansinin din na ang problema ng Or na binanggit sa parehong aralin ay malapit na kaugnay ng Search. Para sa problemang iyon, ang layunin ay simpleng matukoy kung mayroon o wala bang solusyon, kumpara sa aktwal na paghanap ng solusyon.