Etsintäongelman kvanttialgoritmi. Jari Tuominiemi

Samankaltaiset tiedostot
Tekijöihinjaon kvanttialgoritmi

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

MS-A0003/A Matriisilaskenta Laskuharjoitus 6

MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ

MS-A0004/MS-A0006 Matriisilaskenta Laskuharjoitus 6 / vko 42

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

KVANTTILASKENTA. Klassinen laskettavuus vs. kvanttilaskenta (QC)

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 4 / vko 47

1 Kannat ja kannanvaihto

MS-A0004/A0006 Matriisilaskenta

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Ratkaisuehdotukset LH 7 / vko 47

BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

1 Lukujen jaollisuudesta

Tehtävä 2. Osoita, että seuraavat luvut ovat algebrallisia etsimällä jokin kokonaislukukertoiminen yhtälö jonka ne toteuttavat.

2017 = = = = = = 26 1

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

6 MATRIISIN DIAGONALISOINTI

MS-C1340 Lineaarialgebra ja

Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006)

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

9 Matriisit. 9.1 Matriisien laskutoimituksia

7 Vapaus. 7.1 Vapauden määritelmä

Insinöörimatematiikka D

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Määritelmä Olkoon T i L (V i, W i ), 1 i m. Yksikäsitteisen lineaarikuvauksen h L (V 1 V 2 V m, W 1 W 2 W m )

5 Ominaisarvot ja ominaisvektorit

Neliömatriisi A on ortogonaalinen (eli ortogonaalimatriisi), jos sen alkiot ovat reaalisia ja

a b 1 c b n c n

Lineaarialgebra ja differentiaaliyhtälöt Laskuharjoitus 1 / vko 44

Ominaisarvo ja ominaisvektori

Sekalaiset tehtävät, 11. syyskuuta 2005, sivu 1 / 13. Tehtäviä

Reaalilukuvälit, leikkaus ja unioni (1/2)

Kompleksiluvut., 15. kesäkuuta /57

Lukuteorian kertausta

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

Vektoreiden virittämä aliavaruus

Lineaarialgebra ja matriisilaskenta I

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)

Johdatus tekoälyn taustalla olevaan matematiikkaan

Konformigeometriaa. 5. maaliskuuta 2006

Algebra I, harjoitus 5,

Salausmenetelmät LUKUTEORIAA JA ALGORITMEJA. Veikko Keränen, Jouko Teeriaho (RAMK, 2006) 3. Kongruenssit. à 3.4 Kongruenssien laskusääntöjä

MS-C1340 Lineaarialgebra ja

Matematiikan tukikurssi

kaikille a R. 1 (R, +) on kommutatiivinen ryhmä, 2 a(b + c) = ab + ac ja (b + c)a = ba + ca kaikilla a, b, c R, ja

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio

Matematiikka B2 - Avoin yliopisto

Matematiikan tukikurssi, kurssikerta 3

Vapaus. Määritelmä. Vektorijono ( v 1, v 2,..., v k ) on vapaa eli lineaarisesti riippumaton, jos seuraava ehto pätee:

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Johdatus kvantti-informatiikkaan

Matriisilaskenta Luento 12: Vektoriavaruuden kannan olemassaolo

Lineaarikuvauksen R n R m matriisi

Lineaarialgebra ja matriisilaskenta II Syksy 2009 Laskuharjoitus 1 ( ) Ratkaisuehdotuksia Vesa Ala-Mattila

Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe Ratkaisuehdotus. 1. (35 pistettä)

3.1 Lineaarikuvaukset. MS-A0004/A0006 Matriisilaskenta. 3.1 Lineaarikuvaukset. 3.1 Lineaarikuvaukset

Alijärjestelmän mittaus ja muita epätäydellisiä mittauksia

MS-A0107 Differentiaali- ja integraalilaskenta 1 (CHEM)

Kantavektorien kuvavektorit määräävät lineaarikuvauksen

Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe klo 10 13

Lineaarialgebra ja matriisilaskenta I

