Kwantumcomputing begrijpen

Kwantumcomputing biedt de belofte van het oplossen van enkele van de grootste uitdagingen van onze planeet, op het gebied van milieu, landbouw, gezondheid, energie, klimaat, materiaalwetenschap en meer. Voor sommige van deze problemen wordt klassieke computing steeds vaker uitgedaagd naarmate de grootte van het systeem groeit. Wanneer kwantumsystemen zijn ontworpen om te schalen, hebben ze waarschijnlijk meer mogelijkheden dan die van de krachtigste supercomputers van vandaag. Naarmate de wereldwijde community van kwantumonderzoekers, wetenschappers, technici en bedrijfsleiders samenwerken om het kwantumecosysteem te bevorderen, verwachten we dat de kwantumimpact in elke branche zal worden versneld.

Tip

Als u uw kwantumcomputingtraject wilt versnellen, raadpleegt u Code met Azure Quantum, een unieke functie van de Azure Quantum-website. Hier kunt u ingebouwde Q# voorbeelden of uw eigen Q# programma's uitvoeren, nieuwe Q# code genereren op basis van uw prompts, uw code openen en uitvoeren in VS Code voor het web met één klik en Copilot vragen stellen over kwantumcomputing.

Waarom kwantumcomputers gebruiken?

Het idee van een kwantumcomputer is ontstaan uit de moeilijkheid om kwantumsystemen op een klassieke computer te simuleren. In de jaren '80 suggereerden Richard Feynman en Yuri Manin onafhankelijk van elkaar dat hardware op basis van kwantumverschijnselen efficiënter zou kunnen zijn voor de simulatie van kwantumsystemen dan conventionele computers.

Er zijn veel redenen waarom kwantummechanica zo moeilijk te simuleren is. Het eenvoudigst is om te zien dat materie, op kwantumniveau, zich in een groot aantal mogelijke configuraties (ook wel toestanden genoemd) bevindt.

Kwantumcomputing groeit exponentieel

Denk aan een systeem van elektronen waarbij er $40$ mogelijke locaties zijn. Het systeem kan zich daarom in een van $2^{40}$ configuraties bevinden (aangezien elke locatie al dan niet een elektron kan hebben). Om de kwantumtoestand van de elektronen op te slaan in een conventioneel computergeheugen, is maar liefst $130$ GB aan geheugen nodig. Als we uitgaan van $41$ mogelijke posities voor de deeltjes, zijn er twee keer zoveel mogelijke configuraties bij $2^{41}$ en is er meer dan $260$ GB aan geheugen nodig om de kwantumtoestand op te slaan.

Dit spel van het verhogen van het aantal locaties kan niet voor onbepaalde tijd worden gespeeld. Als we de toestand conventioneel willen opslaan, overschrijden we snel de geheugencapaciteit van 's werelds krachtigste machines. Bij een paar honderd elektronen is de benodigde hoeveelheid geheugen om het systeem te kunnen opslaan groter dan het aantal deeltjes in het universum. We hoeven dus geen enkele hoop te koesteren dat we dergelijke kwantumdynamiek ooit kunnen simuleren met conventionele computers.

Moeilijkheid om te zetten in kansen

De observatie van deze exponentiële groei bracht ons ertoe om een krachtige vraag te stellen: kunnen we van deze moeilijkheid een kans maken? Met name als kwantumdynamica moeilijk te simuleren is, wat er zou gebeuren als we hardware bouwden met kwantumeffecten als fundamentele bewerkingen? Kunnen we kwantumsystemen van interactiedeeltjes simuleren met behulp van een machine die precies dezelfde natuurwetten exploiteert? En kunnen we die machine gebruiken om andere taken te onderzoeken die niet aanwezig zijn in kwantumdeeltjes, maar die cruciaal voor ons zijn? Deze vragen hebben geleid tot het ontstaan van kwantumcomputing.

In 1985 liet David Deutsch zien dat een kwantumcomputer het gedrag van elk fysiek systeem efficiënt kon simuleren. Deze detectie was de eerste indicatie dat kwantumcomputers kunnen worden gebruikt om problemen op te lossen die onoplosbaar zijn op klassieke computers.

