Quantum Computing


Vragen?

Gaan kwantumcomputers al onze encryptie kraken? Maken zij extreem schaalbare en parallelle computerverwerking mogelijk die de huidige supercomputers doen verbleken? Dit soort vragen krijgt steeds meer aandacht, zowel in het praatje bij de koffiemachine als op primetime media. Het zijn vragen die inmiddels ook de agenda’s van de multinationals en overheidsorganen raakt. Sommigen zien kwantumcomputer als dé oplossing voor al onze problemen, terwijl anderen vrezen dat het onze ondergang inluidt.

Kwantumcomputers: Hoe werken ze en wat kunnen we ervan verwachten?

De ontwikkeling van kwantumtheorie, reeds begonnen aan het begin van de 20e eeuw, staat aan de basis van veel van de technologie die we nu heel normaal vinden. Producten zoals LEDs, siliciumchips en solid state drives (SSD’s) – om er een paar te noemen – zijn gebaseerd op de principes van kwantummechanica. 

We staan momenteel op de drempel van een nieuw tijdperk waarin kwantumtheorie ons niet alleen helpt betere onderdelen voor electronica en computers te ontwerpen, maar ons ook in staat zal stellen op een fundamenteel andere manier informatie te verwerken door gebruik te maken van de “vreemde” effecten van kwantumfysica. Kwantuminformatieverwerking en de potentiële implementatie ervan in kwantumcomputers zouden weleens de oplossingen kunnen bieden voor intensieve rekenproblemen waar “klassieke” digitale computers geen antwoord op kunnen leveren. In dit artikel bespreken we de basisbeginselen van hoe een kwantumcomputer werkt, wat het verschil is met een klassieke computer en welke soort problemen een kwantumcomputer naar verwachting excelleert.

Wat maakt een kwantumcomputer “kwantum”?

Het belangrijkste verschil tussen een klassieke computer en een kwantumcomputer is de fundamentele eenheid van informatie, de “bit”. Waar de klassieke digitale bit slechts een uit twee toestanden kent (0 of 1), kan de zogeheten “qubit” (engels: QUantum BIT) ook in beide toestanden tegelijk verkeren. Dit noemen we het beginsel van superpositie. Het is een de meest fundamentele concepten binnen de kwantumtheorie. Helaas kan men de waarde(s) van een qubit in de superpositietoestand niet waarnemen. Wanneer je een qubit in de superpositietoestand meet, “klapt” deze op willekeurige wijze terug naar de toestand 0 of 1. Deze probabilistische aard van de kwantummechanica is zeer tegenintuïtief. Zelfs Albert Einstein kon niet geloven in deze toevalligheid van de natuur. Vandaar zijn beroemde uitspraak “God speelt geen dobbelspel met het universum”.

Hoe werken berekeningen op een kwantumcomputer precies?

Om deze vraag te beantwoorden kijken we eerst naar de stappen van een klassieke berekening. Neem als voorbeeld de berekening van hoeveel inkomstenbelasting een werknemer jaarlijks moet betalen. De eerste stap is de selectie van invoergegevens, in dit geval het jaarsalaris van de werknemer. De tweede stap is de feitelijke berekening, waarbij we de invoergegevens en overige relevante waarden (constanten) gebruiken om te berekenen hoeveel belasting de werknemer moet betalen. De derde en laatste stap is het presenteren van de uitkomst aan de gebruiker.

Kwantumberekeningen werken op een fundamenteel andere manier en hebben ook andere componenten. De eerste stap van een kwantumberekening is het voorbereiden van de invoer als superpositie van alle mogelijke toestanden, en niet zo zeer de selectie van een specifieke initiële toestand. Dat klinkt wat vreemd, nietwaar? Hoe dit werkt, zullen we als volgt illustreren: Stelt je voor dat je 3 qubits voorbereidt in gelijk verdeelde superpositietoestand (50% nul en 50% één).

Om te begrijpen wat deze toestand vertegenwoordigt, kijken we naar wat er gebeurt als we de qubits meten. Elke keer als we deze toestand meten, zien we een combinatie van drie nullen en enen met een gelijke kans om één van de acht mogelijke toestanden te vinden. Dit betekent dat zolang de superpositietoestand niet is gemeten, de qubits feitelijk in alle mogelijke klassieke toestanden tegelijk verkeren. Vanuit berekeningsoogpunt is dit een zeer interessante eigenschap omdat we dan gelijktijdig berekeningen op alle acht toestanden kunnen verrichten. Dit proces noemen we kwantumparallellisme.

Figuur 1: drie qubits in superpositietoestand behouden deze toestand zolang ze volledig zijn ontkoppeld van alle invloed van buitenaf, maar “klappen” dan willekeurig terug naar een van de acht klassieke toestanden. 

Stap 2