Insinöörimatematiikka D, laskuharjoituksien esimerkkiratkaisut

Vektorialgebra 1/5 Sisältö ESITIEDOT: vektori

Diofantoksen yhtälön ratkaisut

Insinöörimatematiikka D

Talousmatematiikan perusteet: Luento 11. Lineaarikuvaus Matriisin aste Käänteismatriisi

Matematiikan peruskurssi 2

Similaarisuus. Määritelmä. Huom.

Paulin spinorit ja spinorioperaattorit

Lineaariset kongruenssiyhtälöryhmät

2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio

763306A JOHDATUS SUHTEELLISUUSTEORIAAN 2 Ratkaisut 1 Kevät y' P. α φ

1 Lineaariavaruus eli Vektoriavaruus

(a) avoin, yhtenäinen, rajoitettu, alue.

10 Matriisit ja yhtälöryhmät

Ennakkotehtävän ratkaisu

Matikkapaja keskiviikkoisin klo Lineaarialgebra (muut ko) p. 1/81

2.5. Matriisin avaruudet ja tunnusluvut

Lineaarinen optimointitehtävä

7.4 Sormenjälkitekniikka

3. Kongruenssit. 3.1 Jakojäännös ja kongruenssi

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A)

Kanta ja dimensio 1 / 23

Kvanttitietokoneet, kvanttilaskenta ja kvanttikryptografia. Kvanttimekaniikka. Kvanttimekaniikan perusperiaatteet. Kvanttimekaniikan sovelluksia

Lukion matematiikkakilpailun alkukilpailu 2015

ax + y + 2z = 0 2x + y + az = b 2. Kuvassa alla on esitetty nesteen virtaus eräässä putkistossa.

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

MATP153 Approbatur 1B Ohjaus 2 Keskiviikko torstai

Suorista ja tasoista LaMa 1 syksyllä 2009

MS-A0402 Diskreetin matematiikan perusteet

Sisätuloavaruudet. 4. lokakuuta 2006

Vektorien virittämä aliavaruus

Avaruuden R n aliavaruus

Transkriptio:

Etsintäongelman kvanttialgoritmi Jari Tuominiemi Helsinki 22.11.2004 Vaihtoehtoiset laskentaparadigmat -seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

i Sisältö 1 Johdanto 1 2 Kvanttilaskennan perusteita 1 3 Groverin algoritmi 3 3.1 Algoritmin vaiheet... 3 3.2 Esimerkki algoritmin käytöstä... 6 3.3 Algoritmin toimivuus käytännössä... 7 3.4 Algoritmin sovelluskohteet... 10 4 Yhteenveto 10 Lähteet 11

1 1 Johdanto Etsintäongelma, jossa halutaan tutkia, löytyykö järjestämättömästä joukosta tietyn ehdon täyttävä alkio, on perinteisillä laskentamenetelmillä työläs. Ainoa keino on käydä joukkoa läpi alkio kerrallaan ja testata ehtoa. Ongelman vaativuus on siis luokkaa O N. Kvanttilaskenta voi kuitenkin tuoda helpotusta tilanteeseen. Lov Grover kehitti vuonna 1996 algoritmin, joka ratkaisee ongelman kvanttitietokoneella O N askeleella. Tämä työ esittelee Groverin algoritmin perusteita, ominaisuuksia, käyttöä ja rajoituksia. Aluksi esitellään muutamia perusasioita kvanttilaskennasta. 2 Kvanttilaskennan perusteita Tässä luvussa käsitellään kvanttilaskentaa sen verran, että lukija pystyy ymmärtämään Groverin algoritmin toimintaa. Perusteellinen esitys aiheesta löytyy esimerkiksi Riefelin ja Polakin julkaisusta [RiP00]. Kvanttilaskennassa käytetään kvanttibittejä. Kvanttibitin tilaa voi kuvata yksikkövektorilla a 0> + b 1>, jossa kantavektori 0> = (1 0) T ja 1> = (0 1) T muodostavat etukäteen kiinnitetyn ortonormaalin kannan. Tällaista kantavektorien lineaarikombinaatiota nimitetään yleensä superpositioksi. Kantavektorien kertoimia a ja b kutsutaan amplitudeiksi. Niille pätee yhtälö a 2 + b 2 = 1. Erilaisia kvanttitiloja voi olla ääretön määrä, mutta mitattaessa tila romahtaa joko kantavektoriksi 0> tai 1> vastaavilla todennäköisyyksillä a 2 ja b 2. Mittaamalla voidaan siis saada vain kaksi mahdollista tilaa, jotka voidaan samaistaa klassisiksi biteiksi 0 ja 1. Kvanttilaskennan varsinainen voima tulee useiden kvanttibittien yhdistelmästä. Jos n bittiä yhdistetään, saadaan 2 n erilaista kantavektoria. Kvanttibitit yhdistetään tensoritulolla. Esimerkiksi kahden bitin tensoritulo voidaan kirjoittaa (a 0> + b 1>) (c 0> + d 1). Kun lyhennetään x> y> = xy> ( tai x, y>), tulo

