Quantum Computing

Quantum Computing

Quantum computers kunnen complexe berekeningen en analyses vele malen sneller en efficiënter uitvoeren dan de traditionele computers waar we dagelijks mee werken. Die superieure rekenkracht kan oplossingen bieden voor problemen waar onze samenleving op dit moment tegenaan loopt. Enkele voorbeelden zijn het tijdig voorspellen van extreem weer (en de gevolgen ervan zoals hoogwater), het snel ontwikkelen van nieuwe medicatie (tijdens pandemieën), het supersnel trainen van AI-modellen en het reduceren van de energiebehoefte van datacenters. In deze blog volgt een kort overzicht van waar quantum computers precies voor kunnen worden gebruikt en hoe ze worden gebouwd.

Christiaan Douma

Het gebruik van quantum computers

Op het eerste gezicht lijkt het alsof de superieure rekenkracht van quantum computers van pas kan komen in vrijwel elke IT-toepassing. Dit is beslist niet het geval.

Quantum computers zijn alleen nuttig voor toepassingen waar de CPU-rekentijd (veruit) de grootste bottleneck is.

Het gebruik van quantum computers in hedendaagse toepassingen kent namelijk twee grote beperkingen:

  • De programmeertalen voor quantum computers hebben een geheel andere werking dan die van traditionele programmeertalen. Het hanteren van quantum programmeertalen (bijvoorbeeld qiskit) vereist specialistische kennis van wiskunde en quantummechanica. Het vinden van ontwikkelaars met deze expertise kan een (grote) uitdaging zijn.
  • De hardware van quantum computers is (nog) niet gestandaardiseerd. Dat wil zeggen dat niet elk algoritme, geschreven in een quantum programmeertaal, op elke quantum computer kan draaien. Het zoeken van de juiste hardware (via cloud diensten) bij de benodigde software kan dus ook een (grote) uitdaging vormen.

Een goede business analyse kan helpen om te bepalen of de voordelen (de superieure rekenkracht) van het gebruik van quantum computers groot genoeg zijn om de investering te rechtvaardigen die ongetwijfeld gepaard gaat met het oplossen van bovenstaande uitdagingen. Denk bijvoorbeeld aan een klant die zit met ‘een groot en complex data-analyse vraagstuk’.

  • Als het vraagstuk groot en complex is, doordat het binnen de organisatie onduidelijk is wat er precies geanalyseerd en berekend moet worden, is de CPU-rekentijd niet de bottleneck. De klant is in deze situatie beter geholpen met een goede business analist, dan met quantum computers.
  • Ook als de omvang van de dataset het vraagstuk groot en complex maakt, is CPU-rekentijd niet de bottleneck. In dit geval is de klant het beste geholpen door het gebruik van een snelle io-technologie.
  • Alleen als de complexiteit van het vraagstuk wordt veroorzaakt doordat de CPU-berekeningen van de data-analyse inherent complex zijn, kunnen quantum computers een uitkomst bieden. Bij de meeste business intelligence vraagstukken is dit zelden het geval.

Bij welke toepassingen is CPU-rekentijd dan wel (vaak) de grootste bottleneck? Vooral bij intensieve computersimulaties. Denk bijvoorbeeld aan:

  • Het weerbericht (voor computers de zwaarste en moeilijkste berekening aller tijden).
  • Aerodynamische simulaties van auto’s en vliegtuigen.
  • Het uitrekenen van chemische reacties in het menselijk lichaam (voor het supersnel ontwikkelen van nieuwe medicijnen).
  • Het doorrekenen van mechanische krachten en/of temperatuureffecten in grote gebouwen en bruggen.
  • Het modelleren van economische verschijnselen om te voorspellen wat je beleggingen en investeringen doen.
  • Optimalisatieproblemen (bijvoorbeeld bij communicatie- of personenverkeer).

Andere CPU-intensieve taken waar quantum computers uitkomst kunnen bieden, zijn bijvoorbeeld cybersecurity (het breken van codes) en machine learning (het trainen van grote modellen).

Een aantal voorbeelden waar vandaag de dag al quantum computers worden gebruikt, zijn:

  • NASA gebruikt Azure Quantum voor optimalisatie van de communicatie met ruimtevaartuigen. Ze bereken wanneer er met welk vaartuig moet worden gecommuniceerd. Dit is een ingewikkelde puzzel vanwege de draaiing van de aarde.
  • DHL onderzoekt hoe de routes van de koeriers kunnen worden geoptimaliseerd met quantum computing (Snel transport case).
  • Shell gebruikt quantum computing om chemische reacties te simuleren.
  • Google werkt aan meerdere toepassingen, zoals quantum AI en quantum cryptografie, bijvoorbeeld voor 5G.
  • 1QBit werkt aan weersvoorspellingen met quantum computing.