De tweede stap van een kwantumberekening is om de invoergegevens te verwerken met behulp van een reeks logische poorten. Behalve de gewoonlijke logische poorten als OR, AND, XOR etc., hebben kwantumcomputers ook complexere poorten die superpositietoestanden kunnen creëren en verwerken. Naast de poortactiviteiten beïnvloedt het meten van de toestand van de qubits ook de waarde van die qubits. Sterker nog, de metingen van de qubits vormen een essentieel middel in de berekeningsfase. Dit leidt tot de opmerkelijke observatie en conclusie dat een kwantumberekening – het proces waarin de bewerkingen worden verricht – eigenlijk een zwarte doos is. Wij kunnen per definitie de toestand van de qubits tijdens de uitvoering niet meten, tenzij dit deel uitmaakt van de berekening zelf. Immers, de metingen zijn een daadwerkelijke bewerking van de gegevens zelf.

Stap 3

De derde stap van een kwantumberekening is om de uitkomst te produceren. Dit gebeurt altijd door een laatste meting van de qubits. De toestand van de qubits van vóór de meting kan (nog altijd) een superpositietoestand zijn, maar dat hoeft niet het geval te zijn. Is dit geen superpositietoestand, dan geeft de meting altijd hetzelfde resultaat. In dit geval levert de meting ook werkelijk de definitieve uitkomst van de berekening op. Als de uiteindelijke toestand echter een superpositie is, dan geeft de laatste meting bij elke meting een andere uitkomst. In dat geval moet de hele procedure meerdere keren worden herhaald om te bepalen welke resultaten de grootste waarschijnlijkheid hebben. Het resultaat met de grootste waarschijnlijkheid is dan het juiste antwoord op de berekening. Een van de  meest tegennatuurlijke elementen van een kwantumberekening is misschien wel dat dezelfde berekening verschillende uitkomsten kan hebben.

Welke soorten problemen kunnen er opgelost worden op een kwantumcomputer?

De ontwikkeling van kwantumalgoritmen is een actief onderzoeksgebied, dat de laatste paar jaar in toenemende mate is gegroeid. Veel bedrijven en onderzoeksinstituten proberen nieuwe kwantumalgoritmen op te stellen, die relevante problemen beter/sneller kunnen oplossen dan klassieke algoritmen. De voornaamste kwantumalgoritmen die tot nu toe zijn ontwikkeld, zijn als volgt (zie “quantum algorithm zoo” voor een uitputtende lijst):

  1. Algoritme van Shor: factorisatie van grote getallen en het oplossen van het probleem van discrete logaritmen. Dit algoritme kan in potentie de cryptografie die op dit moment het meeste wordt gebruikt, namelijk die werken op basis van een publieke en privé sleutel (ofwel a-symetrische cryptografie), kraken. De volgende artikelen in deze serie zullen zich dan ook voornamelijk hierop richten.
  2. Algoritme van Grover: zoeken in een ongesorteerde lijst. Dit is een generieke methode die kan worden toegepast op meerdere soorten problemen. De keerzijde van dit algoritme is dat de geboden versnelling veel beperkter is dan die van bijv. het algoritme van Shor. De resultaten van dit algoritme zullen naar verwachting niet zo spectaculair zijn als die van andere algoritmen, maar zijn niettemin belangrijk voor sommige specifieke toepassingen.
  3. Quantum Approximate Optimization Algorithm (QAOA): een algemene methode om onder specifieke voorwaarden optimaliseringsproblemen op te lossen. Veel problemen op het gebied van financiën, productie, transport etc. kunnen worden omschreven als optimaliseringsproblemen. Dit geeft het potentiële effect van dit algoritme wel aan.
  4.  Algoritme van Harrow Hassidim Lloyd (HHL): Dit algoritme kan een lineair systeem van vergelijkingen oplossen. Omdat lineaire vergelijkingen de kern vormen van veel wetenschappelijke en technische problemen, kan de potentiële versnelling van het HHL-algoritme mogelijk groot effect hebben.

Een belangrijke indicatie voor het succes van een kwantumalgoritme wordt gevormd door de prestaties ervan afgezet tegen klassieke algoritmen. Vanuit theoretisch oogpunt zijn er bepaalde rekenproblemen waar klassieke computers nog altijd enorm mee worstelen (of die in ieder geval binnen een redelijk tijdsbestek onoplosbaar blijken). De implementatie van een kwantumalgoritme dat een dergelijk probleem überhaupt kan oplossen, zou een aanzienlijke prestatie zijn. In meer praktische zin zijn kwantumalgoritmen al geslaagd als ze beter presteren dan een klassiek algoritme. Hierdoor ontstaat een (gezonde) concurrentiestrijd tussen ontwerpers van klassieke en die kwantumalgoritmen. Interessante voorbeelden van deze concurrentiestrijd zijn recente implementatie van QAOA en HHL, die beter leken te presteren dan de bekendste klassieke algoritmen. Dit succes was echter van maar zeer korte duur omdat er al snel nieuwe klassieke algoritmen werden ontwikkeld die nog weer beter werkten. Uiteindelijk komt het hier op neer: zelfs vóór de eerste demonstratie van een kwantumcomputer had de vooruitgang op dit vlak al een positief effect op de sector in het algemeen. 

