Groverio algoritmas angl Grover s algorithm yra kvantinis algoritmas skirtas ieškojimui nestrukturizuotoje nesutvarkytoj
Groverio algoritmas

Groverio algoritmas (angl. Grover's algorithm) yra kvantinis algoritmas skirtas ieškojimui nestrukturizuotoje (nesutvarkytoje) duomenų bazėje su N kintamųjų per O() laiką ir užimantis saugojimo vietos. Algoritmas buvo sugalvotas L. Groverio (Lov Grover) 1996 m.
Klasiškai, ieškant nesutvarkytoje duomenų bazėje reikia linijinio ieškojimo per O(N/2) laiką. Groverio algoritmas kuris užima O(N1/2) laiko, yra greičiausias įmanomas algoritmas skirtas ieškojimui nesutvarkytoje duomenų bazėje. Jis suteikia tik kvadratinį pagreitėjimą, skirtingai nuo kitų kvantinių algoritmų, kurie gali suteikti eksponentinį paspartėjimą, nei jų klasikiniai atitikmenys. Tikimybė, kad atsakymas bus klaidingas yra 1/N, kur N yra duomenų bazę sudarančių elementų sveikas skaičius. N=2n, kur n kubitų skaičius.
Groverio Iteracija
Vartai M, kurie naudojami po Hadamardo vartų:
kur t yra ieškomas elementas, o n yra kubitų skaičius.
Per vartus B pereina visi kubitai išskyrus paskutinį.
- ,
- .
- ,
kur
Pavyzdžiui, t=|1001>:
Groverio iteracija G:
Operatorius M ir B reikia kartoti tiek kartų kiek reikia Groverio iteracijų, kol bus gautas teisingas atsakymas.
- HH=1; MM=1; BB=1;
Groverio Iteracija su 5 kubitais (N=16)
Tarkime turime ant įėjimo 5 kubitus. Pirmi 4 kubitai yra 0 būsenoje, o penktas kubitas yra 1 busenoje. Pirmi keturi kubitai yra skaičius n, kuris praėjes pro H tampa 2n. Visus 5 kubitus praleidžiame pro Hadamardo vartus.
- t=1,
Orakulas M:
kur t yra ieškoma būsena. Tarkime, mes ieškome |1001> busenos. Tada perėjus per orakulą M |1001> busena bus pažymėta ženklu minus, jos amplitudė pasidarys neigiama:
- t=2,
Toliau Praleidžiame tik pirmus 4 kubitus pro B vartus:
- t=3,
Kaip matome po perėjimo per B vartus, ieškomo elemento amplitudė pakilo ir sudaro , o visų kitų elementų amplitudės yra .
Tai reiškia, kad tikimybė išmatuoti |1001> yra (11/16)²=0.47265625 arba ~47 %.
Toliau vėl praleidžiame visus 5 kubitus pro orakulą M (penktas kubitas neparodytas, nes skaičiavimuose jis nieko nekeičia):
- t=4,
Toliau pirmus 4 kubitus praleidžiame pro B vartus:
- t=5,
Tikimybė dabar išmatuoti |1001> yra arba ~91 %.
Kadangi n=4, o N=2n=24=16, tai pagal idėja reikia padaryti Groverio Iteracijas G. O dabar kol kas padarytos tik dvi groverio iteracijos. Taigi, toliau praleidžiame visus kubitus pro M vartus:
- t=6,
Toliau praleidžiame pirmus keturis kubitus pro B vartus:
- t=7,
Tikimybė išmatuoti |1001> yra arba ~96.1 %.
Toliau praleidžiame visus kubitus pro M vartus:
- t=8,
Toliau praleidžiame pirmus keturis kubitus pro B vartus:
- t=9,
Tikimybė išmatuoti |1001> yra arba ~58.2 %. Kaip matome po ketvirtos groverio iteracijos G=MB, ieškomo elemento (|1001>) aplitudė sumažėjo. Išvada, kad groverio iteracijas reikia nustoti daryti kada visos elementų amplitudės pasidaro neigiamos (-). Na ir bendra amplitude kaip visada lygi 1:
Groverio algoritmas kai N=8
Turime 4 kubitus, tris pirmi kubitai yra nuliai, o ketvirtas vienetas. Praleidžiame juos visus pro Hadamardo vartus:
- t=1,
Toliau visus 4 kubitus praleidžiame pro M vartus. Ketvirto kubito nerašome nes jis lieka nepakitęs. Tarkime mes ieškome |110>.
- t=2,
Toliau praleidžiame tik pirmus 3 kubitus pro B vartus:
- t=3,
Tikimybė išmatuoti |110> yra arba apytiksliai 78 %.
Po dar vienos groverio iteracijos G=MB, tikimybė išmatuoti |110> bus ~0.945 arba 94.5 %.
Toliau vėl praleisime visus kubitus pro M vartus:
- t=4,
Toliau praleisime tris pirmus kubitus pro B vartus:
- t=5,
Tikimybė išmatuoti ieškomą buseną (|110>) yra:
- arba ~94.5 %.
Jeigu padarysime dar viena groverio iteracija G=MB, tai tikimybė išmatuoti |110> elementą bus arba ~33.0 %. Po M vartų visų elementų amplitudės pasidaro neigiamos (-), kas ir parodo, kad jau viršytas iteracijų G limitas.
Kiek Groverio iteracijų reikia?
Groverio algoritmui groverio iteracijų r reikia:
Bet iteracijos gali būti tik sveiki skaičiai. Bet kai kubitų labai daug, tai ieškomo elemento gavimo tikimybė yra labai aukšta ir pakanka to, kad iteracijos atliekamos sveikais skaičiais.
Skaičiuojant groverio iteracijas pagal formule:
Rodyklė užsisuka už 90 laipsnių reikšmės, bet už tai gaunamas truputi tikslesnis atsakymas (visada?). O jeigu norima, kad rodyklė neužsisuktų už 90 laipsnių stataus kampo, tai tada reikės viena groverio iteracija r mažiau, bet atsakymas bus truputi mažiau tikslus:
Laikoma, kad tokiu budu gautas iteracijų skaičius yra tikslus, nors gaunamas mažesnis teisigno atsakymo tikslumas. N=2n, kur n kubitų skaičius.
Teisingo atsakymo gavimo tikimybė
Reikia žinoti kampą:
kur n yra kubitų skaičius. Tada galima surasti ieškomo elemento |t> amplitudę:
- ,
kur t yra ieškomas elementas, r yra groverio iteracijų skaičius. O tikimybė išmatuoti ieškomą elementą yra:
Visų likusių elementų amplitudė kartu sudėjus yra:
- .
O tikimybė išmatuoti klaidingą atsakymą (būseną) yra:
Pavyzdžiui, kai n=3:
Tikimybė išmatuoti ieškomą elementą yra:
Pavyzdys, kai n=4:
Tikimybė išmatuoti ieškomą elementą yra:
Groverio Iteracija
Norint paprastai ir greitai suskaičiuoti teisingo atsakymo gavimo tikimybę po vienos groverio iteracijos G, galima naudotis šia formule:
- ,
Kur , o n kubitų skaičius. Pavyzdžiui, kai N=8:
- .
Kai N=16:
- .
Kai N=1024:
- .
Apytiksliai sužinoti teisingo atsakymo tikimybę po betkiek Groverio iteracijų galima pagal formulę: , kur n yra kubitų skaičius, o r yra iteracijų skaičius. Bet ši formulė takityna tik kai kubitų ir iteracijų skaičius yra didelis (daugiau nei 100).
Jeigu kubitų yra daugiau negu užduoties, kurią reikia išspresti, kintamųjų arba tiek pat (m≤n), tada Groverio iteracijų skaičių r galima apytiksliai apskaičiuoti pagal formulę:
- ,
o tikimybę p, pagal formulę:
kur m yra užduoties kintamųjų skaičius, o n yra kubitų skaičius.
Jeigu kubitų n yra mažiau negu kintamųjų m (elementų doumenų bazėje yra ), , tai teisingo atsakymo tikimybė p gaunama pagal formulę:
kur r yra Groverio iteracijų skaičius,
Groverio algoritmas su 2 kubitais (N=4)
Atsakymas gaunamas su 100 % tikimybe, nes:
Tikimybė išmatuoti ieškomą elementą yra:
Pagal šią formulę, iteracijų skaičius yra sveikas skaičius (kaip beje ir teisingo atsakymo tikimybė):
Pavyzdžiui, surasime |01>:
Groverio algoritmas bendru atveju
Turime įėjimą, kurį praleidžiame pro Hadamardo vartų:
- Toliau praleidžiame per funkciją
- taigi, jeigu tai ir yra ieškomas elementas ir jis pažimimas minuso ženklu "".
Nuorodos
- Davido Deutsch'o pamoka apie Groverio algortimą. Video.
- http://arxiv.org/pdf/quant-ph/0301079 Groverio algoritmas (ang.). PDF.
- http://iontrap.physics.lsa.umich.edu/publications/archive/PRA_72_050306_brickman_grover.pdf Archyvuota kopija 2007-08-13 iš Wayback Machine projekto. Groverio algoritmas su jonų gaudykle. PDF.
- http://www.cit.gu.edu.au/~s55086/qucomp/sim.html Archyvuota kopija 2007-09-26 iš Wayback Machine projekto. http://www.cit.gu.edu.au/~s55086/qucomp/qucompApplet.html Groverio algoritmas su fotonais (reikia firefox, kad normaliai rodytų).
- http://arxiv.org/pdf/quant-ph/9807053.pdf
- http://www.cs.washington.edu/education/courses/cse599d/06wi/lecturenotes12.pdf
- http://www.physast.uga.edu/~mgeller/Nat434p169.pdf[neveikianti nuoroda]
- http://www.znaturforsch.com/aa/v57a/s57a0701.pdf
Autorius: www.NiNa.Az
Išleidimo data:
vikipedija, wiki, lietuvos, knyga, knygos, biblioteka, straipsnis, skaityti, atsisiųsti, nemokamai atsisiųsti, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, pictu, mobilusis, porn, telefonas, android, iOS, apple, mobile telefl, samsung, iPhone, xiomi, xiaomi, redmi, pornografija, honor, oppo, Nokia, Sonya, mi, pc, web, kompiuteris, Informacija apie Groverio algoritmas, Kas yra Groverio algoritmas? Ką reiškia Groverio algoritmas?
Groverio algoritmas angl Grover s algorithm yra kvantinis algoritmas skirtas ieskojimui nestrukturizuotoje nesutvarkytoje duomenu bazeje su N kintamuju per O N displaystyle sqrt N laika ir uzimantis O log2 N O n displaystyle O log 2 N O n saugojimo vietos Algoritmas buvo sugalvotas L Groverio Lov Grover 1996 m Klasiskai ieskant nesutvarkytoje duomenu bazeje reikia linijinio ieskojimo per O N 2 laika Groverio algoritmas kuris uzima O N1 2 laiko yra greiciausias įmanomas algoritmas skirtas ieskojimui nesutvarkytoje duomenu bazeje Jis suteikia tik kvadratinį pagreitejima skirtingai nuo kitu kvantiniu algoritmu kurie gali suteikti eksponentinį paspartejima nei ju klasikiniai atitikmenys Tikimybe kad atsakymas bus klaidingas yra 1 N kur N yra duomenu baze sudaranciu elementu sveikas skaicius N 2n kur n kubitu skaicius Groverio Iteracija O 0 0 0 00 0 displaystyle O rangle 0 rangle 0 rangle 0 rangle 00 0 rangle ps H 0 H 0 H 0 H 0 H 0 H 0 Hn O displaystyle psi rangle H 0 rangle H 0 rangle H 0 rangle H 0 rangle H 0 rangle H 0 rangle H n O rangle Vartai M kurie naudojami po Hadamardo vartu M 1 2 t t displaystyle M 1 2 t rangle langle t M ps 1 2 t t ps ps 22n t ps 2N t displaystyle M psi rangle 1 2 t rangle langle t psi rangle psi rangle frac 2 sqrt 2 n t rangle psi rangle frac 2 sqrt N t rangle t ps 12n displaystyle langle t psi rangle frac 1 sqrt 2 n kur t yra ieskomas elementas o n yra kubitu skaicius Per vartus B pereina visi kubitai isskyrus paskutinį B 2 ps ps 1 displaystyle B 2 psi rangle langle psi 1 B ps 2N t 2 ps ps 1 ps 2N t 2 ps ps ps ps 4N ps ps t 2N t displaystyle B psi rangle frac 2 sqrt N t rangle 2 psi rangle langle psi 1 psi rangle frac 2 sqrt N t rangle 2 psi rangle langle psi psi rangle psi rangle frac 4 sqrt N psi rangle langle psi t rangle frac 2 sqrt N t rangle 2 ps ps 4N 1N ps 2N t ps 4N ps 2N t N 4N ps 2N t displaystyle 2 psi rangle psi rangle frac 4 sqrt N cdot frac 1 sqrt N psi rangle frac 2 sqrt N t rangle psi rangle frac 4 N psi rangle frac 2 sqrt N t rangle frac N 4 N psi rangle frac 2 sqrt N t rangle kur ps ps 1 displaystyle langle psi psi rangle 1 ps t 12n displaystyle langle psi t rangle frac 1 sqrt 2 n Pavyzdziui t 1001 gt 1001 ps 124 displaystyle langle 1001 psi rangle frac 1 sqrt 2 4 t t 1001 1001 1 displaystyle langle t t rangle langle 1001 1001 rangle 1 t x 1001 1000 0 displaystyle langle t x rangle langle 1001 1000 rangle 0 B H 2 O O 1 H 2H O O H H 2H O O H HH 2 ps ps 1 displaystyle B H 2 O rangle langle O 1 H 2H O rangle langle O H H 2H O rangle langle O H HH 2 psi rangle langle psi 1 Groverio iteracija G G BM 2 ps ps 1 1 2 t t displaystyle G BM 2 psi rangle langle psi 1 1 2 t rangle langle t Operatorius M ir B reikia kartoti tiek kartu kiek reikia Groverio iteraciju kol bus gautas teisingas atsakymas HH 1 MM 1 BB 1 2 O O 1 2 O O 1 4 O O O O 2 O O 2 O O 1 4 O O 4 O O 1 1 displaystyle 2 O rangle langle O 1 2 O rangle langle O 1 4 O rangle langle O O rangle langle O 2 O rangle langle O 2 O rangle langle O 1 4 O rangle langle O 4 O rangle langle O 1 1 Groverio Iteracija su 5 kubitais N 16 Tarkime turime ant įejimo 5 kubitus Pirmi 4 kubitai yra 0 busenoje o penktas kubitas yra 1 busenoje Pirmi keturi kubitai yra skaicius n kuris praejes pro H tampa 2n Visus 5 kubitus praleidziame pro Hadamardo vartus t 1 ps H 1 H 0 H 0 H 0 H 0 H 1 14 0 1 0 1 0 1 0 1 12 0 1 displaystyle psi rangle H 1 rangle H 0 rangle H 0 rangle H 0 rangle H 0 rangle H 1 rangle frac 1 4 0 rangle 1 rangle 0 rangle 1 rangle 0 rangle 1 rangle 0 rangle 1 rangle frac 1 sqrt 2 0 rangle 1 rangle 14 0000 0010 0001 0011 1000 1010 1001 1011 displaystyle frac 1 4 0000 rangle 0010 rangle 0001 rangle 0011 rangle 1000 rangle 1010 rangle 1001 rangle 1011 rangle 0100 0110 0101 0111 1100 1110 1101 1111 12 0 1 ps 12 0 1 displaystyle 0100 rangle 0110 rangle 0101 rangle 0111 rangle 1100 rangle 1110 rangle 1101 rangle 1111 rangle frac 1 sqrt 2 0 rangle 1 rangle psi rangle frac 1 sqrt 2 0 rangle 1 rangle Orakulas M M 1 2 t t 1 2 1001 1001 displaystyle M 1 2 t rangle langle t 1 2 1001 rangle langle 1001 M ps ps 22n t ps 224 1001 displaystyle M psi rangle psi rangle frac 2 sqrt 2 n t rangle psi rangle frac 2 sqrt 2 4 1001 rangle kur t yra ieskoma busena Tarkime mes ieskome 1001 gt busenos Tada perejus per orakula M 1001 gt busena bus pazymeta zenklu minus jos amplitude pasidarys neigiama t 2 M ps 12 0 1 1 2 1001 1001 ps 12 0 1 ps 2 1001 1001 ps 12 0 1 displaystyle M psi rangle frac 1 sqrt 2 0 rangle 1 rangle 1 2 1001 rangle langle 1001 psi rangle frac 1 sqrt 2 0 rangle 1 rangle psi rangle 2 1001 rangle langle 1001 psi rangle frac 1 sqrt 2 0 rangle 1 rangle ps 224 1001 12 0 1 ps 12 1001 12 0 1 displaystyle psi rangle frac 2 sqrt 2 4 1001 rangle frac 1 sqrt 2 0 rangle 1 rangle psi rangle frac 1 2 1001 rangle frac 1 sqrt 2 0 rangle 1 rangle 14 0000 0010 0001 0011 1000 1010 1001 1011 displaystyle frac 1 4 0000 rangle 0010 rangle 0001 rangle 0011 rangle 1000 rangle 1010 rangle 1001 rangle 1011 rangle 0100 0110 0101 0111 1100 1110 1101 1111 12 1001 12 0 1 displaystyle 0100 rangle 0110 rangle 0101 rangle 0111 rangle 1100 rangle 1110 rangle 1101 rangle 1111 rangle frac 1 2 1001 rangle frac 1 sqrt 2 0 rangle 1 rangle 14 0000 0010 0001 0011 1000 1010 1001 1011 displaystyle frac 1 4 0000 rangle 0010 rangle 0001 rangle 0011 rangle 1000 rangle 1010 rangle 1001 rangle 1011 rangle 0100 0110 0101 0111 1100 1110 1101 1111 12 0 1 displaystyle 0100 rangle 0110 rangle 0101 rangle 0111 rangle 1100 rangle 1110 rangle 1101 rangle 1111 rangle frac 1 sqrt 2 0 rangle 1 rangle Toliau Praleidziame tik pirmus 4 kubitus pro B vartus t 3 B ps 12 1001 2 ps ps 1 ps 12 1001 2 ps ps ps ps 22 ps ps 1001 12 1001 displaystyle B psi rangle frac 1 2 1001 rangle 2 psi rangle langle psi 1 psi rangle frac 1 2 1001 rangle 2 psi rangle langle psi psi rangle psi rangle frac 2 2 psi rangle langle psi 1001 rangle frac 1 2 1001 rangle 2 ps ps ps 124 12 1001 ps 14 ps 12 1001 34 ps 12 1001 displaystyle 2 psi rangle psi rangle psi rangle frac 1 sqrt 2 4 frac 1 2 1001 rangle psi rangle frac 1 4 psi rangle frac 1 2 1001 rangle frac 3 4 psi rangle frac 1 2 1001 rangle 116 3 0000 3 0010 3 0001 3 0011 3 1000 3 1010 3 1001 3 1011 displaystyle frac 1 16 3 0000 rangle 3 0010 rangle 3 0001 rangle 3 0011 rangle 3 1000 rangle 3 1010 rangle 3 1001 rangle 3 1011 rangle 3 0100 3 0110 3 0101 3 0111 3 1100 3 1110 3 1101 3 1111 12 1001 displaystyle 3 0100 rangle 3 0110 rangle 3 0101 rangle 3 0111 rangle 3 1100 rangle 3 1110 rangle 3 1101 rangle 3 1111 rangle frac 1 2 1001 rangle 116 3 0000 3 0010 3 0001 3 0011 3 1000 3 1010 11 1001 3 1011 displaystyle frac 1 16 3 0000 rangle 3 0010 rangle 3 0001 rangle 3 0011 rangle 3 1000 rangle 3 1010 rangle 11 1001 rangle 3 1011 rangle 3 0100 3 0110 3 0101 3 0111 3 1100 3 1110 3 1101 3 1111 displaystyle 3 0100 rangle 3 0110 rangle 3 0101 rangle 3 0111 rangle 3 1100 rangle 3 1110 rangle 3 1101 rangle 3 1111 rangle Kaip matome po perejimo per B vartus ieskomo elemento amplitude pakilo ir sudaro 1116 displaystyle frac 11 16 o visu kitu elementu amplitudes yra 316 displaystyle frac 3 16 15 316 2 1116 2 1 displaystyle 15 frac 3 16 2 frac 11 16 2 1 Tai reiskia kad tikimybe ismatuoti 1001 gt yra 11 16 0 47265625 arba 47 Toliau vel praleidziame visus 5 kubitus pro orakula M penktas kubitas neparodytas nes skaiciavimuose jis nieko nekeicia t 4 M 34 ps 12 1001 1 2 1001 1001 34 ps 12 1001 displaystyle M frac 3 4 psi rangle frac 1 2 1001 rangle 1 2 1001 rangle langle 1001 frac 3 4 psi rangle frac 1 2 1001 rangle 34 ps 64 1001 1001 ps 12 1001 22 1001 1001 1001 displaystyle frac 3 4 psi rangle frac 6 4 1001 rangle langle 1001 psi rangle frac 1 2 1001 rangle frac 2 2 1001 rangle langle 1001 1001 rangle 34 ps 32 1001 124 12 1001 1001 34 ps 32 1001 14 12 1001 displaystyle frac 3 4 psi rangle frac 3 2 1001 rangle frac 1 sqrt 2 4 frac 1 2 1001 rangle 1001 rangle frac 3 4 psi rangle frac 3 2 1001 rangle frac 1 4 frac 1 2 1001 rangle 34 ps 38 1001 12 1001 34 ps 78 1001 displaystyle frac 3 4 psi rangle frac 3 8 1001 rangle frac 1 2 1001 rangle frac 3 4 psi rangle frac 7 8 1001 rangle 116 3 0000 3 0010 3 0001 3 0011 3 1000 3 1010 11 1001 3 1011 displaystyle frac 1 16 3 0000 rangle 3 0010 rangle 3 0001 rangle 3 0011 rangle 3 1000 rangle 3 1010 rangle 11 1001 rangle 3 1011 rangle 3 0100 3 0110 3 0101 3 0111 3 1100 3 1110 3 1101 3 1111 displaystyle 3 0100 rangle 3 0110 rangle 3 0101 rangle 3 0111 rangle 3 1100 rangle 3 1110 rangle 3 1101 rangle 3 1111 rangle 15 3414 2 316 78 2 1 displaystyle 15 frac 3 4 frac 1 4 2 frac 3 16 frac 7 8 2 1 Toliau pirmus 4 kubitus praleidziame pro B vartus t 5 B 34 ps 78 1001 2 ps ps 1 34 ps 78 1001 32 ps ps ps 34 ps 74 ps ps 1001 78 1001 displaystyle B frac 3 4 psi rangle frac 7 8 1001 rangle 2 psi rangle langle psi 1 frac 3 4 psi rangle frac 7 8 1001 rangle frac 3 2 psi rangle langle psi psi rangle frac 3 4 psi rangle frac 7 4 psi rangle langle psi 1001 rangle frac 7 8 1001 rangle 32 ps 34 ps 74 ps 124 78 1001 34 ps 74 ps 14 78 1001 34 ps 716 ps 78 1001 displaystyle frac 3 2 psi rangle frac 3 4 psi rangle frac 7 4 psi rangle frac 1 sqrt 2 4 frac 7 8 1001 rangle frac 3 4 psi rangle frac 7 4 psi rangle frac 1 4 frac 7 8 1001 rangle frac 3 4 psi rangle frac 7 16 psi rangle frac 7 8 1001 rangle 516 ps 78 1001 displaystyle frac 5 16 psi rangle frac 7 8 1001 rangle Tikimybe dabar ismatuoti 1001 gt yra 516 14 78 2 564 78 2 5 7 864 2 6164 2 0 91 displaystyle frac 5 16 cdot frac 1 4 frac 7 8 2 frac 5 64 frac 7 8 2 frac 5 7 cdot 8 64 2 frac 61 64 2 approx 0 91 arba 91 15 516 14 2 6164 2 1 displaystyle 15 frac 5 16 cdot frac 1 4 2 frac 61 64 2 1 Kadangi n 4 o N 2n 24 16 tai pagal ideja reikia padaryti 16 4 displaystyle sqrt 16 4 Groverio Iteracijas G O dabar kol kas padarytos tik dvi groverio iteracijos Taigi toliau praleidziame visus kubitus pro M vartus t 6 M 516 ps 78 1001 1 2 1001 1001 516 ps 78 1001 displaystyle M frac 5 16 psi rangle frac 7 8 1001 rangle 1 2 1001 rangle langle 1001 frac 5 16 psi rangle frac 7 8 1001 rangle 516 ps 58 1001 1001 ps 78 1001 74 1001 1001 1001 displaystyle frac 5 16 psi rangle frac 5 8 1001 rangle langle 1001 psi rangle frac 7 8 1001 rangle frac 7 4 1001 rangle langle 1001 1001 rangle 516 ps 58 1001 14 78 1001 74 1001 516 ps 532 1001 78 1001 displaystyle frac 5 16 psi rangle frac 5 8 1001 rangle frac 1 4 frac 7 8 1001 rangle frac 7 4 1001 rangle frac 5 16 psi rangle frac 5 32 1001 rangle frac 7 8 1001 rangle 516 ps 5 7 432 1001 516 ps 3332 1001 displaystyle frac 5 16 psi rangle frac 5 7 cdot 4 32 1001 rangle frac 5 16 psi rangle frac 33 32 1001 rangle Toliau praleidziame pirmus keturis kubitus pro B vartus t 7 B 516 ps 3332 1001 2 ps ps 1 516 ps 3332 1001 displaystyle B frac 5 16 psi rangle frac 33 32 1001 rangle 2 psi rangle langle psi 1 frac 5 16 psi rangle frac 33 32 1001 rangle 58 ps ps ps 516 ps 3316 ps ps 1001 3332 1001 58 ps 516 ps 3316 ps 14 3332 1001 displaystyle frac 5 8 psi rangle langle psi psi rangle frac 5 16 psi rangle frac 33 16 psi rangle langle psi 1001 rangle frac 33 32 1001 rangle frac 5 8 psi rangle frac 5 16 psi rangle frac 33 16 psi rangle frac 1 4 frac 33 32 1001 rangle 516 ps 3364 ps 3332 1001 5 4 3364 ps 3332 1001 1364 ps 3332 1001 displaystyle frac 5 16 psi rangle frac 33 64 psi rangle frac 33 32 1001 rangle frac 5 cdot 4 33 64 psi rangle frac 33 32 1001 rangle frac 13 64 psi rangle frac 33 32 1001 rangle Tikimybe ismatuoti 1001 gt yra 1364 14 3332 2 13256 3332 2 13 33 8256 2 251256 2 6300165536 0 961 displaystyle frac 13 64 cdot frac 1 4 frac 33 32 2 frac 13 256 frac 33 32 2 frac 13 33 cdot 8 256 2 frac 251 256 2 frac 63001 65536 approx 0 961 arba 96 1 Toliau praleidziame visus kubitus pro M vartus t 8 M 1364 ps 3332 1001 1 2 1001 1001 1364 ps 3332 1001 displaystyle M frac 13 64 psi rangle frac 33 32 1001 rangle 1 2 1001 rangle langle 1001 frac 13 64 psi rangle frac 33 32 1001 rangle 1364 ps 1332 1001 1001 ps 3332 1001 3316 1001 1001 1001 displaystyle frac 13 64 psi rangle frac 13 32 1001 rangle langle 1001 psi rangle frac 33 32 1001 rangle frac 33 16 1001 rangle langle 1001 1001 rangle 1364 ps 1332 1001 14 3332 1001 3316 1001 1364 ps 13128 1001 3332 1001 displaystyle frac 13 64 psi rangle frac 13 32 1001 rangle frac 1 4 frac 33 32 1001 rangle frac 33 16 1001 rangle frac 13 64 psi rangle frac 13 128 1001 rangle frac 33 32 1001 rangle 1364 ps 13 33 4128 1001 1364 ps 119128 1001 displaystyle frac 13 64 psi rangle frac 13 33 cdot 4 128 1001 rangle frac 13 64 psi rangle frac 119 128 1001 rangle Toliau praleidziame pirmus keturis kubitus pro B vartus t 9 B 1364 ps 119128 1001 2 ps ps 1 1364 ps 119128 1001 displaystyle B frac 13 64 psi rangle frac 119 128 1001 rangle 2 psi rangle langle psi 1 frac 13 64 psi rangle frac 119 128 1001 rangle 1332 ps ps ps 1364 ps 11964 ps ps 1001 119128 1001 1332 ps 1364 ps 11964 ps 14 119128 1001 displaystyle frac 13 32 psi rangle langle psi psi rangle frac 13 64 psi rangle frac 119 64 psi rangle langle psi 1001 rangle frac 119 128 1001 rangle frac 13 32 psi rangle frac 13 64 psi rangle frac 119 64 psi rangle frac 1 4 frac 119 128 1001 rangle 1364 ps 119256 ps 119128 1001 13 4 119256 ps 119128 1001 171256 ps 119128 1001 displaystyle frac 13 64 psi rangle frac 119 256 psi rangle frac 119 128 1001 rangle frac 13 cdot 4 119 256 psi rangle frac 119 128 1001 rangle frac 171 256 psi rangle frac 119 128 1001 rangle Tikimybe ismatuoti 1001 gt yra 171256 14 119128 2 1711024 119128 2 171 119 81024 2 7811024 2 6099611048576 0 582 displaystyle frac 171 256 cdot frac 1 4 frac 119 128 2 frac 171 1024 frac 119 128 2 frac 171 119 cdot 8 1024 2 frac 781 1024 2 frac 609961 1048576 approx 0 582 arba 58 2 Kaip matome po ketvirtos groverio iteracijos G MB ieskomo elemento 1001 gt aplitude sumazejo Isvada kad groverio iteracijas reikia nustoti daryti kada visos elementu amplitudes pasidaro neigiamos Na ir bendra amplitude kaip visada lygi 1 15 1711024 2 7811024 2 1 displaystyle 15 frac 171 1024 2 frac 781 1024 2 1 Groverio algoritmas kai N 8Turime 4 kubitus tris pirmi kubitai yra nuliai o ketvirtas vienetas Praleidziame juos visus pro Hadamardo vartus t 1 ps H 1 H 0 H 0 H 0 H 1 123 0 1 0 1 0 1 12 0 1 displaystyle psi rangle H 1 rangle H 0 rangle H 0 rangle H 0 rangle H 1 rangle frac 1 sqrt 2 3 0 rangle 1 rangle 0 rangle 1 rangle 0 rangle 1 rangle frac 1 sqrt 2 0 rangle 1 rangle 122 000 001 011 111 100 110 101 010 12 0 1 displaystyle frac 1 2 sqrt 2 000 rangle 001 rangle 011 rangle 111 rangle 100 rangle 110 rangle 101 rangle 010 rangle frac 1 sqrt 2 0 rangle 1 rangle Toliau visus 4 kubitus praleidziame pro M vartus Ketvirto kubito nerasome nes jis lieka nepakites Tarkime mes ieskome 110 gt t 2 M ps M122 000 001 011 111 100 110 101 010 1 2 110 110 ps displaystyle M psi rangle M frac 1 2 sqrt 2 000 rangle 001 rangle 011 rangle 111 rangle 100 rangle 110 rangle 101 rangle 010 rangle 1 2 110 rangle langle 110 psi rangle ps 2 110 110 ps ps 2 110 123 ps 2 110 122 ps 12 110 displaystyle psi rangle 2 110 rangle langle 110 psi rangle psi rangle 2 110 rangle frac 1 sqrt 2 3 psi rangle 2 110 rangle frac 1 2 sqrt 2 psi rangle frac 1 sqrt 2 110 rangle 122 000 001 011 111 100 110 101 010 displaystyle frac 1 2 sqrt 2 000 rangle 001 rangle 011 rangle 111 rangle 100 rangle 110 rangle 101 rangle 010 rangle Toliau praleidziame tik pirmus 3 kubitus pro B vartus t 3 B ps 12 110 2 ps ps 1 ps 12 110 displaystyle B psi rangle frac 1 sqrt 2 110 rangle 2 psi rangle langle psi 1 psi rangle frac 1 sqrt 2 110 rangle 2 ps ps ps ps 22 ps ps 110 12 110 displaystyle 2 psi rangle langle psi psi rangle psi rangle frac 2 sqrt 2 psi rangle langle psi 110 rangle frac 1 sqrt 2 110 rangle 2 ps ps 22 ps 122 12 110 displaystyle 2 psi rangle psi rangle frac 2 sqrt 2 psi rangle frac 1 2 sqrt 2 frac 1 sqrt 2 110 rangle ps 24 ps 12 110 displaystyle psi rangle frac 2 4 psi rangle frac 1 sqrt 2 110 rangle 12 ps 12 110 displaystyle frac 1 2 psi rangle frac 1 sqrt 2 110 rangle 12 122 000 001 011 111 100 110 101 010 12 110 displaystyle frac 1 2 cdot frac 1 2 sqrt 2 000 rangle 001 rangle 011 rangle 111 rangle 100 rangle 110 rangle 101 rangle 010 rangle frac 1 sqrt 2 110 rangle 142 000 001 011 111 100 5 110 101 010 displaystyle frac 1 4 sqrt 2 000 rangle 001 rangle 011 rangle 111 rangle 100 rangle 5 110 rangle 101 rangle 010 rangle Tikimybe ismatuoti 110 gt yra 542 2 2532 0 78125 displaystyle frac 5 4 sqrt 2 2 frac 25 32 0 78125 arba apytiksliai 78 7 142 2 2532 7 132 2532 1 displaystyle 7 frac 1 4 sqrt 2 2 frac 25 32 7 frac 1 32 frac 25 32 1 Po dar vienos groverio iteracijos G MB tikimybe ismatuoti 110 gt bus 0 945 arba 94 5 Toliau vel praleisime visus kubitus pro M vartus t 4 M 12 ps 12 110 1 2 110 110 12 ps 12 110 displaystyle M frac 1 2 psi rangle frac 1 sqrt 2 110 rangle 1 2 110 rangle langle 110 frac 1 2 psi rangle frac 1 sqrt 2 110 rangle 12 ps 22 110 110 ps 12 110 22 110 110 110 12 ps 122 110 12 110 22 110 displaystyle frac 1 2 psi rangle frac 2 2 110 rangle langle 110 psi rangle frac 1 sqrt 2 110 rangle frac 2 sqrt 2 110 rangle langle 110 110 rangle frac 1 2 psi rangle frac 1 2 sqrt 2 110 rangle frac 1 sqrt 2 110 rangle frac 2 sqrt 2 110 rangle 12 ps 110 2 110 4 110 22 12 ps 3 110 22 displaystyle frac 1 2 psi rangle frac 110 rangle 2 110 rangle 4 110 rangle 2 sqrt 2 frac 1 2 psi rangle frac 3 110 rangle 2 sqrt 2 Toliau praleisime tris pirmus kubitus pro B vartus t 5 B 12 ps 3 110 22 2 ps ps 1 12 ps 3 110 22 displaystyle B frac 1 2 psi rangle frac 3 110 rangle 2 sqrt 2 2 psi rangle langle psi 1 frac 1 2 psi rangle frac 3 110 rangle 2 sqrt 2 ps ps ps 12 ps 32 ps ps 110 322 110 ps 12 ps 32 122 ps 322 110 displaystyle psi rangle langle psi psi rangle frac 1 2 psi rangle frac 3 sqrt 2 psi rangle langle psi 110 rangle frac 3 2 sqrt 2 110 rangle psi rangle frac 1 2 psi rangle frac 3 sqrt 2 cdot frac 1 2 sqrt 2 psi rangle frac 3 2 sqrt 2 110 rangle 4 ps 2 ps 3 ps 4 322 110 14 ps 322 110 displaystyle frac 4 psi rangle 2 psi rangle 3 psi rangle 4 frac 3 2 sqrt 2 110 rangle frac 1 4 psi rangle frac 3 2 sqrt 2 110 rangle Tikimybe ismatuoti ieskoma busena 110 gt yra 14 122 322 2 182 322 2 1 3 482 2 1182 2 0 9453125 displaystyle frac 1 4 cdot frac 1 2 sqrt 2 frac 3 2 sqrt 2 2 frac 1 8 sqrt 2 frac 3 2 sqrt 2 2 frac 1 3 cdot 4 8 sqrt 2 2 frac 11 8 sqrt 2 2 0 9453125 arba 94 5 7 182 2 1182 2 764 2 121128 7 121128 1 displaystyle 7 frac 1 8 sqrt 2 2 frac 11 8 sqrt 2 2 frac 7 64 cdot 2 frac 121 128 frac 7 121 128 1 Jeigu padarysime dar viena groverio iteracija G MB tai tikimybe ismatuoti 110 gt elementa bus 13162 2 0 330 displaystyle frac 13 16 sqrt 2 2 approx 0 330 arba 33 0 Po M vartu visu elementu amplitudes pasidaro neigiamos kas ir parodo kad jau virsytas iteraciju G limitas Kiek Groverio iteraciju reikia Groverio algoritmui groverio iteraciju r reikia r p2n4 2n displaystyle r rightarrow frac pi sqrt 2 n 4 approx sqrt 2 n r p234 2 221441469 displaystyle r rightarrow frac pi sqrt 2 3 4 approx 2 221441469 r p244 p 3 141592654 displaystyle r rightarrow frac pi sqrt 2 4 4 pi approx 3 141592654 Bet iteracijos gali buti tik sveiki skaiciai Bet kai kubitu labai daug tai ieskomo elemento gavimo tikimybe yra labai auksta ir pakanka to kad iteracijos atliekamos sveikais skaiciais Skaiciuojant groverio iteracijas pagal formule r p2n4 displaystyle r rightarrow frac pi sqrt 2 n 4 Rodykle uzsisuka uz 90 laipsniu reiksmes bet uz tai gaunamas truputi tikslesnis atsakymas visada O jeigu norima kad rodykle neuzsisuktu uz 90 laipsniu stataus kampo tai tada reikes viena groverio iteracija r maziau bet atsakymas bus truputi maziau tikslus r arccos 1N 2arccos N 1N p 4arcsin 1N 0 5 displaystyle r arccos frac 1 sqrt N 2 arccos sqrt frac N 1 N pi 4 arcsin frac 1 sqrt N 0 5 Laikoma kad tokiu budu gautas iteraciju skaicius yra tikslus nors gaunamas mazesnis teisigno atsakymo tikslumas N 2n kur n kubitu skaicius Teisingo atsakymo gavimo tikimybeReikia zinoti kampa 8 2arccos 1 12n 2arcsin 12n displaystyle theta 2 arccos sqrt 1 frac 1 2 n 2 arcsin frac 1 sqrt 2 n kur n yra kubitu skaicius Tada galima surasti ieskomo elemento t gt amplitude sin 2r 128 t displaystyle sin frac 2r 1 2 theta t rangle kur t yra ieskomas elementas r yra groverio iteraciju skaicius O tikimybe ismatuoti ieskoma elementa yra p sin2 2r 128 displaystyle p sin 2 frac 2r 1 2 theta Visu likusiu elementu amplitude kartu sudejus yra cos 2r 128 ps 12n t displaystyle cos frac 2r 1 2 theta psi rangle frac 1 2 n t rangle O tikimybe ismatuoti klaidinga atsakyma busena yra p cos2 2r 128 displaystyle p cos 2 frac 2r 1 2 theta Pavyzdziui kai n 3 8 2arccos 1 123 2arccos 0 875 0 722734247 displaystyle theta 2 arccos sqrt 1 frac 1 2 3 2 arccos sqrt 0 875 approx 0 722734247 Tikimybe ismatuoti ieskoma elementa yra p sin2 2 2 120 722734247 sin2 2 5 0 722734247 0 9722718242 0 9453125 displaystyle p sin 2 frac 2 cdot 2 1 2 0 722734247 sin 2 2 5 cdot 0 722734247 approx 0 972271824 2 0 9453125 Pavyzdys kai n 4 8 2arcsin 124 0 50536051 displaystyle theta 2 arcsin frac 1 sqrt 2 4 approx 0 50536051 Tikimybe ismatuoti ieskoma elementa yra p sin2 2 3 12 0 50536051 sin2 3 5 0 50536051 0 980468752 0 961318969 displaystyle p sin 2 frac 2 cdot 3 1 2 cdot 0 50536051 sin 2 3 5 cdot 0 50536051 approx 0 98046875 2 approx 0 961318969 Groverio Iteracija Groverio Iteracija is pradziu ieskomas elementas pazymimas neigiama amplitude o paskui jo amplitude apsukama apie vidurkį Norint paprastai ir greitai suskaiciuoti teisingo atsakymo gavimo tikimybe po vienos groverio iteracijos G galima naudotis sia formule p 3N 4NN 2 displaystyle p frac 3N 4 N sqrt N 2 Kur N 2n displaystyle N 2 n o n kubitu skaicius Pavyzdziui kai N 8 p 3 8 488 2 0 78125 displaystyle p frac 3 cdot 8 4 8 sqrt 8 2 0 78125 Kai N 16 p 3 16 41616 2 0 47265625 displaystyle p frac 3 cdot 16 4 16 sqrt 16 2 0 47265625 Kai N 1024 p 3 1024 410241024 2 0 008766189 displaystyle p frac 3 cdot 1024 4 1024 sqrt 1024 2 approx 0 008766189 Apytiksliai suzinoti teisingo atsakymo tikimybe po betkiek Groverio iteraciju galima pagal formule p r22n displaystyle p frac r 2 2 n kur n yra kubitu skaicius o r yra iteraciju skaicius Bet si formule takityna tik kai kubitu ir iteraciju skaicius yra didelis daugiau nei 100 Jeigu kubitu yra daugiau negu uzduoties kuria reikia isspresti kintamuju arba tiek pat m n tada Groverio iteraciju skaiciu r galima apytiksliai apskaiciuoti pagal formule r M 2m 2m2 displaystyle r approx sqrt M sqrt 2 m 2 frac m 2 o tikimybe p pagal formule p r22m r2 lt 2m displaystyle p approx r 2 over 2 m r 2 lt 2 m kur m yra uzduoties kintamuju skaicius o n yra kubitu skaicius Jeigu kubitu n yra maziau negu kintamuju m elementu doumenu bazeje yra 2m displaystyle 2 m m gt n displaystyle m gt n tai teisingo atsakymo tikimybe p gaunama pagal formule p 2n2m 2n2 m r22m displaystyle p sqrt 2 n over 2 m 2 n over 2 m r 2 over 2 m kur r yra Groverio iteraciju skaicius r2 lt 2n displaystyle r 2 lt 2 n Groverio algoritmas su 2 kubitais N 4 Atsakymas gaunamas su 100 tikimybe nes r p2n4 p224 p2 1 570796327 displaystyle r rightarrow frac pi sqrt 2 n 4 frac pi sqrt 2 2 4 frac pi 2 approx 1 570796327 8 2arcsin 12n 2arcsin 122 1 047197551 displaystyle theta 2 arcsin frac 1 sqrt 2 n 2 arcsin frac 1 sqrt 2 2 approx 1 047197551 Tikimybe ismatuoti ieskoma elementa yra p sin2 2 r 12 8 sin2 2 1 12 1 047197551 sin2 1 5 1 047197551 12 1 displaystyle p sin 2 frac 2 cdot r 1 2 cdot theta sin 2 frac 2 cdot 1 1 2 cdot 1 047197551 sin 2 1 5 cdot 1 047197551 1 2 1 Pagal sia formule iteraciju skaicius yra sveikas skaicius kaip beje ir teisingo atsakymo tikimybe r p 4arcsin 122 0 5 3 1415926544 0 523598775 0 5 1 5 0 5 1 displaystyle r pi 4 arcsin frac 1 sqrt 2 2 0 5 frac 3 141592654 4 cdot 0 523598775 0 5 1 5 0 5 1 Pavyzdziui surasime 01 gt 00 122 0 1 0 1 ps 12 00 01 10 11 1 2 01 01 ps displaystyle 00 rangle to 1 over sqrt 2 2 0 rangle 1 rangle 0 rangle 1 rangle psi rangle 1 over 2 00 rangle 01 rangle 10 rangle 11 rangle to 1 2 01 rangle langle 01 psi rangle ps 222 01 ps 01 12 00 01 10 11 2 ps ps 1 ps 01 displaystyle psi rangle 2 over sqrt 2 2 01 rangle psi rangle 01 rangle 1 over 2 00 rangle 01 rangle 10 rangle 11 rangle to 2 psi rangle langle psi 1 psi rangle 01 rangle 2 ps ps ps 2 ps ps 01 ps 01 2 ps 222 ps ps 01 01 displaystyle 2 psi rangle langle psi psi rangle 2 psi rangle langle psi 01 rangle psi rangle 01 rangle 2 psi rangle 2 over sqrt 2 2 psi rangle psi rangle 01 rangle 01 rangle Groverio algoritmas bendru atvejuTurime 0 n 1 displaystyle 0 rangle oplus n 1 rangle įejima kurį praleidziame pro n 1 displaystyle n 1 Hadamardo vartu 12n 1 x12n x 0 1 ps 12 0 1 ps displaystyle 1 over sqrt 2 n 1 sum x 1 2 n x rangle 0 rangle 1 rangle psi rangle 1 over sqrt 2 0 rangle 1 rangle psi rangle rangle Toliau praleidziame per funkcija x y x y f x displaystyle x rangle y rangle to x rangle y oplus f x rangle 12n 1 x12n x 0 f x 1 f x 12n 1 x12n 1 f x x 0 1 displaystyle 1 over sqrt 2 n 1 sum x 1 2 n x rangle 0 oplus f x rangle 1 oplus f x rangle 1 over sqrt 2 n 1 sum x 1 2 n 1 f x x rangle 0 rangle 1 rangle taigi jeigu f x 1 displaystyle f x 1 tai ir yra ieskomas elementas ir jis pazimimas minuso zenklu displaystyle NuorodosDavido Deutsch o pamoka apie Groverio algortima Video http arxiv org pdf quant ph 0301079 Groverio algoritmas ang PDF http iontrap physics lsa umich edu publications archive PRA 72 050306 brickman grover pdf Archyvuota kopija 2007 08 13 is Wayback Machine projekto Groverio algoritmas su jonu gaudykle PDF http www cit gu edu au s55086 qucomp sim html Archyvuota kopija 2007 09 26 is Wayback Machine projekto http www cit gu edu au s55086 qucomp qucompApplet html Groverio algoritmas su fotonais reikia firefox kad normaliai rodytu http arxiv org pdf quant ph 9807053 pdf http www cs washington edu education courses cse599d 06wi lecturenotes12 pdf http www physast uga edu mgeller Nat434p169 pdf neveikianti nuoroda http www znaturforsch com aa v57a s57a0701 pdf