Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Computerele cuantice și calculul cuantum sunt un nou cuvânt la modă, care s-a adăugat în spațiul nostru informațional alături de inteligența artificială, învățarea automată și alte termeni tehnologici avansați. Cu toate acestea, nu am reușit să găsesc online material care să-mi pună cap la cap puzzle-ul numit „cum funcționează computerele cuantice”. Da, există multe lucrări excelente, inclusiv pe Habr (vezi. Lista de resurse), comentariile la care, așa cum se întâmplă de obicei, sunt chiar mai informative și utile, dar imaginea din minte, așa cum se spune, nu se închega.

Recent, colegii mei m-au întrebat: „Înțelegi cum funcționează un computer cuantic? Ne poți spune?” Și atunci mi-am dat seama că problema formării unei imagini coerente în minte nu este doar a mea.

În rezultat, a fost făcută o încercare de a compila informații despre computerele cuantice într-un sistem logic coerent, în care, la un nivel de bază, fără o aprofundare profundă în matematică și structura lumii cuantice, să se explice ce este un computer cuantic, pe ce principii funcționează și ce probleme se confruntă cercetătorii în procesul de creare și exploatare a acestuia.


Cuprins

Declinarea responsabilității

(către cuprins)

Autorul nu este specialist în calculul cuantic și publicul țintă al articolului este format din IT-iști care nu sunt specialiști în cuantice, care doresc să-și formeze o imagine despre „Cum funcționează computerele cuantice”. Din acest motiv, multe concepte din articol sunt intenționat simplificate pentru a facilita înțelegerea tehnologiilor cuantice la un nivel „de bază”, dar fără o simplificare excesivă care să ducă la pierderea informativității și adecvării.

În articol, în anumite locuri sunt folosite materiale din alte surse, lista cărora este prezentată la sfârșitul articolului.Acolo unde a fost posibil, au fost inserate linkuri directe și indicații către originalul textului, tabelului sau ilustrației. Dacă am uitat ceva (sau pe cineva), scrieți-mi — voi corecta.

Introducere

(către cuprins)

În acest capitol, vom analiza pe scurt de unde a început era cuantică, care a fost motivul pentru care a apărut ideea de computer cuantic, cine (ce țări și corporații) sunt actualmente jucători de frunte în acest domeniu și vom discuta, de asemenea, pe scurt despre principalele direcții de dezvoltare a calculului cuantic.

Cum a început totul

(către cuprins)

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Punctul de plecare al erei cuantice este considerat anul 1900, când M. Planck a propus pentru prima dată ipoteza că energia este emisă și absorbită nu continuu, ci în cantități discrete (pachete). Ideea a fost preluată și dezvoltată de mulți oameni de știință remarcabili ai acelei vremi — Bohr, Einstein, Heisenberg, Schrödinger, ceea ce, în cele din urmă, a dus la crearea și dezvoltarea unei științe numite fizica cuantică.Despre evoluția fizicii cuantice ca știință există multe materiale bune pe internet, în acest articol nu ne vom opri în detaliu asupra acestui subiect, dar era necesar să indicăm data la care am intrat în noua epocă cuantică.

Fizica cuantică a adus în viața noastră cotidiană multe invenții și tehnologii fără de care acum este greu să ne imaginăm lumea înconjurătoare. De exemplu, laserul, care este utilizat peste tot, de la aparate casnice (nivelatoare laser și altele) până la sisteme de înaltă tehnologie (lasere pentru corectarea vederii, salut meklon ). Ar fi logic să presupunem că, mai devreme sau mai târziu, cineva va propune ideea de a folosi sistemele cuantice pentru calcul. Și așa, în 1980, s-a întâmplat acest lucru.

Wikipedia indică faptul că prima idee a calculului cuantic a fost exprimată în 1980 de către omul nostru de știință, Yuri Manin. Dar de discutat despre aceasta s-a început abia în 1981, când cunoscutul R. Feynman, în un raport de la prima conferință despre fizica calculului, organizată la Institutul Tehnologic din Massachusetts,, a subliniat că nu este posibil să se modeleze evoluția unui sistem cuantic pe un computer clasic într-un mod eficient. El a propus un model elementar al unui computer cuantic., care va putea efectua o astfel de simulare.

Există în rețea o astfel de lucrare, în care timpul de dezvoltare al calculatoarelor cuantice este analizat mai academic și detaliat, noi ne vom raporta pe scurt:

Principalele repere în istoria creării calculatoarelor cuantice:

După cum vedeți, au trecut 17 ani (din 1981 până în 1998) de la idee la prima sa realizare într-un computer cu 2 qubiți, și 21 de ani (din 1998 până în 2019) până când numărul qubiților a crescut la 53. Au fost necesari 11 ani (din 2001 până în 2012) pentru a îmbunătăți rezultatul execuției algoritmului lui Shor (ne vom opri mai în detaliu asupra acestuia puțin mai târziu) de la numărul 15 la 21. De asemenea, doar acum trei ani am ajuns să realizăm ceea ce a spus Feynman, și să învățăm să modelăm cele mai simple sisteme fizice.

Dezvoltarea calculului cuantic decurge lent. Oamenii de știință și inginerii se confruntă cu sarcini foarte complexe, stările cuantice sunt foarte efemere și fragile, iar pentru a le menține suficient de mult timp pentru a efectua calcule, trebuie construite sarcofage de zeci de milioane de dolari, în care se menține o temperatură puțin peste zero absolut și care sunt maxim protejate de influențele externe. În continuare, vom discuta aceste sarcini și probleme în detaliu.

Actorii de frunte

(către cuprins)

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Slide-urile pentru această secțiune sunt preluate din articolul Computer cuantic: un joc mare de promovare. Lecție la Yandex, de la cercetătorul științific Centrul nostru de calcul cuantic din Rusia Alexei Fedorov. Îmi permit să fac citate directe:

Toate țările cu succes tehnologic se ocupă activ în prezent de dezvoltarea tehnologiilor cuantice. Aceste cercetări primesc o sumă imensă de finanțare, se creează programe speciale de sprijin pentru tehnologiile cuantice.

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

În cursa pentru quantum participă nu doar statele, ci și companii private. În total, Google, IBM, Intel și Microsoft au investit aproximativ 0,5 miliarde de dolari în dezvoltarea calculatoarelor cuantice în ultima perioadă, creând laboratoare mari și centre de cercetare.
Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Pe Habr și în rețea există numeroase articole, de exemplu, iată, iată și iată, în care starea actuală a dezvoltării tehnologiilor cuantice în diferite țări este analizată mai detaliat. Pentru noi, acum este important că toate țările și actorii tehnologici de vârf investesc sume enorme în cercetări în acest domeniu, ceea ce oferă speranța de a ieși din criza tehnologică actuală.

Direcții de dezvoltare

(către cuprins)

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

În prezent (aș putea greși, corectați-mă), eforturile principale (și rezultatele mai mult sau mai puțin semnificative) ale tuturor actorilor de vârf se concentrează pe două direcții:

  • Calculatoare cuantice specializate, care sunt destinate rezolvării unei sarcini specifice, de exemplu, problemei de optimizare. Un exemplu de produs sunt calculatoarele cuantice D-Wave.
  • Calculatoare cuantice universale — care sunt capabile să implementeze algoritmi cuantici arbitrare (Shor, Grover etc.). Implementări de la IBM, Google.

Celelalte direcții de dezvoltare pe care ni le oferă fizica cuantică, cum ar fi:

sunt fără îndoială, de asemenea, pe lista direcțiilor de cercetare, dar nu par să existe rezultate semnificative în prezent.

În plus, puteți citi foaia de parcurs pentru dezvoltarea tehnologiilor cuantice, și căutați „dezvoltarea tehnologiilor cuantice”, de exemplu, iată, iată și iată.