In 1994 ontdekte Peter Shor een kwantumalgoritme voor het factoren van gehele getallen dat exponentieel sneller loopt dan het bekendste klassieke algoritme. Het oplossen van factoring maakt het mogelijk om veel van onze openbare sleutel cryptosystemen die onder de beveiliging van e-commerce van vandaag de dag, waaronder RSA en Elliptic Curve Cryptography, te breken. Deze ontdekking leidde tot een enorme interesse in kwantumcomputing en leidde tot de ontwikkeling van kwantumalgoritmen voor veel andere problemen.

Sindsdien zijn snelle en efficiënte kwantumcomputeralgoritmen ontwikkeld voor veel van onze harde klassieke taken: het simuleren van fysieke systemen in de chemie, natuurkunde en materiaalwetenschappen, het doorzoeken van een ongeordeerde database, het oplossen van systemen van lineaire vergelijkingen en machine learning.

Wat is een qubit?

Net zoals bits het fundamentele object van informatie zijn in klassieke computing, zijn qubits (kwantumbits ) het fundamentele object van informatie in kwantumcomputing.

Een qubit is de basiseenheid van informatie in kwantumcomputing. Qubits spelen een vergelijkbare rol in kwantumcomputing als bits in klassieke computing, maar ze gedragen zich heel anders. Klassieke bits zijn binair en kunnen alleen een positie van $0$ of $1$ bevatten, maar qubits kunnen een superpositie van alle mogelijke statussen bevatten. Dit betekent dat een qubit zich in een toestand van $0$, $1$ of een willekeurige kwantumsuperpositie van de twee kan bevinden. Er zijn oneindige mogelijke superposities van $0$ en $1$, en elk ervan is een geldige qubitstatus.

In kwantumcomputing wordt de informatie gecodeerd in de superpositie van de staten $0$ en $1$. Met $8$ bits kunnen we bijvoorbeeld $256$ verschillende waarden coderen, maar we moeten een van deze waarden kiezen om deze te coderen. Met $8$ qubits kunnen we de $256$ waarden tegelijkertijd coderen. Dit gedrag is omdat een qubit zich in een superpositie van alle mogelijke statussen kan bevinden.

Zie De qubit in kwantumcomputing voor meer informatie.

Een kwantumcomputer bouwen

Een kwantumcomputer is een computer die gebruikmaakt van kwantummechanische verschijnselen. Kwantumcomputers gebruiken kwantumtoestanden van materie om informatie op te slaan en te berekenen. Ze kunnen kwantuminterferentie 'programmeren' om dingen sneller of beter te doen dan klassieke computers.

Bij het bouwen van een kwantumcomputer moeten we nadenken over het maken en opslaan van de qubits. We moeten ook nadenken over hoe we ze kunnen manipuleren en hoe we de resultaten van onze berekeningen kunnen lezen.

De meeste gebruikte qubittechnologieën zijn gevangen-ion-qubits, supergeleidende qubits en topologische qubits. Voor sommige methoden voor qubitopslag wordt de eenheid die de qubits huisvest, op een temperatuur gehouden in de buurt van het absolute nulpunt om hun samenhang te maximaliseren en interferentie te verminderen. Bij andere typen systemen die qubits bevatten, wordt gebruikgemaakt van een vacuümkamer om trillingen te minimaliseren en de qubits te stabiliseren. Signalen kunnen naar de qubits worden verzonden met behulp van verschillende methoden, waaronder magnetrons, laser en spanning.

De vijf criteria voor een kwantumcomputer

Een goede kwantumcomputer moet de volgende vijf functies hebben:

  1. Schaalbare: Het kan veel qubits hebben.
  2. Initialiseerbaar: Het kan de qubits instellen op een specifieke status (meestal de $0$ status).
  3. Veerkrachtig: Het kan de qubits lange tijd in superpositiestatus houden.
  4. Universele: Een kwantumcomputer hoeft niet elke mogelijke bewerking uit te voeren, alleen een set bewerkingen die universele set worden genoemd. Een set universele kwantumbewerkingen is zodanig dat elke andere bewerking kan worden opgesplitst in een reeks ervan.
  5. Betrouwbare: Het kan de qubits nauwkeurig meten.

Deze vijf criteria worden vaak de Di Vincenzo-criteria voor kwantumberekeningen genoemd.

