Karakteristike kvantnih računala

Snaga kvantnog računala mjeri se u kubitima, osnovnoj mjernoj jedinici u kvantnom računalu. Источник.

Prijeđem na facepalm svaki put kad pročitam ovakvu frazu. To nije dovelo ni do čega dobrog, moj vid je počeo blijedjeti; Uskoro ću se morati obratiti Meklonu.

Mislim da je vrijeme da donekle sistematiziramo osnovne parametre kvantnog računala. Ima ih nekoliko:

  1. Broj kubita
  2. Vrijeme održavanja koherencije (vrijeme dekoherencije)
  3. Razina pogreške
  4. Arhitektura procesora
  5. Cijena, dostupnost, uvjeti održavanja, vrijeme amortizacije, alati za programiranje itd.

Broj kubita

Ovdje je sve očito, što više to bolje. U stvarnosti, morate platiti za qubite, a idealno je da morate kupiti točno onoliko qubita koliko je potrebno za dovršenje zadatka. Za programere ekskluzivnih automata dovoljan je jedan qubit po stroju (za generiranje slučajnosti). Za "brutu snagu" RSA-2048 - najmanje 2048 kubita.

Najpoznatiji kvantni algoritmi nazvani su po Groveru i Shoru. Grover vam omogućuje "hakiranje" hashova. Da biste srušili Bitcoin, potrebna su vam računala s najmanje 256 qubita (možete se igrati sa složenošću Bitcoina, ali držimo se ovog okruglog broja). Shor vam omogućuje rastavljanje brojeva na faktore. Da biste faktorirali broj duljine n binarnih znamenki, potrebno vam je najmanje n kubita.

Trenutni maksimum: 50 kubita (već 72?). I zapravo, 50 kubita je granica. Granica kvantne računalne simulacije. U teoriji, na klasičnim računalima možemo simulirati bilo koji broj qubita. U praksi, dodavanje jednog qubita u simulaciju zahtijeva udvostručenje klasičnih računala. Dodajte ovome glasine o udvostručavanju kubita svake godine i zapitajte se: kako otkloniti greške u algoritmima za 25651210242048 kubita? Ne postoji simulator; ne možete postaviti točku prekida na kvantnom procesoru.

Vrijeme održavanja koherencije (vrijeme dekoherencije)

Koherentnost i koherentnost nisu isto. Volim uspoređivati ​​koherenciju s regeneracijom radne memorije. Postoje milijarde ćelija na RAM traci, svaka ima naboj, nula ili jedan. Ovaj naboj ima vrlo zanimljivo svojstvo - odvodi se. Početna ćelija "jedinice" postaje ćelija 0.99, zatim ćelija 0.98, i tako dalje. Sukladno tome, na nuli se akumulira 0.01, 0.02, 0.03... Ovaj naboj treba obnoviti, “regenerirati”. Sve što je manje od polovice vraća se na nulu, sve ostalo se gura na jedan.

Kvantni procesori se ne mogu regenerirati. Sukladno tome, postoji jedan ciklus za sve izračune, sve do prvog "procurjelog" kubita. Vrijeme prije prvog "kapanja" naziva se vrijeme dekoherencije. Koherencija je stanje kada kubiti još nisu "iscurili". Ovdje Možete pogledati malo odraslija objašnjenja.

Dekoherencija je povezana s brojem kubita: što je više kubita, to je teže održati koherenciju. S druge strane, ako imate velik broj qubita, možete koristiti neke od njih za ispravljanje pogrešaka povezanih s dekoherencijom. Odavde vytekaetda broj kubita sam po sebi ne rješava ništa. Možete udvostručiti broj kubita i potrošiti 90% njih na popravljanje dekoherencije.

Ovdje dolazi do izražaja koncept logičkog kubita. Grubo govoreći, ako imate procesor sa 100 kubita, ali 40 od ​​njih je usmjereno na popravljanje dekoherencije, ostaje vam 60 logičkih kubita. Oni na kojima izvršavate svoj algoritam. Koncept logičkih kubita sada je više teoretski; ja osobno nisam čuo za praktične implementacije.

Pogreške i njihovo ispravljanje

Još jedna pošast kvantnih procesora. Ako invertujete qubit, postoji 2% šanse da operacija neće uspjeti. Ako isprepletete 2 qubita, stopa pogreške je do 8%. Uzmite 256-bitni broj, raspršite ga u SHA-256, izbrojite broj operacija, izračunajte vjerojatnost izvođenja SVIH ovih operacija bez pogreške.

Matematičari nude rješenje: ispravljanje pogrešaka. Postoje algoritmi. Implementacija jednog ispreplitanja 2 logička qubita zahtijeva 100.000 XNUMX fizičkih qubita. Bitko-kapets neće uskoro doći.

Arhitektura procesora

Strogo govoreći, ne postoje kvantna računala. Postoje samo kvantni procesori. Zašto vam treba RAM kada je vrijeme rada ograničeno na milisekunde? Programiram u Q#, ali to je jezik visoke razine. Dodijelite sebi 15 kubita i radite s njima što god želite. Htio je, zapetljao prvi kubit s desetim. Željeni - zbunila je prva šestorica.

Na pravom procesoru te slobode nema. Tražio sam da isprepletem prvi qubit s 15 - kompajler će generirati 26 dodatnih operacija. Ako budeš imao sreće. Ako nemate sreće, to će generirati stotinu. Činjenica je da se qubit može zaplesti samo sa svojim susjedima. Nisam vidio više od 6 susjeda po qubitu. U principu, postoje kompajleri koji optimiziraju kvantne programe, ali oni su još uvijek prilično teoretski.

Svaki procesor ima drugačiji skup instrukcija, a veze između kubita su različite. U idealnom svijetu imamo proizvoljne Rx, Ry, Rz i njihove kombinacije, plus slobodno ispreplitanje temeljeno na desetak značajki, plus Swap: pogledajte operatore u zavojak. U stvarnosti imamo nekoliko parova kubita, a isprepletenost CNOT (q[0], q[1]) košta jednu operaciju, a CNOT(q[1], q[0]) 7. I koherencija se topi... .

Cijena, dostupnost, uvjeti održavanja, vrijeme amortizacije, alati za programiranje...

Cijene se ne reklamiraju, dostupnost prosječnom građaninu je blizu nule, vrijeme amortizacije nije izračunato u praksi, alati za programiranje tek su u povojima. Dokumentacija na arxiv.org.

Dakle, koje informacije tražite od stručnjaka kada izdajete novo kvantno računalo?

Osim gornjeg popisa, sviđaju mi ​​se opcije iz PerlPower и Alter2:

Kad bi barem svaki članak o novom kvantnom računalu počinjao s dvije karakteristike – količinom istodobna zapleteni kubiti i vrijeme zadržavanja kubita.

Ili još bolje - od vremena potrebnog za pokretanje jednostavnog mjerila, na primjer, pronalaženje prostih faktora broja 91.

Izvor: www.habr.com

Dodajte komentar