Fundamente. Obiectul cuantic și sistemele cuantice

(către cuprins)

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Cel mai important lucru pe care trebuie să-l înțelegem din această secțiune este că

Calculatorul cuantic (spre deosebire de cel obișnuit) utilizează obiecte cuantice, iar pentru a efectua calcule, obiectele cuantice trebuie să fie conectate într-o sistem cuantic.

Ce este un obiect cuantic?

Obiectul cuantic — un obiect al microcosmosului (lumii cuantice) care prezintă proprietăți cuantice:

  • Are un stadiu definit cu două niveluri limită
  • Se află în superpoziție a stării sale până în momentul măsurării
  • Se împletește cu alte obiecte pentru a crea sisteme cuantice.
  • Execută teorema interdicției clonării (nu se poate copia starea unui obiect)

Să analizăm fiecare proprietate mai în detaliu:

Are o stare definită cu două niveluri de limită (stare finală)

Un exemplu clasic din viața reală este moneda. Aceasta are o stare „față”, care poate avea două niveluri de limită - „cap” și „pajură”.

Se află în superpoziție a stării sale până în momentul măsurării

Am aruncat moneda, aceasta zboară și se rotește. În timp ce se rotește, nu putem spune în care dintre nivelurile de limită se află starea sa „față”. Dar odată ce o aplaudăm și ne uităm la rezultat - superpoziția stărilor se colapsează instantaneu într-unul dintre cele două limitate - „cap” și „pajură”. Aplaudarea monedei este, în acest caz, măsurarea.

Se împletește cu alte obiecte pentru a crea sisteme cuantice.

Este complicat cu moneda, dar să încercăm. Imaginează-ți că am aruncat trei monede astfel încât să se rotească interacționând una cu alta, o jonglare cu monede. În fiecare moment de timp, nu doar că fiecare dintre ele se află în superpoziția stărilor, dar aceste stări se influențează reciproc (monedele se ciocnesc).

Execută teorema interdicției clonării (nu se poate copia starea unui obiect)

Atâta timp cât monedele zboară și se rotește, nu putem crea, în niciun fel, o copie separată de sistem a stării învârtește a oricărei monede. Sistemul trăiește în sine și este foarte gelos să dezvăluie vreo informație în exterior.

Încă câteva cuvinte despre conceptul în sine „superpoziției”, practic în toate articolele superpoziția este explicată ca „se află în toate stările simultan”, ceea ce, desigur, este corect, dar uneori poate provoca confuzie excesivă. Superpoziția stărilor poate fi, de asemenea, reprezentată ca faptul că, în fiecare moment de timp, un obiect cuantic are anumite probabilități de a se colapsa în fiecare dintre nivelurile sale de limită, iar în total, aceste probabilități sunt, desigur, egale cu 1. În continuare, la examinarea cubitului ne vom opri asupra acestui subiect mai în detaliu.

Pentru monede, acest lucru poate fi imaginat vizual - în funcție de viteza inițială, unghiul aruncării, starea mediului în care zboară moneda, în fiecare moment de timp probabilitatea de a obține „cap” sau „pajură” este diferită. Și, după cum s-a menționat anterior, starea unei astfel de monede în zbor poate fi reprezentată ca „se află în toate stările sale limitate simultan, dar cu probabilități diferite de realizare”.

Orice obiect care îndeplinește proprietățile menționate mai sus și care poate fi creat și gestionat poate fi folosit ca suport de informații într-un computer cuantic.

Mai departe, vom discuta despre starea actuală a realizării fizice a qubiților ca obiecte cuantice și despre ce folosesc acum oamenii de știință în acest scop.

Așadar, a treia proprietate afirmă că obiectele cuantice se pot împleti pentru a crea sisteme cuantice. Ce este, deci, o sistem cuantic?

Sistem cuantic — un sistem de obiecte cuantice împletite, având următoarele proprietăți:

  • Un sistem cuantic se află într-o superpoziție a tuturor stărilor posibile ale obiectelor din care este compus
  • Nu se poate cunoaște starea sistemului până la momentul măsurării
  • În momentul măsurării, sistemul realizează una dintre variantele posibile ale stărilor sale limită

(și, anticipând puțin)

Consecința pentru programele cuantice:

  • Un program cuantic are un sistem de stare dat la intrare, superpoziție în interior, superpoziție la ieșire
  • La ieșirea programului, după măsurare avem o realizare probabilistică a uneia dintre posibilitățile stărilor finale ale sistemului (plus erori posibile)
  • Orice program cuantic are o arhitectură de tip tub de fum (intrare -> ieșire. Nu există bucle, nu se poate vedea starea sistemului în mijlocul procesului.)

Compararea computerului cuantic cu cel obișnuit

(către cuprins)

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Acum să comparăm un computer obișnuit cu unul cuantic.

Computer obișnuitCalculatorul cuantic

Logică

0 / 1`a|0> + b|1>, a^2+b^2=1`

Fizică

Transistor cu semiconductoriObiectul cuantic

Suport de inf.

Niveluri de tensiunePolarizare, spin,…

Operații

NOT, AND, OR, XOR pe bițiPorți: CNOT, Hadamard,…

Interconexiune

Chip cu semiconductoriÎmpletire între ele

Algoritmi

Standard (vezi Knuth)Specifice (Shor, Grover)

Principiu

Digital, deterministAnalog, probabilistic

Nivel logic
Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Într-un computer obișnuit, acesta este bitul. Foarte familiar nouă. bit determinist. Poate lua valori fie 0, fie 1. Se descurcă excelent în rolul unității logice pentru un computer obișnuit, dar este complet inadecvat pentru a descrie starea obiectului cuantic, care, așa cum am spus, se află în mod natural în superpoziția stărilor sale limită.

Pentru aceasta a fost inventat qubitul. În stările sale limită, el realizează stări similare cu 0 și 1 |0> și |1>, iar în superpoziție reprezintă o distribuție probabilistică asupra stărilor sale de margine |0> și |1>:

 a|0> + b|1>, astfel încât a^2+b^2=1

a și b reprezintă amplitudini de probabilitate, iar pătratele modulelor lor sunt, de fapt, probabilitățile de a obține exact aceste valori ale stărilor de margine |0> și |1>, dacă collapsăm qubitul prin măsurare exact acum.

Nivelul fizic

La nivelul tehnologic actual, realizarea fizică a bitului pentru un computer obișnuit este un tranzistor semiconductiv, pentru cel cuantic, după cum am spus deja, orice obiect cuantic. În următoarea secțiune vom discuta despre ce este utilizat în prezent ca suport fizic pentru qubiți.

Suportul de informație

Pentru un computer obișnuit, acesta este curentul electric — niveluri de tensiune, prezența sau absența curentului etc., pentru cel cuantic — aceeași stare a obiectului cuantic (direcția polarizării, spinul etc.), care poate fi în stare de superpoziție.

Operații

Pentru realizarea circuitelor logice pe un computer obișnuit sunt utilizate bine cunoscutele operații logice, iar pentru operațiile asupra qubiților a fost necesar să se inventeze un sistem complet diferit de operații, numit porți cuantice. Porțile pot fi unice și două qubituri, în funcție de câte qubite sunt folosite în transformare.

Exemple de porți cuantice:
Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Există conceptul unui set universal de porți, care este suficient pentru a efectua orice calcul cuantum. De exemplu, un set universal include poarta Hadamard, poarta de schimbare a fazei, poarta CNOT și poarta π⁄8. Cu acestea, se poate efectua orice calcul cuantum pe un set arbitrar de qubiți.

În acest articol nu ne vom opri în detaliu asupra sistemului de porți cuantice, despre ele și operațiile logice asupra qubiților se poate citi, de exemplu, aici. Cel mai important de reținut este:

  • Operațiile asupra obiectelor cuantice necesită crearea de noi operatori logici (porți cuantice)
  • Porțile cuantice pot fi unice și două qubituri
  • Există seturi universale de porți, cu ajutorul cărora se poate efectua orice calcul cuantum.

