Atos stort zich op kwantumsoftware
Hoe werkt quantum computing?
Kwantumcomputers werken op basis van een logica die fundamenteel verschilt van die van gewone computers. Dat betekent dat ook de programmering fundamenteel anders is.
Quantum computing is gebaseerd op het slim uitbuiten van ongerijmde mechanismen die bepalend zijn voor gebeurtenissen op subatomaire schaal. Zo wordt onder meer gebruik gemaakt van het fenomeen dat kwantumdeeltjes zich in twee ogenschijnlijk onverenigbare toestanden tegelijk kunnen bevinden. Een zeer klein deeltje (een molecuul of kleiner nog) is dan in een zogenoemde superpositie van toestanden. Veelal gaat het om de 'spin' van zo'n deeltje, dat dan op éénzelfde moment in twee tegengestelde richtingen kan tollen. De 'keuze' voor één van de twee mogelijkheden wordt pas gemaakt als de draairichting - in meer dan één betekenis van het woord - wordt 'vastgesteld'.
Bij quantum computing wordt van dat 'uitstel van bepaaldheid' gebruik gemaakt door in superpositie verkerende deeltjes in te zetten als geheugenelementen - zogeheten qubits - die gedurende de berekening gelijktijdig een 1 én een 0 representeren. Dit in tegenstelling tot conventionele bits, die slechts een 1 óf een 0 voorstellen.
Dat maakt een unieke en ongekend efficiënte vorm van 'parallel' rekenwerk mogelijk. Terwijl een klassieke computer voor de meeste problemen alle denkbare oplossingen afzonderlijk moet doorrekenen (loops doorlopen), kan één kwantumcircuit alle mogelijkheden tegelijk doorlopen. De uitdaging voor de kwantumprogrammeur is om, gebruik makend van wisselwerking tussen qubits, er voor zorgen dat gewenste mogelijkheden elkaar versterken en de niet-gewenste elkaar uitdoven. Om dat voor elkaar te krijgen is software nodig die overweg kan met de ongerijmdheden van de kwantumwereld. Waarin iets tegelijkertijd wel en niet kan zijn en waarop universeel geachte programmeerconcepten als 'IF THEN, ELSE' of andere Booleaanse expressies derhalve geen greep op bieden.