Bernstein-Wazirani algoritme

 Bernstein - Vazirani- algoritmen er en kvantealgoritme ,  der løser problemet med at finde et -bit-tal (begrebet skjult streng [1] bruges også i udenlandsk litteratur ) skjult i en sort boks . Foreslået af Ethan Bernstein og Umesh Wazirani i 1993 . Denne algoritme løser problemet meget hurtigere, end det er muligt i den ikke-kvanteformulering . Algoritmen kan bruges i databaser , angreb på blokcifre , ydeevnetest for kvantecomputere , blev implementeret på 5- og 16-qubit IBM kvantecomputere .

Historie

Algoritmen blev foreslået af Berkeley professor Vazirani og hans studerende Ethan Bernstein Når de beskriver algoritmen, henviser moderne kilder som regel til Bernsteins og Vaziranis tale [2] ved et symposium om beregningsteorien i 1993 [3] . Bernstein-Vazirani-algoritmen er en udvidet version af Deutsch-Yozhi-algoritmen , fordi i stedet for at bestemme, om en funktion tilhører en bestemt klasse - balanceret eller konstant (det vil sige, den tager enten værdien 0 eller 1 for eventuelle argumenter) - algoritmen finder en "skjult" vektor, der giver dig mulighed for entydigt at bestemme værdifunktionerne på ethvert punkt [4] .

Bernstein-Vazirani-algoritmen demonstrerer i problemet, at den løser kløften mellem klassiske og kvantealgoritmer i form af det mindst nødvendige antal anmodninger til oraklet (sort boks). Selvom man tillader brugen af ​​probabilistiske algoritmer (med en forudbegrænset fejlsandsynlighed), vil løsningen af ​​det klassiske problem kræve kald til oraklet, mens det i kvantealgoritmen er nok at kalde det [5] .

Udtalelse af Bernstein-Vazirani-problemet

Det klassiske problem

Overvej et orakel, der konverterer et -bit-tal til en bit , dvs.

Desuden , hvor  er det skalære produkt af formen: . Vi vurderer, at et funktionskald udføres i konstant tid.

Det er nødvendigt at finde [1] .

Kvanteproblemet

Problemformuleringen i kvantemodellen ligner, men adgang til oraklet i den udføres ikke direkte gennem funktionen , men gennem en lineær operator, der virker på et system af qubits :

,

hvor  er ket-vektoren svarende til kvantetilstanden ,  er bra-vektoren svarende til kvantetilstanden ,  er Kronecker-produktet og  er modulo 2-addition .

Kvantetilstandene og svarer til vektorerne og . Vektoren for den fælles tilstand kan repræsenteres som et produkt [6] .

I lighed med det klassiske tilfælde antages det, at opkaldet til oraklet, som beregner resultatet af at anvende operatøren til inputsystemet fra qubit , udføres i konstant tid.

I kvantetilfældet, som i det klassiske tilfælde, antages det, at , og det kræves for at finde [1] .

Algoritme

Det klassiske problem

I det klassiske tilfælde returnerer hvert orakelkald en bit af nummeret , så for at finde -bit-nummeret skal du ringe til orakeltiderne . Nedenfor er en variant af opkald til oraklet, der giver dig mulighed for fuldstændigt at gendanne [1] :

Antallet af opkald til oraklet i det klassiske tilfælde er , hvor  er antallet af bits af nummeret . Simpel informationsteoretisk ræsonnement kan vise, at denne grænse ikke kan forbedres selv inden for rammerne af BPP -klassen [1] .

Kvantealgoritme

Algoritmen er baseret på n-qubit Hadamard-operatoren :

Og også det faktum, at anvendelse af en operator på en tilstand af formen , hvor resulterer i værdien [1] .

Trin for trin kan operationen af ​​algoritmen repræsenteres som følger [1] :

  1. I det første trin anvendes Hadamard-operatoren på en -qubit-tilstand, der består af en grundtilstand og en hjælpebit : ;
  2. Derefter anvendes operatøren på resultatet af det foregående trin : ;
  3. Derefter anvendes , på de første qubits af resultatet , som under hensyntagen til det giver [4] : .