Interconexiune

Un singur tranzistor este complet inutil pentru a efectua calcule; trebuie să conectăm multe tranzistori între ei, adică să creăm un cip semiconductor din milioane de tranzistori, pe care să construim circuite logice. ALU și, în cele din urmă, să obținem un procesor modern în forma sa clasică.

Un singur cubit este, de asemenea, complet inutil (bine, poate doar în plan academic),

pentru a efectua calcule avem nevoie de un sistem de cubiți (obiecte cuantice)

care, așa cum am spus, se creează prin încâlceala cubiților între ei, astfel încât schimbările în stările lor să se producă în mod corelat.

Algoritmi

Algoritmii standard pe care umanitatea i-a acumulat până în prezent nu sunt deloc potriviți pentru implementarea pe un computer cuantic. De fapt, nu este nici măcar necesar. Computerele cuantice, bazate pe logica porților aplicată cubiților, necesită crearea unor algoritmi complet diferiți, algoritmi cuantici. Dintre cei mai cunoscuți algoritmi cuantici, putem evidenția trei:

Principiu

Și cea mai importantă diferență este principiul de funcționare. La un computer standard, acesta este un principiu digital, rigid determinat, bazat pe observația că, dacă am definit o stare inițială a sistemului și am trecut-o printr-un algoritm dat, rezultatul calculului va fi același, indiferent de câte ori am rula acel calcul. De fapt, acest comportament este exact ceea ce ne așteptăm de la un computer.

Un computer cuantic funcționează pe un principiu analogic, probabilistic. Rezultatul execuției unui algoritm dat într-o stare inițială specificată reprezintă o eșantionare dintr-o distribuție probabilistică a realizărilor finite ale algoritmului, plus posibile erori.

Această natură probabilistică a calculului cuantic este determinată de însăși esența probabilistică a lumii cuantice. „Dumnezeu nu joacă zaruri cu universul”, spunea bătrânul Einstein, dar toate experimentele și observațiile de până acum (în paradigma științifică actuală) confirmă contrariul.

Realizările fizice ale cubiților

(către cuprins)

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Așa cum am menționat, un cubit poate fi reprezentat de un obiect cuantic, adică un obiect fizic care îndeplinește proprietățile cuantice descrise mai sus. Cu alte cuvinte, orice obiect fizic care are două stări și aceste două stări se află într-o stare de suprapunere poate fi utilizat pentru a construi un computer cuantic.

„Dacă putem plasa un atom în două niveluri diferite și le putem gestiona, iată un cubit. Dacă putem face asta cu un ion, suntem în fața unui cubit. Cu un curent electric este același lucru. Dacă îl lăsăm să curgă atât în sensul acelor de ceasornic, cât și împotriva acestuia simultan, iată un cubit.” (C)

Există un comentariu frumos la pe care l-ați citit, în care diversitatea actuală a realizărilor fizice ale cubitului este tratată mai în detaliu, noi vom enumera doar cele mai cunoscute și răspândite:

Dintre toate aceste variante, cea mai bine studiată este prima metodă de obținere a cubitilor, bazată pe supraconductori. Google, IBM, Intel și alți jucători de frunte folosesc exact aceasta pentru construirea sistemelor lor.

Și încă mai citiți recenzie realizările fizice cubitilor de la Andrew Daley, 2014 Materialele pentru această secțiune (problema și imaginile) sunt preluate din articolul.

Fundamente. Principiul de funcționare al computerului cuantic

(către cuprins)

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

„Simplu despre complicat. Cum funcționează un computer cuantic” Așadar, să presupunem că avem următoarea problemă:.

Există un grup format din trei persoane:

(A)ndrei, (B)olodia și (C)ereja . Există două taxiuri(0 și 1) De asemenea, se știe că:.

(A)ndrei, (B)olodia sunt prieteni

  • (A)ndrei, (C)ereja sunt dușmani
  • (B)olodia și (C)ereja sunt dușmani
  • Problema: Așezați oamenii în taxiuri astfel încât

Max(prieteni) Min(dușmani) și Evaluare:

L = (numărul de prieteni) - (numărul de dușmani) pentru fiecare variantă de aranjament IMPORTANT: Să presupunem că nu există euristici, nu există soluție optimă. În acest caz, problema se rezolvă doar printr-o căutare exhaustivă a variantelor.

Soluția pe un computer obișnuit

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Cum să rezolvăm această problemă pe un computer (super)obișnuit (sau pe un cluster) — este clar că

trebuie să trecem în revistă în ciclu toate variantele posibile . Dacă avem un sistem multiprocesor, atunci putem paraleliza calculul soluțiilor pe mai multe procesoare și apoi să adunăm rezultatele..

Avem 2 opțiuni de plasare (taxi 0 și taxi 1) și 3 persoane. Spațiul de soluții 2^3 = 8. Putem verifica 8 opțiuni chiar și cu un calculator, nu este o problemă. Acum să complicăm puțin sarcina — avem 20 de persoane și două autobuze, spațiul de soluții 2^20 = 1 048 576. Nimic complicat. Să înmulțim numărul de persoane cu 2,5 — să luăm 50 de persoane și două trenuri, spațiul de soluții acum 2^50 = 1.12 x 10^15. La un computer obișnuit (super) încep deja să apară probleme serioase. Să dublăm numărul de persoane, 100 de persoane ne vor oferi 1.2 x 10^30 opțiuni posibile.

Totul, în timp rezonabil, nu se poate calcula această sarcină.

Conectăm supercomputerul

Cel mai puternic computer de la momentul actual — numărul 1 din Top500, este Summit, cu un randament de 122 Pflops. Să presupunem că pentru calcularea unei opțiuni ne sunt suficiente 100 de operații, atunci pentru a rezolva sarcina pentru 100 de persoane ne va trebui:

(1.2 x 10^30 100) / 122×10^15 / (606024365) = 3 x 10^37 de ani.

După cum vedem, pe măsură ce dimensiunea datelor inițiale crește, spațiul soluțiilor crește conform unei legi exponențiale, în cazul general pentru N biți avem 2^N posibile soluții, care pentru N relativ mic (100) ne oferă un spațiu de soluții imposibil de calculat (la nivelul tehnologic actual).

Există alternative? Așa cum ați ghicit deja, da, există.

Dar înainte de a trece la cum și de ce computerele cuantice permit rezolvarea eficientă a unor astfel de sarcini, să ne amintim puțin despre ce înseamnă distribuția probabilistică. Nu vă speriați, articolul este unul de revizuire, nu va contain matematică riguroasă, ne vom rezuma la un exemplu clasic cu un sac și bile.

Puțin de combinatorică, teorie a probabilităților și un experimentator ciudat

Să luăm un sac și să punem în el 1000 de bile albe și 1000 de bile negre. Vom desfășura experimentul — să extragem o bilă, să notăm culoarea, să returnăm bila în sac și să amestecăm bilele în sac.

Am desfășurat experimentul de 10 ori, am extras 10 bile negre.Este posibil? Cu siguranță. Oferă acest eșantion un concept rezonabil despre adevărata distribuție din sac? Evident că nu. Ce trebuie să facem — corect, să repetăm experimentul de un milion de ori și să calculăm frecvențele apariției bilelor negre și albe.Vom obține, de exemplu 49.95% bile negre și 50.05% bile albe. 49.95% negru și 50.05% alb. În acest caz, structura distribuției din care facem eșantionarea (scoatem o bilă) devine mai clară.

Ideea principală pe care trebuie să o înțelegem este că experimentul în sine are o natură probabilistică.Cu un singur eșantion (bilă) nu putem descoperi structura adevărată a distribuției, trebuie să repetăm experimentul de multe ori și să mediem rezultatele.

