Kwantumcomputers: wat kan je ermee? Wat maakt ze anders?

Visualisatie van de controlled-NOT bewerking tussen 2 qubits (flip de tweede qubit als de eerste 1 is, doe anders niets). Uit Sanders & al., Visualizing a silicon quantum computer, New Journal of Physics, vol. 10, no. 12, 2008.

Het was de grote fysicus Richard Feynman die zich in 1982 afvroeg hoe je klassieke (dus, gewone) computers zou kunnen gebruiken om het gedrag van kwantumsystemen na te bootsen. Feynman stelde vast dat een gewone computer hier enorm lang over zou doen in vergelijking met een ‘kwantumcomputer’. Het duurde tot 1994 vooraleer Peter Shor op de proppen kwam met een kwantumcomputerprogramma (op papier) om heel grote getallen snel te ontbinden in priemfactoren (vinden van delers). Klinkt als de ver-van-mijn-bed-show? Toch niet. Bij online bankieren, het doorsturen van persoonlijke gegevens op internet, het beveiligen van gevoelige informatie door overheden en militaire diensten, maken we allemaal gebruik van RSA encryptie, in 1977 ontworpen door Ron Rivest, Adi Shamir en Len Adleman. Dit systeem gaat ervan uit dat het in de praktijk onmogelijk is om heel grote getallen in priemfactoren te ontbinden. Inderdaad, een klassieke computer moet langer rekenen dan de leeftijd van het universum om delers te vinden van de grote getallen die vandaag voor RSA gebruikt worden. Maar een kwantumcomputer zou dit in uren of dagen kunnen doen. Hoewel we nog ver af zijn van het gebruiken van het algoritme van Shor in ons dagelijkse leven — het is namelijk erg moeilijk om kwantumcomputers te bouwen — zorgde dit resultaat voor een enorme interesse in dit domein sinds de jaren 1990. Waarom dit allemaal zo moeilijk is? Omdat kwantummechanica vreemd gedrag toelaat, alvast vreemd voor ons omdat wij die miniatuurwereld niet kennen uit ons dagelijks leven.

Bits en Qubits

Om een idee te geven over de voornaamste verschillen, zal ik het even kort over bits en qubits hebben. Een bit kan de waarde 0 of 1 hebben en is hetgeen er diep vanbinnen in klassieke computers (laptops, smartphones, wasmachines, mp3 spelers) gebruikt wordt om gegevens en berekeningen voor te stellen. Qubits kunnen ook de waarde 0 en 1 hebben, maar we schrijven dat dan als |0> en |1>. Dit kan bijvoorbeeld de grondtoestand (|0>) en een geëxciteerde toestand (|1>) van een atoom zijn. Maar… qubits kunnen in veel meer toestanden voorkomen: vanuit de kwantummechanica weten we dat ook mengelingen tussen die grond- en geëxciteerde toestand mogelijk zijn. Dit kan je wiskundig voorstellen als volgt

a|0> + b|1>

wat je kan lezen als tegelijk in |0> en |1>, of nog een superpositie van |0> en |1>. |a|2 + |b|2 = 1 (om metingen te verklaren, waarbij je in het geval van het atoom ofwel de grondtoestand |0> meet met kans |a|ofwel de geëxciteerde toestand |1> met kans |b|2 ).

Een superpositie is gewoon een lineaire combinatie van|0> en |1> : de notatie die we hier gewoonlijk voor gebruiken is (a,b) of nog a.e1 + b.e2. Met basisvectoren |0>=e1  en |1>=e2 (op de X en Y-as) kan je de vector evengoed schrijven als de formule boven, wat het verband met klassieke bits verduidelijkt.

Wat als je meer dan 1 qubit hebt? Twee bits kunnen samen de waarden 00, 01, 10 of 11 aannemen. Qubits doen dit alweer tegelijkertijd:

a|00> + b|01> + c|10> + d|11>

Qubitkoppels zijn dus superposities van de 4 basistoestanden |00>, |01>, |10> en |11>, Qubittripels, dus 3 qubits, zijn lineare superposities van 8 = 2x2x2  basistoestanden |000>, |001>, …, |111>. Het aantal termen in deze som neemt exponentieel toe: met 10 bits kan je 210=1024 combinaties voorstellen, qubits vangen al deze 1024 combinaties in één keer op. Anders gesteld: een kwantumcomputer met 30 qubits heeft een geheugencapaciteit die equivalent is met 1 Gigabit aan normale bits, terwijl 40 qubits al op 1 Terabit uitkomt en men over 100 of meer qubits alleen maar kan wegdromen.

Stel dat je het kwadraat van al deze 1024 getallen wil berekenen (voorgesteld als rotaties in de juiste vectorruimte), dan kan je dat dus in 1x doen eerder dan in 1024x! Dit bijzondere schalingsgedrag, waarbij toevoeging van elke extra qubit leidt tot een verdubbeling van het aantal beschikbare geheugen plaatsen, gecombineerd met de ingebouwde vorm van parallel rekenen, is één van de redenen waarom een algoritme als Shor zo veel sneller werkt. Het voorbeeld van het doolhof (maze) dat in de documentaire wordt aangehaald is gelijkaardig. Echter, informatie uit deze kwantumsystemen halen kan je enkel door te meten, en hierbij kom je altijd uit op een basistoestand met een bepaalde kans (|000> met kans |a|2, |001> met kans |b|enzovoort). Kwantumprogramma’s schrijven is dus koorddansen tussen de krachtige ‘gelijktijdigheid’ van qubits, en de selectiviteit van metingen waarbij je op slechts één van deze toestanden uitkomt. Dit koorddansen wordt in grote mate gestuurd daar de aanwezige verstrengeling.

