Algoritmul Bernstein-Wazirani

 Algoritmul Bernstein-Vazirani este un algoritm cuantic  care rezolvă problema găsirii unui număr -bit (termenul șir ascuns [1] este folosit și în literatura străină ) ascuns într-o cutie neagră . Propus de Ethan Bernstein și Umesh Wazirani în 1993 . Acest algoritm rezolvă problema mult mai rapid decât este posibil în formularea non-cuantică . Algoritmul poate fi utilizat în baze de date , atacuri asupra cifrurilor bloc , teste de performanță pentru calculatoare cuantice , a fost implementat pe calculatoare cuantice IBM de 5 și 16 qubiți .

Istorie

Algoritmul a fost propus de profesorul Berkeley Vazirani și studentul său Ethan Bernstein Când descriu algoritmul, sursele moderne, de regulă, se referă la discursul lui Bernstein și Vazirani [2] la un simpozion despre teoria calculului în 1993 [3] . Algoritmul Bernstein-Vazirani este o versiune extinsă a algoritmului Deutsch-Yozhi , deoarece în loc să se determine dacă o funcție aparține unei anumite clase - echilibrată sau constantă (adică, ia fie valoarea 0, fie 1 pentru orice argument) - algoritmul găsește un vector „ascuns” care vă permite să determinați în mod unic funcțiile valorice în orice punct [4] .

Algoritmul Bernstein-Vazirani demonstrează în problemă că rezolvă decalajul dintre algoritmii clasici și cei cuantici în ceea ce privește cel mai mic număr necesar de cereri către oracol (cutie neagră). Chiar dacă permiteți folosirea algoritmilor probabilistici (cu o probabilitate de eroare prelimitată), rezolvarea problemei clasice va necesita apeluri la oracol, în timp ce în algoritmul cuantic este suficient să-l numiți [5] .

Declarația problemei Bernstein-Vazirani

Problema clasică

Luați în considerare un oracol care convertește un număr -bit într-un bit, adică .

Mai mult , unde  este produsul scalar al formei: . Considerăm că un apel de funcție este efectuat în timp constant.

Este necesar să se găsească [1] .

Problema cuantică

Enunțul problemei din modelul cuantic este similar, dar accesul la oracolul din acesta se realizează nu direct prin intermediul funcției , ci printr-un operator liniar care acționează asupra unui sistem de qubiți :

,

unde  este vectorul ket corespunzător stării cuantice ,  este vectorul bra corespunzător stării cuantice ,  este produsul Kronecker și  este adiția modulo 2 .

Stările cuantice și corespund vectorilor și . Vectorul pentru starea de îmbinare poate fi reprezentat ca produs [6] .

La fel ca în cazul clasic, se presupune că apelul la oracol, care calculează rezultatul aplicării operatorului la sistemul de intrare din qubit , este efectuat în timp constant.

În cazul cuantic, ca și în cazul clasic, se presupune că , și se cere să se găsească [1] .

Algoritm

Problema clasică

În cazul clasic, fiecare apel oracol returnează un bit al numărului , așa că pentru a găsi numărul -bit , trebuie să apelați oracolul . Mai jos este o variantă de apeluri către oracol, permițându-vă să restaurați complet [1] :

Numărul de apeluri către oracol în cazul clasic este , unde  este numărul de biți ai numărului . Simplul raționament teoretic informațional poate arăta că această limită nu poate fi îmbunătățită nici măcar în cadrul clasei BPP [1] .

Algoritmul cuantic

Algoritmul se bazează pe operatorul Hadamard n-qubit :

Și, de asemenea, faptul că aplicarea unui operator la o stare de forma , unde rezultă valoarea [1] .

Pas cu pas, funcționarea algoritmului poate fi reprezentată astfel [1] :

  1. În primul pas, operatorul Hadamard este aplicat unei stări -qubit constând dintr-o stare de bază și un bit auxiliar : ;
  2. Apoi operatorul este aplicat rezultatului pasului anterior : ;
  3. Apoi , se aplică primilor qubiți ai rezultatului , care, ținând cont de faptul că , dă [4] : .

