Hur kvantdatorer fungerar. Att lägga pusslet

Hur kvantdatorer fungerar. Att lägga pusslet

Kvantdatorer och kvantdatorer - nytt modeord, som lades till vårt informationsutrymme tillsammans med artificiell intelligens, maskininlärning och andra högteknologiska termer. Samtidigt lyckades jag aldrig hitta material på Internet som skulle lägga pusslet i mitt huvud som heter "hur kvantdatorer fungerar". Ja, det finns många utmärkta verk, inklusive om Habr (se. Lista över resurser), kommentarer som, som vanligtvis är fallet, är ännu mer informativa och användbara, men bilden i mitt huvud, som de säger, stämde inte.

Och nyligen kom mina kollegor fram till mig och frågade: ”Förstår du hur en kvantdator fungerar? Kan du berätta för oss?" Och då insåg jag att jag inte är den enda som har problem med att sätta ihop en sammanhängande bild i mitt huvud.

Som ett resultat gjordes ett försök att sammanställa information om kvantdatorer till en konsekvent logisk krets där grundläggande nivå, utan djup fördjupning i matematik och kvantvärldens struktur, förklarades det vad en kvantdator är, vilka principer den fungerar på och vilka problem forskare möter när de skapar och använder den.


innehållsförteckning

varning

(till innehållet)

Författaren är inte expert på kvantberäkning, och Målgruppen för artikeln är samma IT-folk, inte kvantspecialister, som också vill sätta ihop en bild i sina huvuden som heter "Hur kvantdatorer fungerar." På grund av detta är många begrepp i artikeln medvetet förenklade för att bättre förstå kvantteknologier på en "grundläggande" nivå, men utan en mycket stark förenkling med förlust av informationsinnehåll och tillräcklighet.

Artikeln använder på vissa ställen material från andra källor, en lista över vilka finns i slutet av artikeln. Där det är möjligt infogas direktlänkar och indikationer till originaltexten, tabellen eller figuren. Om jag har glömt något (eller någon) någonstans, skriv så korrigerar jag det.

Inledning

(till innehållet)

I det här kapitlet kommer vi kort att titta på hur kvanteran började, vad var den motiverande anledningen till idén om en kvantdator, vilka (vilka länder och företag) som för närvarande är de ledande aktörerna inom detta område, och även kort prata om kvantberäkningens huvudsakliga utvecklingsriktningar.

Hur det hela började

(till innehållet)

Hur kvantdatorer fungerar. Att lägga pusslet

Utgångspunkten för kvantepoken anses vara 1900, då M. Planck först lade fram hypotes att energi emitteras och absorberas inte kontinuerligt, utan i separata kvanta (portioner). Idén plockades upp och utvecklades av många framstående vetenskapsmän på den tiden - Bohr, Einstein, Heisenberg, Schrödinger, vilket i slutändan ledde till skapandet och utvecklingen av en sådan vetenskap som kvantfysiken. Det finns många bra material på Internet om bildandet av kvantfysik som vetenskap; i den här artikeln kommer vi inte att uppehålla oss i detalj, men det var nödvändigt att ange datumet när vi gick in i den nya kvanteran.

Kvantfysiken har fört in många uppfinningar och teknologier i våra vardagliga liv, utan vilka det nu är svårt att föreställa sig världen omkring oss. Till exempel en laser, som nu används överallt, från hushållsapparater (lasernivåer etc.) till högteknologiska system (lasrar för synkorrigering, hej meklon ). Det skulle vara logiskt att anta att någon förr eller senare kommer på idén att varför inte använda kvantsystem för beräkningar. Och så 1980 hände det.

Wikipedia indikerar att den första idén om kvantberäkning uttrycktes 1980 av vår vetenskapsman Yuri Manin. Men de började verkligen prata om det först 1981, när den välkände R. Feynman föredrag vid den första Computational Physics Conference som hölls på MIT, noterade att det är omöjligt att simulera utvecklingen av ett kvantsystem på en klassisk dator på ett effektivt sätt. Han föreslog en elementär modell kvantdator, som kommer att kunna utföra sådan modellering.

Det finns en det är jobbet, vart i tidslinje för utveckling av kvantdatorer övervägs mer akademiskt och i detalj, men vi kommer att gå över kort:

Viktiga milstolpar i historien om att skapa kvantdatorer:

Som du kan se har det gått 17 år (från 1981 till 1998) från idéns ögonblick till dess första implementering i en dator med 2 qubits och 21 år (från 1998 till 2019) tills antalet qubits ökade till 53. Det tog 11 år (från 2001 till 2012) att förbättra resultatet av Shors algoritm (vi ska titta på det mer i detalj lite senare) från siffran 15 till 21. För bara tre år sedan kom vi till punkten att implementera det Feynman pratade om, och lära sig att modellera de enklaste fysiska systemen.

Utvecklingen av kvantberäkning går långsamt. Forskare och ingenjörer ställs inför mycket svåra uppgifter, kvanttillstånd är mycket kortlivade och ömtåliga, och för att bevara dem tillräckligt länge för att kunna utföra beräkningar måste de bygga sarkofager för tiotals miljoner dollar, där temperaturen hålls. strax över absoluta nollpunkten, och som är maximalt skyddade från yttre påverkan. Därefter kommer vi att prata om dessa uppgifter och problem mer i detalj.

Ledande spelare

(till innehållet)

Hur kvantdatorer fungerar. Att lägga pusslet

Bilderna för detta avsnitt är hämtade från artikeln Kvantdator: en stor tjurkörning. Föreläsning i Yandex, från forskare Russian Quantum Center Alexey Fedorov. Låt mig ge dig direkta citat:

Alla tekniskt framgångsrika länder utvecklar för närvarande aktivt kvantteknik. En enorm summa pengar investeras i denna forskning, och särskilda program för att stödja kvantteknologi skapas.

Hur kvantdatorer fungerar. Att lägga pusslet

Inte bara stater utan även privata företag deltar i kvantloppet. Totalt har Google, IBM, Intel och Microsoft nyligen investerat cirka 0,5 miljarder dollar i utvecklingen av kvantdatorer och skapat stora laboratorier och forskningscentra.
Hur kvantdatorer fungerar. Att lägga pusslet

Det finns många artiklar om Habré och på Internet, t.ex. här, här и här, där det aktuella läget med utvecklingen av kvantteknologier i olika länder undersöks mer i detalj. Huvudsaken för oss nu är att alla ledande tekniskt utvecklade länder och aktörer investerar enorma summor pengar i forskning i denna riktning, vilket ger hopp om en väg ut ur det nuvarande tekniska dödläget.

Utvecklingsanvisningar

(till innehållet)

Hur kvantdatorer fungerar. Att lägga pusslet

För tillfället (jag kan ha fel, rätta mig) är huvudinsatserna (och mer eller mindre betydande resultat) av alla ledande spelare koncentrerade till två områden:

  • Specialiserade kvantdatorer, som syftar till att lösa ett specifikt specifikt problem, till exempel ett optimeringsproblem. Ett exempel på en produkt är D-Wave kvantdatorer.
  • Universella kvantdatorer — som kan implementera godtyckliga kvantalgoritmer (Shor, Grover, etc.). Implementeringar från IBM, Google.