voidaan kirjoittaa ac 00> + ad 01> + bc 10> + bd 11>. Vektorien tensoritulo saadaan seuraavasti: esimerkiksi 01> = 1* 0 0 1 = 1 (1) 0 0* 0 0 1 2 Nyt on neljä kantavektoria, ja mitattaessa superposition tila romahtaa johonkin niistä todennäköisyydellä, jota kuvaa amplitudin itseisarvon neliö. Esimerkiksi tilaan 01> päädytään todennäköisyydellä ad 2. Kvanttitiloja voidaan operoida unitaarisilla matriiseilla. Matriisi on unitaarinen, jos sen ja sen konjugaattitranspoosin tulo on yksikkömatriisi. Tärkeä esimerkki on Hadamardin muunnos: Kvanttitila kerrotaan matriisilla H = 1 2 1 1 1-1 (2) Kun muunnos H tehdään n kvanttibitille erikseen, saadaan Walsh-Hadamardin muunnos W = H H... H, joka on 2 n * 2 n -kokoinen matriisi. Matriisien tensoritulo lasketaan samalla tavalla kuin vektorienkin: esimerkiksi matriisien A ja B tensoritulossa A:n jokaisen alkion a tilalle tulee matriisi B kerrottuna a:lla.

3 3. Groverin algorimi Lov Grover on kehittänyt kvanttilaskentaan perustuvan algoritmin [Gro96], joka tarjoaa ratkaisun hyvin yksinkertaiseen ongelmaan: On annettu joukko, jossa on N alkiota. Tehtävänä on etsiä joukosta ehdon P täyttävä alkio. Merkitään P(x)=1, jos ja vain jos x on etsitty alkio, ja P(x) = 0 muuten. Perusidea on nyt, että alkiot koodataan n kvanttibitin (2 n N) kantatiloiksi 000.. 00>, 000... 01>... 111... 11>. Superpositiotila romahtaa mitattaessa tietyllä todennäköisyydellä johonkin kantatilaan. Muodostetaan aluksi tila, jossa kaikki amplitudit (ja siis todennäköisyydet) ovat yhtä suuria. Algoritmin seuraavat askeleet vahvistavat etsittyjä alkioita vastaavien kantatilojen amplitudeja. Näitä vaiheita toistetaan tietty lukumäärä, ja lopuksi tila mitataan. Nyt saadaan haluttu alkio (jos sellainen on olemassa) suurella todennäköisyydellä. Katsotaan seuraavaksi yksityiskohtaisesti eri vaiheita 3.1 Algoritmin vaiheet VAIHE 1 Muodostetaan aluksi n-bittinen kantatila 0000... 00>. Sitten tilaa operoidaan Walsh- Hadamardin muunnoksella. Näin saadaan tila, jossa kaikki amplitudit ovat yhtä suuria. W( 000... 00>)= 1 2 n x=2 n 1 x> (3) x=0 Liitetään ylläolevaan superpositioon lisäksi tilassa 1 2 ( 0> - 1>) oleva tulosbitti b. Tällä valinnalla on tärkeä merkitys vaiheen 2 kannalta.