Ca rezultat, măsurarea registrului de intrare va da valoarea [1] . Astfel, în formularea cuantică a problemei, este suficient să ne referim la oracol. În cazul general, construcția și utilizarea unui oracol necesită elemente logice , dar acest lucru nu este luat în considerare la analiza algoritmului din acest model, deoarece doar numărul de apeluri către oracol este semnificativ pentru acesta [1] . Algoritmul sub această formă a fost implementat pe calculatoare IBM de 5 și 16 qubiți [1] , este posibil și asamblarea unui sistem optic care implementează algoritmul [7] .

Implementarea algoritmului pe calculatoarele IBM

În orice implementare practică a algoritmului Bernstein-Vazirani, principala dificultate este crearea unui oracol, deoarece construcția și utilizarea unui oracol necesită un element logic . [unu]

Pe lângă complexitatea construirii unui oracol, implementarea practică este însoțită de probleme de acuratețe. Sistemul a fost testat pe șiruri de 1, 2 și 3 biți, pe care simulatorul IBM-Qiskit răspunsul cu o acuratețe de 100% Apoi, testarea șirurilor de 1 și 2 biți a fost efectuată pe o mașină ibmqx4 de 5 qubiți și o mașină ibmqx5 de 16 qubiți, unde au fost înregistrate erori de calcul și o abatere puternică de la rezultatul așteptat [1] .

Aplicație practică

Algoritmul Bernstein-Wazirani poate fi aplicat:

  1. În bazele de date [8] . Cu ajutorul unui algoritm, accesul la datele necesare poate fi obținut teoretic mult mai rapid decât în ​​cazul clasic.
  2. În atacul asupra cifrului bloc [9] . Algoritmul Bernstein-Wazirani oferă câteva modalități noi, mai avansate decât în ​​cazul clasic, de a ataca un cifru bloc.
  3. În testul de performanță pentru calculatoarele cuantice [10] . Algoritmul este folosit ca test de performanță pentru un computer cuantic de 11 qubiți.

Note

  1. ↑ 1 2 3 4 5 6 7 8 9 10 11 12 Coles et al, 2018 , p. 10-13.
  2. Ethan Bernstein, Umesh Vazirani. Teoria complexității cuantice  // Lucrările celui de-al douăzeci și cincilea simpozion anual ACM privind teoria calculului. - New York, NY, SUA: ACM, 1993. - S. 11-20 . — ISBN 978-0-89791-591-5 . - doi : 10.1145/167088.167097 .
  3. Hidary, 2019 , p. 104-107.
  4. 1 2 Sevag Gharibian. Curs 7: Algoritmii Deutsch-Josza și Berstein-Vazirani  //  Introduction to Quantum Computation Summer 2018, University of Paderborn. - P. 1-10 .
  5. Hidary, 2019 , p. 12-13.
  6. Coles et al, 2018 , p. patru.
  7. P. Londero, K. Banaszek, I.A. Walmsley, C. Dorrer, M. Anderson. Implementarea optică eficientă a algoritmului Bernstein-Vazirani  (engleză)  // Physical Review A. - 2004. - V. 69 , nr. 1 . — S. 010302–010302.4 . — ISSN 1050-2947 . - doi : 10.1103/PhysRevA.69.010302 .
  8. A.A. Iezhov. Câteva probleme ale neurotehnologiei cuantice  (rusă)  // Sesiune științifică MEPhI–2003. V Conferință științifică și tehnică din întreaga Rusie „Neuroinformatică-2003”: prelegeri despre neuroinformatică. Partea 2. - 2003. - S. 44-45 . Arhivat din original pe 21 ianuarie 2022.
  9. Huiqin Xie, Li Yang. Folosirea algoritmului Bernstein–Vazirani pentru a ataca cifrurile bloc  //  Designuri, coduri și criptare. — 01-05-2019. — Vol. 87 , iss. 5 . — P. 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. Evaluarea comparativă a unui computer cuantic de 11 qubiți // Nature Communications. - 2019. - Vol. 10. - S. 5464. - doi : 10.1038/s41467-019-13534-2 .

Link -uri