Wanneer zijn er naar verwachting de eerste werkende kwantumcomputers?

Het bouwen van de hardware voor een kwantumcomputer is een enorme uitdaging. Qubits zijn van nature erg fragiel en kunnen hun gecodeerde informatie erg snel verliezen (het probleem van zogeheten decoherentie). De grootste uitdaging is vooral te zorgen dat de qubits volledig geïsoleerd zijn van de omgeving en tegelijk ervoor te zorgen dat er uiterst precieze controle en uitlezing van qubit-toestand is.

Om de qubits zo goed mogelijk af te zonderen van ruisbronnen en zo te zorgen voor een langere coherentietijd, worden dit soort systemen doorgaans met behulp van vloeibaar helium gekoeld tot extreem lage temperaturen. Dit vormt een enorme limitering voor de omvang van het systeem en leidt tot hoge operationele kosten. Er zijn vele verschillende manieren om qubits te genereren, bijv. gevangen ionen, supergeleidende ringen en dergelijke. Elke architectuur heeft voor- en nadelen en het is nog niet duidelijk welk “qubit-materiaal” het meest schaalbaar is.

Wanneer we de toekomstige voortgang van kwantumcomputers proberen te voorspellen wordt het aantal qubits vaak gebruikt als eerste indicator. Dit is echter misleidend omdat er andere parameters zijn die de voortgang van kwantumcomputers kunnen belemmeren, ook als het aantal qubits blijft toenemen. Een van de grootste uitdagingen is de noodzaak om op elke twee qubits 2-qubit-bewerkingen uit te voeren. Dit noemen we qubit-connectiviteit. Zelfs op kleine kwantumcomputerplatforms die gebruikmaken van een minder dan tien qubits, zoals de IBM Q experience, zijn niet alle qubits verbonden. Hierdoor wordt het vermogen om complexe kwantumalgoritmen uit te voeren aanzienlijk verminderd. Wanneer het aantal qubits wordt opgeschaald, wordt het probleem van de stabiele connectiviteit tussen de qubits uiteraard ook groter.

Als we willen voorspellen wanneer een volledige kwantumcomputer echt operationeel is, moeten we ook de hardware vereisten van het specifieke kwantumalgoritme overwegen. Deze vereisten kunnen substantieel verschillen, afhankelijk van het soort berekening dat we willen verrichten. Als wij bijvoorbeeld het algoritme van Shor willen implementeren om een getal van 2048 bits te factoriseren, hebben we meer dan 4000 stabiele qubits en miljarden logische poorten nodig. Omdat een dergelijke berekening veel langer duurt dan de tijd dat qubits momenteel stabiel kunnen blijven (de coherentietijd), zijn er andere technieken vereist om de qubit-informatie te behouden.

Deze methoden, zoals kwantumfoutcorrectie, liggen nog ver buiten het bereik van de huidige mogelijkheden van kwantumcomputers. Daarom gaan zelfs de meest optimistische (maar niet onrealistische) voorspellingen uit van een periode van tien jaar voor de eerste demonstratie van het algoritme van Shor op een hoeveelheid van 2048 bits. Aan de andere kant kan het QAOA-algoritme met 100 à 200 qubits en een zeer geringe circuitdiepte – dit kan min of meer worden omschreven als het aantal logischepoortbewerkingen – al beter presteren dan een klassieke computer op specifieke problemen. Kwantumfoutcorrectie is daarom nog niet strikt noodzakelijk. Dit is tevens de reden waarom QAOA een van de kandidaten is om de suprematie van kwantum computers al aan te tonen.

Kort samengevat, de hardware van kwantumcomputer zal nog op meerdere fronten moeten verbeteren. De vereisten van de verschillende kwantumalgoritmen lopen ver uiteen. Sommige algoritmen kunnen naar verwachting over een jaar of twee worden gedemonstreerd, terwijl het voor andere algoritmen nog vele jaren of zelfs decennia zal duren voordat ze proefondervindelijk kunnen worden aangetoond.

Tot slot

Kwantumcomputers vertegenwoordigen een paradigmaverschuiving binnen de automatisering. We staan aan de vooravond van een fascinerende periode in de ontwikkeling van kwantumcomputers. Kwantumsystemen worden zowel qua grootte als betrouwbaarheid opgeschaald en het duurt niet lang voordat ze een duidelijk voordeel ten opzichte van klassieke computers laten zien op specifieke toepassingen. Omdat de technologie nog altijd in de kinderschoenen staat, kan het zijn dat de werkelijke impact ervan nog niet eens helemaal duidelijk is vandaag te dag. Hierdoor is het nog fascinerender om de ontwikkelingen te volgen.

Bron: Deloitte (Itan Barmes)