Het bouwen van apparaten die aan deze vijf criteria voldoen, is een van de meest veeleisende technische uitdagingen waarmee de mensheid ooit wordt geconfronteerd. Microsoft werkt samen met enkele van de beste fabrikanten van kwantumcomputers over de hele wereld om u toegang te geven tot de nieuwste oplossingen voor kwantumcomputing via Azure Quantum. Zie de volledige lijst met Azure Quantum-providers voor meer informatie.

Waarvoor kunnen kwantumcomputing en Azure Quantum worden gebruikt?

Een kwantumcomputer is geen supercomputer die alles sneller kan doen. In feite is een van de doelen van onderzoek naar kwantumcomputing om te onderzoeken welke problemen door een kwantumcomputer sneller kunnen worden opgelost dan een klassieke computer en hoe groot de versnelling kan zijn.

Kwantumcomputers doen het uitzonderlijk goed met problemen waarvoor een groot aantal mogelijke combinaties moet worden berekend. Deze typen problemen kunnen worden gevonden op veel gebieden, zoals kwantumsimulatie, cryptografie, kwantum-machine learning en zoekproblemen.

Zie de pagina Microsoft Research Quantum Computing voor de meest recente informatie over het kwantumcomputingonderzoek van Microsoft.

Resourceschatting

De kwantumcomputers die momenteel beschikbaar zijn, maken interessante experimenten en onderzoek mogelijk, maar ze zijn niet in staat om berekeningen te versnellen die nodig zijn om problemen in de echte wereld op te lossen. Terwijl de industrie wacht op hardwareontwikkelingen, willen vernieuwers van kwantumsoftware graag vooruitgang boeken en zich voorbereiden op een kwantumtoekomst. Het is een lastige taak om vandaag algoritmen te maken die uiteindelijk worden uitgevoerd op de fouttolerante kwantumcomputers van morgen. Deze innovators worden geconfronteerd met vragen zoals welke hardwareresources nodig zijn? Hoeveel fysieke en logische qubits zijn er nodig en welk type? Hoe lang is de uitvoeringstijd?

U kunt de Azure Quantum Resource Estimator gebruiken om deze vragen te beantwoorden. Als gevolg hiervan kunt u uw algoritmen verfijnen en oplossingen bouwen die profiteren van geschaalde kwantumcomputers wanneer deze beschikbaar zijn.

Zie Uw eerste resourceschatting uitvoeren om aan de slag te gaan.

Meer informatie over het beoordelen van vereisten om te schalen naar praktisch kwantumvoordeel met behulp van de Azure Quantum Resource Estimator in arXiv:2211.07629.

Kwantumsimulatie

Kwantummechanica is het onderliggende 'besturingssysteem' van ons universum. Het beschrijft hoe de fundamentele bouwstenen van de natuur zich gedragen. Het gedrag van de natuur, zoals chemische reacties, biologische reacties en materiaalformaties, omvat vaak kwantuminteracties van veel lichamen. Voor het simuleren van intrinsiek kwantummechanische systemen, zoals moleculen, is kwantumcomputing veelbelovend, omdat qubits (kwantumbits ) kunnen worden gebruikt om de natuurlijke toestanden in kwestie weer te geven. Voorbeelden van kwantumsystemen die we kunnen modelleren, zijn fotosynthese, supergeleiding en complexe moleculaire formaties.

Azure Quantum Elements is speciaal gebouwd om wetenschappelijke detectie te versnellen. Vind uw onderzoeks- en ontwikkelingsproductiviteit opnieuw uit met simulatiewerkstromen die zijn geoptimaliseerd voor het schalen van HPC-clusters (Azure High-Performance Computing), ai-versnelde computing, uitgebreid redeneren met behulp van AI, integratie met kwantumhulpprogramma's om te experimenteren met bestaande kwantumhardware en in de toekomst toegang tot de kwantumsupercomputer van Microsoft. Zie De kracht van Azure voor Moleculaire Dynamics ontgrendelen voor meer informatie.

Kwantumsnelheden

Een van de doelen van het onderzoek naar kwantumcomputing is om te onderzoeken welke problemen door een kwantumcomputer sneller kunnen worden opgelost dan een klassieke computer en hoe groot de versnelling kan zijn. Twee bekende voorbeelden zijn het algoritme van Grover en het algoritme van Shor, die respectievelijk een polynoom en een exponentiële versnelling opleveren ten opzichte van hun klassieke tegenhangers.

