Kwantumcomputer

Een kwantumcomputer (ook quantumcomputer) is een nieuw soort computer waarbij de processor gebruikmaakt van de principes van de kwantummechanica. Zo'n processor kan in één keer (parallel) dezelfde berekeningen uitvoeren over een zeer grote hoeveelheid data. Deze zal daardoor vele malen sneller zijn dan een conventionele computer maar wel slechts inzetbaar zijn op zeer specifieke taken. Het concept van de kwantumcomputer werd reeds begin jaren tachtig beschreven door Paul Benioff, Yuri Manin en Richard Feynman. In de jaren daarna ontwikkelden David Deutsch en Peter Shor het concept verder. Door de grote (theoretische) mogelijkheden wordt er tegenwoordig, na aanvankelijke scepsis, wereldwijd veel geld in onderzoek gestoken. In 2017 kwam IBM met een prototype kwantumcomputer in de vorm van een online service.[1]

Werking

Bouwstenen

Een kwantumcomputer maakt gebruik van de kwantumeffecten verstrengeling, superpositie en Interferentie, die kwantumdeeltjes zoals een elektron of foton onder bepaalde omstandigheden kunnen vertonen.[2]

  • Superpositie van een deeltje betekent dat bijvoorbeeld de spin hiervan (normaal maar één mogelijke waarde) alle mogelijke waarden tegelijkertijd kan aannemen. Pas als men iets doet om de spin te meten, pas dán zal het deeltje weer terugvallen naar één waarde. De superpositie is dan verstoord geraakt.
  • Kwantumverstrengeling van twee gepaarde elementaire deeltjes betekent dat er een verbinding bestaat tussen deze twee deeltjes, die onafhankelijk is van de onderlinge afstand. Als de toestand van een deeltje gemeten wordt, weet men ook onmiddellijk wat de toestand van het andere deeltje is, hoever zij ook van elkaar verwijderd zijn.
  • Interferentie waarbij het golfkarakter van een kwantumdeeltje versterkt of uitgedoofd worden door een ander kwantumdeeltje.

Wanneer deze drie eigenschappen op de juiste manier benut worden, kan een kwantumdeeltje vanaf meerdere posities (binnen een chip) gemanipuleerd worden zonder dat het zijn superpositie verliest.

Qubits

De toestandsruimte van een qubit, die gezien kan worden als de kwantummechanische versie van de klassieke databit

Het geheugen van de kwantumcomputer is opgebouwd uit qubits. Dit zijn deeltjes in superpositie die via een ingenieus patroon met elkaar verstrengeld zijn. In superpositie heeft een qubit tegelijkertijd de binaire waarden 0 én 1. In plaats van 0 óf 1. Eén qubit heeft dus eigenlijk de waarde van twee bits. De kwantumprocessor voert manipulaties uit op de qubits in het geheugen en gebruikt hiervoor input uit ditzelfde geheugen. Echter, wanneer deze processor een waarde ophaalt, haalt hij de waarde 0 én 1 op en wanneer hij een qubit manipuleert, dan wordt deze bewerking op zowel de waarde 0 als 1 uitgevoerd. Wanneer het aantal qubits toeneemt, stijgt de rekenkracht exponentieel met het aantal qubits. Als dit aantal n is, bijvoorbeeld 8, dan zal de processor in één keer voor alle mogelijke inputs (2n = 256) dezelfde berekening uitvoeren. Een klassieke computer zou hier juist 256 keer dezelfde handeling voor moeten verrichten. Uiteraard zullen niet alle 256 inputs en outputs zinvol zijn maar een aantal wel. Een kwantumcomputer is dus in staat om enorm snel parallelle berekeningen uit te voeren op een dataset die zelfs met de snelste conventionele computers niet te verwerken is.[3]

De berekening

