Så här fungerar kvantberäkning

Kvantberäkning har löftet att lösa några av vår planets största utmaningar – inom områdena miljö, jordbruk, hälsa, energi, klimat, materialvetenskap med mera. För vissa av dessa problem utmanas klassisk databehandling i allt högre grad i takt med att systemets storlek växer. När kvantsystemen är utformade för skalning kommer de sannolikt att ha funktioner som överskrider dagens mest kraftfulla superdatorer. När den globala communityn med kvantforskare, forskare, ingenjörer och företagsledare samarbetar för att främja kvantekosystemet förväntar vi oss att kvanteffekten accelererar i alla branscher.

Tips

Om du vill påskynda din kvantberäkningsresa kan du kolla in Code with Azure Quantum, en unik funktion på Azure Quantum-webbplatsen. Här kan du köra inbyggda Q# exempel eller egna Q# program, generera ny Q# kod från dina frågor, öppna och köra koden i VS Code för webben med ett klick och ställa frågor till Copilot om kvantberäkning.

Varför använda kvantdatorer?

Idén om en kvantdator föddes ur svårigheten att simulera kvantsystem på en klassisk dator. På 1980-talet föreslog Richard Feynman och Yuri Manin oberoende att maskinvara baserad på kvantfenomen kan vara effektivare för simulering av kvantsystem än konventionella datorer.

Man kan förklara varför kvantmekanik är så svårt att simulera på flera olika sätt. Det enklaste är att se att materia, på kvantnivå, finns i en mängd möjliga konfigurationer (kallas tillstånd).

Kvantberäkning växer exponentiellt

Överväg ett system av elektroner där det finns $40$ möjliga platser. Systemet kan därför finnas i någon av $2^{40}$ konfigurationer (eftersom varje plats antingen kan ha eller inte har en elektron). Om vi vill lagra kvanttillståndet för elektronerna i ett konventionellt datorminne krävs mer än $130$ GB minne! Om vi har tillåtit att partiklarna är i någon av de $41$ positionerna, finns det två gånger så många konfigurationer i $2^{41}$, vilket i sin tur kräver mer än $260$ GB minne för att lagra kvanttillståndet.

Det här spelet för att öka antalet platser kan inte spelas på obestämd tid. Om vi vill lagra tillståndet konventionellt skulle vi snabbt överskrida minneskapaciteterna för världens mest kraftfulla datorer. Vid några hundra elektroner överskrider det minne som krävs för att lagra systemet antalet partiklar i universum. Det finns därför ingen chans att våra konventionella datorer någonsin ska kunna simulera denna kvantdynamik.

Förvandla svårigheter till möjlighet

Observationen av denna exponentiella tillväxt fick oss att ställa en kraftfull fråga: kan vi förvandla denna svårighet till en möjlighet? Mer specifikt, om kvantdynamik är så svårt att simulera, vad skulle hända om vi kunde bygga maskinvara som hade kvanteffekter som grundläggande användning? Kan vi simulera kvantsystem för att interagera partiklar med hjälp av en maskin som utnyttjar exakt samma fysiklagar? Och kan vi använda dem som datorn för att undersöka andra uppgifter som saknas i kvantpartiklar, men som är avgörande för oss? Dessa frågor ledde till uppkomsten av kvantberäkning.

År 1985 visade David Deutsch att en kvantdator effektivt kunde simulera beteendet hos alla fysiska system. Den här identifieringen var den första indikationen på att kvantdatorer kan användas för att lösa problem som är svårlösta på klassiska datorer.

1994 upptäckte Peter Shor en kvantalgoritm för factoring heltal som körs exponentiellt snabbare än den mest kända klassiska algoritmen. Att lösa faktorer gör det möjligt att bryta många av våra kryptosystem med offentliga nycklar som ligger till grund för säkerheten för e-handel idag, inklusive RSA och Elliptic Curve Cryptography. Den här identifieringen väckte ett stort intresse för kvantberäkning och ledde till utvecklingen av kvantalgoritmer för många andra problem.

Sedan dess har snabba och effektiva kvantdatoralgoritmer utvecklats för många av våra hårda klassiska uppgifter: att simulera fysiska system inom kemi, fysik och materialvetenskap, söka i en osorterad databas, lösa system med linjära ekvationer och maskininlärning.

Vad är en qubit?

Precis som bitar är det grundläggande informationsobjektet inom klassisk databehandling är kvantbitar (kvantbitar) det grundläggande objektet för information inom kvantberäkning.

