Computer quantistici, come barcamenarsi tra i nastri di Turing, il gatto di Schrödinger e i dadi di Einstein
«Dio non gioca a dadi con l’universo», è una delle massime di Albert Einstein più citate nell’ambito della fisica; la leggenda vuole che Niels Bohr avesse risposto: «Smetti di dire a Dio cosa deve fare!».
La storia (finora) sta dalla parte dei dadi. Ma se questa è la storia, l’attualità sono i computer quantistici, che potrebbero in pochi anni operare rivoluzioni in campi come la crittografia, le simulazioni e i problemi NP in generale.
Lo scorso luglio Google annunciava che i propri servizi cloud ospiteranno presto l’elaborazione quantistica. Si tratta dello stesso servizio già reso disponibile da IBM con IBM-Q da maggio. Dal canto suo D-WAVE commercializza D-WAVE ONE già dal 2011.
Questi servizi non sono tanto orientati all’utente medio, quanto a enti di ricerca e governativi per continuare studio e sperimentazione su questo genere di elaborazioni.
Che cos’hanno di interessante? Beh, la natura quantistica del processo consente in determinate condizioni di affrontare problemi molto complessi, come la crittografia, esplorando e testando differenti possibilità simultaneamente.
Proprio la crittografia quantistica si è rivelata uno dei campi più promettenti per i computer quantistici, al punto che esiste una pagina wikipedia dedicata espressamente alla crittografia post-quantistica, ovvero agli algoritmi di crittografia che si pensano sicuri dall’ipotetico attacco di un computer quantistico.
Oggigiorno è immensa la quantità di dati protetta da sistemi crittografici come RSA: dalle transazioni bancarie, a documenti top-secret, a blockchain. Algoritmi in grado di decifrare chiavi complesse come RSA esistono già, come quello di Shor, e il pensiero di macchine in grado di decifrare in poco tempo tutti i codici crittografici (compresi quelli di dati già esistenti) sta facendo lentamente montare il panico.
L’utilizzo potenziale dei computer quantistici non riguarda solo la crittografia. Esso è applicabile a (quasi) qualsiasi problema che sia parallelizzabile, come l’intelligenza artificiale (Analisi di software complessi, riconoscimento di oggetti nelle fotografie), simulazioni chimiche, modelli finanziari, previsioni meteorologiche etc.
La corsa ai computer quantistici è iniziata.
Ma che cos’è un computer quantistico?
La scienza che sta dietro al funzionamento dei computer quantistici è qualcosa di bizzarro e strano, e con proprietà decisamente controintuitive alla luce della nostra esperienza quotidiana.
Per tentare di spiegare che cos’è un computer quantistico partiamo dalle analogie con i computer tradizionali.
I computer tradizionali lavorano con i bit (Binary digIT), unità fondamentali di informazione, i quali possono assumere come stato soltanto 0 oppure 1; i computer quantici d’altra parte utilizzano i qubit (QUantum BIT), i cui stati rappresentano anch’essi ai fini pratici 0 o 1.
Inoltre in entrambi i casi i calcoli vengono effettuati attraverso opportune porte logiche, che estraggono risultati a seconda della configurazione di ingresso.
Ma le analogie finiscono qui, perché mentre un bit in un dato istante può essere solamente 0 o 1, un qubit in superposition assume contemporaneamente tutti gli stati compresi tra 0 e 1.
Spiegato in parole più semplici, mentre una variabile a 2 bit assume in un dato momento un valore dei 4 teorici (es: 01), una variabile a 2 qubit è contemporaneamente 00, 01, 10, 11 finché non viene letta.
Superposition ed entanglement
La proprietà di cui sopra viene chiamata superposition, ovvero la capacità di una particella di trovarsi contemporaneamente in diversi stati, finché non viene misurata.
La bizzarria (almeno così ci appare) è che non si tratta semplicemente di un valore “nascosto”, in attesa di essere letto: la particella si trova realmente in una specie di “limbo”, e l’evento decisivo è proprio la lettura da parte nostra. Per quanto sembri controintuitivo, questo fu dimostrato con l’esperimento delle due fessure (sotto), in cui i fotoni si comportavano come onde quando non venivano osservati e come particelle quando si tentava di effettuare misurazioni.
I fenomeni “strani” nel mondo quantistico non si fermano qui: abbiamo l’entanglement, dove due particelle si influenzano a vicenda istantaneamente, a prescindere dalla distanza (!), abbiamo l’effetto di tunneling, dove una particella può occasionalmente attraversare istantaneamente un ostacolo “teleportandosi” dalla parte opposta.
Tutti questi fenomeni sono teoricamente sfruttabili per affrontare problemi complessi con algoritmi quantistici, in cui diverse strade vengono percorse contemporaneamente, ricavando soluzioni in tempi esponenzialmente più veloci dei computer attuali.
La caratteristica principale delle particelle in meccanica quantistica è lo “spin”, ovvero il momento angolare.
Per convenzione diciamo che quando lo spin è verticale verso l’alto la particella si trova nello stato “0”, mentre se lo spin è verticale verso il basso la particella si trova nello stato “1”. Utilizzare l’asse verticale per rappresentare lo stato è ovviamente solo una convenzione, ma ci serve per lavorare.
Ora, come dicevamo, una particella si trova in uno stato di superposition finché non viene misurata, nel qual caso deve “decidere” che spin assumere, e sarà casualmente 0 o 1. Ma se questo è già difficile da capire coi concetti di fisica classica, ancora di più lo è l’idea di entanglement.
Due particelle si dicono in entanglement quando si trovano ad avere lo spin strettamente correlato. Per esempio, nel caso di entanglement complementare, le due particelle si troveranno ad avere spin opposti. Entrambe si trovano in superposition, ma nel momento esatto in cui andiamo a leggere il valore di una delle due, istantaneamente sapremo anche quello dell’altra: ovvero, se leggiamo 1, invariabilmente l’altra sarà o, e questo a prescindere dalla distanza.
Questo vuol dire che osservando una delle due possiamo conoscere con precisione lo stato dell’altra.
Il concetto di entanglement è fondamentale perché è grazie ad esso che le porte quantistiche riescono a effettuare operazioni logiche sui qubit. I computer tradizionali utilizzano insiemi di porte logiche, circuiti che compiono semplici operazioni su due bit in ingresso, restituendo un bit in uscita (es: la porta AND restituisce 1 quando entrambi gli input sono 1, altrimenti 0).
Una porta quantistica (quantum gate) invece manipola lo stato di superposition di un qbit, “ruota le probabilità” e restituisce un altro stato di superposition in output.
Quindi un circuito quantistico imposta dei qbit, applica combinazioni di porte quantistiche alterando le probabilità, e alla fine misura il risultato, “collassando” (come abbiamo visto le particelle sono costrette ad assumere uno stato definito quando vengono osservate) le superposition in una serie di 0 e 1: la soluzione.
Questo significa che tutte le combinazioni possibili con quel circuito vengono processate contemporaneamente, e il risultato alla fine sarà uno stato, con la probabilità annessa.
Esclusi i casi in cui la risposta è del 100% (pochi), lanciando l’esecuzione per un numero di volte, in risposta si avrà una serie di probabilità per ciascuna combinazione di input (vedi sotto).
Riassumendo, un computer quantistico è costituito di una serie di qubit arrangiati in una sorta di griglia in modo da comunicare reciprocamente. Immaginatelo come un piccolo magnete superconduttore in cui la direzione del flusso di elettroni determina lo spin.
Un circuito fatto di porte quantistiche ne manipola gli stati e produce il risultato del calcolo, che si traduce in una lista di probabilità: una per ciascuna delle combinazioni possibili in input, che crescono in ragione di 2↑n, dove n corrisponde al numero dei qubit.
Tutto questo sulla carta. In pratica calcoli complessi richiedono una certa quantità di qubit, e aggiungerne diventa sempre più complicato man mano che cresce il numero, perché il sistema si basa su equilibri molto delicati: i qubit si influenzano l’un l’altro e anche piccolissime perturbazioni possono generare errori difficili da correggere. Inoltre perché i circuiti manifestino le proprietà superconduttive necessarie a questo genere di calcoli, i computer quantistici devono essere tenute a temperature bassissime, prossime allo zero assoluto.
I computer quantistici “universali”: IBM e Google
Molte delle capacità che rendono i computer quantistici così interessanti, quali la decifrazione delle chiavi crittografiche, non sono ancora possibili con la tecnologia attuale. Si stima che per riuscire a decifrare una chiave RSA a 2048 bit servirebbero diverse migliaia di qubit e qualche milione di porte, mentre il computer quantistico “universale” più avanzato disponibile oggi dispone di 17 qubit (IBM), mentre Google ha annunciato che presto renderanno disponibile la loro versione a 50 qubit.
Siamo ancora distanti per ora quindi, ma perché specificare “universale”? Un computer quantistico universale è un computer quantistico che può essere programmato in modo generale per risolvere differenti problemi.
Questo genere di computer utilizza un approccio chiamato “Gate model”, ovvero un circuito quantistico composto da una serie di porte logiche quantistiche (vedi fig. sotto), sulla falsariga dei circuiti tradizionali.
IBM e Google hanno reso disponibile al pubblico api per apprendere il paradigma di sviluppo sotteso.
Nel caso di Google il Quantum Computing Playground in realtà è un simulatore di computer quantico, con hardware accelerato da GPU, con un’interfaccia web che permette di simulare circuiti quantici usando un linguaggio di scripting chiamato QScript.
IBM invece ha reso disponibile la propria architettura IBM-Q tramite una webapp chiamata Composer, che permette di implementare algoritmi in modalità grafica combinando opportunamente le varie porte disponibili.
La versione free è limitata all’architettura a 5 qubit fisici (ce n’è una a 16 in beta), mentre la versione a 17 qubit è commerciale.
Oltre all’accesso alla versione a 5 qubit è anche possibile sperimentare con architetture arbitrarie, in modalità simulata.
Il modello D-WAVE, oltre i 2000 qubit
Sembra strano leggere di IBM e Google che lavorano a computer con poche decine di qubit quando D-WAVE ha da poco commercializzato il primo computer quantico oltre i 2000 qubit (!) In realtà i computer di D-WAVE, per quanto già utilizzati commercialmente, con diversi casi d’uso interessanti come la validazione di sistemi software complessi in Lockheed Martin, non sono computer quantici universali.
In altri termini, l’utilizzo dei D-WAVE è limitato ai problemi di ottimizzazione, in cui si cerca la soluzione migliore tra molteplici possibili. In parole povere, guardando al grafico di una funzione, trovare la soluzione significa trovare il “minimo assoluto”, ovvero il punto più basso, anche se possono esistere altre soluzioni possibili, anche se meno ottimali (minimi locali).
Il problema tipico che si riscontra in questo genere di calcoli (comuni nell’ambito di machine learning), è che è molto difficile capire se un dato punto rappresenta un minimo assoluto oppure uno solamente locale (nel qual caso ci sarebbero soluzioni migliori da ricercare).
L’approccio di D-WAVE è quello di usare un metodo chiamato “quantum annealing” (che è un caso specifico di modello adiabatico). Nello specifico il circuito parte da uno stato di energia relativamente elevata, che consente ai vari qubit di”superare” le soglie dei vari minimi, anche grazie a un fenomeno chiamato tunnel quantistico (vedi sotto), in cui la particella riesce ad “attraversare” la soglia da parte a parte, arrivando direttamente al minimo adiacente.
Il processo viene ripetuto più volte, raffreddando progressivamente lo stato in modo da “amplificare” l’effetto dei vari minimi, fino a raggiungere un livello di energia praticamente uguale a zero, in cui non ci si sposta più dai minimi raggiunti, e che rappresenta le soluzioni trovate.
Esempio pratico per illustrare il meccanismo di quantum annealing
Questo processo anche se non “universale”, nelle stime di Google riesce a superare di parecchi ordini di grandezza la velocità dei computer tradizionali per problemi di ottimizzazione e ricerca specifici.
La scelta di D-WAVE di specializzarsi nel quantum annealing ha reso possibile ridurre il liveello di interconnessione tra i vari qubit, e questa è la ragione “spicciola” per cui è stato possibile implementare quantità di qubit così elevate paragonate alla concorrenza.
La versione di Microsoft
Microsoft dal lato suo sta lavorando a quello che viene chiamato approccio topologico, che è totalmente diverso dai precedenti. Infatti, l’approccio topologico utilizza la teoria delle trecce come base matematica: in sintesi, invece di codificare l’informazione nelle particelle (nei precedenti esempi avevamo ipotizzato lo spin), questa viene codificata nell’ordine in cui le particelle vengono scambiate. Scambiando e permutando le particelle la scia che lasciano assomiglia appunto a delle trecce (vedi la figura qui sotto).
Gruppo di permutazione nella teoria delle trecce
Le particelle vengono poi combinate due a due alla fine delle permutazioni: alcune si annichiliranno a vicenda, mentre altre no, e questa sarà l’informazione in risposta. Il vantaggio di questo modello è che essendo l’informazione legata alla struttura invece che alle particelle, è molto meno sensibile alle oscillazioni, al rumore e alla perdita di coerenza delle particelle stesse (evitando così di perdere lo stato di superposition).
Il problema che fino a poco tempo fa c’era in questo approccio, è che tutto il modello si basa sull’esistenza di una specifica quasiparticella, chiamata in inglese “anyon” (in italiano viene tradotto col bizzarro nome di qualunquone).
L’esistenza stessa dei “anyon” è stata in dubbio per decenni, per cui anche i progressi sono stati limitati finché nello scorso 20 luglio, Science non ha pubblicato uno studio in cui è stata finalmente provata sperimentalmente.
Siamo solo agli inizi, ma la corsa è partita.
LINKS
Aziende leader nel campo
Google: Google Quantum A.I. Lab Team – About – Google+ in Mountain View, CA. They also have relations with a group at UC Santa Barbara, so they might have work going on there too.
IBM: Theory of quantum computing and information group, based in the Watson Research Center in NY.
Microsoft: Page on microsoft.com Station Q in Santa Barbara, California.
ID Quantique: ID Quantique, the home of Quantum-Safe Crypto based in Switzerland, sells commercial quantum cryptography systems.
MagiQ: Home based in Massachusetts also makes a commercial quantum cryptography system.
Articoli
The quantum clock is ticking on encryption – and your data is under threat
Nature: Commercialize quantum technologies in five years
Top 3 Quantum myths and misconceptions
Topological Quantum Computer – Professor John Preskill, Caltech
why topological quantum computers cannot work -Gil Kalai
Israel gets spooky with national quantum lab
Overview of adiabatic quantum computation
Quantum Computers Compete for “Supremacy”
Inside Microsoft’s quest for a topological quantum computer
Google Quantum Computing Playground
Why Quantum Computers Might Not Break Cryptography
Google’s Quantum Computing Push Opens New Front in Cloud Battle