Andra utvecklingsvektorer som kvantfysiken ger oss, till exempel:

Det finns förstås också på listan över forskningsområden, men i dagsläget verkar det inte finnas några mer eller mindre signifikanta resultat.

Dessutom kan du läsa färdplan för utveckling av kvanttekniktja, googla"utveckling av kvantteknik", Till exempel, här, här и här.

Grunderna. Kvantobjekt och kvantsystem

(till innehållet)

Hur kvantdatorer fungerar. Att lägga pusslet

Det viktigaste att förstå från det här avsnittet är det

Kvantdator (till skillnad från vanliga) användningar som informationsbärare kvantobjekt, och för att utföra beräkningar måste kvantobjekt kopplas in kvantsystem.

Vad är ett kvantobjekt?

Kvantobjekt - ett objekt i mikrovärlden (kvantvärlden) som uppvisar kvantegenskaper:

  • Har ett definierat tillstånd med två gränsnivåer
  • Är i en överlagring av sitt tillstånd fram till mätningsögonblicket
  • Trasslar ihop sig med andra objekt för att skapa kvantsystem
  • Uppfyller no-cloning theoremet (ett objekts tillstånd kan inte kopieras)

Låt oss titta på varje fastighet mer i detalj:

Har ett definierat tillstånd med två gränsnivåer (sluttillstånd)

Ett klassiskt verkligt exempel är ett mynt. Den har ett "sidoläge", som tar på två gränsnivåer - "huvuden" och "svansar".

Är i en överlagring av sitt tillstånd fram till mätningsögonblicket

De kastade ett mynt, det flyger och snurrar. Medan den roterar är det omöjligt att säga i vilken av gränsnivåerna dess "sidoläge" är beläget. Men så snart vi slår ner det och tittar på resultatet, kollapsar överlagringen av stater omedelbart till ett av två gränstillstånd - "huvuden" och "svansar". Att slå ett mynt i vårt fall är en mätning.

Trasslar ihop sig med andra objekt för att skapa kvantsystem

Det är svårt med ett mynt, men låt oss försöka. Föreställ dig att vi slängde tre mynt så att de roterar fast vid varandra, det här är att jonglera med mynt. Vid varje tidpunkt är inte bara var och en av dem i en superposition av tillstånd, utan dessa tillstånd påverkar varandra ömsesidigt (mynten kolliderar).

Uppfyller no-cloning theoremet (ett objekts tillstånd kan inte kopieras)

Medan mynten flyger och snurrar, finns det inget sätt vi kan skapa en kopia av snurrtillståndet för något av mynten, separat från systemet. Systemet lever inom sig självt och är väldigt avundsjuk på att släppa all information till omvärlden.

Några fler ord om själva konceptet "superpositioner", i nästan alla artiklar förklaras överlagring som "är i alla stater samtidigt", vilket naturligtvis är sant, men ibland onödigt förvirrande. En överlagring av tillstånd kan också föreställas som det faktum att ett kvantobjekt vid varje tidpunkt har det finns vissa sannolikheter för att kollapsa till var och en av dess gränsnivåer, och totalt är dessa sannolikheter naturligtvis lika med 1. Senare, när vi överväger qubiten, kommer vi att uppehålla oss mer i detalj.

För mynt kan detta visualiseras - beroende på den initiala hastigheten, kastningsvinkeln, tillståndet i miljön där myntet flyger, vid varje ögonblick är sannolikheten att få "huvuden" eller "svansar" olika. Och, som tidigare nämnts, kan tillståndet för ett sådant flygande mynt föreställas som "att vara i alla dess gränstillstånd samtidigt, men med olika sannolikheter för deras genomförande."

Alla objekt för vilka ovanstående egenskaper är uppfyllda och som vi kan skapa och kontrollera kan användas som informationsbärare i en kvantdator.

Lite längre kommer vi att prata om det aktuella läget med den fysiska implementeringen av qubits som kvantobjekt, och vad forskare nu använder i denna egenskap.

Så den tredje egenskapen säger att kvantobjekt kan trassla in sig för att skapa kvantsystem. Vad är ett kvantsystem?

Kvantsystem — ett system av intrasslade kvantobjekt med följande egenskaper:

  • Ett kvantsystem är i en överlagring av alla möjliga tillstånd av de objekt som det består av
  • Det är omöjligt att veta systemets tillstånd förrän vid mättillfället
  • Vid mätögonblicket implementerar systemet en av de möjliga varianterna av dess gränstillstånd

(och tittar lite framåt)

Följd för kvantprogram:

  • Ett kvantprogram har ett givet tillstånd av systemet vid ingången, en superposition inuti, en superposition vid utgången
  • Vid utgången av programmet efter mätning har vi en probabilistisk implementering av ett av de möjliga sluttillstånden i systemet (plus möjliga fel)
  • Alla kvantprogram har en skorstensarkitektur (ingång -> utgång. Det finns inga slingor, du kan inte se systemets tillstånd mitt i processen.)

Jämförelse av en kvantdator och en konventionell

(till innehållet)

Hur kvantdatorer fungerar. Att lägga pusslet

Låt oss nu jämföra en konventionell dator och en kvantdator.

vanlig dator Kvantdator

logik

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

fysik

Halvledartransistor Kvantobjekt

Informationsbärare

Spänningsnivåer Polarisering, spin,...

operationer

NOT, AND, OR, XOR över bitar Ventiler: CNOT, Hadamard,...

Relation

Halvledarchip Förvirring med varandra

Algoritmer

Standard (se Whip) Specialerbjudanden (Shore, Grover)

principen

Digital, deterministisk Analog, probabilistisk

Logisk nivå
Hur kvantdatorer fungerar. Att lägga pusslet

I en vanlig dator är detta lite. Väl känd för oss hela tiden deterministisk bit. Kan ta värden på antingen 0 eller 1. Den klarar rollen perfekt logisk enhet för en vanlig dator, men är helt olämplig för att beskriva tillståndet kvantobjekt, som, som vi redan har sagt, i det vilda ligger isuperpositioner av deras gränstillstånd.

Detta är vad de kom på qubit. I sina gränstillstånd realiserar den tillstånd som liknar 0 och 1 |0> och |1>, och i superposition representerar sannolikhetsfördelning över dess gränstillstånd |0> и |1>:

 a|0> + b|1>, такое, что a^2+b^2=1

a och b representerar sannolikhetsamplituder, och kvadraterna på deras moduler är de faktiska sannolikheterna för att få exakt sådana värden för gränstillstånden |0> и |1>, om du kollapsar qubiten med en mätning just nu.

Fysiskt lager

På den nuvarande tekniska utvecklingsnivån är den fysiska implementeringen av en bit för en konventionell dator halvledartransistor, för kvantum, som vi redan har sagt, vilket kvantobjekt som helst. I nästa avsnitt kommer vi att prata om vad som för närvarande används som fysiska medier för qubits.

Förvaringsmedium