Som et resultat vil måling af inputregisteret give værdien [1] . I kvanteformuleringen af ​​problemet er det således tilstrækkeligt at henvise til oraklet. I det generelle tilfælde kræver konstruktionen og brugen af ​​et orakel logiske elementer , men dette tages ikke i betragtning, når man analyserer algoritmen i denne model, da kun antallet af kald til oraklet er signifikant for det [1] . Algoritmen i denne form blev implementeret på 5- og 16-qubit IBM-computere [1] , det er også muligt at sammensætte et optisk system , der implementerer algoritmen [7] .

Implementering af algoritmen på IBM-computere

I enhver praktisk implementering af Bernstein-Vazirani-algoritmen er den største vanskelighed oprettelsen af ​​et orakel, da konstruktionen og brugen af ​​et orakel kræver et logisk element . [en]

Ud over kompleksiteten ved at bygge et orakel, er praktisk implementering ledsaget af problemer med nøjagtighed. Systemet blev testet på 1-, 2- og 3-bit strenge, hvorpå IBM-Qiskit-simulatoren det svar med 100 % nøjagtighed Derefter blev test af 1- og 2-bit strenge udført på en 5-qubit ibmqx4-maskine og en 16-qubit ibmqx5-maskine, hvor der blev registreret regnefejl og en kraftig afvigelse fra det forventede resultat [1] .

Praktisk anvendelse

Bernstein-Wazirani-algoritmen kan anvendes:

  1. I databaser [8] . Ved hjælp af en algoritme kan adgang til de nødvendige data teoretisk opnås meget hurtigere end i det klassiske tilfælde.
  2. I angrebet på blokchifferet [9] . Bernstein-Wazirani-algoritmen giver flere nye, mere avancerede end i det klassiske tilfælde, måder at angribe en blokchiffer på.
  3. I ydeevnetesten for kvantecomputere [10] . Algoritmen bruges som en præstationstest for en 11-qubit kvantecomputer.

Noter

  1. ↑ 1 2 3 4 5 6 7 8 9 10 11 12 Coles et al., 2018 , s. 10-13.
  2. Ethan Bernstein, Umesh Vazirani. Kvantekompleksitetsteori  // Proceedings of the 25th Annual ACM Symposium on Theory of Computing. - New York, NY, USA: ACM, 1993. - S. 11-20 . — ISBN 978-0-89791-591-5 . - doi : 10.1145/167088.167097 .
  3. Hidary, 2019 , s. 104-107.
  4. 1 2 Sevag Gharibian. Foredrag 7: Deutsch-Josza og Berstein-Vazirani algoritmerne  //  Introduction to Quantum Computation Summer 2018, University of Paderborn. - S. 1-10 .
  5. Hidary, 2019 , s. 12-13.
  6. Coles et al, 2018 , s. fire.
  7. P. Londero, K. Banaszek, I.A. Walmsley, C. Dorrer, M. Anderson. Effektiv optisk implementering af Bernstein-Vazirani-algoritmen  (engelsk)  // Physical Review A. - 2004. - V. 69 , no. 1 . — S. 010302–010302.4 . — ISSN 1050-2947 . - doi : 10.1103/PhysRevA.69.010302 .
  8. A.A. Yezhov. Nogle problemer med kvanteneuroteknologi  (russisk)  // Videnskabelig session MEPhI–2003. V All-russisk videnskabelig og teknisk konference "Neuroinformatics-2003": forelæsninger om neuroinformatik. Del 2. - 2003. - S. 44-45 . Arkiveret fra originalen den 21. januar 2022.
  9. Huiqin Xie, Li Yang. Brug af Bernstein-Vazirani-algoritmen til at angribe blokcifre  //  Designs, Codes and Cryptography. - 2019-05-01. — Bd. 87 , iss. 5 . — S. 1161–1182 . — ISSN 1573-7586 . - doi : 10.1007/s10623-018-0510-5 .
  10. K. Wright, K. M. Beck, S. Debnath, J. M. Amini, Y. Nam, N. Grzesiak, J.-S. Chen, NC Pisenti, M. Chmielewski, C. Collins, KM Hudek, J. Mizrahi, JD Wong-Campos, S. Allen, J. Apisdorf, P. Solomon, M. Williams, AM Ducore, A. Blinov, SM Kreikemeier , V. Chaplin, M. Keesan, C. Monroe & J. Kim. Benchmarking af en 11-qubit kvantecomputer // Nature Communications. - 2019. - Bd. 10. - S. 5464. - doi : 10.1038/s41467-019-13534-2 .

Links