Să adăugăm în sacul nostru 10 bile roșii și 10 bile verzi (erori). Vom repeta experimentul de 10 ori. Înam scos 5 bile roșii și 5 bile verzi.Este posibil? Da. Putem spune ceva despre distribuția adevărată? — Nu. Ce trebuie să facem — ei bine, ați înțeles.

Pentru a obține o înțelegere a structurii distribuției probabilistice, trebuie să eșantionăm repetat rezultate unice din această distribuție și să mediem rezultatele.

Legăm teoria de practică.

Acum, în loc de bile negre și albe, să luăm bile de biliard și să punem în sac 1000 de bile cu numărul 2, 1000 cu numărul 7 și 10 bile cu alte numere.Să ne imaginăm un experimentator care este instruit să facă acțiuni simple (să scoată o bilă, să noteze acest număr, să pună bilă înapoi în sac, să amestece bilele în sac) și o face în 150 de microsecunde. Un astfel de experimentator pe droguri (nu este publicitate pentru droguri!!!). Atunci, în 150 de secunde, el va putea efectua experimentul nostru de 1 milion de ori și ne va oferi rezultatele mediatizate.

Am așezat experimentatorul, i-am dat sacul, ne-am întors, am așteptat 150 de secunde — am obținut:

numărul 2 — 49.5%, numărul 7 — 49.5%, celelalte numere în total — 1%.

Da, totul este corect, sacului nostru — este un computer cuantic cu un algoritm care rezolvă problema noastră,, iar bilele — sunt variantele posibile de soluționare. Deoarece soluțiile corecte sunt două, computerul cuantic ne va oferi în mod egal oricare dintre aceste soluții posibile și 0.5% (10/2000) erori, despre care vom vorbi mai târziu.

Pentru a obține rezultatul muncii unui computer cuantic, trebuie să rulăm pe repetat algoritmul cuantic pe același set de date și să mediem rezultatul.

Scalabilitatea computerelor cuantice.

Acum să ne imaginăm că pentru problema în care sunt implicați 100 de oameni (spațiul soluțiilor 2^100 Noi ne amintim despre aceasta), există doar două soluții corecte. Așadar, dacă luăm 100 de qubiți și scriem un algoritm care calculează funcția noastră obiectivă (L, vezi mai sus) pe acești qubiți, vom obține un sac care va conține 1000 de bile cu numărul primei răspuns corecte, 1000 cu numărul celei de-a doua răspuns corecte și 10 bile cu alte numere. Iar experimentatorul nostru va oferi aceeași evaluare a distribuției probabilistice a răspunsurilor corecte într-un interval de 150 de secunde..

Timpul de execuție al algoritmului cuantic (cu anumite presupuneri) poate fi considerat constant O(1) în raport cu dimensiunea spațiului soluțiilor (2^N).

Și aceasta este exact proprietatea computerului cuantic — constanța timpului de execuție în raport cu creșterea exponențială a complexității spațiului de soluții, care este cheia.

Qubit și lumi paralele

Cum se întâmplă asta? Ce permite computerului cuantic să facă calcule atât de rapid? Totul se reduce la natura cuantică a qubitului.

Uitați, am spus că qubitul ca obiect cuantic implementa unul dintre cele două stări în momentul observării, dar în „natura vie” se află în superpoziție de stări, adică se află în ambele sale stări-limită simultan (cu o anumită probabilitate).

Să-l luăm pe (A)ndrei și să reprezentăm starea sa (în ce mijloc de transport se află — 0 sau 1) ca un qubit. Atunci avem (în spațiul cuantic) două lumi paralele, în una (A) se află în taxi 0, în cealaltă lume — în taxi 1. Simultan în două taxiuri, dar cu o anumită probabilitate de a-l găsi în fiecare dintre ele la observare.

Să-l luăm pe (V)olodya și să reprezentăm și starea sa ca un qubit. Apar alte două lumi paralele. Dar, până acum, aceste perechi de lumi (A) și (V) nu interacționează deloc. Ce trebuie făcut pentru a crea o sistemă înrudită? Corect, trebuie să le întreținem (încâlcem) . Luăm și încâlcem(A) cu (V) — obținem un sistem cuantic format din doi qubiți (A, V), implementând astfel patru lumii paralele interdependente. Adăugăm (S)ergei și obținem un sistem de trei qubiți (A, B, C), implementând opt lumii paralele. Adăugăm Esența calculului cuantic (implementarea unei serii de porți cuantice asupra unui sistem de qubiți împletiți) constă în faptul că calculul se desfășoară simultan în toate lumile paralele.

Sublinierea calculului cuantic (implementarea unei serii de porți cuantice asupra unui sistem de qubiți legați) este faptul că calculul are loc simultan în toate lumile paralele.

Şi nu contează câte avem, 2^3 sau 2^100, algoritmul cuantic se va executa într-un timp finit pe toate aceste lumi paralele și ne va oferi un rezultat, reprezentând un eșantion din distribuția probabilistică a răspunsurilor algoritmului.

Pentru o mai bună înțelegere, putem să ne imaginăm că un computer cuantic la nivel cuantic lansează 2^N procese paralele de soluționare,, fiecare dintre ele lucrând pe o variantă posibilă, apoi adunând rezultatele muncii — și ne oferă un răspuns sub forma superpoziției soluției (distribuția probabilistică a răspunsurilor), din care în fiecare dată (la fiecare experiment) eșantionăm unul.

Rețineți timpul necesar experimentatorului nostru (150 μs) pentru realizarea experimentului, acest lucru ne va fi util puțin mai departe, când vom vorbi despre problemele fundamentale ale computerelor cuantice și despre timpul de decoerență.

Algoritmii cuantici

(către cuprins)

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

După cum s-a menționat, algoritmii obișnuiți, care se bazează pe logica binară, nu sunt aplicabili unui computer cuantic care folosește logica cuantică (porți cuantice). Pentru el a fost necesar să se inventeze altele noi, care să utilizeze pe deplin potențialul înnăscut în natura cuantică a calculului.

Cele mai cunoscute algoritmi până în prezent sunt:

Spre deosebire de cele clasice, computerele cuantice nu sunt universale.
Până acum, a fost găsit doar un număr mic de algoritmi cuantici.(C)

Mulțumesc oxoron pentru linkul către Quantum Algorithm Zoo, un loc unde, conform autorului („Stephen Jordan”), sunt adunați și continuă să fie adunați cei mai buni reprezentanți ai lumii algoritmice cuantice.

În acest articol nu vom analiza detaliat algoritmii cuantici, pe Internet există multe materiale excelente pentru orice nivel de dificultate, dar trebuie totuși să trecem rapid prin cele trei cele mai cunoscute.

Algoritmul lui Shor.

(către cuprins)

Cel mai cunoscut algoritm cuantic este algoritmul Shor (inventat în 1994 de matematicianul englez Peter Shor), care vizează rezolvarea problemei descompunerii numerelor în factori primi (problema factorizării, logaritmului discret).

Acest algoritm este de obicei dat ca exemplu atunci când se scrie despre faptul că sistemele dumneavoastră bancare și parolele vor fi sparte în curând. Având în vedere că lungimea cheilor folosite în prezent este de cel puțin 2048 biți, timpul pentru „șapcă” nu a venit încă.

În prezent rezultatele mai mult decât modeste. Cele mai bune rezultate ale factorizării folosind algoritmul Shor sunt numerele 15 și 21, ceea ce este cu mult mai puțin decât 2048 biți. Pentru celelalte rezultate din tabel s-a folosit altceva algoritmul de calcul, dar chiar și cel mai bun rezultat obținut cu acest algoritm (291311) este departe de aplicarea sa reală.

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Pentru mai multe informații despre algoritmul Shor, poți citi, de exemplu, aici. Despre implementarea practică — aici.