Het algoritme van Shor dat wordt uitgevoerd op een kwantumcomputer, kan klassieke cryptografische schema's breken, zoals het RSA-schema (Rivest-Shamir–Adleman), dat veel wordt gebruikt in e-commerce voor veilige gegevensoverdracht. Dit schema is gebaseerd op de praktische moeilijkheidsgraad van het berekenen van priemgetallen met behulp van klassieke algoritmen. Kwantumcryptografie belooft informatiebeveiliging door gebruik te maken van basisfysica in plaats van complexiteitsveronderstellingen.

Net als het algoritme van Shor voor factoring, is het verborgen verschuivingsprobleem een natuurlijke bron van problemen waarvoor een kwantumcomputer een exponentieel voordeel heeft ten opzichte van de bekendste klassieke algoritmen. Dit kan uiteindelijk helpen bij het oplossen van deconvolutieproblemen en stelt ons in staat om efficiënt patronen te vinden in complexe gegevenssets. Het blijkt dat een kwantumcomputer in principe convolutie met hoge snelheid kan berekenen, wat op zijn beurt is gebaseerd op het vermogen van de kwantumcomputer om fouriertransformaties extreem snel te berekenen. In de voorbeeldgalerie van uw Azure Quantum-werkruimte vindt u een Jupyter-notebookvoorbeeld verborgen shifts (een Azure-account is vereist).

Het algoritme van Grover versnelt de oplossing voor ongestructureerde zoekopdrachten in gegevens, waarbij de zoekopdracht in minder stappen wordt uitgevoerd dan met een klassiek algoritme. Elk probleem waarmee u kunt controleren of een bepaalde waarde $x$ een geldige oplossing is (een 'ja of geen probleem') kan worden geformuleerd in termen van het zoekprobleem. Hier volgen enkele voorbeelden:

  • Booleaans vervulbaarheidsprobleem: Is de set Booleaanse waarden $x$ een interpretatie (een toewijzing van waarden aan variabelen) die de gegeven booleaanse-formule vervuld?
  • Reizende-handelaarprobleem: Beschrijft $x$ de kortst mogelijke lus die alle steden verbindt?
  • Probleem met doorzoeken van databases: Bevat de databasetabel een record $x$?
  • Probleem met gehele getallen ontbinden in priemfactoren: Is het vaste getal $N$ deelbaar door het getal $x$?

Zie de zelfstudie ImplementEer het algoritme van Grover in Q#voor een uitgebreider onderzoek van het algoritme van Grover.

Hoe lost kwantumcomputing problemen op?

Kwantumcomputers zijn bestuurbare kwantummechanische apparaten die de eigenschappen van de kwantumfysica gebruiken om berekeningen uit te voeren. Voor sommige rekentaken biedt kwantumcomputing exponentiële versnellingen. Deze versnellingen zijn mogelijk dankzij drie verschijnselen uit de kwantummechanica: superpositie, interferentie en verstrengeling.

Superpositie

Stel, u doet lichamelijke oefeningen in uw woonkamer. U draait helemaal naar links en vervolgens helemaal naar rechts. Draai nu tegelijkertijd naar links en rechts. Dat kunt u niet (tenzij u zichzelf in tweeën kunt splitsen). Natuurlijk kunt u zich niet in twee standen tegelijk bevinden: u kunt niet op hetzelfde moment zowel naar links als naar rechts kijken.

Als u echter een kwantumdeeltje bent, is er een bepaalde kans dat u naar links kijkt én een bepaalde kans dat u naar rechts kijkt als gevolg van het verschijnsel superpositie (ook wel bekend als coherentie).

In tegenstelling tot klassieke deeltjes, als twee toestanden $A$ en $B$ geldige kwantumtoestanden van een kwantumdeeltje zijn, is elke lineaire combinatie van de toestanden ook een geldige kwantumtoestand: $\text{qubitstatus}=\alpha A + \beta B$. Deze lineaire combinatie van kwantumtoestanden $A$ en $B$ wordt superpositie genoemd. Hier zijn $\alpha$ en $\beta$ de waarschijnlijkheidsamplitudes van respectievelijk $A$ en $B$, zodanig dat $|\alpha|^{2} + |\beta|^{2} = 1$.

