Kwantumcomputer
computer waarbij de processor gebruik maakt van de principes van de kwantummechanica Van Wikipedia, de vrije encyclopedie
computer waarbij de processor gebruik maakt van de principes van de kwantummechanica Van Wikipedia, de vrije encyclopedie
Een kwantumcomputer (ook quantumcomputer) is een 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. Die is daardoor tot 1014 (of 100 biljoen / 100.000 miljard) malen sneller[1] dan een conventionele computer maar is wel slechts inzetbaar 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,[(sinds) wanneer?] na aanvankelijke scepsis, wereldwijd veel geld in onderzoek gestoken. In 2017 kwam IBM met een prototype kwantumcomputer in de vorm van een online service.[2] In 2016 bedroeg de markt 89 miljoen dollar.[3]
In december 2023 rapporteerden natuurkundigen voor het eerst de verstrengeling van individuele moleculen, die belangrijke toepassingen kunnen hebben in kwantumcomputers. Eveneens in december 2023 creëerden wetenschappers met succes "kwantumcircuits" die fouten efficiënter corrigeren dan alternatieve methoden, wat mogelijk een groot obstakel voor praktische kwantumcomputers zou kunnen wegnemen.[4]
In oktober 2023 kondigde Atom Computing aan dat het een atomaire array met 1.225 locaties gemaakt heeft, die op dat moment 1.180 qubits bevatte, gebaseerd op Rydberg-atomen.[5]
Een kwantumcomputer maakt gebruik van de kwantumeffecten verstrengeling, superpositie en interferentie, die kwantumdeeltjes zoals een elektron of foton onder bepaalde omstandigheden kunnen vertonen.[6]
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.
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. Wiskundig beschrijft men een qubit dan ook als superpositie (of lineaire combinatie) van een "0"-toestand en een "1"-toestand.
Waarbij en de waarschijnlijkheden zijn om (respectievelijk) de "0"-toestand of de "1"-toestand te meten tijdens een meting. Fysiek worden qubits in een twee-niveausysteem geïmplementeerd, bijvoorbeeld als de eigentoestanden van een elektron (spin) in een extern magnetisch veld. Eén qubit kan dus eigenlijk de waarde van twee bits tegelijkertijd hebben.
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.[7]
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.
Omdat een kwantumcomputer fundamenteel anders werkt dan een conventionele computer, zijn aparte programmeertalen ontwikkeld, zoals QCL.[8] Een programma op een kwantumcomputer zal deterministisch moeten zijn, toeval mag dus geen rol spelen. Een aantal belangrijke kwantumalgoritmen zijn hieronder opgesomd:[6][9]
De Amerikaanse natuurkundige David DiVincienzo formuleerde in 2000 een aantal criteria waaraan fysieke systeem ten minste moeten voldoen om een kwantumcomputer te bouwen.[10] Men noemt deze dan ook de DiVincienzo-criteria. Deze luiden:
Voor kwantumcommunicatie zijn er nog twee extra criteria:
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, verwerken en uitlezen 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.[6]
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. Enkele mogelijkheden zijn elektronen, fotonen, atoomkernen of ionen, en het Majorana-deeltje.
De stabiliteit van kwantumprocessors kan worden verbeterd door het gebruik van kwantumfoutverbetering (Engels: quantum error correction). Hierbij worden effectieve logische qubits geëncodeerd in meerdere fysieke qubits. Het is het analogon van foutverbeteringscodes van klassieke computers, waarbij een overmaat aan fysieke bits wordt gebruikt om informatie tegen zogenaamde bit-omslagen (Engels: bit flip), dat wil zeggen dat een bit van een 0 in een 1 verandert of vice versa, te beschermen. Anders dan bij klassieke computers zijn bij qubits een continuüm aan fouten mogelijk. Men kan zich een kwantumfout voorstellen als een ongewenste willekeurige draaiing van een qubit-toestand op de bloch-bol, waardoor duidelijk wordt dat bij kwantumfouten daadwerkelijk een continuüm aan fouten mogelijk is.
Aanvankelijk leek het mogelijke continuüm aan fouten een groot probleem voor kwantumfoutverbetering, omdat het corrigeren van een spectrum aan fouten zeer lastig leek. Echter werd in 1995 door Shor aangetoond dat kwantumfoutverbetering daadwerkelijk mogelijk is.[11] Door middel van het toepassen van de foutverbeteringsalgoritme van Shor (niet te verwarren met het priemfactorenalgoritme van Shor) kan effectief de kans op het plaatsvinden van een fout tijdens een berekening verminderd worden.
Voor de foutverbeteringscode van Shor worden 9 fysieke qubits gebruikt om 1 zogenaamde logische qubit te vormen die foutbestendiger is.[9][11] Door meerdere lagen van foutverbeteringscodes over elkaar toe te passen kan zo de precisie van kwantumcomputers in principe oneindig verbeterd worden. Echter zijn daarvoor per laag exponentieel meer qubits nodig, zodat meerdere lagen aan foutverbeteringscodes snel onpraktisch worden. Bovendien moeten qubits met elkaar verbonden kunnen worden, en is connectiviteit tussen qubits vaak een probleem die de mogelijkheid tot het toepassen van codes tussen grote aantallen fysieke qubits limiteert. Een laatste probleem is dat bestaande foutverbeteringscodes ervan uitgaan dat tijdens het encoderen van de fysieke qubits in een logische qubit er niet al een fout optreedt.[9] Gebeurt dit wel, dan wordt een kwantumfout op de logische qubit ook incorrect verbeterd. Des te meer lagen aan foutverbeteringscodes, des te groter wordt de kans dat tijdens het encoderen al een fout optreedt.
Naast de Shorcode werden ook de 7 qubit- en 5 qubit-verbeteringscodes uitgevonden.[9] Deze verbeteringscodes hebben minder qubits nodig om kwantumfouten te verbeteren. Het is bewezen dat de 5 qubit-code de kleinst mogelijke foutverbeteringscode is.[9] Verder bestaan er ook nog topologische verbeteringscodes.[12]
Ter vergelijking is de kans op een bit-omslag op klassieke computers van de orde van 1 op de 1017 operaties, bij kwantumcomputers ligt dit, afhankelijk van het systeem, op de orde van 1 op de 102 tot 103 operaties.[9] Voor robuuste kwantumcomputatie wordt verwacht dat, gebruikmakend van foutverbeteringscodes, deze foutmarge nog enkele ordes van 10 kleiner moet worden.
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, onder andere door hem extreem te koelen.
Kwantumprocessoren zijn beschikbaar in de cloud.[13]
Toepassingen die met een kwantumcomputer veel sneller zullen gaan, zijn:
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.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.