Kvantna računala i kvantno računalstvo - novo poštapalica, koja je dodana u naš informacijski prostor zajedno s umjetna inteligencija, strojno učenje i drugi visokotehnološki pojmovi. Pritom na Internetu nikada nisam uspio pronaći materijal koji bi složio slagalicu u mojoj glavi tzv “kako rade kvantna računala”. Da, ima mnogo izvrsnih radova, uključujući i na Habru (vidi. Popis resursa), komentarima koji su, kako to obično biva, još informativniji i korisniji, ali slika u glavi, što se kaže, nije se posložila.
I nedavno su mi kolege prišle i pitale: “Razumijete li kako kvantno računalo radi? Možete li nam reći?" A onda sam shvatio da nisam jedini koji ima problem sastaviti koherentnu sliku u glavi.
Kao rezultat toga, učinjen je pokušaj kompajliranja informacija o kvantnim računalima u konzistentan logički sklop u kojem osnovnoj razini, bez dubokog poniranja u matematiku i strukturu kvantnog svijeta, objašnjeno je što je kvantno računalo, na kojim principima funkcionira te s kojim se problemima znanstvenici susreću pri izradi i radu s njim.
Autor nije stručnjak za kvantno računalstvo i Ciljana publika članka su isti IT ljudi, a ne kvantni stručnjaci, koji također žele sastaviti sliku u svojim glavama pod nazivom “Kako rade kvantna računala”. Zbog toga su mnogi pojmovi u članku namjerno pojednostavljeni kako bi se bolje razumjele kvantne tehnologije na "osnovnoj" razini, ali bez vrlo snažno pojednostavljenje s gubitkom informativnog sadržaja i primjerenosti.
Članak na nekim mjestima koristi materijale iz drugih izvora, čiji se popis nalazi na kraju članka. Gdje god je to moguće, umetnute su izravne poveznice i naznake na izvorni tekst, tablicu ili sliku. Ako sam negdje nešto (ili nekoga) zaboravio, napišite pa ću ispraviti.
U ovom poglavlju ukratko ćemo se osvrnuti na to kako je započela kvantna era, što je bio motivirajući razlog za ideju o kvantnom računalu, tko su (koje zemlje i korporacije) trenutno vodeći igrači na ovom polju, te ukratko govoriti o glavnim pravcima razvoja kvantnog računarstva.
Početnom točkom kvantne ere smatra se 1900. godina, kada je M. Planck prvi put iznio hipoteza da se energija emitira i apsorbira ne kontinuirano, već u zasebnim kvantima (porcijama). Ideju su preuzeli i razvili mnogi istaknuti znanstvenici tog vremena - Bohr, Einstein, Heisenberg, Schrödinger, što je u konačnici dovelo do stvaranja i razvoja takve znanosti kao kvantna fizika. Na Internetu ima puno dobrih materijala o formiranju kvantne fizike kao znanosti, u ovom članku nećemo se detaljnije zadržavati na tome, ali bilo je potrebno naznačiti datum kada smo ušli u novu kvantnu eru.
Kvantna fizika donijela je mnoge izume i tehnologije u naš svakodnevni život bez kojih je danas teško zamisliti svijet oko nas. Na primjer, laser, koji se danas koristi posvuda, od kućanskih aparata (laserske libele itd.) do visokotehnoloških sustava (laseri za korekciju vida, zdravo meklon ). Bilo bi logično pretpostaviti da će prije ili kasnije netko doći na ideju zašto ne koristiti kvantne sustave za računalstvo. A onda se 1980. dogodilo.
Wikipedia pokazuje da je prvu ideju o kvantnom računalstvu izrazio 1980. godine naš znanstvenik Jurij Manin. Ali o tome se zapravo počelo govoriti tek 1981. godine, kada je poznati R. Feynman govor na prvoj konferenciji računalne fizike održanoj na MIT-u, primijetio je da je nemoguće simulirati evoluciju kvantnog sustava na klasičnom računalu na učinkovit način. Predložio je elementarni model kvantno računalo, koji će moći provesti takvo modeliranje.
Kao što vidite, prošlo je 17 godina (od 1981. do 1998.) od trenutka ideje do prve implementacije u računalu s 2 qubita i 21 godina (od 1998. do 2019.) dok se broj qubita nije povećao na 53. Bilo je potrebno 11 godina (od 2001. do 2012.) da se rezultat Shorovog algoritma (o čemu ćemo detaljnije govoriti malo kasnije) poboljša s broja 15 na 21. Također, prije samo tri godine došli smo do točke implementirati ono o čemu je Feynman govorio i naučiti modelirati najjednostavnije fizičke sustave.
Razvoj kvantnog računalstva je spor. Pred znanstvenicima i inženjerima su vrlo teški zadaci, kvantna stanja su vrlo kratkog vijeka i krhka, a da bi se očuvala dovoljno dugo za izvođenje proračuna, moraju graditi sarkofage za desetke milijuna dolara, u kojima se održava temperatura neposredno iznad apsolutne nule, a koje su maksimalno zaštićene od vanjskih utjecaja. Zatim ćemo detaljnije govoriti o ovim zadacima i problemima.
Sve tehnološki uspješne zemlje trenutno aktivno razvijaju kvantne tehnologije. U ova istraživanja ulaže se ogroman novac, a izrađuju se i posebni programi podrške kvantnim tehnologijama.
U kvantnoj utrci ne sudjeluju samo države, već i privatne tvrtke. Ukupno su Google, IBM, Intel i Microsoft nedavno uložili oko 0,5 milijardi dolara u razvoj kvantnih računala i stvorili velike laboratorije i istraživačke centre.
Mnogo je članaka na Habréu i na internetu, npr. ovdje, ovdje и ovdje, u kojem se detaljnije ispituje trenutačno stanje s razvojem kvantnih tehnologija u različitim zemljama. Za nas je sada najvažnije da sve vodeće tehnološki razvijene zemlje i igrači ulažu ogromne količine novca u istraživanja u tom smjeru, što daje nadu za izlazak iz trenutnog tehnološkog ćorsokaka.
U ovom trenutku (možda griješim, ispravite me) glavni napori (i više ili manje značajni rezultati) svih vodećih igrača koncentrirani su u dva područja:
Specijalizirana kvantna računala, koji su usmjereni na rješavanje jednog specifičnog problema, na primjer, problema optimizacije. Primjer proizvoda su kvantna računala D-Wave.
Univerzalna kvantna računala — koji su sposobni implementirati proizvoljne kvantne algoritme (Shor, Grover, itd.). Implementacije IBM-a, Googlea.
Ostale vektore razvoja koje nam daje kvantna fizika, kao što su:
Najvažnija stvar koju treba razumjeti iz ovog odjeljka je da
Kvantno računalo (za razliku od uobičajenih) koristi kao nositelji informacija kvantnih objekata, a za izvođenje izračuna kvantni objekti moraju biti povezani kvantni sustav.
Što je kvantni objekt?
Kvantni objekt - objekt mikrosvijeta (kvantnog svijeta) koji pokazuje kvantna svojstva:
Ima definirano stanje s dvije granične razine
Nalazi se u superpoziciji svog stanja do trenutka mjerenja
Isprepliće se s drugim objektima kako bi stvorio kvantne sustave
Zadovoljava teorem o zabrani kloniranja (stanje objekta ne može se kopirati)
Pogledajmo svaku nekretninu detaljnije:
Ima definirano stanje s dvije granične razine (krajnje stanje)
Klasičan primjer iz stvarnog svijeta je novčić. Ima "bočno" stanje, koje ima dvije granične razine - "glave" i "repove".
Nalazi se u superpoziciji svog stanja do trenutka mjerenja
Bacili su novčić, on leti i vrti se. Dok se okreće, nemoguće je reći u kojoj se od graničnih razina nalazi njegovo “bočno” stanje. Ali čim ga srušimo i pogledamo rezultat, superpozicija stanja odmah se urušava u jedno od dva granična stanja - "glave" i "repove". Lupanje novčića u našem je slučaju mjerenje.
Isprepliće se s drugim objektima kako bi stvorio kvantne sustave
Teško je s novčićem, ali pokušajmo. Zamislite da smo bacili tri novčića tako da se okreću priljubljeni jedan uz drugi, to je žongliranje s novčićima. U svakom trenutku vremena ne samo da je svako od njih u superpoziciji stanja, već ta stanja međusobno utječu jedno na drugo (sudaraju se novčići).
Zadovoljava teorem o zabrani kloniranja (stanje objekta ne može se kopirati)
Dok novčići lete i vrte se, ne postoji način na koji možemo stvoriti kopiju stanja vrtnje bilo kojeg od novčića, odvojeno od sustava. Sustav živi u sebi i vrlo je ljubomoran na puštanje bilo kakve informacije u vanjski svijet.
Još nekoliko riječi o samom konceptu “superpozicije”, u gotovo svim člancima superpozicija se objašnjava kao "u svim je stanjima istovremeno", što je, naravno, točno, ali ponekad nepotrebno zbunjujuće. Superpozicija stanja također se može zamisliti kao činjenica da u svakom trenutku vremena kvantni objekt postoje određene vjerojatnosti kolapsa u svaku od njegovih graničnih razina, a u zbroju te su vjerojatnosti prirodno jednake 1. Kasnije, kada budemo razmatrali qubit, detaljnije ćemo se zadržati na tome.
Za novčiće se to može vizualizirati - ovisno o početnoj brzini, kutu bacanja, stanju okoline u kojoj novčić leti, u svakom trenutku vjerojatnost dobivanja "glave" ili "repa" je različita. I, kao što je ranije spomenuto, stanje takvog letećeg novčića može se zamisliti kao "biti u svim svojim graničnim stanjima u isto vrijeme, ali s različitim vjerojatnostima njihove implementacije."
Svaki objekt za koji su zadovoljena gore navedena svojstva i koji možemo kreirati i kontrolirati može se koristiti kao nositelj informacija u kvantnom računalu.
Malo dalje ćemo govoriti o trenutnom stanju stvari s fizičkom implementacijom kubita kao kvantnih objekata i o tome što znanstvenici sada koriste u tom svojstvu.
Dakle, treće svojstvo kaže da se kvantni objekti mogu ispreplesti i stvoriti kvantne sustave. Što je kvantni sustav?
Kvantni sustav — sustav zapletenih kvantnih objekata sa sljedećim svojstvima:
Kvantni sustav je u superpoziciji svih mogućih stanja objekata od kojih se sastoji
Nemoguće je znati stanje sustava do trenutka mjerenja
U trenutku mjerenja sustav implementira jednu od mogućih varijanti svojih graničnih stanja
(i gledajući malo unaprijed)
Korolar za kvantne programe:
Kvantni program ima zadano stanje sustava na ulazu, superpoziciju unutra, superpoziciju na izlazu
Na izlazu programa nakon mjerenja imamo probabilističku implementaciju jednog od mogućih konačnih stanja sustava (plus moguće pogreške)
Svaki kvantni program ima arhitekturu dimnjaka (ulaz -> izlaz. Nema petlji, ne možete vidjeti stanje sustava usred procesa.)
Usporedimo sada konvencionalno računalo i kvantno.
obično računalo
Kvantno računalo
logika
0 / 1
`a|0> + b|1>, a^2+b^2=1`
fizika
Poluvodički tranzistor
Kvantni objekt
Nosač informacija
Razine napona
Polarizacija, spin,…
operacije
NE, I, ILI, XOR preko bitova
Ventili: CNOT, Hadamard,…
Odnos
Poluvodički čip
Zbunjenost jedni s drugima
Algoritmi
Standard (vidi Whip)
Posebne ponude (Shore, Grover)
načelo
Digitalni, deterministički
Analogni, probabilistički
Logička razina
U običnom računalu to je malo. Nama dobro poznata deterministički bit. Može poprimiti vrijednosti 0 ili 1. Savršeno se nosi s ulogom logička jedinica za obično računalo, ali je potpuno neprikladan za opisivanje stanja kvantni objekt, koji se, kao što smo već rekli, u divljini nalazi usuperpozicije njihovih graničnih stanja.
Ovo su smislili kubit. U svojim graničnim stanjima ostvaruje stanja slična 0 i 1 |0> i |1>, a u superpoziciji predstavlja distribucija vjerojatnosti preko njezinih graničnih stanja|0> и |1>:
a|0> + b|1>, такое, что a^2+b^2=1
a i b predstavljaju amplitude vjerojatnosti, a kvadrati njihovih modula su stvarne vjerojatnosti dobivanja točno takvih vrijednosti graničnih stanja |0> и |1>, ako srušite qubit s mjerenjem upravo sada.
Fizički sloj
Na trenutnoj tehnološkoj razini razvoja, fizička implementacija bita za konvencionalno računalo je poluvodički tranzistor, za kvant, kao što smo već rekli, bilo koji kvantni objekt. U sljedećem ćemo odjeljku govoriti o tome što se trenutno koristi kao fizički medij za qubite.
Medij za pohranu
Za obično računalo ovo je struja - razine napona, prisutnost ili odsutnost struje itd., za kvantne - isto stanje kvantnog objekta (smjer polarizacije, spin itd.), koji mogu biti u stanju superpozicije.
operacije
Za implementaciju logičkih sklopova na običnom računalu koristimo dobro poznate logičke operacije, za operacije na qubitima bilo je potrebno osmisliti potpuno drugačiji sustav operacija, tzv kvantna vrata. Vrata mogu biti jednokubitna ili dvostruka kubita, ovisno o tome koliko se kubita pretvara.
Primjeri kvantnih vrata:
Postoji koncept univerzalni set ventila, koji su dovoljni za izvođenje bilo kakvog kvantnog izračuna. Na primjer, univerzalni skup uključuje Hadamardova vrata, vrata za fazni pomak, CNOT vrata i π⁄8 vrata. Uz njihovu pomoć možete izvesti bilo koji kvantni izračun na proizvoljnom skupu kubita.
U ovom članku nećemo se detaljno baviti sustavom kvantnih vrata, više o njima i logičkim operacijama na qubitima možete pročitati npr. ovdje. Glavna stvar koju treba zapamtiti:
Operacije na kvantnim objektima zahtijevaju stvaranje novih logičkih operatora (kvantnih vrata)
Kvantna vrata dolaze u jednokubitnim i dvostrukim kubitnim tipovima.
Postoje univerzalni skupovi vrata koji se mogu koristiti za izvođenje bilo kojeg kvantnog izračuna
Odnos
Jedan tranzistor nam je potpuno beskoristan; da bismo izvršili izračune moramo međusobno spojiti mnogo tranzistora, odnosno od milijuna tranzistora stvoriti poluvodički čip na kojem ćemo graditi logičke sklopove, ALU i, u konačnici, dobiti moderan procesor u klasičnom obliku.
Jedan qubit nam je također potpuno beskoristan (dobro, makar samo u akademskom smislu),
za izvođenje izračuna potreban nam je sustav kubita (kvantnih objekata)
koji, kao što smo već rekli, nastaje međusobnim isprepletanjem kubita tako da se promjene u njihovim stanjima događaju koordinirano.
Algoritmi
Standardni algoritmi koje je čovječanstvo do danas nakupilo potpuno su neprikladni za implementaciju na kvantnom računalu. Da, općenito nema potrebe. Kvantna računala temeljena na logici vrata preko kubita zahtijevaju stvaranje potpuno različitih algoritama, kvantnih algoritama. Od najpoznatijih kvantnih algoritama mogu se izdvojiti tri:
A najvažnija razlika je princip rada. Za standardno računalo ovo je digitalno, strogo determinističko načelo, na temelju činjenice da ako postavimo neko početno stanje sustava i propustimo ga kroz zadani algoritam, tada će rezultat izračuna biti isti, bez obzira koliko puta izvršili ovaj izračun. Zapravo, ovakvo ponašanje je upravo ono što očekujemo od računala.
Kvantno računalo radi dalje analogni, probabilistički princip. Rezultat zadanog algoritma u zadanom početnom stanju je uzorak iz distribucije vjerojatnosti konačne implementacije algoritma plus moguće pogreške.
Ova probabilistička priroda kvantnog računalstva posljedica je same probabilističke suštine kvantnog svijeta. "Bog se ne kocka sa svemirom.", rekao je stari Einstein, ali svi dosadašnji eksperimenti i opažanja (u trenutnoj znanstvenoj paradigmi) potvrđuju suprotno.
Kao što smo već rekli, qubit se može predstaviti kvantnim objektom, odnosno fizičkim objektom koji implementira gore opisana kvantna svojstva. Odnosno, grubo rečeno, bilo koji fizički objekt u kojem postoje dva stanja i ta dva stanja su u stanju superpozicije može se koristiti za izgradnju kvantnog računala.
“Ako možemo staviti atom u dvije različite razine i kontrolirati ih, onda imate qubit. Ako to možemo učiniti s ionom, to je qubit. Isto je i sa strujom. Ako ga pokrenemo u smjeru kazaljke na satu i suprotno od kazaljke na satu u isto vrijeme, imate qubit.”(C)
Tu je divan komentar к članak, u kojem se detaljnije razmatra trenutna raznolikost fizičkih implementacija qubita, jednostavno ćemo navesti najpoznatije i najčešće:
Od sve ove raznolikosti, najrazvijenija je prva metoda dobivanja kubita, temeljena na supravodiči. Google, IBM, Intel i drugi vodeći igrači koriste ga za izgradnju svojih sustava.
Postoji grupa od tri osobe: (A)ndrey, (B)olodya i (C)erezha. Ima dva taksija (0 i 1).
Također je poznato da:
(A) Andrey, (B) Olodya su prijatelji
(A)ndrey, (C)erezha su neprijatelji
(B)olodya i (C)erezha su neprijatelji
Zadatak: Postavite ljude u taksije tako da Max (prijatelji) и Min (neprijatelji)
Ocjenjivanje: L = (broj prijatelja) - (broj neprijatelja) za svaku mogućnost smještaja
VAŽNO: Pod pretpostavkom da nema heuristike, ne postoji optimalno rješenje. U ovom slučaju problem se može riješiti samo potpunom pretragom opcija.
Rješenje na običnom računalu
Kako riješiti ovaj problem na običnom (super) računalu (ili klasteru) - to je jasno morate proći kroz sve moguće opcije. Ako imamo višeprocesorski sustav, tada možemo paralelizirati izračun rješenja na nekoliko procesora i zatim prikupiti rezultate.
Imamo 2 moguće opcije smještaja (taxi 0 i taxi 1) i 3 osobe. Prostor rješenja 2 ^ 3 = 8. Možete čak proći kroz 8 opcija pomoću kalkulatora, to nije problem. Ajmo sada zakomplicirati problem - imamo 20 ljudi i dva autobusa, prostor rješenja 2^20 = 1. Također ništa komplicirano. Povećajmo broj ljudi za 2.5 puta - uzmimo 50 ljudi i dva vlaka, rješenje je prostor sada 2^50 = 1.12 x 10^15. Obično (super) računalo već počinje imati ozbiljnih problema. Povećajmo broj ljudi 2 puta, 100 ljudi će nam već dati 1.2 x 10^30 moguće opcije.
To je to, ovaj zadatak se ne može izračunati u razumnom vremenu.
Spajanje superračunala
Najsnažnije računalo trenutno je broj 1 Top500je Vrh, produktivnost 122 Pflops. Pretpostavimo da nam treba 100 operacija za izračunavanje jedne opcije, a zatim da riješimo problem za 100 ljudi trebat će nam:
(1.2 x 10^30 100) / 122×10^15 / (606024365) = 3 x 10^37 godina.
Kao što vidimo kako se dimenzija početnih podataka povećava, prostor rješenja raste prema zakonu potencije, u općem slučaju, za N bitova imamo 2^N mogućih opcija rješenja, koje nam za relativno mali N (100) daju neizračunati (na trenutnoj tehnološkoj razini) prostor rješenja.
Postoje li alternative? Kao što možda pretpostavljate, da, postoji.
Ali prije nego što uđemo u to kako i zašto kvantna računala mogu učinkovito riješiti probleme poput ovih, uzmimo trenutak da rezimiramo što su oni. distribucija vjerojatnosti. Ne brinite, ovo je pregledni članak, ovdje neće biti teške matematike, zadovoljit ćemo se klasičnim primjerom s vrećom i loptama.
Samo malo kombinatorike, teorije vjerojatnosti i čudnog eksperimentatora
Uzmimo torbu i stavimo je u nju 1000 bijelih i 1000 crnih loptica. Provest ćemo eksperiment - izvaditi kuglicu, zapisati boju, vratiti kuglicu u vrećicu i pomiješati kuglice u vrećici.
Eksperiment je izveden 10 puta, izvukao 10 crnih kuglica. Može biti? Dosta. Daje li nam ovaj uzorak ikakvu razumnu ideju o pravoj raspodjeli u vrećici? Očito ne. Što treba učiniti – pravo, strponovite eksperiment milijun puta i izračunajte frekvencije crnih i bijelih kuglica. Dobivamo npr 49.95% crno i 50.05% bijelo. U ovom slučaju već je manje-više jasna struktura distribucije iz koje uzorkujemo (vadimo jednu kuglicu).
Glavno je to razumjeti sam pokus ima probabilističku prirodu, s jednim uzorkom (loptom) nećemo znati pravu strukturu distribucije, trebamo ponoviti eksperiment mnogo puta i prosječne rezultate.
Dodajmo ga u našu torbu 10 crvenih i 10 zelenih kuglica (pogreške). Ponovimo eksperiment 10 puta. Uizvukao 5 crvenih i 5 zelenih. Može biti? Da. Možemo reći nešto o pravoj distribuciji - Ne. Što treba učiniti - dobro, razumijete.
Kako bi se razumjela struktura distribucije vjerojatnosti, potrebno je opetovano uzorkovati pojedinačne ishode iz te distribucije i prosječiti rezultate.
Povezivanje teorije s praksom
Sada umjesto crnih i bijelih kugli, uzmimo kugle za bilijar i stavimo ih u torbu 1000 kuglica s brojem 2, 1000 s brojem 7 i 10 kuglica s ostalim brojevima. Zamislimo eksperimentatora koji je uvježban u najjednostavnijim radnjama (vadi lopticu, zapiši broj, vrati lopticu u vreću, pomiješaj loptice u vreći) i to napravi za 150 mikrosekundi. Pa takav eksperimentator na brzinu (nije reklama za drogu!!!). Tada će za 150 sekundi moći izvesti naš eksperiment 1 milijun puta i dajte nam rezultate prosjeka.
Posjeli su eksperimentatora, dali mu vrećicu, okrenuli se, pričekali 150 sekundi i dobili:
broj 2 - 49.5%, broj 7 - 49.5%, preostali brojevi ukupno - 1%.
Da, tako je, naša torba je kvantno računalo s algoritmom koji rješava naš problem, a loptice su moguća rješenja. Budući da postoje dva točna rješenja, dakle kvantno računalo će nam dati bilo koje od ovih mogućih rješenja s jednakom vjerojatnošću i 0.5% (10/2000) pogreške, o čemu ćemo kasnije.
Da biste dobili rezultat kvantnog računala, trebate pokrenuti kvantni algoritam više puta na istom ulaznom skupu podataka i izračunati prosjek rezultata.
Skalabilnost kvantnog računala
Sada zamislite da za zadatak koji uključuje 100 ljudi (prostor rješenja 2^100 sjećamo se toga), također postoje samo dvije ispravne odluke. Zatim, ako uzmemo 100 kubita i napišemo algoritam koji izračunava našu objektivnu funkciju (L, vidi gore) preko tih kubita, tada ćemo dobiti vrećicu u kojoj će biti 1000 loptica s brojem prvog točnog odgovora, 1000 s broj drugog točnog odgovora i 10 loptica s ostalim brojevima. I unutar istih 150 sekundi naš eksperimentator će nam dati procjenu distribucije vjerojatnosti točnih odgovora.
Vrijeme izvršenja kvantnog algoritma (uz neke pretpostavke) može se smatrati konstantnim O(1) s obzirom na dimenziju prostora rješenja (2^N).
A upravo je to svojstvo kvantnog računala - konstantnost vremena izvođenja u odnosu na rastuću složenost zakona snage prostora rješenja je ključ.
Qubit i paralelni svjetovi
Kako se to događa? Što kvantnom računalu omogućuje tako brzu izračune? Sve je u kvantnoj prirodi qubita.
Gledajte, rekli smo da je qubit poput kvantnog objekta ostvaruje jedno od svoja dva stanja kada se promatra, ali u “živoj prirodi” je in superpozicije stanja, odnosno nalazi se u oba svoja granična stanja istovremeno (s određenom vjerojatnošću).
uzeti (A)ndreya a njegovo stanje (u kojem je vozilu - 0 ili 1) zamislite kao qubit. Tada imamo (u kvantnom prostoru) dva paralelna svijeta, u jednom (ALI) sjedi u taksiju 0, u drugom svijetu - u taksiju 1. U dva taksija istovremeno, ali s određenom vjerojatnošću da će se tijekom promatranja pronaći u svakom od njih.
uzeti (B) mlad a zamislimo i njegovo stanje kao qubit. Nastaju dva druga paralelna svijeta. Ali za sada ovi parovi svjetova (ALI) и (NA) nemojte uopće komunicirati. Što treba učiniti za stvaranje srodni sustav? Tako je, trebaju nam ovi kubiti vezati (zbuniti). Uzimamo i zbunjujemo (A) sa (B) — dobivamo kvantni sustav od dva qubita (A, B), ostvarujući u sebi četiri međuovisni paralelni svjetovi. Dodati (S)ergej i dobivamo sustav od tri qubita (ABC), provedbu osam međuovisni paralelni svjetovi.
Bit kvantnog računalstva (implementacija lanca kvantnih vrata preko sustava povezanih kubita) je činjenica da se izračun odvija u svim paralelnim svjetovima istovremeno.
I nije važno koliko ih imamo, 2^3 ili 2^100, kvantni algoritam će se izvršiti u konačnom vremenu nad svim tim paralelnim svjetovima i dat će nam rezultat, koji je uzorak iz distribucije vjerojatnosti odgovora algoritma.
Za bolje razumijevanje, to se može zamisliti kvantno računalo na kvantnoj razini pokreće 2^N paralelnih procesa rješenja, od kojih svaki radi na jednoj mogućoj opciji, zatim prikuplja rezultate rada - i daje nam odgovor u obliku superpozicije rješenja (distribucija vjerojatnosti odgovora), iz koje svaki put uzorkujemo jedan (za svaki eksperiment).
Zapamtite vrijeme potrebno našem eksperimentatoru (150 µs) za izvođenje eksperimenta, ovo će nam biti od koristi malo dalje, kada budemo govorili o glavnim problemima kvantnih računala i vremenu dekoherencije.
Kao što je već spomenuto, konvencionalni algoritmi temeljeni na binarnoj logici nisu primjenjivi na kvantno računalo koje koristi kvantnu logiku (kvantna vrata). Za njega je bilo potrebno osmisliti nove koji u potpunosti iskorištavaju potencijal svojstven kvantnoj prirodi računalstva.
U ovom članku nećemo detaljno analizirati kvantne algoritme; na internetu postoji mnogo izvrsnih materijala za bilo koju razinu složenosti, ali ipak trebamo ukratko proći kroz tri najpoznatija.
Najpoznatiji kvantni algoritam je Shorov algoritam (izumio ga je 1994. engleski matematičar Peter Shore), koji je usmjeren na rješavanje problema rastavljanja brojeva na proste faktore (problem faktorizacije, diskretni logaritam).
Upravo taj algoritam navode kao primjer kada pišu da će vam bankovni sustavi i lozinke uskoro biti hakirani. S obzirom da duljina ključeva koji se danas koriste nije manja od 2048 bita, vrijeme za ograničenje još nije došlo.
Do danas rezultate više nego skromno. Najbolji rezultati faktorizacije sa Shorovim algoritmom - brojevi 15 и 21, što je mnogo manje od 2048 bita. Za ostale rezultate iz tablice drugačija algoritam izračunima, ali čak i najbolji rezultat prema ovom algoritmu (291311) vrlo je daleko od stvarne primjene.
Možete pročitati više o Shorovom algoritmu, na primjer, ovdje. O praktičnoj primjeni - ovdje.
Groverov algoritam se može koristiti za pronalaženje medijani и aritmetička sredina serije brojeva. Osim toga, može se koristiti za rješavanje NP-potpuno probleme kroz iscrpnu potragu među mnogim mogućim rješenjima. To može dovesti do značajnog povećanja brzine u usporedbi s klasičnim algoritmima, iako bez pružanja "polinomsko rješenje" općenito.(C)
Možete pročitati više ovdjeIli ovdje... Više ovdje Postoji dobro objašnjenje algoritma na primjeru kutija i lopte, ali, nažalost, iz razloga koji su izvan bilo čije kontrole, ova stranica mi se ne otvara iz Rusije. Ako imate ove stranice je također blokiran, pa evo kratkog sažetka:
Groverov algoritam. Zamislite da imate N komada numeriranih zatvorenih kutija. Sve su prazne osim jedne u kojoj se nalazi lopta. Vaš zadatak: saznajte broj kutije u kojoj se nalazi kuglica (ovaj nepoznati broj često se označava slovom w).
Kako riješiti ovaj problem? Najgluplje je naizmjenično otvarati kutije i prije ili kasnije naići ćete na kutiju s lopticom. U prosjeku, koliko kutija treba provjeriti prije nego što se pronađe kutija s lopticom? U prosjeku trebate otvoriti oko polovicu N/2 kutija. Glavna stvar ovdje je da ako povećamo broj kutija za 100 puta, tada će se i prosječni broj kutija koje treba otvoriti prije nego se pronađe kutija s lopticom također povećati za istih 100 puta.
Sada napravimo još jedno pojašnjenje. Nemojmo sami otvarati kutije rukama i provjeravati prisutnost kuglice u svakoj, ali postoji određeni posrednik, nazovimo ga Oracle. Kažemo Oracleu, "označite okvir broj 732", a Oracle iskreno provjeri i odgovori, "nema kuglice u polju broj 732." Sada, umjesto da kažemo koliko kutija u prosjeku trebamo otvoriti, kažemo "koliko puta u prosjeku trebamo ići do Oraclea da pronađemo broj kutije s lopticom"
Ispostavilo se da ako ovaj problem s kutijama, lopticom i Oracleom prevedemo na kvantni jezik, dobivamo izvanredan rezultat: da bismo pronašli broj kutije s lopticom među N kutija, moramo poremetiti Oracle samo oko SQRT (N) puta!
Odnosno, složenost zadatka pretraživanja pomoću Groverovog algoritma smanjena je za kvadratni korijen puta.
Deutsch-Jozsijev problem je odrediti je li funkcija nekoliko binarnih varijabli F(x1, x2, ... xn) konstantna (uzima ili vrijednost 0 ili 1 za sve argumente) ili uravnotežena (za polovicu domene potrebno je vrijednost 0, za drugu polovicu 1). U ovom slučaju, smatra se da je a priori poznato da je funkcija ili konstantna ili uravnotežena.(C)
Deutsch (Deutsch-Jozsi) algoritam temelji se na gruboj sili, ali omogućuje brže nego inače. Zamislite da je na stolu novčić i trebate saznati je li krivotvoren ili nije. Da biste to učinili, morate dvaput pogledati novčić i utvrditi: "glave" i "repovi" su pravi, dvije "glave", dva "repa" su lažni. Dakle, ako koristite Deutschov kvantni algoritam, onda se ovo određivanje može napraviti jednim pogledom - mjerenjem.(C)
Prilikom projektiranja i rada s kvantnim računalima, znanstvenici i inženjeri suočavaju se s ogromnim brojem problema, koji su do danas riješeni s različitim stupnjevima uspjeha. Prema istraživanje (a također i ovdje) može se identificirati sljedeći niz problema:
Osjetljivost na okolinu i interakcija s okolinom
Nakupljanje pogrešaka tijekom izračuna
Poteškoće s početnom inicijalizacijom stanja kubita
Kvantno stanje vrlo krhka stvarkubiti u zapetljanom stanju izuzetno su nestabilni, svaki vanjski utjecaj može (i čini) uništiti ovu vezu. Promjena temperature za najmanji djelić stupnja, tlak, nasumični foton koji leti u blizini - sve to destabilizira naš sustav.
Za rješavanje ovog problema grade se niskotemperaturni sarkofazi u kojima je temperatura (-273.14 stupnjeva Celzijusa) nešto iznad apsolutne nule, uz maksimalnu izolaciju unutarnje komore s procesorom od svih (eventualnih) utjecaja vanjske okoline.
Maksimalni životni vijek kvantnog sustava nekoliko isprepletenih kubita, tijekom kojeg on zadržava svoja kvantna svojstva i može se koristiti za izračune, naziva se vrijeme dekoherencije.
Trenutno je vrijeme dekoherencije u najboljim kvantnim rješenjima reda veličine desetke i stotine mikrosekundi.
Postoji prekrasan web stranicagdje možete pogledati usporedne tablice parametara svih stvorenih kvantnih sustava. Ovaj članak uključuje samo dva vrhunska procesora kao primjere - iz IBM-a IBM Q System One i od Google Sycamore. Kao što vidimo, vrijeme dekoherencije (T2) ne prelazi 200 μs.
Nisam našao točne podatke o Sycamoreu, ali u većini članak o kvantnoj nadmoći data su dva broja - 1 milijun izračuna u 200 sekundi, drugdje - za 130 sekundi bez gubitka upravljačkih signala itd.. U svakom slučaju, ovo nam daje vrijeme dekoherencije je oko 150 μs. Zapamtite naše eksperimentator s torbom? Pa, evo ga.
računalo Ime
N kubita
Max uparen
T2 (µs)
IBM Q System One
20
6
70
Google Sycamore
53
4
~ 150 do 200
Čime nam prijeti dekoherencija?
Glavni problem je što će nakon 150 μs naš računalni sustav od N zapletenih kubita početi emitirati probabilistički bijeli šum umjesto probabilističke distribucije točnih rješenja.
Odnosno, trebamo:
Inicijalizirajte qubit sustav
Izvršite izračun (lanac operacija vrata)
Pročitaj rezultat
I sve to učinite za 150 mikrosekundi. Nisam imao vremena - rezultat se pretvorio u bundevu.
Kao što smo rekli, kvantni procesi i kvantno računalstvo su probabilističke prirode, ne možemo biti 100% sigurni u ništa, ali samo s određenom vjerojatnošću. Situaciju dodatno otežava činjenica da kvantno računanje je sklono pogreškama. Glavne vrste grešaka u kvantnom računanju su:
Pogreške dekoherencije uzrokovane su složenošću sustava i interakcijom s vanjskim okruženjem
Pogreške računanja vrata (zbog kvantne prirode računanja)
Pogreške u očitavanju konačnog stanja (rezultat)
Pogreške povezane s dekoherencijom, pojavljuju se čim zapetljamo naše kubite i počnemo raditi proračune. Što više kubita zapetljamo, to je sustav složeniji, a lakše ga je uništiti. Niskotemperaturni sarkofazi, zaštićene komore, svi ti tehnološki trikovi su upravo usmjereni na smanjenje broja grešaka i produljenje vremena dekoherencije.
Pogreške računanja vrata - bilo koja operacija (gate) na qubitima može s određenom vjerojatnošću završiti greškom, a za implementaciju algoritma potrebno je izvesti stotine gateova, pa zamislite što dobijemo na kraju izvršenja našeg algoritma. Klasičan odgovor na pitanje je "Kolika je vjerojatnost susreta s dinosaurusom u dizalu?" - 50x50, ili ćeš se sresti ili nećeš.
Problem je dodatno pogoršan činjenicom da standardne metode ispravljanja pogrešaka (dupliciranje izračuna i usrednjavanje) ne rade u kvantnom svijetu zbog teorema o zabrani kloniranja. Za ispravak pogreške u kvantnom računalstvu morao biti izumljen metode kvantne korekcije. Grubo govoreći, uzmemo N običnih kubita i napravimo 1 od njih logički kubit s nižom stopom pogreške.
Ali tu se javlja drugi problem - ukupan broj kubita. Gledajte, recimo da imamo procesor sa 100 qubita, od kojih se 80 qubita koristi za ispravljanje pogrešaka, onda nam ostaje samo 20 za izračune.
Pogreške u očitavanju konačnog rezultata — kao što se sjećamo, rezultat kvantnih izračuna predstavljen nam je u obliku distribucija vjerojatnosti odgovora. Ali čitanje konačnog stanja također može biti neuspješno s pogreškom.
Na istom Online Postoje usporedne tablice procesora prema razinama pogreške. Za usporedbu, uzmimo iste procesore kao u prethodnom primjeru - IBM IBM Q System One и Google Sycamore:
računalo
1-Qubit Gate vjernost
2-Qubit Gate Fidelity
Vjernost očitavanja
IBM Q System One
99.96%
98.31%
-
Google Sycamore
99.84%
99.38%
96.2%
Ovdje vjernost je mjera sličnosti dvaju kvantnih stanja. Veličina pogreške može se grubo izraziti kao 1-vjernost. Kao što vidimo, pogreške na 2-qubitnim vratima i pogreške očitanja glavna su prepreka izvršavanju složenih i dugih algoritama na postojećim kvantnim računalima.
Možete i čitati putokaz iz 2016 godine od NQIT riješiti problem ispravljanja grešaka.
U teoriji mi gradimo i upravljamo sklopovi desetaka zapletenih kubita, u stvarnosti je sve kompliciranije. Svi postojeći kvantni čipovi (procesori) izgrađeni su na način da pružaju bezbolan isprepletenost jednog kubita samo sa svojim susjedima, kojih nema više od šest.
Ako trebamo ispreplesti 1. qubit, recimo, s 12., tada ćemo morati izgraditi lanac dodatnih kvantnih operacija, uključuju dodatne qubite itd., što povećava ukupnu razinu pogreške. Da, i ne zaboravite vrijeme dekoherencije, možda će vrijeme završiti dok završite spajanje kubita u strujni krug koji vam je potreban i cijeli krug će se pretvoriti u lijep generator bijelog šuma.
Također ne zaboravite to Arhitektura svih kvantnih procesora je različita, a program napisan u emulatoru u načinu povezivanja "svi-na-svi" morat će se "rekompilirati" u arhitekturu određenog čipa. Postoje čak posebni programi za optimizaciju za izvođenje ove operacije.
Maksimalna povezanost i maksimalan broj qubita za iste vrhunske čipove:
računalo Ime
N kubita
Max uparen
T2 (µs)
IBM Q System One
20
6
70
Google Sycamore
53
4
~ 150 do 200
I, za usporedbu, tablica s podacima iz prethodne generacije procesora. Usporedite broj kubita, vrijeme dekoherencije i stopu pogreške s onim što sada imamo s novom generacijom. Ipak, napredak je spor, ali kreće se.
Dakle:
Trenutačno ne postoje potpuno povezane arhitekture s > 6 qubita
Za uplitanje qubit 0 s na stvarnom procesoru, na primjer, qubit 15 može zahtijevati nekoliko desetaka dodatnih operacija
Više operacija -> više grešaka -> jači utjecaj dekoherencije
Dekoherencija je Prokrustovo ležište modernog kvantnog računalstva. Sve moramo smjestiti u 150 μs:
Inicijalizacija početnog stanja qubita
Računanje problema korištenjem kvantnih vrata
Ispravite pogreške kako biste dobili smislene rezultate
Pročitajte rezultat
Zasad su rezultati ipak razočaravajući ovdje tvrde da postižu vrijeme zadržavanja koherencije od 0.5 s na kvantnom računalu na temelju ionske zamke:
Mjerimo vrijeme koherencije kubita veće od 0.5 s, a s magnetskom zaštitom očekujemo da će to poboljšati dulje od 1000 s
Također možete pročitati o ovoj tehnologiji здесь ili na primjer здесь.
Situacija je dodatno komplicirana činjenicom da je pri izvođenju složenih izračuna potrebno koristiti kvantne sklopove za ispravljanje pogrešaka, što također jede i vrijeme i dostupne qubite.
I konačno, moderne arhitekture ne dopuštaju implementaciju shema isprepletenosti bolju od 1 u 4 ili 1 u 6 uz minimalne troškove.
Za rješavanje gore navedenih problema trenutno se koriste sljedeći pristupi i metode:
Korištenje kriokomora s niskim temperaturama (10 mK (–273,14°C))
Korištenje procesorskih jedinica koje su maksimalno zaštićene od vanjskih utjecaja
Korištenje kvantnih sustava za ispravljanje pogrešaka (Logic Qubit)
Korištenje optimizatora pri programiranju sklopova za određeni procesor
Također se provode istraživanja s ciljem povećanja vremena dekoherencije, traženja novih (i poboljšanja poznatih) fizičkih implementacija kvantnih objekata, optimiziranja krugova korekcije itd., itd. Napretka ima (pogledajte gore karakteristike ranijih i današnjih vrhunskih čipova), ali zasad je spor, jako, jako spor.
Usred Googleove najave postizanja kvantne nadmoći korištenjem 53-qubit procesora, Računala и najave iz tvrtke D-Wave, u kojoj se broj kubita broji u tisućama, pomalo zbunjuje. Pa, stvarno, ako su 53 qubita uspjela postići kvantnu nadmoć, za što je onda sposobno računalo s 2048 qubita? Ali nije sve tako dobro...
Ukratko (preuzeto s wikija):
Računala D-val rad na principu kvantna relaksacija (kvantno žarenje), mogu riješiti vrlo ograničenu podklasu optimizacijskih problema i nisu prikladni za implementaciju tradicionalnih kvantnih algoritama i kvantnih vrata.
Za više detalja možete pročitati npr. ovdje, ovdje (pažljivo, možda se neće otvoriti iz Rusije), ili Scott Aaronson в članak od njegovog blog post. Usput, toplo preporučujem čitanje njegovog bloga općenito, ima puno dobrih materijala
Općenito, od samog početka najava, znanstvena zajednica imala je pitanja o D-Wave računalima. Na primjer, 2014. IBM je doveo u pitanje činjenicu da D-Wave koristi kvantne efekte. Došlo je do toga da je 2015. Google zajedno s NASA-om kupio jedno od tih kvantnih računala i nakon istraživanja potvrdio, da da, računalo radi i izračunava problem brže od običnog. Možete pročitati više o Googleovoj izjavi ovdje i, na primjer, ovdje.
Glavna stvar je da se D-Wave računala, sa svojim stotinama i tisućama qubita, ne mogu koristiti za izračunavanje i pokretanje kvantnih algoritama. Ne možete na njima, na primjer, pokrenuti Shorov algoritam. Sve što mogu učiniti je koristiti određene kvantne mehanizme za rješavanje određenog problema optimizacije. Možemo smatrati da je D-Wave kvantni ASIC za određeni zadatak.
Radom - za točnu emulaciju 49-qubitnog kruga koji se sastoji od nekih 39 "ciklusa" (neovisni slojevi vrata) trebalo je 2^63 složena množenja - 4 Pflopa superračunala za 4 sata
Emulacija 50+ qubit kvantnog računala na klasičnim sustavima smatra se nemogućom u razumnom vremenu. To je i razlog zašto je Google koristio 53-qubit procesor za svoj eksperiment kvantne nadmoći.
Wikipedia nam daje sljedeću definiciju nadmoći kvantnog računalstva:
Kvantna nadmoć – sposobnost kvantno računanje uređaji za rješavanje problema koje klasična računala praktički ne mogu riješiti.
Zapravo, postizanje kvantne nadmoći znači da se, na primjer, faktorizacija velikih brojeva pomoću Shorovog algoritma može riješiti u odgovarajućem vremenu ili da se složene kemijske molekule mogu emulirati na kvantnoj razini, i tako dalje. Odnosno, došlo je novo doba.
Ali postoji neka rupa u tekstu definicije, "koje klasična računala praktički ne mogu riješiti" Zapravo, to znači da ako stvorite kvantno računalo od 50+ qubita i pokrenete neki kvantni sklop na njemu, onda, kao što smo gore spomenuli, rezultat ovog sklopa ne može se emulirati na običnom računalu. To je klasično računalo neće moći ponovno stvoriti rezultat takvog sklopa.
Tako su Googleovi programeri u listopadu 2019. objavili članak u znanstvenoj publikaciji Nature “Kvantna nadmoć korištenjem programabilnog supravodljivog procesora" Autori su najavili postizanje kvantne nadmoći po prvi put u povijesti koristeći 54-qubit Sycamore procesor.
Sycamore članci na mreži često se odnose na 54-qubit procesor ili 53-qubit procesor. Istina je da prema Orginalni članak, procesor se fizički sastoji od 54 qubita, ali jedan od njih ne radi i povučen je iz upotrebe. Dakle, u stvarnosti imamo 53-qubit procesor.
IBM-ov tim za kvantno računalstvo kasnije je to izjavio Google je lažno prijavio postizanje kvantne nadmoći. Tvrtka tvrdi da će se konvencionalno računalo s tim zadatkom u najgorem slučaju nositi za 2,5 dana, a dobiveni odgovor bit će točniji od onog kvantnog računala. Ovaj zaključak donesen je na temelju rezultata teorijske analize nekoliko optimizacijskih metoda.
I naravno, Scott Aaronson u njegovom blog post Nisam mogao ignorirati ovu izjavu. Njegovo analiza zajedno sa svim poveznicama i FAQ o Scottovoj vrhovnoj kvantnoj nadmoći! kao i obično, na njih vrijedi potrošiti svoje vrijeme. Na čvorištu postoji prijevod ovaj FAQ, i svakako pročitajte komentare, postoje poveznice na preliminarne dokumente koji su procurili online prije službene objave.
Što je Google zapravo napravio? Za detaljnije razumijevanje pročitajte Aaronsona, ali ukratko ovdje:
Mogu ti, naravno, reći, ali osjećam se prilično glupo. Izračun je sljedeći: eksperimentator generira slučajni kvantni krug C (tj. slučajni niz 1-qubitnih i 2-qubitnih vrata između najbližih susjeda, s dubinom od, na primjer, 20, koji djeluju na 2D mrežu od n = 50-60 kubita). Eksperimentator zatim šalje C kvantnom računalu i traži od njega da primijeni C na početno stanje 0, izmjeri rezultat u bazi {0,1}, pošalje natrag n-bitni promatrani niz (niz) i ponovi nekoliko tisuće ili milijune puta. Konačno, koristeći svoje znanje o C-u, eksperimentator izvodi statistički test da vidi odgovara li rezultat očekivanom rezultatu kvantnog računala.
Vrlo kratko:
Nasumični krug duljine 20 od 53 kubita kreiran je pomoću vrata
Krug počinje s početnim stanjem [0…0] za izvođenje
Izlaz sklopa je slučajni niz bitova (uzorak)
Distribucija rezultata nije slučajna (interferencija)
Distribucija dobivenih uzoraka uspoređuje se s očekivanom
Zaključuje Quantum Supremacy
Odnosno, Google je implementirao sintetički problem na 53-qubit procesor, a svoju tvrdnju o postizanju kvantne nadmoći temelji na činjenici da je nemoguće emulirati takav procesor na standardnim sustavima u razumnom vremenu.
Za razumijevanje - Ovaj odjeljak ni na koji način ne umanjuje Googleovo postignuće, inženjeri su stvarno sjajni, a pitanje može li se to smatrati stvarnom kvantnom superiornošću ili ne, kao što je ranije spomenuto, više je filozofsko nego inženjersko. Ali moramo shvatiti da nakon što smo postigli takvu računsku superiornost, nismo napredovali ni korak prema mogućnosti pokretanja Shorovog algoritma na 2048-bitnim brojevima.
Još nema STVARNE komercijalne eksploatacije (i nejasno je kada će biti)
Što može pomoći:
Neka vrsta fizičkog otkrića koje smanjuje troškove ožičenja i rada procesora
Otkrivanje nečega što će povećati vrijeme dekoherencije za red veličine i/ili smanjiti pogreške
Po mom mišljenju (čisto osobno mišljenje), U trenutnoj znanstvenoj paradigmi znanja nećemo postići značajan uspjeh u razvoju kvantnih tehnologija, ovdje nam je potreban kvalitativni iskorak u nekom području fundamentalne ili primijenjene znanosti, koji će dati poticaj novim idejama i metodama.
U međuvremenu stječemo iskustvo u kvantnom programiranju, skupljamo i stvaramo kvantne algoritme, testiramo ideje itd. itd. Čekamo iskorak.
U ovom smo članku prošli kroz glavne prekretnice u razvoju kvantnog računalstva i kvantnih računala, ispitali princip njihova rada, ispitali glavne probleme s kojima se inženjeri suočavaju u razvoju i radu kvantnih procesora, a također smo pogledali što je multi-qubit D-računala zapravo jesu. Wave i Googleova nedavna objava o postizanju kvantne nadmoći.
Iza kulisa su ostala pitanja programiranja kvantnih računala (jezici, pristupi, metode itd.) i pitanja vezana uz specifičnu fizičku implementaciju procesora, kako se upravlja, povezuje, čita itd. qubitima. Možda će to biti tema sljedećeg članka ili članaka.
Hvala vam na pažnji, nadam se da će ovaj članak nekome biti od koristi.