Så här fungerar kvantberäkning
Kvantdatorer har potentialen att lösa några av världens största utmaningar – inom miljö, jordbruk, sjukvård, energi, klimat, materialvetenskap och andra områden som ligger i framtiden. För vissa av dessa problem blir klassisk databehandling allt viktigare när systemets storlek växer.
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.
Precis som bitar är det grundläggande informationsobjektet inom klassisk databehandling är kvantbitar (kvantbitar) det grundläggande informationsobjektet inom kvantberäkning. En bit, eller binär siffra, kan ha värdet 0 eller 1, men en kvantbit kan ha ett värde som är antingen 0, 1 eller en kvants superposition på 0 och 1.
En grundläggande skillnad mellan klassiska datorer och kvantdatorer är att program i kvantdatorer är probabilistiska, medan klassiska datorer vanligtvis är deterministiska. I kvantalgoritmer har varje möjligt resultat en associerad sannolikhets amplitud. Efter en mätning erhålls ett av de möjliga tillstånden med en viss sannolikhet. Detta faktum kontrasterar med klassisk databehandling där en bit bara kan vara deterministiskt 0 eller 1.
Mer information om början och motiveringen för kvantberäkning finns i historik och bakgrund för kvantberäkning.
Vad kan kvantberäkning användas för?
En kvantdator är inte en superdator som kan göra allt snabbare. Ett av målen med kvantberäkningsforskning är att undersöka vilka problem som kan lösas av en kvantdator snabbare än en klassisk dator och hur stor hastigheten kan vara.
Kvantdatorer har mycket bra prestanda i problem som kräver beräkning av många möjliga kombinationer. Den här typen av problem kan hittas inom många områden.
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, kognitiva reaktioner och materialformationer, involverar ofta kvantinteraktioner i många brödtexter. För att simulera kvantmekaniska system, till exempel molekyler, är kvantberäkning en spännande sak, eftersom kvantbitar kan användas för att representera de naturliga tillstånden i fråga.
Kvantkryptografi
Kryptografi är en metod för att lösa konfidentiell information med hjälp av fysiska eller matematiska metoder, till exempel genom att använda en beräkningssvårhet för att lösa en viss uppgift. Klassisk kryptografi är beroende av svårigheten att lösa problem såsom heltalsfaktorisering eller diskreta logaritmer. Många av dessa kan lösas på effektivare sätt med hjälp av kvantdatorer.
1994 visade Peter Shor att en skalbar kvantdator kunde bryta klassiska kryptografiska scheman som RsA-schemat Rivest–Shamir–Adleman, som ofta används inom e-handel för säker dataöverföring. Det här schemat baseras på den praktiska svårighetsgraden med att räkna primtal med hjälp av klassiska algoritmer.
Kvantkryptografi utlovar informationssäkerhet genom att utnyttja grundläggande fysik i stället för komplexitetsantaganden. RSA är säkert idag eftersom en skalbar kvantdator ännu inte är tillgänglig. Men när kvantdatorer har skapats i stor skala kan kvantalgoritmer med polynomtid angripa de underliggande matematikproblemen för dessa kryptosystem.
Med en tillräckligt stor och feltolerant kvantdator pågår aktiv forskning för att:
- Uppskatta säkerheten för kryptosystem med en viss bitlängd i en miljö efter kvantum.
- Uppskatta hur lång tid det tar att migrera aktuella kryptosystem till nya.
Sökalgoritmer
År 1996 utvecklade Lov Grover en kvantalgoritm som gjorde lösningen på ostrukturerade datasökningar betydligt snabbare. Sökningen kunde köras med färre steg än vad som var möjligt med klassiska algoritmer.
Sökproblemet är i sin utformning generiskt. Alla problem som gör att du kan kontrollera om ett visst värde $x$ är en giltig lösning (ett "ja eller inget problem") kan formuleras i termer av 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$?
Vissa av dessa problem är bättre lämpade för att dra nytta av Grover-algoritmen än andra. Mer information finns i teorin om Grovers sökalgoritm. En praktisk implementering av Grovers algoritm för att lösa matematiska problem finns i den här självstudien för att implementera Grovers sökalgoritm.
Kvantmaskininlärning
Maskininlärning på klassiska datorer är i full färd med att revolutionera både vetenskap och företagsvärlden. Den höga beräkningskostnaden för att träna modeller bromsar dock områdets utveckling och omfattning. I den här delen av kvantmaskininlärning lär du dig hur du utformar och implementerar kvantprogramvara som möjliggör maskininlärning som körs snabbare än med klassiska datorer.
Microsofts Quantum Development Kit (QDK) levereras med kvantmaskininlärningsbiblioteket som ger dig möjlighet att köra kvant-/klassiska hybridmaskininlärningsexperiment. Biblioteket innehåller exempel och självstudier samt de verktyg som behövs för att implementera en ny kvantbaserad/klassisk hybridalgoritm, den kretsbaserade kvantklassificeraren, för att lösa övervakade klassificeringsproblem.
Hur löser kvantberäkning problem?
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).
En kvantpartikel såsom en elektron har egna egenskaper som motsvarar att ”titta åt vänster eller åt höger”, till exempel spinn, som är antingen uppåt eller nedåt. För att likna detta vid klassisk binär beräkning kan vi kalla det för 1 eller 0. När en kvantpartikel är i tillståndet superposition är den en linjär kombination av ett oändligt antal tillstånd mellan 1 och 0, men du vet inte vilket tillstånd den kommer få förrän du faktiskt observerar den. Detta leder oss till nästa fenomen: kvantmätning.
Sammanflätning
Ett av de mest intressanta fenomenen inom kvantmekanik är möjligheten för två eller flera kvantpartiklar att bli intrasslade med varandra. När partiklar sammanflätas bildar de ett enskilt system så att kvanttillståndet för en partikel inte kan beskrivas oberoende av kvanttillståndet för de andra partiklarna. Det innebär att åtgärder eller processer som du tillämpar på en partikel även motsvaras hos de andra partiklarna.
Förutom detta beroende kan partiklar upprätthålla den här anslutningen även om de är åtskilda över otroligt stora avstånd. Effekterna av kvantmätning gäller även för sammanflätade partiklar – när en partikel mäts och kollapsar så kollapsar även den andra partikeln. 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. Klassiska bitar kan också korreleras. Två qubitar är sammanflätade när de presenterar korrelationer som inte kan reproduceras med hjälp av klassiska bitar. Den här skillnaden mellan klassiska korrelationer och kvantkorrelationer är diskret men viktig för den acceleration som tillhandahålls vid kvantberäkning.
Om du vill lära dig mer kan du läsa självstudien utforska kvantentanglement med Q# .
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, som representerar tillståndet för en kvantpartikel. På grund av superposition kan kvantbitar antingen vara 1 eller 0 eller vad som helst mellan dessa. Beroende på en kvantbits konfiguration har den en viss sannolikhet att kollapsa till 1 eller 0. Kvantbitens sannolikhet att kollapsa åt ettdera hållet avgörs av kvantinterferens.
Kommer du ihåg din vän som skulle ta en bild på dig? Anta att kameran har specialfilter som kallas interferensfilter. Om vännen väljer filtret 70/30 och börjar ta bilder kommer du att titta åt vänster på 70 procent av bilderna och åt höger på 30 procent. Filtret orsakar interferens för kamerans normala tillstånd, vilket påverkar sannolikheten hos dess beteende.
På liknande sätt påverkar kvantinterferens tillståndet hos en kvantbit på så sätt att den ändrar sannolikheten att ett visst resultat sker under mätning. Det är vid detta probabilistiska tillstånd som kvantberäkning kommer väl till pass.
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.
Kvantdatorer jämfört med kvantsimulatorer
En kvantdator är en dator som kombinerar kraften i klassisk och kvantberäkning. De aktuella kvantdatorerna motsvarar och hybridmodellen: en klassisk dator som styr en kvantprocessor.
Utvecklingen av kvantdatorer håller fortfarande på att utvecklas. Kvantmaskinvaran och deras underhåll är dyra, och de flesta system finns på universitet och i forskningslabb. Medan klassiska datorer använder de välbekanta kiselbaserade kretsarna använder kvantdatorer kvantsystem såsom atomer, joner, fotoner eller elektroner. De använder sina kvantegenskaper för att representera bitar som kan förberedas i olika kvantöverpositioner på 1 och 0. Tekniken går dock framåt, och det finns begränsad offentlig tillgång till vissa system.
Kvantmaskinvara
En kvantdator har tre primära delar: en enhet som innehåller kvantbitarna, en metod för att utföra kvantåtgärder (även kallade kvantgrindar) till kvantbitarna och mäta dem, samt en klassisk dator för att köra ett program och skicka instruktioner. Den typ av kvantbit som väljs för att skapa en kvantdator avgör implementeringen av dessa.
- Det kvantmaterial som används för kvantbitar är sårbart och mycket känsligt för miljöstörningar. För att till exempel superleda qubitar hålls den enhet som innehåller qubitarna vid en temperatur strax över absolut noll för att maximera deras koherens. Andra typer av kvantbitslagring använder en vakuumkammare för att minimera vibrationer och stabilisera kvantbitarna.
- Åtgärder eller kvantgrindar kan utföras med en mängd olika metoder, till exempel kylar, åsna och spänning, beroende på typ av qubit.
Det finns ett flertal utmaningar när det gäller korrekt drift av kvantdatorer. Felkorrigering i kvantdatorer är ett betydande problem, och uppskalning (tillägg av fler kvantbitar) ökar felfrekvensen. På grund av de här begränsningarna kommer det ta lång tid innan kvantdatorer blir tillgängliga för hemmet, men kommersiellt gångbara kvantdatorer för labb är närmare inom räckhåll.
Microsoft utvecklar en kvantdator som baseras på topologiska kvantbitar. En topologisk qubit påverkas mindre av ändringar i miljön, vilket minskar den grad av extern felkorrigering som krävs. Funktionen i topologiska kvantbitar ger ökad stabilitet och motståndskraft mot miljöstörningar, vilket innebär att de är enklare att skala och kan vara tillförlitliga längre.
Kvantsimulatorer
För tillfället är användningen av verklig kvantmaskinvara begränsad på grund av resurser och budget. Under tiden används kvantsimulatorer till att köra kvantalgoritmer, vilket gör det enkelt att testa och felsöka en algoritm och sedan köra den på verklig maskinvara med förtroende för att resultatet matchar förväntningarna.
Kvantsimulatorer är program som körs på klassiska datorer och gör det möjligt att köra och testa kvantprogram i en miljö som förutsäger hur kvantbitar reagerar på olika åtgärder. Microsofts Quantum Development Kit (QDK) innehåller olika klasser av kvantsimulatorer som representerar olika sätt att simulera samma kvantalgoritm, inklusive en brussimulator för att simulera kvantalgoritmer under förekomsten av brus och en resursberäknare.
Mer information finns i Quantum Simulators.
Processen för kvantberäkning
Att utföra beräkningar på en kvantdator eller kvantsimulator följer en grundläggande process:
- Kom åt kvantbitarna
- Initiera kvantbitarna till önskat tillstånd
- Utför åtgärder för att transformera kvantbitarnas tillstånd
- Mät de kvantbitarnas nya tillstånd
Initiering och transformering av kvantbitar görs med hjälp av kvantåtgärder (även kallade kvantgrindar). Kvantåtgärder liknar logikåtgärder inom klassisk beräkning, till exempel AND, OR, NOT och XOR. En åtgärd kan vara så enkel som att vända tillståndet för en kvantbit från 1 till 0 eller att sammanfläta ett par kvantbitar till att använda flera åtgärder i en sekvens för att påverka sannolikheten för att en kvantbit i superposition kollapsar åt ena eller andra hållet.
Anteckning
Q#-biblioteken innehåller inbyggda åtgärder som definierar komplexa kombinationer av kvantåtgärder på lägre nivå. Du kan använda biblioteksåtgärderna för att transformera kvantbitar och skapa mer komplexa användardefinierade åtgärder.
Mätning beräkningsresultatet ger oss ett svar, men för vissa kvantalgoritmer är svaret inte nödvändigt rätt. Eftersom resultatet av vissa kvantalgoritmer baseras på den sannolikhet som konfigurerades av kvantåtgärderna körs dessa beräkningar flera gånger för att skapa en sannolikhetsdistribution och öka resultatets noggrannhet. Försäkran om att en åtgärd returnerade rätt svar kallas kvantverifiering. Detta är en betydande utmaning inom kvantberäkning.
Azure Quantum maskinvarupartners för databehandling
Microsoft samarbetar med kvantmaskinvaruföretag för att ge utvecklare molnåtkomst till kvantmaskinvara. Genom att dra nytta av Azure Quantum-plattformen och språket Q# kan utvecklare utforska kvantalgoritmer och köra sina kvantprogram på olika typer av kvantmaskinvara.
- Honeywell Quantum Solutions: Trapped-ion-system med hög återgivning, fullständigt anslutna kvantbitar och möjligheten att utföra mätning mitt i kretsen.
- IONQ:Dynamiskt omkonfigurerbar kvantdator med fångad ion för upp till 11 fullständigt anslutna kvantbitar, vilket gör att du kan köra en två-qubit-grind mellan ett par.
- Quantum Circuits, Inc:Snabb och högpresterande superledande kretsar med kraftfull realtidsfeedback för att möjliggöra felkorrigering.
Mer information finns i den fullständiga mållistan för kvantberäkning.