Delen via


Wat is kwantumcomputing?

Kwantumcomputing biedt de belofte om een aantal van de grootste uitdagingen van onze planeet op te lossen: op het gebied van milieu, landbouw, gezondheid, energie, klimaat, materiaalwetenschap en meer. Voor sommige van deze problemen wordt klassieke computing steeds moeilijker naarmate de grootte van het systeem groeit. Wanneer kwantumsystemen zijn ontworpen om te schalen, hebben ze waarschijnlijk mogelijkheden die groter zijn dan die van de krachtigste supercomputers van vandaag.

In dit artikel worden de principes van kwantumcomputing uitgelegd, hoe deze zich verhoudt tot klassieke computing en hoe deze gebruikmaakt van de principes van kwantummechanica.

Tip

Als u uw kwantumcomputingtraject wilt versnellen, bekijkt 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 vanuit 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 van het simuleren van kwantumsystemen op een klassieke computer. In de jaren '80 stelde Richard Feynman en Yuri Manin onafhankelijk voor 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 eenvoudigste is om te zien dat materie, op kwantumniveau, zich in een groot aantal mogelijke configuraties (ook wel statussen genoemd) bevindt.

Kwantumcomputing groeit exponentieel

Overweeg een systeem van elektronen waar er 40$ mogelijke locaties zijn$. Het systeem kan zich daarom in een van $de 2^{40}$ configuraties bevinden (omdat elke locatie een elektron kan hebben of niet heeft). Voor het opslaan van de kwantumtoestand van de elektronen in een conventioneel computergeheugen zou meer dan $130$ GB geheugen nodig zijn! Als we toestaan dat de deeltjes zich in een van $41$ posities bevinden, zouden er twee keer zoveel configuraties zijn op $2^{41}$ die op zijn beurt meer dan $260$ GB geheugen nodig zouden hebben om de kwantumstatus 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, zouden we snel de geheugencapaciteit van de krachtigste machines van de wereld overschrijden. 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.

Problemen omzetten in kansen

De observatie van deze exponentiële groei heeft ons geleid tot een krachtige vraag: kunnen we deze moeilijkheid omzetten in een kans? Met name als kwantumdynamica moeilijk te simuleren is, wat er zou gebeuren als we hardware bouwden met kwantumeffecten als fundamentele bewerkingen? Kunnen we kwantumsystemen simuleren van interactiedeeltjes met behulp van een machine die precies dezelfde wetten van de natuurkunde exploiteert? En kunnen we die machine gebruiken om andere taken te onderzoeken die afwezig zijn uit kwantumdeeltjes, maar die voor ons cruciaal zijn? Deze vragen leidden tot de genesis van Quantum Computing.

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

In 1994 ontdekte Peter Shor een kwantumalgoritme voor factoring gehele getallen die exponentieel sneller worden uitgevoerd dan het bekendste klassieke algoritme. Het oplossen van factoring maakt het mogelijk om veel van onze openbare-sleutelcryptografiesystemen te breken die tegenwoordig de beveiliging van e-commerce onderbouwen, waaronder RSA en Elliptic Curve Cryptography. Deze detectie leidde tot een enorme interesse in kwantumcomputing en leidde tot de ontwikkeling van kwantumalgoritmen voor veel andere problemen.

Sinds die tijd zijn snelle en efficiënte kwantumcomputeralgoritmen ontwikkeld voor veel van onze harde klassieke taken: fysieke systemen simuleren in chemie, natuurkunde en materiaalwetenschap, een niet-geordende database doorzoeken, systemen van lineaire vergelijkingen en machine learning oplossen.

Wat is een qubit?

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

Een qubit is de basiseenheid van informatie in quantumcomputing. Qubits spelen een soortgelijke rol in quantumcomputing als bits in klassieke computing, maar ze gedragen zich op een heel andere manier. Klassieke bits zijn binair en kunnen slechts een positie van $0$ of $1$ bevatten, maar qubits kunnen een superpositie van alle mogelijke toestanden bevatten. Dit betekent dat een qubit een toestand van $0$, $1$ of een kwantumsuperpositie van de twee kan hebben. Er zijn oneindig mogelijke superposities van $0$ en $1$, en elk van deze is een geldige qubitstatus.

In kwantumcomputing wordt de informatie gecodeerd in de superpositie van de toestanden $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 tegelijkertijd de $256$ waarden coderen. Dit gedrag komt doordat een qubit zich in een superpositie van alle mogelijke toestanden kan bevindt.

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. Zij kunnen &citeren; programma" kwantuminterferentie om dingen sneller of beter te doen dan klassieke computers.

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

De meeste gebruikte qubittechnologieën zijn gevangen-ion-qubits, supergeleidende qubits en topologische qubits. Voor sommige methoden van qubitopslag wordt de eenheid met de qubits op een temperatuur in de buurt van absolute nul gehouden 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 diverse methoden, waaronder microgolven, lasers en spanningsverschillen.

De vijf criteria voor een kwantumcomputer

Een goede kwantumcomputer moet deze vijf functies hebben:

  1. Schaalbaar: het kan veel qubits hebben.
  2. Initialiseerbaar: de qubits kunnen worden ingesteld op een specifieke status (meestal de $status 0$ ).
  3. Tolerant: het kan de qubits lang in superpositiestatus houden.
  4. Universeel: Een kwantumcomputer hoeft niet elke mogelijke bewerking uit te voeren, alleen een set bewerkingen genaamd universele set. Een reeks universele kwantumbewerkingen is zodanig dat elke andere bewerking kan worden opgesplitst in een reeks ervan.
  5. Betrouwbaar: Het kan de qubits nauwkeurig meten.