För en vanlig dator är detta elektricitet - spänningsnivåer, närvaro eller frånvaro av ström, etc., för kvantum - samma ett kvantobjekts tillstånd (polarisationsriktning, spin, etc.), som kan vara i ett tillstånd av superposition.

operationer

För att implementera logiska kretsar på en vanlig dator använder vi välkända logiska operationer, för operationer på qubits var det nödvändigt att komma med ett helt annat operationssystem, kallat kvantportar. Gates kan vara en-qubit eller dubbel-qubit, beroende på hur många qubits som konverteras.

Exempel på kvantportar:
Hur kvantdatorer fungerar. Att lägga pusslet

Det finns ett koncept universalventilsats, som är tillräckliga för att utföra någon kvantberäkning. Till exempel inkluderar en universell uppsättning en Hadamard-grind, en fasskiftgrind, en CNOT-grind och en π⁄8-grind. Med deras hjälp kan du utföra valfri kvantberäkning på en godtycklig uppsättning kvantbitar.

I den här artikeln kommer vi inte att uppehålla oss i detalj vid systemet med kvantportar; du kan läsa mer om dem och logiska operationer på qubits, till exempel, just här. Det viktigaste att komma ihåg:

  • Operationer på kvantobjekt kräver skapandet av nya logiska operatorer (quantum grindar)
  • Quantum grindar finns i enkel-qubit och dubbel-qubit typer.
  • Det finns universella uppsättningar av grindar som kan användas för att utföra alla kvantberäkningar

Relation

En transistor är helt värdelös för oss; för att kunna utföra beräkningar måste vi koppla många transistorer till varandra, det vill säga skapa ett halvledarchip från miljontals transistorer som vi kan bygga logiska kretsar på, ALU och i slutändan få en modern processor i dess klassiska form.

En qubit är också helt värdelös för oss (ja, om så bara i akademiska termer),

för att utföra beräkningar behöver vi ett system av qubits (kvantobjekt)

som, som vi redan har sagt, skapas genom att qubits intrasslar med varandra så att förändringar i deras tillstånd sker på ett koordinerat sätt.

Algoritmer

Standardalgoritmerna som mänskligheten har samlat på sig hittills är helt olämpliga för implementering på en kvantdator. Ja, i allmänhet finns det inget behov. Kvantdatorer baserade på grindlogik över qubits kräver skapandet av helt andra algoritmer, kvantalgoritmer. Av de mest kända kvantalgoritmerna kan tre särskiljas:

principen

Och den viktigaste skillnaden är funktionsprincipen. För en vanlig dator är detta digital, strikt deterministisk princip, baserat på det faktum att om vi ställer in något initialtillstånd för systemet och skickade det genom en given algoritm, så kommer resultatet av beräkningarna att bli detsamma, oavsett hur många gånger vi kör den här beräkningen. Egentligen är detta beteende precis vad vi förväntar oss av en dator.

Quantum dator körs på analog, probabilistisk princip. Resultatet av en given algoritm vid ett givet initialtillstånd är urval från en sannolikhetsfördelning slutgiltiga implementeringar av algoritmen plus eventuella fel.

Denna probabilistiska natur av kvantberäkning beror på själva kvantvärldens probabilistiska väsen. "Gud spelar inte tärning med universum.", sa gamle Einstein, men alla experiment och observationer hittills (i det nuvarande vetenskapliga paradigmet) bekräftar motsatsen.

Fysiska implementeringar av qubits

(till innehållet)

Hur kvantdatorer fungerar. Att lägga pusslet

Som vi redan har sagt kan en qubit representeras av ett kvantobjekt, det vill säga ett fysiskt objekt som implementerar de ovan beskrivna kvantegenskaperna. Det vill säga, grovt sett, vilket fysiskt objekt som helst där det finns två tillstånd och dessa två tillstånd är i ett tillstånd av superposition kan användas för att bygga en kvantdator.

"Om vi ​​kan sätta en atom i två olika nivåer och kontrollera dem, då har du en qubit. Om vi ​​kan göra det här med en jon, är det en qubit. Det är samma sak med ström. Om vi ​​kör det medurs och moturs samtidigt, har du en qubit." (C)

Det finns härlig kommentar к artikeln, där den nuvarande variationen av fysiska implementeringar av qubiten övervägs mer detaljerat, kommer vi helt enkelt att lista de mest välkända och vanliga:

Av all denna sort är den mest utvecklade den första metoden för att erhålla qubits, baserat på supraledare. Google, IBM, Intel och andra ledande aktörer använder det för att bygga sina system.

Tja, läs mer översikt möjlig fysiska implementeringar qubits från Andrew Daley, 2014.

Grunderna. Hur en kvantdator fungerar

(till innehållet)

Hur kvantdatorer fungerar. Att lägga pusslet

Material för detta avsnitt (uppgift och bilder) är hämtat från artikeln "Bara om de svåra sakerna. Hur fungerar en kvantdator?.

Så föreställ dig att vi har följande uppgift:

Det finns en grupp på tre personer: (A)ndrey, (B)olodya och (C)erezha. Det finns två taxibilar (0 och 1).

Det är också känt att:

  • (A)ndrey, (B)olodya är vänner
  • (A)ndrey, (C)erezha är fiender
  • (B)olodya och (C)erezha är fiender

Uppgift: Placera folk i taxibilar så att Max (vänner) и Min(fiender)

Betyg: L = (antal vänner) - (antal fiender) för varje boendealternativ

VIKTIGT: Om man antar att det inte finns några heuristik finns det ingen optimal lösning. I det här fallet kan problemet endast lösas genom en fullständig sökning av alternativ.

Hur kvantdatorer fungerar. Att lägga pusslet

Lösning på en vanlig dator

Hur man löser detta problem på en vanlig (super) dator (eller kluster) - det är klart att du måste gå igenom alla möjliga alternativ. Om vi ​​har ett multiprocessorsystem kan vi parallellisera beräkningen av lösningar över flera processorer och sedan samla in resultaten.

Vi har 2 möjliga boendealternativ (taxi 0 och taxi 1) och 3 personer. Lösningsutrymme 2 ^ 3 = 8. Du kan till och med gå igenom 8 alternativ med hjälp av en miniräknare, detta är inget problem. Låt oss nu komplicera problemet - vi har 20 personer och två bussar, lösningsutrymmet 2^20 = 1 048 576. Inget komplicerat heller. Låt oss öka antalet personer med 2.5 gånger - ta 50 personer och två tåg, lösningsutrymmet är nu 2^50 = 1.12 x 10^15. En vanlig (super)dator börjar redan få allvarliga problem. Låt oss öka antalet personer med 2 gånger, 100 personer kommer att ge oss redan 1.2 x 10^30 möjliga alternativ.

Det är det, denna uppgift kan inte beräknas inom rimlig tid.

Ansluta en superdator

Den mest kraftfulla datorn för närvarande är nummer 1 av Top500Den Summit, produktivitet 122 Pflops. Låt oss anta att vi behöver 100 operationer för att beräkna ett alternativ, för att sedan lösa problemet för 100 personer behöver vi:

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