De constructie van quantum computers

Quantum computers zijn fundamenteel anders ontworpen en gebouwd dan traditionele computers. Waar traditionele computers gebaseerd zijn op de natuurkundige principes achter elektrische stroom en halfgeleiders, zijn quantum computers gebaseerd op de natuurkundige principes van de quantummechanica (de wetenschap van hoe materie in elkaar zit). Dit fundamentele verschil is de reden dat de rekenkracht van quantum computers verreweg superieur is aan die van traditionele computers. Het is ook de reden dat quantum computers veel moeilijker te bouwen en/of te bedienen zijn. Dit verschil is het beste uit te leggen aan de hand van het volgende schema:

Afbeelding Traditionele Computers En Quantum Computers

De hardware van traditionele computers bestaat uit elektronische componenten zoals transistoren, weerstanden, batterijen, etc. Met behulp van UV-printers kunnen miljarden van deze componenten worden samengebracht in geïntegreerde circuits: computerchips. De nul van de binaire taal wordt in dit circuit weergegeven door een lage elektrische spanning (0V) en de één door een hoge elektrische spanning (5V). Het circuit kan deze spanningen vervolgens wijzigen/combineren met behulp van de basisoperatoren van het binaire stelsel: AND, OR en NOT en opslaan in stukjes geheugen: bits. Het combineren van deze operatoren vormt de basis voor de machinetaal van computers. De welbekende hoge programmeertalen zoals C/C++/C#, java, python, R, etc. zijn vervolgens combinaties van algoritmes geschreven in deze machinetaal. Web development frameworks zoals .NET, springboot, flask en django zijn ten slotte weer ontwikkeld op basis van deze programmeertalen. Alle software operaties zijn dus combinaties van combinaties van (etc.) binaire basisoperatoren AND, OR en NOT, welke fysiek geconstrueerd zijn uit transistoren en andere componenten van elektrische stroom.

Quantum computers werken niet op basis van elektrische stroom, maar op basis van subatomaire deeltjes zoals protonen, elektronen, atoomkernen en dergelijke. Dit is de materie die wordt beschreven door de quantummechanica, vandaar de naam ‘quantum computer’. Omdat dit onderliggende principe anders is dan het principe van elektrische stroom, zijn de binaire basisoperatoren van een quantum computer niet langer AND, OR en NOT, maar fundamenteel andere operatoren zoals Pauli, CNOT, Swap en Toffoli.

Dit is waar quantum computers hun superieure rekenkracht aan ontlenen: de bouwstenen van de machinetaal zijn inherent anders (en veel geavanceerder) dan voor traditionele computers.

Het betekent echter ook dat alle programmeertalen en algoritmes die voor traditionele computers ontwikkeld zijn, niet bruikbaar zijn voor quantum computers. Om de superieure rekenkracht van quantum computers te kunnen gebruiken, zijn algoritmes nodig die fundamenteel anders werken en zijn gebaseerd op de machinetaal van quantum computers. Om dit proces te kunnen begrijpen, is geavanceerde kennis nodig van de wiskunde en de quantummechanica. Hoge programmeertalen zoals C/C++/C#, java, python, R, etc. waar je een commando of algoritme aanroept zonder de werking ervan te hoeven doorgronden, bestaan helaas nog niet voor quantum computers. Ook koppelingen met traditionele programmeertalen (de paarse pijl in bovenstaande afbeelding) staan nog in de kinderschoenen. Er is wel grote potentie.

Daarnaast is de fysieke constructie van quantum computers zeer uitdagend, omdat het om fundamenteel andere principes gaat dan elektrische stroom. Fabrikanten zijn er daarom nog niet in geslaagd om quantum computers te ontwikkelen die zomaar elk willekeurig quantum algoritme kunnen draaien. Een specifieke hardware is beperkt tot een aantal specifieke algoritmes. De prognose van een Nederlands bedrijf is dat ‘universele quantum computers’ fysiek kunnen worden geconstrueerd over 3 tot 5 jaar.

Christiaan Douma
Machine Learning Specialist / Software Engineer

    Benieuwd naar onze vacatures?

    Wij zijn altijd op zoek naar gedreven professionals

    Geïnteresseerd?

    Wij horen graag van je! Neem contact met ons op.