4 VAIHE 2 Tässä vaiheessa suoritetaan kyselyoperaatio Q, joka tarkistaa ehdon P toteutuvuuden. Mikäli P(x)=1, lisätään tulosbittiin 1 ( modulo 2). Katsotaan seuraavaksi, miten Q:lla operointi vaikuttaa kvanttitilaan. Erotellaan alkiot kahdeksi joukoksi: X 1 :een kuuluvat alkiot toteuttavat ehdon P(x)=1 ja X 0 :aan kuuluvat eivät.. Kirjoitetaan lisäksi b auki. Saadaan Q ( 1 2 ( x,b> x,b> )) n x X0 = 1 2 Q ( x,0> x,0> x,1> x,1>) n 1 x X0 x X0 x X1 = 1 2 ( x,0+0> x,0+1> x,1+0> x,1+1>) n 1 x X0 x X0 = 1 2 ( x,0> x,1> x,1> x,0>) n 1 x X0 x X0 = 1 2 ( x,b> x,b>) (4) n x X0 Huomataan, että joukon X 1 alkiot on saatu erottumaan X 0 :n alkioista, koska niiden amplitudien arvot ovat muuttuneet vastakkaismerkkisiksi, mutta itseisarvot ovat kuitenkin pysyneet samana. Tulosbitti b on sen sijaan pysynyt ennallaan.

5 VAIHE 3 Suoritetaan operaatio, jolla muutetaan ehdon P täyttävien tilojen amplitudin itseisarvoa. Tämä vaihe on olennainen, koska todennäköisyys löytää oikea alkio kasvaa (aluksi). Saatua superpositiotilaa operoidaan unitaarisella matriisilla D: 2-N 2 2... 2 N N N N 2 2 2 N N N... D = (5) 2 2 2 - N N N N Matriisi D saadaan matriisitulona WRW, jossa W on Walsh-Hadamardin muunnos ja R on kierto-operaation suorittava matriisi. Walsh-Hadamardin muunnos on tosin määritelty vain jos N = 2 n. Muissa tapauksissa voi käyttää mitä tahansa unitaarista matriisia, jolla päästään samaan alkutilaan (3) [BBH96]. Kun matriisilla D kerrotaan superpositiotila, niin amplitudit a i muuttuvat seuraavasti: a i -> 2A a i. Symboli A merkitsee lausekkeessa amplitudien keskiarvoa.. On huomattava, että muutosten jälkeenkin ehto a 2 =1 pitää paikkansa.

6 3.2 Esimerkki algoritmin käytöstä Olkoon N=16. Nyt on siis käytössä kantatilat 0000, 0001... 1111>. Oletetaan aluksi, että on vain yksi ehdon P täyttävä alkio. Merkitään sitä vastaavan tilan amplitudia a:lla ja muita b:llä. Algoritmi toimii seuraavasti: Vaiheessa 1 Saadaan kaikille amplitudeille sama arvo, joka on 1/4, koska 16*(1/4) 2 =1. Vaiheessa 2 etsityn alkion amplitudi muuttuu arvoon -1/4. Tällöin amplitudien keskiarvo on muuttunut arvost 1/4 arvoon 7/32. Vaiheessa 3 saadaan uusiksi arvoiksi a = 2 * (7/32) - (-1/4) = 22/32 ja b = 6/32. Jos nyt suoritetaan mittaus, löydettäisiin alkio todennäköisyydellä (22/32) 2 = 0,47. Kolmannen kierroksen jälkeen todennäköisyys olisi jo 0,96, mutta neljännen jälkeen enää 0,58. Seuraavilla kierroksilla se edelleen laskee ja alkaa sitten nousta uudestaan. Jos ehdon täyttäviä alkioita olisi 4, niin huomataan mielenkiintoinen asia. Nyt keskiarvo on vaiheen 2 jälkeen 1/8 ja uudet amplitudit ovat: a = 1/2 ja b=0. Tämä tarkoittaa, että heti ensimmäisellä mittauskerralla löydetään jokin etsityistä alkioista (ja seuraavilla kierroksilla todennäköisyys alkaa jälleen pienentyä). Sääntö pätee yleisesti: Jos ehdon P täyttäviä alkioita on 1/4*N, niin ratkaisu löytyy 1. iteraatiokierroksen jälkeen [BBH96]. Jos mikään alkio ei täytä ehtoa, ei Groverin algoritmi ei muuta amplitudeja.