Een probleem bij het uitlezen van een qubit is dat de superpositie onmiddellijk vervalt tot 0 of 1, waarmee de hele berekening voor niets geweest is. Om dit te omzeilen bestaat de volgende oplossing. Eerst worden de qubits in het geheugen in superpositie gebracht. Vervolgens wordt hier een berekening op uitgevoerd en wordt het antwoord in het geheugen weggeschreven. De qubits die het antwoord bevatten zijn in superpositie, maar worden dusdanig gemanipuleerd dat ze het gewenste antwoord weer gaan geven. Door kwantumverstrengeling heeft dit effect op de qubits die de initiële vraag bevatten. Deze vervallen nu alsnog in een staat waarin ze de initiële input gaan weergeven. Vraag en antwoord worden dus eigenlijk omgedraaid. Bijvoorbeeld: Iemand wil weten welke twee priemgetallen met elkaar vermenigvuldigd moeten worden om tot het getal 1829 te komen. Er wordt een programma geschreven dat twee getallen met elkaar vermenigvuldigt. De input bestaat uit qubits die in superpositie zijn en die de twee priemgetallen representeren, de berekening wordt uitgevoerd en de output wordt weggeschreven in het geheugen. Zowel vraag als antwoord is nu nog in superpositie. De output wordt vervolgens dusdanig gemanipuleerd dat de qubits met het antwoord het getal 1829 weergeven. Door kwantumverstrengeling vervallen de qubits die de input bevatten, alsnog, tot de getallen 31 en 59. Deze input kan nu uitgelezen worden.

Algoritmen

Doordat een kwantumcomputer fundamenteel anders werkt dan een conventionele computer, zullen aparte programmeertalen ontwikkeld gaan worden. Een programma op een kwantumcomputer zal deterministisch moeten zijn, toeval mag dus geen rol spelen. Op dit moment spelen twee soorten algoritmen de hoofdrol:[2]

  • Het algoritme van Shor is bedoeld om encryptie te kraken. Hierop zijn vele varianten mogelijk waarbij steeds een output gebruikt wordt om de bijbehorende input te berekenen.
  • Het algoritme van Grover is bedoeld om ongesorteerde data te doorzoeken.

Stabiliteit van een kwantumprocessor

Een nadeel van processors die met qubits werken, is dat kwantumeffecten als verstrengeling en superpositie zeer gemakkelijk verstoord raken (decoherentie). De kunst is daarom om deze speciale kwantumtoestand lang genoeg stabiel te houden om gegevens te kunnen invoeren, te verwerken, en uit te lezen om zinvolle uitkomsten te krijgen. Dit vormt een barrière voor de ontwikkeling van kwantumcomputers. Een kwantumprocessor kan immers maar een bepaald aantal berekeningen uitvoeren voordat de superpositie van een van de qubits uit zichzelf vervalt. Hoe groter het werkgeheugen hoe sneller een van de qubits zal vervallen. Dit vormt zowel een barrière voor de grootte van het geheugen als voor de lengte van een algoritme.[2] Misschien zullen kwantumprocessoren altijd instabiel blijven en een zekere mate van onbetrouwbaarheid houden. Als dat zo is zullen berekeningen meerdere malen herhaald moeten worden om te zien of er steeds dezelfde uitkomst uit volgt en misschien zal een extra controle, met een simpeler algoritme, op een conventionele computer nodig zijn. Bijvoorbeeld door met één berekening te controleren of twee priemgetallen met elkaar vermenigvuldigd inderdaad tot een bepaald getal leiden.

Het onderzoek betreffende kwantumprocessors richt zich tot nu het meest op het beheersbaar maken en aanhouden van deze kwantumtoestand. Een belangrijke vraag hierbij is wat precies de ideale bouwsteen voor een qubit zou zijn. Mogelijkheden zijn, een foton, neutron, atoomkern of Majorana-deeltje (antimaterie).

Binaire computer versus kwantumcomputer