En kvantbit är den grundläggande informationsenheten inom kvantberäkning. Kvantbitar spelar en liknande roll inom kvantberäkning som bitar spelar i klassisk databehandling, men de beter sig mycket annorlunda. Klassiska bitar är binära och kan bara innehålla en position på $0$ eller $1$, men kvantbitar kan innehålla en superposition av alla möjliga tillstånd. Det innebär att en kvantbit kan vara i ett tillstånd av $0$, $1$, eller någon kvantsuperposition av de två. Det finns oändliga möjliga superpositioner på $0$ och $1$, och var och en av dem är ett giltigt qubit-tillstånd.

Inom kvantberäkning kodas informationen i superpositionen för tillstånden $0$ och $1$. Med $8$ bitar kan vi till exempel koda $256$ olika värden, men vi måste välja en av dem för att koda den. Med $8$ kvantbitar kan vi koda $256$-värdena samtidigt. Detta beror på att en qubit kan vara i en superposition av alla möjliga tillstånd.

Mer information finns i Kvantbiten i kvantberäkning.

Så här skapar du en kvantdator

En kvantdator är en dator som utnyttjar kvantmekaniska fenomen. Kvantdatorer använder kvanttillstånd av materia för att lagra och beräkna information. De kan "programmera" kvantinterferens för att göra saker snabbare eller bättre än klassiska datorer.

När vi skapar en kvantdator måste vi tänka på hur du skapar kvantbitarna och hur du lagrar dem. Vi måste också tänka på hur vi ska manipulera dem och hur vi ska läsa resultatet av våra beräkningar.

De flesta qubit-tekniker som används är kvantbitar med fångade joner, supraledande kvantbitar och topologiska kvantbitar. För vissa metoder för kvantbitslagring hålls enheten som rymmer kvantbitarna vid en temperatur nära absolut noll för att maximera deras samstämmighet och minska interferensen. Andra typer av kvantbitslagring använder en vakuumkammare för att minimera vibrationer och stabilisera kvantbitarna. Signaler kan skickas till kvantbitarna med hjälp av en mängd olika metoder, inklusive mikrovågsugnar, laser och spänning.

De fem kriterierna för en kvantdator

En bra kvantdator bör ha följande fem funktioner:

  1. Skalbar: Det kan ha många kvantbitar.
  2. Initializable: Den kan ange qubits till ett specifikt tillstånd (vanligtvis $0$ tillstånd).
  3. Motståndskraftig: Det kan hålla kvantbitarna i superpositionstillstånd under lång tid.
  4. Universella: En kvantdator behöver inte utföra alla möjliga åtgärder, bara en uppsättning åtgärder som kallas universell uppsättning. En uppsättning universella kvantåtgärder är sådana att alla andra åtgärder kan delas upp i en sekvens av dem.
  5. Tillförlitlig: Den kan mäta kvantbitarna korrekt.

Dessa fem kriterier kallas ofta Di Vincenzo-kriterierna för kvantberäkning.

Att skapa enheter som uppfyller dessa fem kriterier är en av de mest krävande tekniska utmaningar som mänskligheten någonsin står inför. Microsoft samarbetar med några av de bästa kvantdatortillverkarna i världen för att ge dig tillgång till de senaste kvantberäkningslösningarna via Azure Quantum. Mer information finns i den fullständiga listan över Azure Quantum-providers.

Vad kan kvantberäkning och Azure Quantum användas för?

En kvantdator är inte en superdator som kan göra allt snabbare. I själva verket är ett av målen med kvantberäkningsforskning att studera vilka problem som kan lösas av en kvantdator snabbare än en klassisk dator och hur stor hastigheten kan vara.

Kvantdatorer klarar sig exceptionellt bra med problem som kräver beräkning av ett stort antal möjliga kombinationer. Dessa typer av problem kan hittas inom många områden, till exempel kvantsimulering, kryptografi, kvantmaskininlärning och sökproblem.

Den senaste informationen om Microsofts kvantberäkningsforskning finns på sidan Kvantberäkning för Microsoft Research .

Resursuppskattning

De kvantdatorer som är tillgängliga idag möjliggör intressanta experiment och forskning, men de kan inte påskynda de beräkningar som krävs för att lösa verkliga problem. Medan branschen väntar på maskinvaruframsteg är kvantprograminnovatörer angelägna om att göra framsteg och förbereda sig för en kvantfram framtid. Att skapa algoritmer idag som så småningom kommer att köras på morgondagens feltoleranta skalbara kvantdatorer är en skrämmande uppgift. Dessa innovatörer ställs inför frågor som vilka maskinvaruresurser som krävs? Hur många fysiska och logiska kvantbitar behövs och vilken typ? Hur lång är körningstiden?