Alleen kwantumsystemen zoals ionen, elektronen of supergeleidende circuits kunnen bestaan in de superpositietoestanden die de kracht van kwantumcomputing mogelijk maken. Een kwantumdeeltje zoals een elektron heeft zijn eigen eigenschap "naar links of naar rechts gericht", namelijk spin, aangeduid als omhoog of omlaag, dus de kwantumtoestand van een elektron is een superpositie van "spin up" en "spin down".

In het algemeen, en om het beter te kunnen relativeren met klassieke binaire computing, worden deze toestanden aangeduid als 0 en 1 status als een kwantumsysteem zich in twee kwantumtoestanden kan bevinden.

Qubits en waarschijnlijkheid

Op klassieke computers wordt informatie verwerkt en opgeslagen in bits, die een toestand van 1 of 0 kunnen hebben, maar nooit beide. Het equivalent in kwantumcomputing is de qubit. Een qubit is een kwantumsysteem dat zich in een superpositie van twee kwantumtoestanden, 0 en 1, kan bevinden. Elke mogelijke kwantumtoestand heeft een bijbehorende waarschijnlijkheidsamplitude. Pas na het meten van een qubit stort de toestand ervan in tot de toestand 0 of de toestand 1, afhankelijk van de bijbehorende waarschijnlijkheid. Een van de mogelijke toestanden wordt dus verkregen met een bepaalde waarschijnlijkheid.

De kans dat de qubit ineenstort tot een 1 of 0 wordt bepaald door kwantuminterferentie. Kwantuminterferentie beïnvloedt de toestand van een qubit om de waarschijnlijkheid van een bepaald resultaat tijdens de meting te beïnvloeden, en deze probabilistische toestand is waar de kracht van kwantumcomputing uitblinkt.

Zo kunt u bijvoorbeeld met twee bits op een klassieke computer, waarbij elke bit 1 of 0 bevat, vier mogelijke waarden opslaan: 00, 01, 10 en 11, maar slechts één tegelijk. Met twee qubits in superpositie kan elke qubit 1 of 0 of beide zijn. Daarmee kunnen dus dezelfde vier waarden tegelijkertijd worden uitgedrukt. Met drie qubits kunnen acht waarden worden uitgedrukt, met vier qubits kunnen zestien waarden worden uitgedrukt, enzovoort.

Zie De qubit in kwantumcomputing voor meer informatie.

Verstrengeling

Een van de meest interessante verschijnsels van kwantummechanica is het vermogen van twee of meer kwantumsystemen om met elkaar verstrengeld te raken. Verstrengeling is een kwantumcorrelatie tussen kwantumsystemen. Wanneer qubits verstrengeld raken, vormen ze een globaal systeem dat zodanig is dat de kwantumstatus van afzonderlijke subsystemen niet onafhankelijk kan worden beschreven. Twee systemen zijn verstrengeld wanneer de status van het globale systeem niet kan worden geschreven als een combinatie van de status van de subsystemen, in het bijzonder twee systemen zijn verstrengeld wanneer de status van het globale systeem niet kan worden geschreven als het tensorproduct van statussen van de subsystemen. Een productstatus bevat geen correlaties.

Verstrengelde kwantumsystemen behouden deze correlatie, zelfs wanneer ze over grote afstanden zijn gescheiden. Dit betekent dat de bewerking of het proces die u toepast op het ene subsysteem ook overeenkomt met het andere subsysteem. Omdat er sprake is van een correlatie tussen de verstrengelde qubits, biedt het meten van de toestand van een qubit informatie over de toestand van de andere qubit: deze eigenschap is zeer nuttig bij kwantumcomputing.

Notitie

Niet elke correlatie tussen de metingen van de twee qubits betekent dat de twee qubits verstrengeld zijn. Naast kwantumcorrelaties bestaan er ook klassieke correlaties. Het verschil tussen klassieke en kwantumcorrelatie is subtiel, maar het is essentieel voor de snelheid van kwantumcomputers. Zie Klassieke correlaties begrijpen voor meer informatie.

Zie de zelfstudie Kwantumverstrengeling verkennen met Q#voor meer informatie.

Volgende stappen