211service.com
Come la programmazione quantistica si è trasformata in un puzzle game 3D
Il software è la parte di un computer costituita da informazioni e istruzioni codificate. È completamente separato dall'hardware, le strutture fisiche che eseguono queste istruzioni. Almeno questo è vero per i computer convenzionali.
Ma negli ultimi anni, gli informatici si sono sempre più concentrati sui computer quantistici che utilizzano le strane leggi della meccanica quantistica per elaborare le informazioni. Ciò si traduce in calcoli molto più potenti. Tuttavia, nel mondo quantistico, è molto più difficile separare il software e l'hardware.
Tuttavia, sta cominciando a emergere un nuovo potente modo di pensare al software quantistico. E la cosa curiosa di questo approccio è che trasforma la programmazione quantistica in una specie di puzzle 3-D. Ciò porta a una domanda interessante: è possibile ludicizzare il programma quantistico in modo da produrre risultati utili?
Oggi riceviamo una risposta grazie al lavoro di Simon Devitt presso Riken a Saitama, in Giappone, che ha costruito un gioco online che ha il potenziale per svolgere un ruolo cruciale nel futuro della programmazione quantistica. Il gioco non solo può aiutare gli esseri umani a creare programmi migliori, ma potrebbe anche aiutare una nuova generazione di macchine di intelligenza artificiale ad assumersi il compito da sole.
Prima un po' di background. Un modo per pensare a un programma quantistico è come un reticolo bidimensionale di qubit, come un foglio, o un reticolo tridimensionale, come un cristallo. Le informazioni vengono codificate creando un foro o un difetto nel reticolo.
Questo è un approccio potente perché le informazioni sono naturalmente protette dagli errori dalle proprietà del reticolo stesso, che le bloccano efficacemente in posizione.
Le informazioni possono essere elaborate spostando i difetti attraverso il reticolo e avvolgendoli l'uno attorno all'altro, come un gomitolo di spago aggrovigliato. Il processo di aggrovigliamento può attivare porte logiche che insieme eseguono calcoli.
Questo è essenzialmente un processo topologico. Quindi la matematica della topologia descrive l'intero processo, indipendentemente da quanto disordinato diventi il groviglio. Finché i reticoli sono topologicamente identici, gli altri dettagli del groviglio non contano.
Questo è analogo al famoso legame tra una ciambella e una tazza di caffè. Queste forme sono completamente diverse da guardare ma sono topologicamente identiche perché entrambe contengono un unico foro. Ciascuno può essere convertito nell'altro stringendo e allungando ma non strappando.
Esattamente lo stesso vale per i programmi quantistici. Due programmi eseguono lo stesso lavoro a condizione che siano topologicamente identici ma indipendentemente da quanto aggrovigliati i reticoli diventano.
Ciò solleva un problema interessante. Dato un reticolo aggrovigliato che rappresenta un programma per computer quantistico, quanto semplice può essere realizzato preservando la sua topologia? In altre parole, come si può ottimizzare il programma quantistico?
Questo è importante perché i computer quantistici di oggi possono gestire solo pochi qubit. Con risorse quantistiche così scarse, più semplice può essere realizzato un programma, più facilmente può essere implementato.
È qui che interviene Devitt. Ha sviluppato un modo potente per visualizzare i programmi quantistici come reticoli 3-D con sezioni ad incastro che rappresentano il modo in cui le informazioni vengono archiviate ed elaborate. Il compito dell'ottimizzazione è semplificare il reticolo spostando, rimpicciolendo, allungando e rielaborando le sezioni ad incastro preservando la stessa topologia.
Devitt's è andato oltre ludicando il compito: lo ha trasformato in un puzzle basato sul Web chiamato MeQuanics, che puoi provare qui . L'idea alla base del gioco è che un programma quantistico può alimentare la tua navicella spaziale. Ma il programma che hai è troppo grande e quindi deve essere rimpicciolito utilizzando vari strumenti che possono modificarlo.
Il gioco è affascinante e non così diverso da vari altri puzzle. È un po' difettoso ma sembra buono e vale la pena provare se hai qualche minuto.
C'è un altro aspetto nascosto nel gioco. Un modo per accelerare il processo di ottimizzazione dei programmi quantistici sarebbe addestrare un algoritmo di apprendimento automatico per svolgere il lavoro. Questi algoritmi hanno avuto un enorme successo in altre attività e questo tipo di ottimizzazione sembra l'ideale.
Ma c'è un problema. Questi algoritmi devono essere addestrati e ciò richiede un ampio set di dati di esempi da cui possono imparare. Tuttavia, l'ottimizzazione del programma quantistico è così nuova che non esistono set di dati adatti per questo compito.
Ecco perché MeQuanics è importante: il processo di gioco crea un database di esempi che possono essere utilizzati per addestrare una macchina. E dati sufficienti dati, le macchine dovrebbero alla fine superare le prestazioni degli umani. Il programma AlphaGo di Google ha mostrato quanto possono essere potenti quando ha recentemente battuto uno dei migliori giocatori umani di Go dopo aver divorato un enorme set di dati di giochi Go giocati online.
Quello di Devitt è un lavoro interessante che ha il potenziale per introdurre una nuova generazione di persone alla programmazione quantistica. E soprattutto, permetterà loro di divertirsi mentre imparano.
Rif: arxiv.org/abs/1609.06628 : Programmazione di computer quantistici utilizzando puzzle 3-D, tazze da caffè e ciambelle