Du kan använda Azure Quantum Resource Estimator för att besvara dessa frågor. Därför kommer du att kunna förfina dina algoritmer och skapa lösningar som drar nytta av skalbara kvantdatorer när de blir tillgängliga.

Information om hur du kommer igång finns i Kör din första resursuppskattning.

Läs mer om att utvärdera krav för att skala till praktisk kvantfördel med hjälp av Azure Quantum Resource Estimator i arXiv:2211.07629.

Kvantsimulering

Kvantmekanik är det underliggande "operativsystemet" i vårt universum. Den beskriver hur de grundläggande byggstenarna i naturen beter sig. Naturens beteenden, till exempel kemiska reaktioner, biologiska reaktioner och materialbildningar, involverar ofta kvantinteraktioner med många organ. För att simulera kvantmekaniska system, till exempel molekyler, är kvantberäkning lovande, eftersom kvantbitar (kvantbitar) kan användas för att representera de naturliga tillstånden i fråga. Exempel på kvantsystem som vi kan modellera är fotosyntes, supraledning och komplexa molekylära formationer.

Azure Quantum Elements är specialbyggt för att påskynda vetenskaplig upptäckt. Återuppfinna din produktivitet inom forskning och utveckling med simuleringsarbetsflöden som är optimerade för skalning i Azure High-Performance Computing-kluster (HPC), AI-accelererad databehandling, förhöjda resonemang med AI, integrering med kvantverktyg för att börja experimentera med befintlig kvantmaskinvara och i framtiden komma åt Microsofts kvantsuperdator. Mer information finns i Låsa upp kraften i Azure for Molecular Dynamics.

Kvanthastigheter

Ett av målen med kvantberäkningsforskning är att studera vilka problem som kan lösas av en kvantdator snabbare än en klassisk dator och hur stor hastigheten kan vara. Två välkända exempel är Grover-algoritmen och Shor-algoritmen, som ger en polynom och en exponentiell hastighet över deras klassiska motsvarigheter.

Shor-algoritmen som körs på en kvantdator kan bryta klassiska kryptografiska scheman som Rivest–Shamir–Adleman-schemat (RSA), som ofta används inom e-handel för säker dataöverföring. Det här schemat baseras på den praktiska svårigheten att räkna ut primtal med hjälp av klassiska algoritmer. Kvantkryptografi utlovar informationssäkerhet genom att utnyttja grundläggande fysik snarare än komplexitetsantaganden.

Precis som Shors algoritm för factoring är det dolda skiftproblemet en naturlig källa till problem för vilka en kvantdator har en exponentiell fördel jämfört med de mest kända klassiska algoritmerna. Detta kan så småningom hjälpa till att lösa decentraliseringsproblem och göra det möjligt för oss att effektivt hitta mönster i komplexa datamängder. Det visar sig att en kvantdator i princip kan beräkna sammanslagningar med hög hastighet, vilket i sin tur baseras på kvantdatorns förmåga att beräkna Fourier-transformeringar extremt snabbt. I exempelgalleriet på din Azure Quantum-arbetsyta hittar du ett Exempel på En Jupyter-anteckningsbok med dolda skift (ett Azure-konto krävs).

Grover-algoritmen påskyndar lösningen på ostrukturerade datasökningar och kör sökningen i färre steg än någon klassisk algoritm kan. Alla problem som gör att du kan kontrollera om ett visst värde $x$ är en giltig lösning (ett "ja eller inga problem") kan formuleras när det gäller sökproblemet. Följande är några exempel:

  • Booleska tillfredsställelsesproblem: Är uppsättningen booleska värden $x$ en tolkning (en tilldelning av värden till variabler) som löser den angivna booleska formeln?
  • Problem med resande försäljare: Beskriver $x$ den kortaste möjliga vägen som ansluter alla städer?
  • Databassökproblem: Innehåller databastabellen en post $x$?
  • Problem med heltalsfaktorisering: Är det fasta talet $N$ delbart med talet $x$?

En mer djupgående undersökning av Grover-algoritmen finns i självstudien Implementera Grover-algoritmen i Q#.

Hur löser kvantberäkning problem?

Kvantdatorer är kontrollerbara kvantmekaniska enheter som utnyttjar egenskaperna hos kvantfysik för att utföra beräkningar. För vissa beräkningsuppgifter ger kvantberäkning exponentiella accelerationer. Dessa accelerationer är möjliga tack vare tre fenomen från kvantmekanik: superposition, interferens och sammanflätning.

Överlagring

Tänk dig att du motionerar i vardagsrummet. Du vrider på kroppen så långt du kan åt vänster och sedan åt höger. Nu försöker du vrida dig åt både vänster och höger samtidigt. Det lyckas du inte med (åtminstone inte utan gå itu). Det står klart att du inte kan befinna dig i båda dessa tillstånd samtidigt – det går inte att titta åt vänster och höger på samma gång.

