Kwantumcomputer

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

Een kwantumcomputer is een nieuw soort computer waarbij de processor gebruik maakt 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 kwamen IBM met een prototype.[1]

Werking[bewerken]

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

  • Kwantumverstrengeling van twee gepaarde elementaire deeltje 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.
  • 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.

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. Één qubit heeft dus eigenlijk de waarde van twee bit. 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 deze de waarde 0 én 1 op en wanneer deze 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 meest snelle conventionele computers niet te verwerken is.[2]

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 de een staat waardoor ze het juiste antwoord weergeven. Vraag en antwoord worden dus eigenlijk omgedraaid. Bijvoorbeeld: Iemand wil weten welke twee priemgetallen met elkaar vermenigvuldigen moeten worden om tot het getal 1829 te komen. Er wordt een programma geschreven dat twee getallen met elkaar vermenigvuldigd. De input bestaat uit qubits die in superpositie zijn die de twee priemgetallen representeren, de berekening wordt uitgevoerd en de output wordt weggeschreven in het geheugen. Zowel vraag als antwoord zijn 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.

Doordat een kwantumcomputer fundamenteel anders werkt dan een conventionele computer zullen aparte programmeertalen ontwikkeld gaan worden.

Kwantumprocessor stabiliteit[bewerken]

Een nadeel van processors die met qubits werken is dat kwantumeffecten als verstrengeling en superpositie zeer gemakkelijk verstoord raken. 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. 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). Mogelijk 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 mogelijk 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.

Binaire computer versus kwantumcomputer[bewerken]

De verwachting is dat 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 berekening 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 deze extreem te koelen. Mogelijk 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.[3]
  • 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. Richard Feynman stelde ooit dat als je de natuur wilt simuleren dat hier een kwantumcomputer voor nodig zou zijn.

Gevolgen[bewerken]

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 bijvoorbeeld 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 'normale' 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[bewerken]

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