Deze vijf criteria worden vaak bekend als de di-Overeenkomto-criteria voor kwantumberekeningen.

Het bouwen van apparaten die aan deze vijf criteria voldoen, is een van de meest veeleisende technische uitdagingen die ooit door de mensheid worden geconfronteerd. Microsoft werkt samen met een aantal van de beste kwantumcomputerfabrikanten over de hele wereld om u toegang te geven tot de nieuwste kwantumcomputingoplossingen 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. Een van de doelstellingen van kwantumcomputingonderzoek is om te onderzoeken welke problemen sneller kunnen worden opgelost door een kwantumcomputer dan een klassieke computer en hoe groot de snelheid kan zijn.

Kwantumcomputers doen uitzonderlijk goed met problemen waarvoor een groot aantal mogelijke combinaties moet worden berekend. Deze soorten problemen zijn te vinden op veel gebieden, zoals kwantumsimulatie, cryptografie, kwantummachine learning en zoekproblemen.

Zie de pagina Microsoft Research Quantum Computing voor de meest recente informatie over het onderzoek naar kwantumcomputing van Microsoft.

Schatting van resources

De kwantumcomputers die momenteel beschikbaar zijn, maken interessante experimenten en onderzoek mogelijk, maar ze kunnen de berekeningen die nodig zijn om echte problemen op te lossen, niet versnellen. Hoewel de industrie op de vooruitgang van hardware wacht, willen kwantumsoftware-vernieuwers graag vooruitgang boeken en zich voorbereiden op een kwantumtoekomst. Het maken van algoritmen die uiteindelijk worden uitgevoerd op de fouttolerant geschaalde kwantumcomputers van morgen is een lastige taak. Deze vernieuwers worden geconfronteerd met vragen zoals welke hardwarebronnen 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 ze beschikbaar komen.

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

Kwantumsimulatie

Kwantummechanica is het onderliggende " besturingssysteem" van ons universum. Hierin wordt beschreven 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 lichaam. Voor het simuleren van intrinsiek kwantummechanische systemen, zoals moleculen, is kwantumcomputing veelbelovende, omdat qubits (kwantumbits) kunnen worden gebruikt om de betrokken natuurlijke toestanden weer te geven. Voorbeelden van quantumsystemen die we kunnen modelleren, zijn onder andere fotosynthese, supergeleiding en complexe moleculaire vormen.

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

Kwantumsnelheden

Een van de doelen van kwantumcomputingonderzoek is om te onderzoeken welke problemen sneller kunnen worden opgelost door een kwantumcomputer dan een klassieke computer en hoe groot de snelheid kan zijn. Twee bekende voorbeelden zijn het algoritme van Grover en het algoritme van Shor, die respectievelijk een polynomiale en 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 zoals het RSA-schema (Rivest-Shamir–Adleman) breken, dat veel wordt gebruikt in e-commerce voor veilige gegevensoverdracht. Dit schema is gebaseerd op de praktische moeilijkheidsgraad van het factoreren van priemgetallen met behulp van klassieke algoritmen. Kwantumcryptografie belooft informatiebeveiliging door gebruik te maken van basisfysica in plaats van complexiteitsveronderstellingen.

Het algoritme van Grover versnelt de oplossing tot ongestructureerde gegevenszoekopdrachten, waarbij de zoekopdracht in minder stappen wordt uitgevoerd dan elk klassiek algoritme zou kunnen. 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:

  • Boolean satisfiability problem: Is de set Booleaanse waarden $x$ een interpretatie (een toewijzing van waarden aan variabelen) die voldoet aan de opgegeven Booleaanse formule?
  • Reizende verkoper probleem: beschrijft $x$ de kortst mogelijke lus die alle steden verbindt?
  • Probleem met zoeken in database: bevat de databasetabel een record $x$?
  • Probleem met de factorisatie van gehele getallen: is het vaste getal $N$ deelbaar door het getal $x$?

Zie de zelfstudie Implementeer het algoritme van Grover in Q#voor een uitgebreider onderzoek naar 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. $\alpha$ Hier en $\beta$ zijn 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 een eigen eigenschap 'naar links of rechts gericht', namelijk spin, aangeduid als omhoog of omlaag, zodat de kwantumtoestand van een elektron een superpositie van " spin up" en " spin-down".

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

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 elk kwantumsysteem dat zich in een superpositie van twee kwantumtoestanden kan bevinden, 0 en 1. Elke mogelijke kwantumtoestand heeft een bijbehorende waarschijnlijkheidsamplitude. Pas nadat een qubit is gemeten, wordt de toestand samengevouwen tot de 0- of de 1-status, afhankelijk van de bijbehorende waarschijnlijkheid, dus een van de mogelijke toestanden wordt 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 fenomeens van kwantummechanica is de mogelijkheid van twee of meer kwantumsystemen om met elkaar te verstrengeld raken. Verstrengeling is een kwantumcorrelatie tussen kwantumsystemen. Wanneer qubits verstrengeld raken, vormen ze een globaal systeem, zodat 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, met name 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 onderhouden deze correlatie zelfs wanneer ze worden gescheiden over grote afstanden. Dit betekent dat elke bewerking of elk proces dat u op het ene subsysteem toepast, ook correleert 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 kwantumcorrelaties is subtiel, maar het is essentieel voor de snelheid van kwantumcomputers. Zie Klassieke correlaties begrijpen voor meer informatie.

Als u meer wilt weten, raadpleegt u de zelfstudie Kwantumverstrengeling verkennen met Q#.