De verwachting is dat de eerste kwantumcomputers niet geschikt zullen zijn om snel lineair te werken. Een kwantumprocessor heeft veel voorbereidingstijd nodig om aan het werk te gaan. Eerst moeten de qubits in superpositie worden gebracht en met elkaar verstrengeld worden. Hierna kan een aantal berekeningen worden uitgevoerd. Zowel de voorbereiding als het uitlezen van de antwoorden zal waarschijnlijk veel tijd kosten en ook de berekeningen zelf zullen traag gaan. Hier staat tegenover dat een kwantumcomputer met slechts enkele berekeningen tot hetzelfde antwoord kan komen waar een conventionele computer vele jaren zal moeten doorwerken. Een conventionele processor werkt dus serieel en een kwantumprocessor werkt slechts korte tijd maar parallel. Kwantumprocessoren zijn dan ook niet geschikt om in een pc, smartphone of spelcomputer te verwerken. Daar komt nog bij dat een kwantumprocessor met allerlei middelen stabiel gehouden moet worden, o.a. door hem extreem te koelen. Misschien zullen kwantumprocessoren wel beschikbaar komen in de cloud. Toepassingen die met een kwantumcomputer veel sneller zullen gaan, zijn:

  • Het kraken van encryptie, mogelijk met het algoritme van Shor. Dit kan door in één keer een berekening te doen met alle mogelijke encryptiesleutels en na deze berekening meteen de juiste sleutel te identificeren.[4]
  • Het doorzoeken van een nieuw soort database waarbij de kwantumprocessor in één keer alle rijen in de database doorzoekt i.p.v. elke rij apart.
  • Kwantumsimulatie, het simuleren van kwantumeffecten en chemische reacties.[2] Richard Feynman stelde ooit dat als je de natuur wilt simuleren dat hier een kwantumcomputer voor nodig zou zijn.
  • In het vakgebied van kunstmatige intelligentie, zo wordt er bijvoorbeeld onderzoek gedaan naar betere vormen van machinaal leren m.b.v. een kwantumcomputer.[2]

Gevolgen

Als men erin slaagt een goed werkende kwantumcomputer te maken zou dat een grote hulp voor wetenschappelijk onderzoek zijn. Men zou in staat zijn gigantische hoeveelheden data te analyseren en hier allerlei verbanden en patronen uit te destilleren. Aangezien dit een van de fundamentele voorwaarden is om tot nieuwe wetenschappelijke inzichten te komen zal dit een enorme revolutie voor de wetenschap betekenen. Ook zou men dan zeer gedetailleerde simulaties kunnen laten draaien om theorieën te testen en te verfijnen. Mogelijk zal eveneens de rest van de maatschappij de gevolgen merken in bijvoorbeeld de entertainmentindustrie (films, games, enz.).

Een minder gewenst gevolg zou zijn dat men dan een ander systeem zou moeten zoeken om gevoelige informatie op internet te versleutelen. Tegenwoordig gebruiken veel programma's daar priemgetallen voor. Een actueel voorbeeld is het online-bankierprogramma dat de meeste banken gebruiken om transacties veilig en snel te laten verlopen. Hierbij worden twee zeer grote priemgetallen gebruikt die met elkaar vermenigvuldigd zijn. Een conventionele computer kan deze twee getallen onmogelijk vinden binnen een redelijke tijd. Maar een kwantumcomputer zou dit in principe wel kunnen. Dan zou een criminele computerhacker snel grote aantallen versleutelde transacties kunnen onderscheppen en voor eigen gewin kunnen aanpassen. Sterker nog, veel van ons vertrouwelijke internetverkeer wordt versleuteld maar wanneer deze versleutelde gegevens reeds ergens opgeslagen zijn, dan zal deze informatie in de nabije toekomst met een kwantumcomputer alsnog ontsleuteld kunnen worden. Van de andere kant kunnen softwarebeveiligingsexperts van banken natuurlijk ook eveneens kwantumcomputers gebruiken om een nog moeilijker breekbare code te ontwikkelen die dan zelfs met een kwantumcomputer niet te achterhalen zou zijn.

Nederlands onderzoek

De TU Delft en TNO zijn met hun afdeling Qutech center onder wetenschappelijke leiding van Ronald Hanson, die in 2013 speciaal opgericht is om binnen vijf jaar een werkend prototype kwantumcomputer te realiseren, een van de meest vooraanstaande researchcentra ter wereld.[5][6][7]

Zie de categorie Kwantumcomputer van Wikimedia Commons voor mediabestanden over dit onderwerp.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.