Som vi kan se när dimensionen av initialdata ökar, växer lösningsutrymmet enligt en maktlag, i det allmänna fallet, för N bitar har vi 2^N möjliga lösningsalternativ, som för relativt små N (100) ger oss ett okalkylerat (på nuvarande teknisk nivå) lösningsutrymme.

Finns det några alternativ? Som du kanske har gissat, ja, det finns det.

Men innan vi går in på hur och varför kvantdatorer effektivt kan lösa problem som dessa, låt oss ta en liten sammanfattning av vad de är. sannolikhetsfördelning. Var inte orolig, det här är en recensionsartikel, det kommer inte att finnas någon hård matematik här, vi nöjer oss med det klassiska exemplet med en påse och bollar.

Bara lite kombinatorik, sannolikhetsteori och en konstig experimenterare

Låt oss ta en påse och lägga den i den 1000 vita och 1000 svarta bollar. Vi kommer att göra ett experiment - ta ut bollen, skriv ner färgen, lägg tillbaka bollen i påsen och blanda bollarna i påsen.

Experimentet genomfördes 10 gånger, drog ut 10 svarta kulor. Kanske? Ganska. Ger detta prov oss någon rimlig uppfattning om den verkliga fördelningen i påsen? Uppenbarligen inte. Vad behöver göras - rätt, sidupprepa experimentet en miljon gånger och beräkna frekvenserna för svarta och vita bollar. Vi får t.ex 49.95 % svart och 50.05 % vit. I det här fallet är strukturen för distributionen från vilken vi provar (tar ut en boll) redan mer eller mindre tydlig.

Huvudsaken är att förstå det experimentet i sig har en probabilistisk karaktär, med ett prov (boll) kommer vi inte att veta den sanna strukturen för fördelningen, vi måste upprepa experimentet många gånger och genomsnittet av resultaten.

Låt oss lägga till det i vår väska 10 röda och 10 gröna bollar (fel). Låt oss upprepa experimentet 10 gånger. Idrog ut 5 röda och 5 gröna. Kanske? Ja. Vi kan säga något om den sanna fördelningen - Nej. Vad behöver göras - ja, du förstår.

För att få en förståelse för strukturen för en sannolikhetsfördelning är det nödvändigt att upprepade gånger ta ett urval av individuella utfall från denna fördelning och ett genomsnitt av resultaten.

Att koppla ihop teori med praktik

Nu istället för svarta och vita bollar, låt oss ta biljardbollar och lägga dem i en påse 1000 bollar med nummer 2, 1000 med nummer 7 och 10 bollar med andra nummer. Låt oss föreställa oss en experimenterare som är tränad i de enklaste handlingarna (ta ut en boll, skriv ner numret, lägg tillbaka bollen i påsen, blanda bollarna i påsen) och han gör detta på 150 mikrosekunder. Tja, en sådan experimenterare på hastighet (inte en drogreklam!!!). Sedan på 150 sekunder kommer han att kunna utföra vårt experiment 1 miljon gånger och ge oss de genomsnittliga resultaten.

De satte försöksledaren ner, gav honom en påse, vände sig bort, väntade 150 sekunder och fick:

nummer 2 - 49.5%, nummer 7 - 49.5%, de återstående siffrorna totalt - 1%.

Ja det stämmer, vår väska är en kvantdator med en algoritm som löser vårt problem, och bollarna är möjliga lösningar. Eftersom det finns två korrekta lösningar, alltså en kvantdator ger oss någon av dessa möjliga lösningar med lika stor sannolikhet och 0.5 % (10/2000) fel, som vi kommer att prata om senare.

För att få resultatet av en kvantdator måste du köra kvantalgoritmen flera gånger på samma indatauppsättning och göra ett genomsnitt av resultatet.

Skalbarhet för en kvantdator

Föreställ dig nu att för en uppgift som involverar 100 personer (lösningsutrymme 2^100 vi kommer ihåg detta), det finns också bara två korrekta beslut. Sedan, om vi tar 100 qubits och skriver en algoritm som beräknar vår objektivfunktion (L, se ovan) över dessa qubits, så får vi en påse i vilken det kommer att finnas 1000 bollar med numret på det första rätta svaret, 1000 med numret på det andra rätta svaret och 10 bollar med andra siffror. Och inom samma 150 sekunder kommer vår experimentator att ge oss en uppskattning av sannolikhetsfördelningen för korrekta svar.

Exekveringstiden för en kvantalgoritm (med vissa antaganden) kan betraktas som konstant O(1) med avseende på dimensionen av lösningsutrymmet (2^N).

Och detta är precis egenskapen hos en kvantdator - körtidskonstans i förhållande till den ökande maktlagskomplexiteten i lösningsutrymmet är nyckeln.

Qubit och parallella världar

Hur går det till? Vad gör att en kvantdator kan utföra beräkningar så snabbt? Allt handlar om qubitens kvanta natur.

Titta, vi sa att en qubit är som ett kvantobjekt realiserar ett av dess två tillstånd när det observeras, men i "vild natur" är det i staters superpositioner, det vill säga att den befinner sig i båda sina gränstillstånd samtidigt (med viss sannolikhet).

ta (A)ndreya och föreställ dig dess tillstånd (i vilket fordon det är - 0 eller 1) som en qubit. Då har vi (i kvantrymden) två parallella världar, i ett (A) sitter i taxi 0, i en annan värld - i taxi 1. I två taxibilar samtidigt, men med viss sannolikhet att hitta det i var och en av dem under observation.

ta (B) ung och låt oss också föreställa oss dess tillstånd som en qubit. Två andra parallella världar uppstår. Men för nu dessa par av världar (A) и (I) interagerar inte alls. Vad behöver göras för att skapa relaterad systemet? Det stämmer, vi behöver dessa qubits binda ihop (förvirra). Vi tar det och förvirrar det (A) med (B) — vi får ett kvantsystem med två kvantbitar (A, B), förverkliga inom sig fyra beroende av varandra parallella världar. Lägg till (S)ergey och vi får ett system med tre qubits (ABC), genomföra åtta beroende av varandra parallella världar.

Kärnan i kvantberäkning (implementeringen av en kedja av kvantgrindar över ett system av anslutna kvantbitar) är det faktum att beräkningen sker i alla parallella världar samtidigt.

Och det spelar ingen roll hur många av dem vi har, 2^3 eller 2^100, kvantalgoritmen kommer att exekveras i ändlig tid över alla dessa parallella världar och kommer att ge oss ett resultat, som är ett urval från sannolikhetsfördelningen av algoritmens svar.

För bättre förståelse kan man föreställa sig det en kvantdator på kvantnivå kör 2^N parallella lösningsprocesser, som var och en arbetar på ett möjligt alternativ, samlar sedan in resultatet av arbetet - och ger oss svaret i form av en överlagring av lösningen (sannolikhetsfördelning av svar), varifrån vi provar ett varje gång (för varje experiment).

Kom ihåg den tid som krävs av vår experimentator (150 µs) för att utföra experimentet kommer detta att vara användbart för oss lite längre, när vi pratar om kvantdatorernas huvudproblem och dekoherenstiden.

Kvantalgoritmer

(till innehållet)

Hur kvantdatorer fungerar. Att lägga pusslet