Una dintre evaluările curente complexității și puterii necesare pentru factorizarea unui număr de 2048 de biți este un computer cu 20 de milioane de cubiți. Dormim liniștiți.

Algoritmul lui Grover

(către cuprins)

Algoritmul lui Grover — algoritmul cuantic de soluționare a problemei de căutare, adică găsirea soluției ecuației F(X) = 1, unde F este funcția booleană de la n a variabilelor. A fost propus de matematicianul american Lov Grover în în 1996.

Algoritmul lui Grover poate fi utilizat pentru găsirea mediei și aritmetice a unui șir numeric. În plus, acesta poate fi aplicat pentru a rezolva problemele NP-complete printr-o căutare exhaustivă printre multiplele soluții posibile. Acest lucru poate conduce la un câștig semnificativ de viteză în comparație cu algoritmii clasici, deși nu oferă un „rezolvare polinomială” în formă generală.(C)

Pentru mai multe informații poți citi aici, sau aici. De asemenea, aici există o explicație bună a algoritmului pe un exemplu cu cutii și o minge, dar, din păcate, din motive care nu depind de nimeni, acest site nu se deschide pentru mine din Rusia. Dacă ai acest site de asemenea blocat, atunci iată un rezumat scurt:

Algoritmul lui Grover. Imaginează-ți că ai N cutii numerotate închise. Toate sunt goale, cu excepția uneia, în care se află o minge. Sarcina ta: să afli numărul cutiei în care se află mingea (acest număr necunoscut este adesea desemnat cu litera w).
Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Cum să rezolvi această problemă? Cel mai prost mod ar fi să deschizi cutiile pe rând, iar mai devreme sau mai târziu vei da peste cutia cu mingea. Și câte cutii trebuie deschise, în medie, până când vei găsi cutia cu mingea? În medie, trebuie să deschizi aproximativ jumătate din cutii, N/2. Ceea ce este important aici este că, dacă mărim numărul de cutii de 100 de ori, atunci, în aceeași măsură, numărul mediu de cutii care trebuie deschise pentru a găsi cutia cu mingea se va mări cu 100 de ori.

Acum să facem o altă precizare. Să presupunem că nu deschidem noi cutiile cu mâinile și verificăm dacă există mingea în fiecare dintre ele, ci există un intermediar, să-i spunem Oracol. Spunem Oracolului - „verifică cutia numărul 732”, iar Oracolul verifică onest și răspunde „în cutia numărul 732 nu este mingea”. Așadar, în loc să discutăm despre câte cutii trebuie să deschidem în medie, spunem „de câte ori, în medie, trebuie să ne adresăm Oracolului pentru a găsi numărul cutiei cu mingea”

Se pare că, dacă transferăm această sarcină cu cutiile, mingea și Oracolul pe un limbaj cuantic, rezultatul este uimitor: pentru a găsi numărul cutiei cu mingea printre N cutii, trebuie să deranjăm Oracolul doar de aproximativ SQRT(N) ori!

Asta înseamnă că complexitatea problemei permutării folosind algoritmul Grover se reduce la rădăcina pătrată.

Algoritmul lui Deutsch-Jozsa

(către cuprins)