Om du är en kvantpartikel har du dock en viss sannolikhet att titta åt vänster OCH en viss sannolikhet att titta åt höger tack vare ett fenomen som heter superposition (det kallas även koherens).

Till skillnad från klassiska partiklar, om två tillstånd $A$ och $B$ är giltiga kvanttillstånd för en kvantpartikel, är alla linjära kombinationer av tillstånden också ett giltigt kvanttillstånd: $\text{qubit state}=\alpha A + \beta B$. Den här linjära kombinationen av kvanttillstånd $A$ och $B$ kallas superposition. Här är $\alpha$ och $\beta$ sannolikhetsamplituderna för $A$ respektive $B$, så att $|\alpha|^{2} + |\beta|^{2} = 1$.

Endast kvantsystem som joner, elektroner eller supraledande kretsar kan finnas i superpositionstillstånden som möjliggör kraften i kvantberäkning. En kvantpartikel som en elektron har sin egen "vända åt vänster eller mot höger"-egenskap, nämligen spinn, som kallas antingen upp eller ner, så kvanttillståndet för en elektron är en superposition av "spin up" och "spin down".

I allmänhet, och för att göra det mer relatabelt för klassisk binär databehandling, kallas dessa tillstånd för 0-tillstånd och 1-tillstånd om ett kvantsystem kan vara i två kvanttillstånd.

Kvantbitar och sannolikhet

Klassiska datorer lagrar och bearbetar information i bitar, som kan ha tillståndet 1 eller 0 men aldrig båda. Motsvarigheten inom kvantberäkning är kvantbiten. En kvantbit är alla kvantsystem som kan vara i en superposition av två kvanttillstånd, 0 och 1. Varje möjligt kvanttillstånd har en associerad sannolikhetsamplitude. Först efter mätning av en qubit minimeras dess tillstånd till antingen 0-tillståndet eller 1-tillståndet beroende på den associerade sannolikheten, vilket innebär att ett av de möjliga tillstånden erhålls med en viss sannolikhet.

Kvantbitens sannolikhet att kollapsa åt ettdera hållet avgörs av kvantinterferens. Kvantinterferens påverkar tillståndet för en kvantbit för att påverka sannolikheten för ett visst utfall under mätningen, och det här probabilistiska tillståndet är där kraften i kvantberäkning utmärker sig.

Med exempelvis två bitar på en klassisk dator kan varje bit lagra 1 eller 0. Sammanlagt kan då fyra möjliga värden lagras – 00, 01, 10 och 11 – men endast ett av dessa åt gången. När två kvantbitar är i superposition kan dock varje kvantbit vara 1 eller 0 eller båda dessa, vilket gör att du kan representera samma fyra värden samtidigt. Med tre kvantbitar kan du representera åtta värden, med fyra kvantbitar 16 värden och så vidare.

Mer information finns i Kvantbiten i kvantberäkning.

Sammanflätning

Ett av de mest intressanta fenomenen med kvantmekanik är möjligheten för två eller flera kvantsystem att bli sammanflätade med varandra. Sammanflätning är en kvantkorrelation mellan kvantsystem. När kvantbitar blir sammanflätade bildar de ett globalt system så att kvanttillståndet för enskilda undersystem inte kan beskrivas oberoende av varandra. Två system är sammanflätade när det globala systemets tillstånd inte kan skrivas som en kombination av undersystemens tillstånd, särskilt två system är sammanflätade när det globala systemets tillstånd inte kan skrivas som tensorprodukten av tillstånden i undersystemen. Ett produkttillstånd innehåller inga korrelationer.

Sammanflätade kvantsystem upprätthåller den här korrelationen även om de är avgränsade över stora avstånd. Det innebär att den åtgärd eller process som du tillämpar på ett undersystem korrelerar även med det andra undersystemet. Eftersom det finns en korrelation mellan de sammanflätade kvantbitarna ger mätning av tillståndet hos en kvantbit information om tillståndet hos den andra kvantbiten. Just denna egenskap är mycket användbar inom kvantberäkning.

Anteckning

Inte alla korrelationer mellan mätningarna av två qubitar innebär att två qubitar är sammanflätade. Förutom kvantkorrelationer finns det också klassiska korrelationer. Skillnaden mellan klassiska korrelationer och kvantkorrelationer är diskret, men det är viktigt för den hastighet som tillhandahålls av kvantdatorer. Mer information finns i Förstå klassiska korrelationer.

Om du vill veta mer kan du läsa självstudien Utforska kvantsammanflätning med Q#.

Nästa steg