7 3.3 Algoritmin toimivuus käytännössä Edellisen kappaleen esimerkit antoivat hyvän kuvan Groverin algoritmin hyvistä ja huonoista puolista. Algoritmi löytää ratkaisun nopeasti, mutta on tiedettävä tarkkaan, montako kertaa sitä toistetaan. Tällöin olisi tiedettävä myös oikeiden ratkaisujen määrä. Yleisessä tapauksessa tätä tietoa ei välttämättä ole käytettävissä. Tutkitaan seuraavaksi erikseen tapauksia, joissa ratkaisujen määrä tunnetaan ja niitä, joissa sitä ei tiedetä. Ratkaisujen lukumäärä on tunnettu Olkoon k ehdon P täyttävien alkioiden lukumäärä, a(r) on niitä vastaavien kantatilojen ja b(r) on muiden kantatilojen amplitudi r:n iteraatiokierroksen jälkeen. Silloin pätee aina ehto (6): k a r 2 (N-k) b r 2 =1 (6) Voidaan osoittaa [Hir00], että amplitudeille pätevät seuraavat rekursiiviset yhtälöt: a r 1 = N 2 k N a r 2 N k N b r b r 1 = N 2 k N b r 2 k N a r (7)

8 Merkitään k/n = sin 2 θ, jossa θ π / 2. Nyt voidaan johtaa kaavasta (7) kaavat (8): a r = 1 k sin 2 r 1 θ 1 b r = N k cos 2 r 1 θ (8) Mittauksella löydetään varmasti haluttu alkio, jos b(r) = 0. Tämä tapahtuu, kun cos(2r+1) θ = π / 2 eli r = - 1/2 + π/(4θ ). Jos k << N, niin sinθ θ. Tällöin saamme seuraavan arvion iteraatiokerroille r: r 1 2 π 4 N k π 4 N k (9) Kaava (9) tarkoittaa nyt, että pyöristetään r alaspäin kokonaislukuun, joka on mahdollisimman lähellä ihannetulosta. Mikä sitten on pyöristysvirheen vaikutus? Voidaan osoittaa [BBH96], että todennäköisyys saada väärä alkio r:n iteraatiokierroksen jälkeen on (N-k)b 2 k/n. Jos k << N, niin virhe on hyvin pieni. Toisaalta millä tahansa k:n arvolla voidaan näyttää [Hir00], että onnistumisen todennäköisyys ka 2 1/4. Groverin algoritmi siis toimii mainiosti, kun etsitään muutamaa alkiota. Jos kuitenkin k/n on suuri, ei algoritmiä välttämättä kannata käyttää orjallisesti, vaan yhdistää osaksi laajempaa algoritmiä. Esimerkki tästä nähdään, kun tutkitaan tapausta, jossa ei tunneta k:ta.