Som redan nämnts är konventionella algoritmer baserade på binär logik inte tillämpliga på en kvantdator som använder kvantlogik (kvantgrindar). För honom var det nödvändigt att komma med nya som till fullo utnyttjar potentialen som finns i datoranvändningens kvantnatur.

De mest kända algoritmerna idag är:

Till skillnad från klassiska är kvantdatorer inte universella.
Endast ett litet antal kvantalgoritmer har hittats hittills.(C)

Tack oxoron för länken till Quantum Algorithm Zoo, en plats där, enligt författaren ("Stephen Jordan"), har de bästa representanterna för den kvantalgoritmiska världen samlats in och fortsätter att samlas.

I den här artikeln kommer vi inte att analysera kvantalgoritmer i detalj; det finns många utmärkta material på Internet för alla nivåer av komplexitet, men vi behöver fortfarande kortfattat gå igenom de tre mest kända.

Shors algoritm.

(till innehållet)

Den mest kända kvantalgoritmen är Shors algoritm (uppfann 1994 av den engelske matematikern Peter Shore), som syftar till att lösa problemet med att faktorisera tal till primfaktorer (faktoriseringsproblem, diskret logaritm).

Det är denna algoritm som nämns som exempel när de skriver att dina banksystem och lösenord snart kommer att hackas. Med tanke på att längden på de nycklar som används idag är inte mindre än 2048 bitar, är tiden för ett lock ännu inte kommen.

Hittills resultat mer än blygsamt. Bästa faktoriseringsresultat med Shors algoritm - siffror 15 и 21, vilket är mycket mindre än 2048 bitar. För de återstående resultaten från tabellen, en annan algoritm beräkningar, men även det bästa resultatet enligt denna algoritm (291311) är mycket långt ifrån verklig tillämpning.

Hur kvantdatorer fungerar. Att lägga pusslet

Du kan läsa mer om Shors algoritm, till exempel, just här. Om praktiskt genomförande - här.

En av nuvarande uppskattningar komplexitet och nödvändig kraft för att faktorisera ett 2048-bitars nummer är en dator med 20 miljoner qubits. Vi sover lugnt.

Grovers algoritm

(till innehållet)

Grovers algoritm - kvantalgoritm lösa uppräkningsproblemet, det vill säga hitta en lösning på ekvationen F(X) = 1, där F är boolesk funktion från n variabler. Föreslogs av en amerikansk matematiker Fiske Grover в 1996 år.

Grovers algoritm kan användas för att hitta medianer и aritmetiskt medelvärde nummerserie. Dessutom kan den användas för att lösa NP-komplett problem genom en uttömmande sökning bland många möjliga lösningar. Detta kan innebära betydande hastighetsvinster jämfört med klassiska algoritmer, men utan att tillhandahålla "polynomlösning" i allmänhet.(C)

Du kan läsa mer just här, eller här. Mer just här Det finns en bra förklaring av algoritmen med exemplet med lådor och en boll, men tyvärr, av skäl utanför någons kontroll, öppnas den här sidan inte för mig från Ryssland. Om du har den här webbplatsen är också blockerad, så här är en kort sammanfattning:

Grovers algoritm. Föreställ dig att du har N bitar av numrerade stängda lådor. De är alla tomma utom en, som innehåller en boll. Din uppgift: ta reda på numret på lådan där bollen ligger (detta okända siffra betecknas ofta med bokstaven w).
Hur kvantdatorer fungerar. Att lägga pusslet

Hur löser man detta problem? Det dummaste sättet är att turas om att öppna lådorna, och förr eller senare kommer du att stöta på en låda med en boll. Hur många lådor måste i genomsnitt kontrolleras innan en låda med en boll hittas? I genomsnitt behöver du öppna ungefär hälften av N/2 lådor. Huvudsaken här är att om vi ökar antalet lådor med 100 gånger, så kommer också det genomsnittliga antalet lådor som måste öppnas innan lådan med bollen hittas att öka med samma 100 gånger.

Låt oss nu göra ytterligare ett förtydligande. Låt oss inte öppna lådorna själva med händerna och kontrollera om det finns en boll i varje, men det finns en viss mellanhand, låt oss kalla honom Oracle. Vi säger till Oracle, "kryssruta nummer 732," och Oracle kontrollerar ärligt och svarar, "det finns ingen boll i ruta nummer 732." Nu, istället för att säga hur många lådor vi behöver öppna i genomsnitt, säger vi "hur många gånger i genomsnitt ska vi gå till Oracle för att hitta numret på lådan med bollen"

Det visar sig att om vi översätter detta problem med lådor, en boll och Oraklet till kvantspråk, får vi ett anmärkningsvärt resultat: för att hitta numret på en låda med en boll bland N lådor behöver vi bara störa Oraklet om SQRT (N) gånger!

Det vill säga att komplexiteten i sökuppgiften med Grovers algoritm reduceras med kvadratroten av gånger.

Deutsch-Jozi algoritm

(till innehållet)

