Značilnosti kvantnih računalnikov

Moč kvantnega računalnika se meri v kubitih, osnovni merski enoti v kvantnem računalniku. Vir.

Vsakič, ko preberem takšen stavek, pogledam na dlan. To ni pripeljalo do nič dobrega, moj vid je začel bledeti; Kmalu bom moral zaviti na Meklon.

Mislim, da je čas, da nekoliko sistematiziramo osnovne parametre kvantnega računalnika. Več jih je:

  1. Število kubitov
  2. Čas zadrževanja koherence (čas dekoherence)
  3. Stopnja napake
  4. Arhitektura procesorja
  5. Cena, razpoložljivost, pogoji vzdrževanja, čas amortizacije, programska orodja itd.

Število kubitov

Tukaj je vse očitno, več kot je, bolje je. V resnici morate plačati za kubite in v idealnem primeru morate kupiti točno toliko kubitov, kot jih potrebujete za dokončanje naloge. Za razvijalca ekskluzivnih igralnih avtomatov je dovolj en qubit na stroj (za generiranje naključnosti). Za "surovo silo" RSA-2048 - vsaj 2048 kubitov.

Najbolj oglaševani kvantni algoritmi so poimenovani po Groverju in Shoru. Grover vam omogoča "hekanje" zgoščenih vrednosti. Če želite zrušiti Bitcoin, potrebujete računalnike z vsaj 256 kubiti (lahko se poigrate s kompleksnostjo Bitcoina, vendar ostanimo pri tej okrogli številki). Shor vam omogoča faktorizacijo števil. Če želite faktorizirati število dolžine n binarnih števk, potrebujete vsaj n kubitov.

Trenutni maksimum: 50 kubitov (že 72?). In pravzaprav je 50 kubitov meja. Meja kvantne računalniške simulacije. V teoriji lahko na klasičnih računalnikih simuliramo poljubno število kubitov. V praksi dodajanje enega kubita v simulacijo zahteva podvojitev klasičnih računalnikov. K temu dodajte govorice o podvojitvi kubitov vsako leto in se vprašajte: kako odpraviti napake v algoritmih za 25651210242048 kubitov? Simulatorja ni, na kvantnem procesorju ne morete nastaviti prekinitvene točke.

Čas zadrževanja koherence (čas dekoherence)

Skladnost in skladnost nista isto. Koherenco rad primerjam z regeneracijo delovnega spomina. Na traku RAM je na milijarde celic, vsaka z nabojem, nič ali ena. Ta naboj ima zelo zanimivo lastnost - odteka. Prvotna celica "enota" postane celica 0.99, nato celica 0.98 in tako naprej. Skladno s tem se na ničli nabere 0.01, 0.02, 0.03 ... Ta naboj je treba obnoviti, "regenerirati". Vse, kar je manj kot polovica, je ponastavljeno na nič, vse ostalo je potisnjeno na ena.

Kvantnih procesorjev ni mogoče regenerirati. V skladu s tem obstaja en cikel za vse izračune, do prvega "uhajajočega" kubita. Čas pred prvim "kapanjem" se imenuje čas dekoherence. Koherenca je stanje, ko kubiti še niso "ušli". Tukaj Lahko pogledate malo bolj odrasle razlage.

Dekoherenca je povezana s številom kubitov: več kot je kubitov, težje je vzdrževati koherenco. Po drugi strani pa lahko, če imate veliko število kubitov, nekatere od njih uporabite za popravljanje napak, povezanih z dekoherenco. Od tod iztečeda število kubitov samo po sebi ne reši ničesar. Lahko podvojite število kubitov in jih 90 % porabite za popravljanje dekoherence.

Tu nastopi koncept logičnega kubita. Grobo rečeno, če imate procesor s 100 kubiti, vendar jih je 40 namenjenih popravljanju dekoherence, vam ostane 60 logičnih kubitov. Tisti, na katerih izvajate svoj algoritem. Koncept logičnih kubitov je zdaj precej teoretičen; osebno še nisem slišal za praktične izvedbe.

Napake in njihova odprava

Še ena nadloga kvantnih procesorjev. Če obrnete kubit, obstaja 2 % verjetnost, da operacija ne bo uspela. Če zapletete 2 kubita, je stopnja napake do 8 %. Vzemite 256-bitno število, ga zgostite v SHA-256, preštejte število operacij, izračunajte verjetnost izvedbe VSEH teh operacij brez napak.

Matematiki ponujajo rešitev: popravljanje napak. Obstajajo algoritmi. Izvedba ene prepletenosti dveh logičnih kubitov zahteva 2 fizičnih kubitov. Bitko-kapets ne bo prišel kmalu.

Arhitektura procesorja

Strogo gledano, kvantnih računalnikov ni. Obstajajo le kvantni procesorji. Zakaj potrebujete RAM, ko je čas za delo omejen na milisekunde? Programiram v Q#, vendar je to jezik na visoki ravni. Dodelite si 15 kubitov in počnite z njimi, kar želite. Hotel je, prvi kubit je zapletel z desetim. Zaželeno - zmešalo prvih šest.

Na pravem procesorju te svobode ni. Prosil sem, da prvi kubit zapletem s 15 - prevajalnik bo ustvaril 26 dodatnih operacij. Če imaš srečo. Če nimate sreče, jih bo ustvarilo sto. Dejstvo je, da se kubit lahko zaplete le s svojimi sosedi. Nisem videl več kot 6 sosedov na qubit. Načeloma obstajajo prevajalniki, ki optimizirajo kvantne programe, vendar so še vedno bolj teoretični.

Vsak procesor ima drugačen nabor navodil in povezave med kubiti so različne. V idealnem svetu imamo poljubne Rx, Ry, Rz in njihove kombinacije ter brezplačno zapletanje, ki temelji na ducatu funkcij, plus Swap: poglejte operatorje v Quirk. V resnici imamo več parov kubitov in prepletanje CNOT (q[0], q[1]) stane eno operacijo, CNOT(q[1], q[0]) pa 7. In koherenca se stopi.. .

Cena, dobavljivost, pogoji vzdrževanja, amortizacijski čas, programska orodja...

Cene niso oglaševane, dostopnost povprečnemu državljanu je blizu ničle, čas amortizacije v praksi ni izračunan, programska orodja so šele v povojih. Dokumentacija na arxiv.org.

Kakšne informacije torej zahtevate od strokovnjakov, ko izdajate nov kvantni računalnik?

Poleg zgornjega seznama so mi všeč možnosti iz PerlPower и Alter2:

Ko bi se vsaj vsak članek o novem kvantnem računalniku začel z dvema karakteristikama – količino istočasno zapleteni kubiti in retencijski čas kubitov.

Ali še bolje – od časa, ki je potreben za izvajanje preprostega merila uspešnosti, na primer iskanje prafaktorjev števila 91.

Vir: www.habr.com

Dodaj komentar