Hvordan kvanteprogrammering blev til et 3D-puslespil

Software er den del af en computer, der består af kodet information og instruktioner. Det er fuldstændig adskilt fra hardwaren - de fysiske strukturer, der udfører disse instruktioner. Det gælder i hvert fald for konventionelle computere.





Men i de senere år er dataloger blevet mere og mere fokuseret på kvantecomputere, der bruger kvantemekanikkens mærkelige love til at behandle information. Dette resulterer i meget mere kraftfulde beregninger. Men i kvanteverdenen er det meget sværere at adskille softwaren og hardwaren.

Ikke desto mindre begynder en kraftfuld ny måde at tænke kvantesoftware på at dukke op. Og det mærkelige ved denne tilgang er, at den gør kvanteprogrammering til en slags 3D-puslespil. Det fører til et interessant spørgsmål: er det muligt at gamify et kvanteprogram på en måde, der giver nyttige resultater?

I dag får vi svar takket være arbejdet fra Simon Devitt hos Riken i Saitama, Japan, som har bygget et onlinespil, der har potentialet til at spille en afgørende rolle i fremtiden for kvanteprogrammering. Ikke alene kan spillet hjælpe mennesker med at skabe bedre programmer, men det kan også hjælpe en ny generation af kunstig intelligens-maskiner til selv at løfte opgaven.



Først lidt baggrund. En måde at tænke på et kvanteprogram er som et todimensionalt gitter af qubits, som et ark, eller et tredimensionelt gitter, som en krystal. Information kodes ved at skabe et hul eller defekt i gitteret.

Dette er en kraftfuld tilgang, fordi informationen er naturligt beskyttet mod fejl af selve gitterets egenskaber, som effektivt låser den på plads.

Informationen kan behandles ved at flytte defekter gennem gitteret og vikle dem rundt om hinanden, som en sammenfiltret kugle af snor. Sammenfiltringsprocessen kan indføre logiske porte, som sammen udfører beregninger.



Dette er i bund og grund en topologisk proces. Så topologiens matematik beskriver hele processen, uanset hvor rodet sammenfiltringen bliver. Så længe gitterne er topologisk identiske, er de øvrige detaljer i sammenfiltringen ligegyldige.

Dette er analogt med det berømte link mellem en doughnut og en kaffekop. Disse former er helt forskellige at se på, men er topologisk identiske, fordi de begge indeholder et enkelt hul. Hver enkelt kan omdannes til den anden ved at klemme og strække, men ikke ved at rive.

Præcis det samme er tilfældet med kvanteprogrammer. To programmer udfører det samme job, forudsat at de er topologisk identiske, men uanset hvor sammenfiltrede gitterne bliver.



Det rejser et interessant problem. Givet et sammenfiltret gitter, der repræsenterer et kvantecomputerprogram, hvor enkelt kan det så gøres, mens dets topologi bevares? Med andre ord, hvordan kan kvanteprogrammet optimeres?

Det er vigtigt, fordi nutidens kvantecomputere kun kan håndtere nogle få qubits. Med kvanteressourcer så knappe, jo enklere et program kan laves, jo lettere kan det implementeres.

Det er her, Devitt træder ind. Han har udviklet en kraftfuld måde at visualisere kvanteprogrammer som 3-D-gitter med sammenlåsende sektioner, der repræsenterer den måde, information lagres og behandles på. Opgaven med optimering er at forenkle gitteret ved at flytte, krympe, strække og omarbejde de sammenlåsende sektioner, mens den samme topologi bevares.



Devitt's er gået videre ved at gamify opgaven - han har forvandlet den til et webbaseret puslespil kaldet MeQuanics, som du kan prøve her . Ideen bag spillet er, at et kvanteprogram kan drive dit rumfartøj. Men det program, du har, er for stort og skal derfor gøres mindre ved hjælp af forskellige værktøjer, der kan omforme det.

Spillet er fascinerende og ikke så forskelligt fra forskellige andre puslespil. Det er lidt buggy, men det ser godt ud og er et forsøg værd, hvis du har et par minutter.

Der er et andet skjult aspekt ved spillet. En måde at fremskynde processen med at optimere kvanteprogrammer på ville være at træne en maskinlæringsalgoritme til at udføre jobbet. Disse algoritmer har haft stor succes i andre opgaver, og denne form for optimering ser ud til at være ideel.

Men der er et problem. Disse algoritmer skal trænes, og det kræver et stort datasæt af eksempler, som de kan lære af. Kvanteprogramoptimering er dog så nyt, at der ikke er egnede datasæt til denne opgave.

Det er derfor, MeQuanics er vigtigt - processen med at spille spillet skaber en database med eksempler, der kan bruges til at træne en maskine. Og givet nok data, skulle maskinerne til sidst overgå mennesker. Googles AlphaGo-program viste, hvor kraftfulde de kan være, da det for nylig slog en af ​​de bedste menneskelige Go-spillere efter at have fortæret et massivt datasæt af Go-spil spillet online.

Devitt's er interessant arbejde, der har potentialet til at introducere en ny generation af mennesker til kvanteprogrammering. Og bedst af alt, det vil lade dem have det sjovt, mens de lærer.

Ref: arxiv.org/abs/1609.06628 : Programmering af kvantecomputere ved hjælp af 3D-puslespil, kaffekopper og donuts

skjule