9 Ratkaisujen lukumäärää ei tunneta Todennäköisyys, että ratkaisu löytyy r:nnellä iteraatiokierroksella, on sin 2 (2r+1)θ. Voidaan osoittaa [Hir00], että jos valitaan luku m N ja ratkaisujen määrä k on pienempi kuin 3N/4, niin pätee keskimääräistä todennnäköisyyttä kuvaava kaava (10). m 1 1 sin 2 2i 1 θ 1 m i=0 4 (10) Kun siis valitaan jokin luku r väliltä [0, m-1], niin keskimäärin onnistumisen todennäköisyys suoritettaessa r kierrosta Groverin algoritmia on suurempi kuin 1/4. Yhdistetään Groverin algoritmi osaksi seuraavaa algoritmiä [Hir00]. 1. Valitaan jokin alkio x satunnaisesti ja testataan, päteekö ehto P(x)=1. Jos pätee, niin lopetetaan, mutta muuten jatketaan seuraavista vaiheista. 2. Valitaan satunnaisesti jokin luku väliltä [0, m-1] 3. Suoritetaan Groverin algoritmin alustusvaihe (vaihe 1) kerran ja muut r kertaa. 4. Mitataan tulos. Jos P(x)=0, suoritetaan koko algoritmi uudestaan. Ylläoleva algoritmi vaatii keskimäärin 4 toistoa kunnes ratkaisu löytyy. Jos k 3N/4, niin vaihe 3 ei takaa, että onnistumistodennäköisyys on suurempi kuin 1/4. Silloin kuitenkin jo vaiheessa 1 päästään vähintään todennäköisyyteen 3/4. Tapaus, jossa k=0, voidaan hoitaa toistamalla algoritmiä riittävän monta kertaa. Jos alkiota ei löydy, voidaan tehdä päätelmä, että sellaista ei ole.

10 3.4 Algoritmin sovellluskohteet Mielenkiintoinen käyttökohde Groverin algoritmille voisi olla salausavainten selvittäminen. Esimerkiksi DES-salakirjoitusstandardi perustuu siihen, että selväteksti muutetaan 56-bittisellä avaimella salakirjoitukseksi. Jos ulkopuolinen taho saa selville sekä selvätekstin että salatun tekstin, avain voidaan ratkaista kokeilemalla salakirjoittaa selväteksti erilaisilla avaimilla ja tutkia vastaako lopputulos siepattua salatekstiä. Koska erilaisia avaimia on 2 56 3,2 * 10 16 kappaletta, tähän menee hirveästi aikaa. Groverin menetelmässä erilaiset avaimet voitaisiin koodata 56-bittisen kvanttisysteemin kantatiloiksi. Nyt avaimen selvittämiseen vaadittava algoritmin toistomäärä olisi verrannollinen lukuun 2 28 2,7 * 10 9. Se tekisi salausmenetelmästä käytännössä turvattoman. Ongelmana on vain tietysti se, että ei tiedetä voiko kvanttitietokonetta rakentaa. 4 Yhteenveto Tässä työssä on esitelty Groverin ratkaisualgoritmi järjestämättömän joukon etsintäongelmaan. Algoritmi pystyy löytämään kvanttitietokoneella etsityn alkion O N askeleella. Parhaiten algoritmi toimii, jos ehdon täyttävien alkioiden suhteellinen määrä on pieni ja se tunnetaan. Tällöin pystytään määrittämään hyvin tarkasti suoritusaskelten määrä. Jos määrää ei tunneta, voidaan Groverin algoritmi liittää osaksi laajempaa algoritmiä. Käytännössä algoritmia voisi käyttää esimerkiksi salakirjoitusavainten selvittämiseen.

11 Lähteet BBH96 Boyer, M.,Brassard, G., Hoyer, P., Tapp, A., Tight Bound on Quantum Searching, Fourth Workshop on Physics and Computation. PhysComp' 96 Ed. T.Toffoli, M.Biaford, J.Lean, New England Complex Systems Institute, 1996, 36-43 Gro96 Grover, Lov K., A Fast Quantum Mechanical Algorithm for Database Search Proceedings of 28 th Annual ACM Symposium on Theory of Computing, 1996, 212-219 Hir00 Hirvensalo, M., Quantum Computing. Springer-Verlag, Saksa 2001,73-90 RiP00 Rieffel, E., Polak, W., An Introduction for Quantum Computing for Non-Physicists. ACM Computing Surveys, 32(3) 2000, 300-335