Quipper: un linguaggio per i computer quantistici

D-Wave One situato a Burnaby, British Columbia, Canada. (Crediti: D-Wave Systems Inc.).

Si chiama Quipper ed è il primo linguaggio di programmazione per l’informatica quantistica, uno dei casi in cui la tecnologia a disposizione è ancora qualche passo indietro rispetto alle conquiste teoriche. Quipper non può infatti essere supportato da nessun dispositivo oggi in uso, benché abbia tutte le caratteristiche necessarie per adattarsi alla computazione quantistica. Tutte le informazioni in merito sono a disposizione su arxiv.org (qui e qui).

Peter Selinger dell’Università di Halifax, in Canada e Bob Coecke dell’Università di Oxford ne descrivono alcune caratteristiche: come è noto, i qubit possono assumere i valori 0 e 1 allo stesso tempo (cosa non possibile ai bit ordinari. Questo consente al computer di eseguire contemporaneamente molti calcoli o, almeno, così dovrebbe essere, visto che progettare gli algoritmi che fanno uso di questo parallelismo quantistico è abbastanza difficile. Fino ad oggi la programmazione quantistica si è occupata di istruire le porte logiche che controllano i qubit.

Quipper è progettato a scatola cinese, in modo da impartire istruzioni riunendo più algoritmi in modo modulare – ad oggi, qualcosa di simile si trova in Java. Quipper, invece, è basato su un linguaggio di programmazione del tutto innovativo, chiamato Haskell, particolarmente adatto per le applicazioni di fisica. Il team di ricercatori coordinato da Peter Selinger ha personalizzato Haskell costruendo, innanzitutto, una libreria che consente a Quipper di effettuare ben sette algoritmi quantistici, compreso uno in grado di stimare l’energia dello stato fondamentale delle molecole. Per i programmatori una libreria è un vero e proprio spazio ordinato, un contenitore di algoritmi che impartiscono istruzioni alla macchina: il prossimo passo è la creazione di un codice che permetterà di realizzare un software che “attacca” più moduli insieme. Solo così sarà possibile realizzare il “sogno quantistico”, avere un computer potentissimo per eseguire moltissimi calcoli insieme. “Avere un linguaggio di programmazione ben progettato aiuta a strutturare il vostro pensiero e informa il modo di pensare di un problema”, commenta Peter Selinger. “Può diventare un utile strumento per la progettazione di nuovi algoritmi quantistici”.

Quipper servirà anche come banco di prova per testare idee e per comprendere come scrivere un software quantistico. Lo studio è stato presentato il mese scorso ad una conferenza a Seattle. E ora il principale problema concerne l’hardware, che è ancora molto rudimentale: ma gli studiosi sono certi che gli ulteriori sviluppi del software – che è testato simulando un computer quantistico su uno classico – potrà influenzare la progettazione dell’hardware stesso.

Per questo problema le principali simulazioni e stime sono state effettuate sulle varie forme esistenti di hardware quantistico, compresi i dispositivi che utilizzano le trappole ioniche e i fotoni e, soprattutto, su D-wave, l’unico computer quantistico esistente sul mercato. Purtroppo, però, l’approccio adiabatico tipico di D-wave non è attualmente compatibile con Quipper. La creazione di Quipper è stata finanziata dalla IARPA(Intelligence Advanced Research Projects Agency) degli Stati Uniti, all’interno di un ampio progetto di ricerca mirato a definire con precisione il numero di qubit necessari per un computer quantistico di base, intendendo con questo un computer in grado di  risolvere almeno un problema non accessibile ad un calcolatore classico.

Ora, un punto chiave della faccenda consiste nell’implementazione dei programmi e nella costruzione di questi supercomputer.  I ricercatori della Johns Hopkins University Applied Physics Laboratory (APL) hanno messo a punto un algoritmo quantistico per la risoluzione di grandi sistemi di equazioni lineari. L’algoritmo potrebbe essere utilizzato in numerose applicazioni, tra tutte quella concernente le misure complesse come le sezioni trasversali nei radar. La ricerca è stata pubblicata nella rivista Physical Review Letters.

Ormai è chiara la differenza tra computer classici e quantistici, nonché l’importanza di implementare i secondi per lo sviluppo delle tecnologie nel campo della computazione quantistica. Un computer tradizionale ha una memoria fatta di bit classici che possono assumere due valori: 0 o 1. Ogni unità di informazione può dunque assumere un solo valore, mai entrambi contemporaneamente. La potenza dei computer quantistici sta tutta qui: ogni qubit può assumere sia uno dei due valori che entrambi in virtù del noto principio della sovrapposizione quantistica. Fino ad oggi sono stati costruiti numerosi sistemi di pochi qubit, ma un computer quantistico in scala reale sembra ancora lontano. I motivi? Prima di tutto un dato noto: i qubit sono difficili da manipolare poiché qualsiasi “disturbo” esterno determina la perdita del loro stato quantico – in gergo si dice che il sistema perde la sua coerenza. La decoerenza implica l’impossibilità di spiegarne il comportamento nei termini della meccanica quantistica. Altri computer non universali sono stati costruiti su vasta scala, tra cui il D-Wave One acquistato dalla NASA e Google, ma nessuno di loro attualmente ha il potere di sostituire i computer classici. Di qui l’importanza dei progetti di ricerca che coinvolgono l’implementazione degli algoritmi quantistici.

Alcuni passi avanti sono però stati fatti. Nel 1994 Peter Shor ha introdotto un metodo per trovare i fattori primi di un numero elevato, una funzionalità in grado di rendere la moderna crittografia vulnerabile. Quindici anni dopo, i ricercatori del MIT hanno presentato il Quantum Linear Systems Algorithm (QLSA), che ha promesso di portare lo stesso tipo di efficienza dei sistemi di equazioni lineari, la cui soluzione è fondamentale: dall’elaborazione di immagini, video, segnali di controllo, modellistica e robotica, fino all’analisi genetica, per citare solo alcune applicazioni. “Ma è abbastanza per spiegarne i processi, dato che nessuno riusciva a capire come ottenere una risposta utile fuori dal computer”, spiega David Clader di APL che, insieme a Bryan Jacobs e Chad Sprouse, è autore dell’articolo di cui stiamo parlando: Preconditioned Quantum Linear System Algorithm.

Questo secondo paper contiene le indicazioni necessarie per l’applicazione del nuovo algoritmo e promette anche di incidere sulla velocità di elaborazione dei problemi: da notare, soprattutto, il modo in cui si è ottenuta la codifica del calcolo della sezione trasversale nella diffusione elettromagnetica, anche noto come Radar Cross Section (RCS). Misurazioni precise della RCS sono sempre più importanti per i militari, essendo connesse con la capacità di rilevare con esattezza un oggetto una volta che è stato localizzato con un radar (ne beneficiano soprattutto missili, navi, carri armati e aerei).  La ricerca è stata finanziata dall’Intelligence Advanced Research Projects Activity, all’interno del programma Quantum Computer Science che si occupa di questioni relative alle risorse di calcolo necessarie per eseguire algoritmi quantistici su computer quantistici realistici. (Articolo comparso su cyberscienza.it il 7/07/2013).

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...