Deutsch-Jozsa-algoritm (även kallad Deutsch-Jozsa-algoritm) - [kvantalgoritm](https://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D1%8B%D0%B9%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC), предложенный David Deutsch и Richard Jozsa в 1992 år, och blev ett av de första exemplen på algoritmer designade för att köras på kvantdatorer. _

Deutsch-Jozsi-problemet är att avgöra om en funktion av flera binära variabler F(x1, x2, ... xn) är konstant (tar antingen värdet 0 eller 1 för alla argument) eller balanserad (för hälften av domänen den tar värdet 0, för den andra hälften 1). I detta fall anses det vara känt a priori att funktionen är antingen en konstant eller balanserad. (C)

Mer kan läsas här. En enklare förklaring:

Algoritmen Deutsch (Deutsch-Jozsi) är baserad på brute force, men gör att det kan göras snabbare än vanligt. Föreställ dig att det ligger ett mynt på bordet och du måste ta reda på om det är förfalskat eller inte. För att göra detta måste du titta på myntet två gånger och bestämma: "huvuden" och "svansar" är riktiga, två "huvuden", två "svansar" är falska. Så om du använder Deutsch-kvantalgoritmen, kan denna bestämning göras med en blick - mätning. (C)

Problem med kvantdatorer

(till innehållet)

Hur kvantdatorer fungerar. Att lägga pusslet

Vid design och drift av kvantdatorer står forskare och ingenjörer inför ett stort antal problem, som hittills har lösts med varierande framgång. Enligt Exploration (och även här) följande serie problem kan identifieras:

  • Känslighet för miljön och interaktion med miljön
  • Ansamling av fel vid beräkningar
  • Svårigheter med initialisering av qubit-tillstånd
  • Svårigheter att skapa multi-qubit-system

Jag rekommenderar starkt att läsa artikeln "Egenskaper hos kvantdatorer”, särskilt kommentarerna till den.

Låt oss organisera alla huvudproblem i tre stora grupper och titta närmare på var och en av dem:

Dekoherens

(till innehållet)

Hur kvantdatorer fungerar. Att lägga pusslet

Beskrivning från N+1.

Kvanttillstånd mycket skör sakqubits i ett intrasslat tillstånd är extremt instabila, varje yttre påverkan kan (och gör) förstöra denna koppling. En temperaturförändring med den minsta bråkdelen av en grad, tryck, en slumpmässig foton som flyger i närheten - allt detta destabiliserar vårt system.

För att lösa detta problem byggs lågtemperatursarkofager, där temperaturen (-273.14 grader Celsius) ligger något över absolut noll, med maximal isolering av den inre kammaren med processorn från alla (möjliga) influenser från den yttre miljön.

Den maximala livslängden för ett kvantsystem med flera intrasslade kvantbitar, under vilken det behåller sina kvantegenskaper och kan användas för beräkningar, kallas dekoherenstid.

För närvarande är dekoherenstiden i de bästa kvantlösningarna i storleksordningen tiotals och hundratals mikrosekunder.

Det finns en underbar сайтdär du kan titta jämförelsetabeller av parametrar av alla skapade kvantsystem. Den här artikeln innehåller endast två toppprocessorer som exempel - från IBM IBM Q System One och från Google Sycamore. Som vi kan se överstiger inte dekoherenstiden (T2) 200 μs.

Jag hittade inte exakta uppgifter om Sycamore, men i de flesta artikel om kvantöverhöghet två siffror ges - 1 miljon beräkningar på 200 sekunder, på annat håll - för 130 sekunder utan förlust av styrsignaler osv.. Detta ger oss i alla fall dekoherenstiden är cirka 150 μs. Kom ihåg vår experimenterare med en väska? Nåväl, här är han.

dator~~POS=TRUNC N Qubits Max parat T2 (µs)
IBM Q System One 20 6 70
Google Sycamore 53 4 ~ 150-200

Vad hotar dekoherensen oss med?

Huvudproblemet är att efter 150 μs kommer vårt beräkningssystem med N intrasslade qubits att börja mata ut probabilistiskt vitt brus istället för en probabilistisk fördelning av korrekta lösningar.

Det vill säga vi behöver:

  • Initiera qubit-systemet
  • Utför en beräkning (kedja av grindoperationer)
  • Läs resultatet

Och gör allt detta på 150 mikrosekunder. Jag hade inte tid - resultatet blev en pumpa.

Men det är inte allt…

Fel

(till innehållet)

Hur kvantdatorer fungerar. Att lägga pusslet

Som vi sa, kvantprocesser och kvantberäkningar är probabilistiska till sin natur, vi kan inte vara 100% säkra på någonting, men bara med viss sannolikhet. Situationen förvärras ytterligare av det faktum att kvantberäkning är felbenägen. De huvudsakliga typerna av fel i kvantberäkning är:

  • Dekoherensfel orsakas av systemets komplexitet och interaktion med den yttre miljön
  • Grindberäkningsfel (på grund av beräkningens kvanttyp)
  • Fel vid läsning av slutstatus (resultat)

Fel associerade med dekoherens, visas så snart vi trasslar in våra qubits och börjar göra beräkningar. Ju fler qubits vi trasslar in, desto mer komplext är systemet, och desto lättare är det att förstöra det. Lågtemperatursarkofager, skyddade kammare, alla dessa tekniska knep är just inriktade på att minska antalet fel och förlänga dekoherenstiden.

Gateberäkningsfel - vilken operation (gate) som helst på qubits kan, med viss sannolikhet, sluta med ett fel, och för att implementera algoritmen behöver vi utföra hundratals grindar, så föreställ dig vad vi får i slutet av exekveringen av vår algoritm. Det klassiska svaret på frågan är "Vad är sannolikheten att träffa en dinosaurie i en hiss?" - 50x50, antingen träffas du eller inte.

För att göra problemet värre fungerar inte vanliga felkorrigeringsmetoder (duplicering av beräkningar och medelvärde) i kvantvärlden på grund av no-cloning theoremet. För felkorrigering inom quantum computing måste uppfinnas kvantkorrigeringsmetoder. Grovt sett tar vi N vanliga qubits och gör 1 av dem logisk qubit med lägre felfrekvens.

Men här uppstår ett annat problem - totalt antal qubits. Titta, låt oss säga att vi har en processor med 100 qubits, varav 80 qubits används för felkorrigering, sedan har vi bara 20 kvar för beräkningar.

Fel vid läsning av slutresultatet — som vi minns presenteras resultatet av kvantberäkningar för oss i formuläret sannolikhetsfördelning av svar. Men att läsa det slutliga tillståndet kan också misslyckas med ett fel.

På samma Online Det finns jämförande tabeller över processorer efter felnivåer. Som jämförelse, låt oss ta samma processorer som i föregående exempel - IBM IBM Q System One и Google Sycamore:

Dator 1-Qubit Gate Fidelity 2-Qubit Gate Fidelity Avläsning Fidelity
IBM Q System One 99.96% 98.31% -
Google Sycamore 99.84% 99.38% 96.2%

Här trohet är ett mått på likheten mellan två kvanttillstånd. Storleken på felet kan grovt uttryckas som 1-Fidelity. Som vi kan se är fel på 2-qubit-grindar och utläsningsfel det främsta hindret för att exekvera komplexa och långa algoritmer på befintliga kvantdatorer.

Mer kan läsas färdplan från 2016 år från NQIT för att lösa problemet med felkorrigering.

Processorarkitektur

(till innehållet)

Hur kvantdatorer fungerar. Att lägga pusslet

I teorin bygger och driver vi kretsar med dussintals intrasslade qubits, i verkligheten är allt mer komplicerat. Alla befintliga kvantchips (processorer) är byggda på ett sådant sätt att de ger smärtfritt intrassling av endast en qubit med sina grannar, av vilka det inte finns fler än sex.

Om vi ​​behöver trassla in den 1:a qubiten, säg, med den 12:e, måste vi bygga en kedja av ytterligare kvantoperationer, involvera ytterligare qubits, etc., vilket ökar den totala felnivån. Ja, och glöm inte bort dekoherens tid, kanske när du slutar ansluta qubits till den krets du behöver, kommer tiden att sluta och hela kretsen kommer att förvandlas till trevlig generator för vitt brus.

Glöm inte heller det Arkitekturen för alla kvantprocessorer är olika, och programmet som skrivits i emulatorn i "allt-till-alla-anslutning"-läget måste "kompileras om" till arkitekturen för ett specifikt chip. Det finns till och med speciella optimeringsprogram för att utföra denna operation.

Maximal anslutning och maximalt antal qubits för samma toppchips:

dator~~POS=TRUNC N Qubits Max parat T2 (µs)
IBM Q System One 20 6 70
Google Sycamore 53 4 ~ 150-200

Och som jämförelse, tabell med data från den tidigare generationens processorer. Jämför antalet qubits, dekoherenstid och felfrekvens med vad vi har nu med den nya generationen. Fortfarande går utvecklingen långsamt, men rör sig.

Hur kvantdatorer fungerar. Att lägga pusslet

Så:

  • Det finns för närvarande inga helt uppkopplade arkitekturer med > 6 qubits
  • För att trassla in qubit 0 s på en riktig processor, till exempel, kan qubit 15 kräva flera dussin ytterligare operationer
  • Fler operationer -> fler fel -> starkare inflytande av dekoherens

Resultat av

(till innehållet)

Dekoherens är den prokrusteiska bädden för modern kvantberäkning. Vi måste passa in allt i 150 μs:

  • Initialisering av initialtillståndet för qubits
  • Att beräkna ett problem med hjälp av kvantportar
  • Rätta fel för att få meningsfulla resultat
  • Läs resultatet

Än så länge är resultaten dock nedslående just här anspråk på att uppnå 0.5s koherensretentionstid på en kvantdator baserat på jonfällor:

Vi mäter en qubit koherenstid som överstiger 0.5 s, och med magnetisk skärmning förväntar vi oss att denna förbättras till att vara längre än 1000 s

Du kan också läsa om denna teknik här eller till exempel här.

Situationen kompliceras ytterligare av det faktum att när man utför komplexa beräkningar är det nödvändigt att använda kvantfelskorrigeringskretsar, som också äter upp både tid och tillgängliga kvantbitar.

Och slutligen tillåter moderna arkitekturer inte att implementera intrasslingsscheman bättre än 1 på 4 eller 1 på 6 till minimal kostnad.

Problemlösningssätt

(till innehållet)

För att lösa ovanstående problem används för närvarande följande tillvägagångssätt och metoder:

  • Använda kryokammare med låga temperaturer (10 mK (–273,14°C))
  • Använda processorenheter som är maximalt skyddade från yttre påverkan
  • Använda Quantum Error Correction Systems (Logic Qubit)
  • Använda optimerare vid programmering av kretsar för en specifik processor

Forskning bedrivs också som syftar till att öka dekoherenstiden, söka efter nya (och förbättra kända) fysiska implementeringar av kvantobjekt, optimera korrigeringskretsar, etc., etc. Det finns framsteg (se ovan på egenskaperna hos tidigare och dagens toppchips), men än så länge är det långsamt, väldigt, väldigt långsamt.

D-Wave

(till innehållet)

Hur kvantdatorer fungerar. Att lägga pusslet

D-Wave 2000Q 2000-qubit dator. Källa: D-Wave-system

Mitt i Googles tillkännagivande om att uppnå kvantöverlägsenhet med hjälp av en 53-qubit-processor, datorer и meddelanden från företaget D-Wave, där antalet qubits är i tusental, är något förvirrande. Tja, verkligen, om 53 qubits kunde uppnå kvantöverlägsenhet, vad är då en dator med 2048 qubits kapabel till? Men allt är inte så bra...

Kort sagt (hämtat från wikin):

Datorer D-Wave arbeta efter principen kvantavslappning (kvantglödgning), kan lösa en mycket begränsad underklass av optimeringsproblem och är inte lämpliga för att implementera traditionella kvantalgoritmer och kvantgrindar.

För mer information kan du läsa t.ex. här, här (försiktig, får inte öppna från Ryssland), eller Scott aaronson в artikeln från hans blogginlägg. För övrigt rekommenderar jag varmt att läsa hans blogg generellt, det finns mycket bra material där

I allmänhet hade forskarsamhället frågor om D-Wave-datorer från början av tillkännagivandena. Till exempel, 2014, ifrågasatte IBM det faktum att D-Wave använder kvanteffekter. Det kom till den punkten att Google, tillsammans med NASA, 2015 köpte en av dessa kvantdatorer och efter forskning bekräftad, att ja, datorn fungerar och räknar ut problemet snabbare än en vanlig. Du kan läsa mer om Googles uttalande här och till exempel här.

Huvudsaken är att D-Wave-datorer, med sina hundratals och tusentals qubits, inte kan användas för att beräkna och köra kvantalgoritmer. Du kan till exempel inte köra Shors algoritm på dem. Allt de kan göra är att använda vissa kvantmekanismer för att lösa ett visst optimeringsproblem. Vi kan anse att D-Wave är en kvant-ASIC för en specifik uppgift.

Lite om kvantdatoremulering

(till innehållet)

Hur kvantdatorer fungerar. Att lägga pusslet

Quantum computing kan emuleras på en vanlig dator. Verkligen, look:

  • Tillståndet för qubit kan vara skicka komplext tal, upptar från 2x32 till 2x64 bitar (8-16 byte) beroende på processorarkitekturen
  • Tillståndet för N anslutna kvantbitar kan representeras som 2^N komplexa tal, dvs. 2^(3+N) för 32-bitars arkitektur och 2^(4+N) för 64-bitars.
  • En kvantoperation på N kvantbitar kan representeras av en 2^N x 2^N matris

därefter:

  • För att lagra de emulerade tillstånden på 10 qubits behövs 8 KB
  • För att lagra tillstånden på 20 qubits behöver du 8 MB
  • För att lagra tillstånden på 30 qubits behövs 8 GB
  • 40 terabyte behövs för att lagra tillstånden på 8 qubits
  • För att lagra tillstånden på 50 qubits behövs 8 Petabyte osv.

(C)

Som jämförelse Summit (Top-1 från Top-500) har endast 2.8 Petabyte minne.

Aktuellt simuleringsrekord — 49 qubit levererades förra året till den största kinesiska superdatorn (Sunway Taihu Light)

Gränsen för att simulera en kvantdator på klassiska system bestäms av mängden RAM som krävs för att lagra qubitarnas tillstånd.

Jag rekommenderar också att läsa denna kommentar. Därifrån:

Genom drift - för noggrann emulering av en 49-qubit-krets bestående av cirka 39 "cykler" (oberoende lager av grindar) det tog 2^63 komplexa multiplikationer - 4 Pflops av en superdator i 4 timmar

Att emulera en 50+ qubit kvantdator på klassiska system anses omöjligt inom rimlig tid. Det är också därför Google använde en 53-qubit-processor för sitt kvantöverlägsenhetsexperiment.

Quantum computing överlägsenhet.

(till innehållet)

Hur kvantdatorer fungerar. Att lägga pusslet

Wikipedia ger oss följande definition av kvantberäkningsöverlägsenhet:

Quantum supremacy - förmåga kvantberäkning enheter för att lösa problem som klassiska datorer praktiskt taget inte kan lösa.

Faktum är att uppnå kvantöverlägsenhet innebär att till exempel faktorisering av stora tal med Shor-algoritmen kan lösas i tillräcklig tid, eller att komplexa kemiska molekyler kan emuleras på kvantnivå, och så vidare. Det vill säga en ny era har kommit.

Men det finns ett kryphål i formuleringen av definitionen, "som klassiska datorer praktiskt taget inte kan lösa" I själva verket betyder detta att om du skapar en kvantdator med 50+ qubits och kör någon kvantkrets på den, så, som vi diskuterade ovan, kan resultatet av denna krets inte emuleras på en vanlig dator. Det är en klassisk dator kommer inte att kunna återskapa resultatet av en sådan krets.

Huruvida ett sådant resultat utgör verklig kvantöverhöghet eller inte är snarare en filosofisk fråga. Men förstå vad Google gjorde och vad det är baserat på meddelade nyligen att den hade uppnått kvantöverlägsenhet med sin nya Sycamore-processor nödvändig.

Googles Quantum Supremacy Statement

(till innehållet)

Hur kvantdatorer fungerar. Att lägga pusslet
Sycamore 54-qubit-processor

Så i oktober 2019 publicerade Googles utvecklare en artikel i den vetenskapliga publikationen Nature "Kvantöverlägsenhet med hjälp av en programmerbar supraledande processor" Författarna tillkännagav uppnåendet av kvantöverhöghet för första gången i historien med hjälp av 54-qubit Sycamore-processorn.

Sycamore-artiklar online refererar ofta till antingen en 54-qubit-processor eller en 53-qubit-processor. Sanningen är att enligt originalartikel, processorn består fysiskt av 54 qubits, men en av dem är icke-fungerande och har tagits ur drift. Således har vi i verkligheten en 53-qubit-processor.

På webben precis där dök upp många material om detta ämne, vars grad varierade från entusiastisk до skeptisk.

IBM:s kvantberäkningsteam uppgav senare det Google har felaktigt rapporterat uppnå kvantöverlägsenhet. Företaget hävdar att en konventionell dator kommer att klara av denna uppgift i värsta fall inom 2,5 dagar, och det resulterande svaret kommer att bli mer exakt än det för en kvantdator. Denna slutsats gjordes utifrån resultaten av en teoretisk analys av flera optimeringsmetoder.

Och naturligtvis, Scott aaronson i hans blogginlägg Jag kunde inte ignorera detta uttalande. Hans анализ tillsammans med alla länkar och Scott's Supreme Quantum Supremacy FAQ! som vanligt är de värda att lägga din tid på. På navet det finns en översättning denna FAQ, och var noga med att läsa kommentarerna, det finns länkar till preliminära dokument som läcktes online innan det officiella tillkännagivandet.

Vad gjorde Google egentligen? För en detaljerad förståelse, läs Aaronson, men kortfattat här:

Jag kan såklart berätta, men jag känner mig ganska dum. Beräkningen är som följer: experimentatorn genererar en slumpmässig kvantkrets C (dvs en slumpmässig sekvens av 1-qubit och 2-qubit grindar mellan närmaste grannar, med ett djup av till exempel 20, som verkar på ett 2D-nätverk av n = 50-60 qubits). Försöksledaren skickar sedan C till kvantdatorn och ber den att applicera C till ett initialt tillstånd av 0, mäta resultatet i {0,1}-basen, skicka tillbaka en n-bitars observerad sekvens (sträng) och upprepa flera tusen eller miljoner gånger. Slutligen, med hjälp av sin kunskap om C, utför experimenteraren ett statistiskt test för att se om resultatet matchar den förväntade utmatningen från kvantdatorn.

Hur kvantdatorer fungerar. Att lägga pusslet

Väldigt kort:

  • En slumpmässig krets med längden 20 på 53 qubits skapas med hjälp av grindar
  • Kretsen startar med initialtillståndet [0...0] för exekvering
  • Utgången från kretsen är en slumpmässig bitsträng (exempel)
  • Fördelningen av resultatet är inte slumpmässig (störning)
  • Fördelningen av de erhållna proverna jämförs med det förväntade
  • Avslutar Quantum Supremacy

Det vill säga, Google implementerade ett syntetiskt problem på en 53-qubit-processor och baserar sitt påstående om att uppnå kvantöverlägsenhet på det faktum att det är omöjligt att emulera en sådan processor på standardsystem inom rimlig tid.

För förståelse - Det här avsnittet minskar inte på något sätt Googles prestation, ingenjörerna är riktigt bra, och frågan om detta kan betraktas som verklig kvantöverlägsenhet eller inte, som tidigare nämnts, är mer filosofisk än ingenjörskonst. Men vi måste förstå att efter att ha uppnått sådan beräkningsöverlägsenhet, har vi inte kommit ett steg mot förmågan att köra Shors algoritm på 2048-bitars nummer.

Sammanfattning

(till innehållet)
Hur kvantdatorer fungerar. Att lägga pusslet

Kvantdatorer och kvantdatorer är ett mycket lovande, mycket ungt och än så länge lite industriellt tillämpbart område av informationsteknologi.

Utvecklingen av kvantberäkning kommer (någon gång) att tillåta oss att lösa problem:

  • Modellera komplexa fysiska system på kvantnivå
  • Olöslig på en vanlig dator på grund av beräkningskomplexitet

De största problemen med att skapa och använda kvantdatorer:

  • Dekoherens
  • Fel (dekoherens och gate)
  • Processorarkitektur (fullständigt anslutna qubit-kretsar)

Aktuellt läge:

  • I själva verket - själva början R&D.
  • Det finns ingen RIKTIG kommersiell exploatering ännu (och det är oklart när det kommer att ske)

Vad kan hjälpa:

  • Någon form av fysisk upptäckt som minskar kostnaderna för kabeldragning och drift av processorer
  • Att upptäcka något som kommer att öka dekoherenstiden med en storleksordning och/eller minska felen

Enligt min åsikt (rent personlig åsikt), I det nuvarande vetenskapliga paradigmet av kunskap kommer vi inte att nå betydande framgångar i utvecklingen av kvantteknologier, här behöver vi ett kvalitativt genombrott inom något område av grundläggande eller tillämpad vetenskap, vilket kommer att ge impulser till nya idéer och metoder.

Under tiden får vi erfarenhet av kvantprogrammering, samla in och skapa kvantalgoritmer, testa idéer osv osv. Vi väntar på ett genombrott.

Slutsats

(till innehållet)

I den här artikeln gick vi igenom de viktigaste milstolparna i utvecklingen av kvantdatorer och kvantdatorer, undersökte principen för deras funktion, undersökte de huvudsakliga problemen som ingenjörer står inför i utvecklingen och driften av kvantprocessorer, och tittade också på vilken multi-qubit D-datorer är det faktiskt. Wave och Googles senaste tillkännagivande om att uppnå kvantöverhöghet.

Kvar bakom kulisserna finns frågor om programmering av kvantdatorer (språk, tillvägagångssätt, metoder etc.) och frågor relaterade till den specifika fysiska implementeringen av processorer, hur qubits hanteras, länkas, läser, etc. Kanske kommer detta att bli ämnet för nästa artikel eller artiklar.

Tack för din uppmärksamhet, jag hoppas att den här artikeln kommer att vara användbar för någon.

(C) Kruegger

Kvitteringar

(till innehållet)

Hur kvantdatorer fungerar. Att lägga pusslet

@Oxoron för korrekturläsning och kommentarer till källtexten, samt till artikeln "Kenskaper hos kvantdatorer"

@a5b för informationsrika kommentarer om "Kenskaper hos kvantdatorer", och inte bara för henne, vilket till stor del hjälpte mig att lista ut detta pussel.

Till alla författare till artiklar och publikationer vars material använts för att skriva denna artikel.

Lista över resurser

(till innehållet)

Hur kvantdatorer fungerar. Att lägga pusslet

Aktuella artiklar från [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

Artiklar från Habr (i slumpmässig ordning)

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/

Osorterade (men inte mindre intressanta) artiklar från 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

Kurser och föreläsningar

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

Källa: will.com

Lägg en kommentar