Verstrengeling

Het fascinerende begrip verstrengeling (entanglement) betekent dat een wijziging aan één van de gekopplede systemen een onmiddellijke verandering van alle andere tot gevolg heeft. Twee verstrengelde qubits blijven één geheel ook als ze op zeer grote afstand van elkaar bfrengt.

Daar kan je allerlei leuke dingen mee doen, zoals geheimen veilig uitwisselen. Dit is geen science fiction: bij de verkiezingen in Genève (Zwitserland) in 2007 werd deze techniek gebruikt om stemmen veilig door te sturen naar het centrale telbureau.

Er zijn heel veel manieren waarop meerdere qubits met mekaar verstrengeld kunnen zijn, en hoe meer qubits, hoe meer soorten verstrengeling. De tweede reden waarom kwantumcomputers veel krachtiger kunnen zijn dan klassieke computers komt doordat qubits die verstrengeld zijn als het ware één groot geheel vormen. Beïnvloed je één qubit, dan werk je tegelijkertijd ook met alle andere. Dit laat toe de parallele rekenkracht ten volle te benutten, omdat je door de verstrengeling tóch iets kan leren over alle parallele rekenpaden, zelfs al geeft een meting je maar zicht op één enkel rekenpad.

Samengevat

Deze figuur toont het basisprincipe van de kwantumcomputer, waarbij zowel de invoer als de uitvoer geschiedt met behulp van superposities van alle mogelijke combinaties van basistoestanden (dit noemt men de golffunctie |ψ>). De bewerkingen die je met de kwantumcomputer uitvoert werken tegelijkertijd op al deze mogelijkheden; er is sprake van een ingebouwde vorm van parallel rekenen. Waar een normale computer allerlei oplossingen na elkaar door moet rekenen, kan de kwantumcomputer ze tegelijkertijd bekijken. Dat levert een enorme snelheidswinst op!

Kwantumcomputers rekenen met kwantumbits, oftwel qubits, waarop ze kwantummechanische bewerkingen uitvoeren. Zowel de invoer als de uitvoer bestaat uit een kwantum-mechanische golffunctie |ψ>.

Echter, “elk voordeel heb z’n nadeel”. De uitkomst van de kwantumberekening is ook een golffunctie, die pas na meting een van de mogelijke klassieke uitkomsten geeft. Er zijn twee manieren om dit te omzeilen. De eerste truc is om de kwantumberekening zo uit te voeren dat de uiteindelijke golffunctie voldoende “zuiver” is en bij meting steeds hetzelfde (juiste) antwoord geeft (zie het bekende Grover algoritme en variaties daarop, in deze tekst niet aangehaald). Een tweede truc is om via de verstrengeling vanuit een meting informatie te kunnen afleiden over alle andere mogelijke uitkomsten van een meting (zie bvb. Shor).

Ten slotte is er het grote probleem om een kwantumcomputer te bouwen. Dit is niet evident! Vele mensen zijn al vele jaren aan het uitzoeken hoe we dit het beste kunnen doen. Er bestaan intussen verschillende manieren om een qubit te maken. Het is veel moeilijker om deze qubits in een bepaalde toestand vast te houden, of om ze samen laten werken met vele andere qubits. Bijvoorbeeld de bekende controlled-NOT gate tussen 2 qubits is al een hele opgave; een animatie vind je vooraan deze tekst. Wat kan er vandaag (2016)? Een handvol bedrijven verkopen kwantumcryptografische technologie. In 2011 werd het getal 143 gefactoriseerd aan de hand van het algoritme van Shor met 4 qubits. In 2015 was er een belangrijke doorbraak door IBM (het praktisch uitvoeren van foutcorrectie op qubits). Eind 2015 kochten NASA en Google samen een D-Wave quantum computer (prijskaartje: 15 miljoen dollar) dewelke 1097 qubits heeft, maar of dit toestel werkelijk een kwantumcomputer is blijft tot op heden een onderwerp van discussie. Sommige onderzoekers denken dat een echte kwantumcomputer 5 tot 10 jaar weg is, maar tot we daar zijn blijft het afwachten.

Over de auteur

Ellie D’Hondt

Ellie D’Hondt (˚1978) studeerde natuurkunde, wiskunde en computerwetenschappen en bleef doorheen haar carriere werken op het raakvlak tussen deze domeinen. Na haar afstuderen raakte ze gefascineerd door kwantumcomputers (toen een nieuw idee) waar zij mee bezig bleef tot 2010. Nadien werd haar interesse geprikkeld door de explosie aan digitale informatie en het effect hiervan op maatschappelijke processen zoals de (r)evolutie naar slimme steden en gepersonaliseerde gezondheidszorg. Sinds 2015 is ze aan de slag bij imec, het in Leuven gebaseerde wereldbekende onderzoekscentrum voor micro-electronica. Ze begeleidt bij imec data innovatie in bestaande processen, zoals het inzetten van smartphones voor gepersonaliseerde gezondheidszorg of het op punt stellen van brain-computer interfaces voor neurogaming of het controleren van protheses.