Algoritmul Deutsch-Jozsa (menționat și ca algoritmul Deutsch-Jozza) este [algoritm cuantic](https://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D1%8B%D0%B9), propus de David Deutsch și de Richard Jozsa în în 1992, și a devenit unul dintre primele exemple de algoritmi destinați să fie executați pe calculatoare cuantice. _

Problema Deutsch-Jozsa constă în a determina dacă o funcție a mai multor variabile binare F(x1, x2, … xn) este constantă (ia fie valoarea 0, fie 1 pentru orice argument) sau dezechilibrată (pentru jumătate din domeniul de definiție ia valoarea 0, iar pentru cealaltă jumătate 1). Se consideră a priori că funcția este fie constantă, fie dezechilibrată. (C)

De asemenea, mai poți citi aici. O explicație mai simplă:

Algoritmul Deutsch (Deutsch-Jozsa) se bazează pe permutare, dar permite realizarea acesteia mai repede decât de obicei. Imaginează-ți că pe masă se află o monedă și trebuie să vezi dacă este falsă sau nu. Pentru asta trebuie să te uiți de două ori la monedă și să determini: „cap” și „paj” – sunt adevărate, două „capuri”, două „paje” – este falsă. Așadar, dacă folosești algoritmul cuantic Deutsch, atunci această determinare poate fi făcută dintr-o singură privire - prin măsurare. (C)

Problemele computerelor cuantice

(către cuprins)

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

În proiectarea și utilizarea calculatoarelor cuantice, cercetătorii și inginerii se confruntă cu o mulțime de probleme, care în prezent sunt rezolvate cu succes variabil. Conform cercetării (și aici) se pot distinge următoarele probleme:

  • Sensibilitatea la mediu și interacțiunea cu acesta
  • Accumularea erorilor în calcule
  • Dificultățile de inițializare a stărilor cubitilor
  • Dificultăți în crearea sistemelor multi-cubit

Recomand cu tărie citirea articolului “Caracteristicile calculatoarelor cuantice”, în special comentariile la acesta.

Haideți să organizăm toate problemele principale în trei grupuri mari și să analizăm fiecare dintre ele în detaliu:

Decohereța

(către cuprins)

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Descriere de N+1.

Starea cuantică este o chestiune foarte delicată, cubitii în stare de entanglement sunt extrem de instabili, orice influență externă poate distruge (și distruge) această legătură. Schimbarea temperaturii cu o fracțiune infimă de grad, presiunea, un foton „întâmplător” care trece prin apropiere — toate acestea destabilizează sistemul nostru.

Pentru a rezolva această problemă, se construiesc sarcofage la temperaturi scăzute, în care temperatura (-273.14 grade Celsius) este puțin peste zero absolut, cu o izolare maximă a camerei interne cu procesorul de toate influențele externe (posibile).

Timpul maxim de viață al unui sistem cuantic format din mai mulți cubiți entanglați, în timpul căruia își menține proprietățile cuantice și poate fi utilizat pentru a efectua calcule, se numește timpul de decoerență.

În prezent, timpul de decoerență în cele mai bune soluții cuantice este de aproximativ zeci și sute de microsecunde.

Există un excelent site-ul, pe care îl putem consulta tabele comparativă a parametrilor tuturor sistemelor cuantice create. În acest articol, de exemplu, sunt prezentate doar două procesoare de top — de la IBM IBM Q System One și de la Google Sycamore. Așa cum vedem, timpul de decoerență (T2) nu depășește 200 μs.

Nu am găsit date exacte pentru Sycamore, dar în însăși articolul despre superioritatea cuantică sunt prezentate două cifre — 1 milion de calcule în 200 de secunde, în altă parte — în 130 de secunde fără pierderi la semnalele de control și altele. În orice caz, aceasta ne oferă un timp de decoerență de aproximativ 150 μs. Amintiți-vă de experimentatorul nostru cu sacul? Ну так вот он.

Numele computeruluiN QubitsMax pairedT2 (μs)
IBM Q System One20670
Google Sycamore534~150-200

Ce riscuri ne aduce decoerența?

Problema principală este că, după 150 μs, sistemul nostru de calcul din N cubiți entanglați va începe să ofere ca ieșire, în loc de distribuția probabilistică a soluțiilor corecte — zgomot alb probabil.

Deci, trebuie să:

  • Inițializăm sistemul de cubiți
  • Efectuarea calculului (lanțul operațiunilor cu porți)
  • Calcularea rezultatului

Și toate acestea trebuie să se facă în 150 μs. Dacă nu reușești, rezultatul devine o dovleac.

Dar asta nu este tot…

Erorile

(către cuprins)

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Așa cum am menționat deja, procesele cuantice și calculul cuantic au o natură probabilistică, nu putem fi 100% siguri de nimic, ci doar cu o anumită probabilitate. Situația este agravată de faptul că calculul cuantic este supus erorilor. Principalele tipuri de erori în calculul cuantic sunt:

  • Erorile de decoerență, cauzate de complexitatea sistemului și de interacțiunea cu mediul extern
  • Erorile de calcul ale porților (cauzate de natura cuantică a calculului)
  • Erorile de citire a stării finale (rezultatul)

Erorile legate de decoerență, apar imediat ce am încâlcit qubitii noștri și am început să facem calcule. Cu cât mai mulți qubiți încâlciți avem, cu atât mai complex este sistemul, și cu atât mai ușor este să-l distrugem. Sarcofagele la temperaturi scăzute, camerele protejate, toate aceste artificii tehnologice sunt destinate să reducă numărul de erori și să prelungească timpul de decoerență.

Erorile de calcul ale porților — orice operație (poartă) asupra qubitilor poate avea o probabilitate de a se finaliza cu o eroare, iar pentru a implementa algoritmul avem nevoie să executăm sute de porți, așa că imaginați-vă ce obținem la finalul algoritmului nostru. Varianta clasică a răspunsului la întrebarea — „Care este probabilitatea de a întâlni un dinozaur în lift?” — 50x50, fie întâlnești, fie nu.

Problema este agravată de faptul că metodele standard de corectare a erorilor (duplicarea calculelor și medierea) în lumea cuantică nu funcționează din cauza teoremei despre interzicerea clonării. Pentru corectarea erorilor în calculul cuantic a trebuit să inventăm metode cuantice de corectare. În esență, luăm N qubiți obișnuiți și facem din ei 1 qubit logic cu un nivel mai mic de erori.

Dar acum apare o altă problemă — numărul total de qubiți. Iată, să presupunem că avem un procesor cu 100 de qubiți, dintre care 80 sunt dedicați corectării erorilor, atunci pentru calcule ne rămân doar 20.

Erorile de citire a rezultatului final — așa cum ne amintim, rezultatul calculului cuantic este prezentat sub forma distribuției probabilistice a răspunsurilor. Dar citirea stării finale poate de asemenea eșua.

Pe același site sunt tabele comparative ale procesoarelor în funcție de nivelurile de erori. Pentru comparație, să luăm aceleași procesoare ca în exemplul anterior — IBM IBM Q System One și Google Sycamore:

Computer1-Qubit Gate Fidelity2-Qubit Gate FidelityReadout Fidelity
IBM Q System One99.96%98.31% —
Google Sycamore99.84%99.38%96.2%

Aici fidelitate — o măsură a similitudinii între două stări cuantice. Nivelul erorii poate fi aproximat ca 1-Fidelitate. După cum vedem, erorile la porțile cu 2 qubiți și erorile de citire reprezintă principalele obstacole în executarea unor algoritmi complecși și lungi pe computerele cuantice existente.

De asemenea, mai poți citi foaia de parcurs din 2016 de la NQIT pentru rezolvarea problemei corecției erorilor.

Arhitectura procesorului

(către cuprins)

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

În teorie construim și operăm circuituri din zeci de qubiți împlecați, în realitate însă totul este mai complicat. Toate cipurile cuantice existente (procesoare) sunt construite astfel încât să asigure o îmbinare fără durere a unui qubit doar cu vecinii săi, care nu sunt mai mult de șase.

Dacă trebuie să împlecăm primul qubit, să zicem, cu al 12-lea, atunci va trebui să construim un lanț de operații cuantice suplimentare, implicând qubiți suplimentari și alte elemente, ceea ce crește nivelul total de erori. Și, nu uitați de timpul de decoerență, este posibil ca atunci când terminați legarea qubiților în schema dorită, timpul să expire și întreaga schemă să devină un generator simpatic de zgomot alb.

De asemenea, nu uitați că arhitectura tuturor procesoarelor cuantice este diferită, și programul scris în emulator în modul “legătura tuturor cu toți” va trebui “recompilat” în arhitectura cipului specific. Există chiar și programe speciale de optimizare pentru a efectua această operațiune.

Conectivitatea maximă și numărul maxim de qubiți pentru aceleași cipuri de top:

Numele computeruluiN QubitsMax pairedT2 (μs)
IBM Q System One20670
Google Sycamore534~150-200

Și, pentru comparație, o tabelă cu datele generației anterioare de procesoare. Comparați numărul de qubiți, timpul de decoerență și procentul de erori cu ceea ce avem acum la noua generație. Progresul, totuși, se mișcă încet, dar sigur.

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Deci:

  • În prezent nu există scheme arhitecturale complet conectate cu > 6 qubiți
  • Pentru a împleca qubitul 0 cu, de exemplu, cel de-al 15-lea pe un procesor real, este posibil să fie necesare câteva zeci de operații suplimentare.
  • Mai multe operații -> mai multe erori -> mai puternic impactul decoerenței.

Concluzii

(către cuprins)

Decoerența - un pat Procruste pentru computerele cuantice moderne. În 150 μs trebuie să realizăm totul:

  • Inițializarea stării inițiale a cubitelor
  • Calcularea problemei folosind porți cuantice
  • Realizarea corecției erorilor pentru a obține un rezultat semnificativ
  • Calcularea rezultatului obținut

Deocamdată, rezultatele sunt dezamăgitoare, deși aici se declară că s-a atins un timp de retenție a coerenței de 0.5s pe un calculator cuantic bazat pe capcanele ionice:

Măsurăm un timp de coerență a cubitului de peste 0.5 s, și cu o protecție magnetică ne așteptăm ca acest lucru să îmbunătățească pentru a fi mai lung de 1000 s

Despre această tehnologie se mai poate citi aici sau, de exemplu, aici.

Situația este complicată și de faptul că, atunci când se efectuează calcule complexe, este necesar să se utilizeze scheme cuantice de corecție a erorilor, ceea ce consumă și timp, și cubite disponibile.

Și, în cele din urmă, arhitecturile moderne nu permit realizarea schemelor de entanglement mai bune decât 1 la 4 sau 1 la 6 cu costuri minime.

Căi de soluționare a problemelor

(către cuprins)

Pentru a rezolva problemele menționate mai sus, în prezent se folosesc următoarele abordări și metode:

  • Utilizarea criostatelor la temperaturi joase (10 mK (–273,14°C))
  • Utilizarea modulelor procesorului maximum protejate de influențele externe
  • Utilizarea sistemelor de corecție a erorilor cuantice (Cubic logic)
  • Utilizarea optimizatorilor în programarea schemelor pentru un procesor specific

De asemenea, se desfășoară cercetări pentru a crește timpul de decoerență, pentru a căuta noi (și a îmbunătăți cunoscutele) realizări fizice ale obiectelor cuantice, pentru a optimiza schemele de corecție și altele. Există progrese (uitați-vă mai sus la caracteristicile cipurilor mai vechi și de vârf de astăzi), dar merge greu, foarte, foarte greu.

D-Wave

(către cuprins)

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Calculatorul cu 2000 de cubite D-Wave 2000Q. Sursă: D-Wave Systems

Pe fondul anunțului Google privind atingerea supremaciei cuantice folosind un procesor cu 53 de cubite, calculatoarele și anunțuri de la compania D-Wave, în care numărul de cubite se învârte în jurul miilor, crează oarecum confuzie. Adică, dacă 53 de cubite au reușit să atingă suprematia cuantică, la ce este capabil un calculator cu 2048 cubite? Dar nu este totul atât de bine…

Pe scurt (luat din wiki):

Calculatoarele D-Wave funcționează pe principiul relaxării cuantice (annealing cuantic), pot rezolva un subgrup extrem de restrâns de probleme de optimizare și nu sunt adecvate pentru implementarea algoritmilor cuantici tradiționali și a porților cuantice.

Pentru mai multe detalii, puteți citi, de exemplu, aici, aici (atenție, s-ar putea să nu se deschidă din Rusia), sau la Scott Aaronson în pe care l-ați citit din blogul său blogul. Apropo, vă recomand cu căldură să citiți întregul său blog, există multe materiale bune acolo.

De la începutul anunțurilor, comunitatea științifică a avut întrebări referitoare la computerele D-Wave. De exemplu, în 2014, IBM a pus la îndoială faptul că D-Wave utilizează efecte cuantice. S-a ajuns în punctul în care, în 2015, Google, împreună cu NASA, a cumpărat unul dintre aceste computere cuantice și, după cercetări, a confirmat, că, într-adevăr, computerul funcționează și rezolvă probleme mai repede decât unul obișnuit. Despre declarația Google se poate citi, de asemenea, aici și, de exemplu, aici.

Cel mai important este că computerele D-Wave, cu sutele și miile lor de cubiți, nu pot fi folosite pentru a calcula și rula algoritmi cuantici. Nu este posibil să rulați algoritmul lui Shor, de exemplu. Tot ce pot face este să utilizeze anumite mecanisme cuantice pentru a rezolva o problemă de optimizare specifică. Se poate considera că D-Wave este un fel de ASIC cuantic pentru o problemă specifică.

Puțin despre simularea computerelor cuantice

(către cuprins)

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Calculul cuantic poate fi desfășurat pe un computer obișnuit. Adevărat, vedeți:

  • Starea unui cubit poate fi reprezentată printr-un număr complex, ocupând între 2^32 și 2^64 biți (8-16 octeți), în funcție de arhitectura procesorului.
  • Starea N cubiți conectați poate fi reprezentată sub formă de 2^N numere complexe, adică 2^(3+N) pentru arhitectura pe 32 de biți și 2^(4+N) pentru cea pe 64 de biți.
  • O operație cuantică asupra N cubiți poate fi reprezentată printr-o matrice de 2^N x 2^N.

Atunci:

  • Pentru stocarea stărilor emulate ale 10 cubiți sunt necesari 8 KB.
  • Pentru stocarea stărilor a 20 cubiți sunt necesari 8 MB.
  • Pentru stocarea stărilor a 30 cubiți sunt necesari 8 GB.
  • Pentru stocarea stărilor a 40 cubiți sunt necesari 8 TB.
  • Pentru stocarea stărilor a 50 cubiți sunt necesari 8 PB și așa mai departe.

(C)

Pentru comparație, Summit (Top-1 din Top-500) are în total doar 2.8 PB de memorie.

Recodul actual al simulărilor — 49 cubiți amplasați anul trecut pe cel mai mare supercomputer chinezesc (Sunway Taihu Light)

Limita simulării unui computer cuantic pe sisteme clasice este determinată de cantitatea de memorie RAM necesară pentru stocarea stării cubiților.

Vă recomand să citiți și mai multe. această comentariu. De acolo:

Pentru operații — pentru o emulare precisă a schemei pe 49 de cubiți din aproximativ 39 de „tacturi” (straturi independente de porți) a fost nevoie 2^63 de înmulțiri complexe — 4 PFlops de supercomputer timp de 4 ore

Emularea unui computer cuantic cu 50+ cubiți pe sisteme clasice este considerată imposibilă într-un timp rezonabil. Din acest motiv, Google a folosit pentru experimentul său cu superioritatea cuantică un procesor cu 53 de cubiți.

Supremația computațională cuantică.

(către cuprins)

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Wikipedia ne oferă următoarea definiție a superiorității computaționale cuantice:

Superioritatea cuantică — capacitatea dispozitivelor de calcul cuantic de a rezolva probleme pe care computerele clasice practic nu le pot rezolva.

De fapt, atingerea superiorității cuantice înseamnă că, de exemplu, factorizarea numerelor mari prin algoritmul lui Shor poate fi rezolvată într-un timp adecvat, sau se pot emula la nivel cuantic molecule chimice complexe, și așa mai departe. Adică, o nouă eră a început.

Dar în formularea definiției există o anumită portiță, “pe care computerele clasice practic nu le pot rezolva”. De fapt, aceasta înseamnă că dacă se creează un computer cuantic din 50+ cubiți și se rulează pe el o anumită schemă cuantică, atunci, așa cum am discutat mai sus, rezultatul muncii acestei scheme nu va putea fi emulat pe un computer obișnuit. Adică un computer clasic nu va putea recrea rezultatul muncii unei astfel de scheme.

Dacă un astfel de rezultat reprezintă într-adevăr o superioritate cuantică sau nu, este o întrebare mai degrabă filozofică. Dar este important să înțelegem ce a realizat Google și pe ce se bazează recentul său anunț cu privire la atingerea superiorității cuantice pe noul său procesor Sycamore trebuie.

Anunțul Google privind atingerea superiorității cuantice

(către cuprins)

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul
procesorul cuantic Sycamore de 54 de cubiți

Așadar, în octombrie 2019, dezvoltatorii Google au publicat într-o revistă științifică articolul „Superioritatea cuantică utilizând un procesor superconductiv programabil”. Autorii au anunțat pentru prima dată în istorie atingerea superiorității cuantice cu ajutorul procesorului de 54 de cubiți „Sycamore”.

În rețea, în articole, Sycamore este adesea menționat fie ca un procesor de 54 de cubiți, fie ca unul de 53 de cubiți. Adevărul este că, conform articolului original, procesorul constă fizic din 54 de cubiți, dar unul dintre ei este defect și scos din funcțiune. Astfel, avem de fapt un procesor cu 53 de cubiți.

În rețea, imediat a apărut o mulțime de materiale pe această temă, cu un ton care a variat de la entuziasmat la skeptic.

Ulterior, angajații departamentului de calcul cuantic al companiei IBM au declarat că Google a anunțat fals atingerea suprematiei cuantice. Compania susține că un computer obișnuit ar putea realiza această sarcină în cel mai rău caz în 2,5 zile, iar răspunsul obținut ar fi mai precis decât cel al unui computer cuantic. Această concluzie a fost făcută în urma unei analize teoretice a mai multor metode de optimizare.

Și, bineînțeles, Scott Aaronson în propriul său blog nu a putut să ignore această declarație. Analiza sa împreună cu toate linkurile și Scott’s Supreme Quantum Supremacy FAQ! merită, ca de obicei, să pierzi timpul cu ele. Pe Habr există o traducere a acestui FAQ, și trebuie neapărat să citești comentariile, acolo sunt legături către documentele preliminare care au fost scăpate în rețea înainte de anunțul oficial. Ce a realizat de fapt Google? Pentru o înțelegere detaliată, citește-l pe Aaronson, dar pe scurt:

Pot să-ți spun, desigur, dar mă simt puțin prost. Calculul este astfel: experimentatorul generează un circuit cuantic aleator S (adică o secvență aleatoare de porți cuantică de 1 și 2 cubiți — între vecinii cei mai apropiați — cu o adâncime de exemplu de 20, care acționează pe o rețea 2D de n=50-60 cubiți). Apoi, experimentatorul trimite S către computerul cuantic și îi cere să aplice S asupra stării inițiale de 0, să măsoare rezultatul în baza {0,1}, să returneze o secvență de n biți observați (un șir) și să repete de câteva mii sau milioane de ori. În cele din urmă, folosind cunoștințele sale despre S, experimentatorul efectuează o verificare statistică a corespondenței rezultatului cu ieșirea așteptată de la computerul cuantic.

Pe scurt:

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Se creează un circuit aleator cu o lungime de 20 din 53 de cubiți folosind porți

  • Circuitul este pornit cu starea inițială [0…0] pentru execuție
  • Ieșirea circuitului reprezintă un șir de biți aleator (exemplu)
  • Distribuția rezultatului nu este aleatorie (interferență)
  • Distribuția mostrelor obținute este comparată cu cea așteptată
  • Distribuția eșantioanelor obținute este comparată cu așteptările
  • Se face afirmația despre superioritatea cantitativă

Adică Google a realizat o sarcină sintetică pe un procesor cu 53 de cubiți și își bazează afirmația despre atingerea superiorității cuantice pe faptul că emularea unui astfel de procesor pe sisteme standard nu este posibilă într-un timp rezonabil.

Pentru înțelegere — în această secțiune nu se subestimează în niciun fel realizarea Google, inginerii sunt cu adevărat pricepuți, iar întrebarea dacă aceasta poate fi considerată o superioritate cuantică reală sau nu, așa cum s-a menționat anterior, este mai degrabă filozofică decât ingineresc. Dar trebuie să înțelegem că, atingând această superioritate computațională, nu am avansat cu un pas către posibilitatea de a rula algoritmul lui Shor pe numere de 2048 de biți.

Rezumat

(către cuprins)
Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Computerele cuantice și calculul cuantic reprezintă un domeniu foarte promițător, foarte tânăr și momentan puțin aplicabil în plan industrial.

Dezvoltarea calculului cuantic va permite (cândva) rezolvarea problemelor:

  • Modelarea sistemelor fizice complexe la nivel cuantic
  • Nerespunsibile pe un computer obișnuit din cauza complexității de calcul

Principalele probleme în crearea și exploatarea calculatoarelor cuantice:

  • Decohereța
  • Erori (decoerență și porturi)
  • Arhitectura procesoarelor (scheme complete de cubiți)

Starea actuală a lucrurilor:

  • De fapt — la un nivel foarte incipient C&D.
  • Exploatarea comercială REALĂ nu există încă (și nu se știe când va fi)

Ce ar putea ajuta:

  • O descoperire fizică care să reducă costurile de instalare și exploatare a procesoarelor
  • Descoperirea a ceva ce va crește semnificativ timpul de decoerență și/sau va reduce numărul de erori

Din punctul meu de vedere (strict părere personală), în paradigma științifică actuală a cunoștințelor, nu vom face progrese semnificative în dezvoltarea tehnologiilor cuantice, aici este nevoie de o rupere calitativă într-un domeniu fundamental sau aplicat al științei, care să ofere un impuls pentru noi idei și metode.

Între timp — acumulăm experiență în programarea cuantică, construim și creăm algoritmi cuantici, testăm idei și multe altele. Așteptăm o rupere.

Concluzie

(către cuprins)

În acest articol, am abordat principalele etape ale dezvoltării calculatoarelor cuantice și ale calculului cuantic, am discutat principiile lor de funcționare, am analizat problemele principale cu care se confruntă inginerii în proiectarea și operarea procesoarelor cuantice, precum și am văzut ce reprezintă cu adevărat calculatoarele cu multi-qubit D-Wave și declarația recentă a Google privind atingerea superiorității cuantice.

Am lăsat deoparte întrebările legate de programarea calculatoarelor cuantice (limbaje, abordări, metode etc.) și chestiunile legate de realizarea fizică specifică a procesoarelor, cum se face controlul qubiților, legătura, citirea etc. Poate că aceasta va fi tema unui articol sau a unor articole viitoare.

Mulțumesc pentru atenție, sper că acest articol va fi util cuiva.

(C) Kruegger

Mulțumiri

(către cuprins)

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

@Oxoron pentru corectură și observații la textul original, precum și pentru articol „Caracteristicile calculatoarelor cuantice”

@a5b pentru comentariile informative și bogate la „Caracteristicile calculatoarelor cuantice”, și nu doar la aceasta, care în mare măsură m-au ajutat să îmi fac ordine în acest puzzle.

Tuturor autorilor articolelor și publicațiilor, a căror materiale au fost utilizate la scrierea acestui articol.

Lista de resurse

(către cuprins)

Cum funcționează calculatoarele cuantice. Asamblăm puzzle-ul

Articole despre situația actuală de la [The National Academies Press]

http://cs.brown.edu/courses/csci1800/sources/2018_NAE_QuantumComputing_ProgressAndProspects.pdf
https://www.nap.edu/catalog/25196/quantum-computing-progress-and-prospects

Articole de pe Habr (în ordine aleatorie)

https://habr.com/ru/post/458450/
https://habr.com/ru/post/401315/
https://habr.com/ru/post/458134/
https://habr.com/ru/post/246483/
https://habr.com/ru/post/95428/
https://habr.com/ru/post/387761/
https://habr.com/ru/post/468911/
https://habr.com/ru/post/435560/
https://habr.com/ru/post/316810/
https://habr.com/ru/company/microsoft/blog/351624/
https://habr.com/ru/company/microsoft/blog/351628/
https://habr.com/ru/company/ua-hosting/blog/377533/
https://habr.com/ru/company/acronis/blog/455559/
https://habr.com/ru/company/yandex/blog/332106/
https://habr.com/ru/company/mailru/blog/350208/
https://habr.com/ru/company/mailru/blog/476444/
https://habr.com/ru/company/misis/blog/470445/
https://habr.com/ru/company/it-grad/blog/452424/
https://habr.com/ru/company/piter/blog/450480/

Articole nesortate (dar nu mai puțin interesante) de pe internet

http://homepages.spa.umn.edu/~duplij/publications/Duplij-Shapoval_TOPOLOGICAL-QUANTUM-COMPUTERS.pdf
https://quantum.country/qcvc
http://extremal-mechanics.org/wp-content/uploads/2015/07/RIFFEL.pdf
https://thecode.media/quantum/
https://naked-science.ru/article/nakedscience/quantum-computers
https://ru.ihodl.com/technologies/2018-10-29/prosto-o-slozhnom-kak-rabotaet-kvantovyj-kompyuter/
https://pikabu.ru/story/chto_takoe_kvantovyiy_kompyuter_5204054
https://nplus1.ru/search?q=%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D0%B0%D1%8F+%D0%B0%D0%B7%D0%B1%D1%83%D0%BA%D0%B0
https://www.scottaaronson.com/blog/?p=4372
https://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80
https://quantumcomputingreport.com/scorecards/qubit-quality/
https://quantumcomputing.stackexchange.com/questions/2499/is-quantum-computing-just-pie-in-the-sky
https://quantumcomputing.stackexchange.com/questions/1289/how-does-a-quantum-computer-do-basic-math-at-the-hardware-level
https://www.extremetech.com/extreme/284306-how-quantum-computing-works
https://techno.nv.ua/it-industry/chto-takoe-kvantovyy-kompyuter-i-kvantovoe-prevoshodstvo-google-protiv-ibm-50049940.html
https://www.nature.com/articles/s41586-019-1666-5?utm_source=commission_junction&utm_medium=affiliate
https://petrimazepa.com/nemnogo_o_kvantovykh_kompyuterakh
https://www.forbes.ru/tehnologii/371669-ibm-protiv-d-wave-nastupila-li-era-kvantovyh-kompyuterov

Cursuri și prelegeri

https://www.coursera.org/learn/kvantovyye-vychisleniya
https://www.youtube.com/watch?v=uPw9nkJAwDY&amp=&index=4&amp=&t=0s
https://courses.edx.org/courses/BerkeleyX/CS191x/2013_Spring/course/#
https://www.youtube.com/watch?v=xLfFWXUNJ_I&list=PLnbH8YQPwKbnofSQkZE05PKzPXzbDCVXv
https://cs269q.stanford.edu/syllabus.html
https://quantum-computing.ibm.com/support/guides/user-guide?section=5dcb2b45330e880045abccb0
https://gitlab.com/qkitchen/basics-of-quantum-computing

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster