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» – Albert Einstein
«Smetti di dire a Dio cosa deve fare!» – Risposta di Niels Bohr
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 20111.
Che cos’hanno di interessante? Beh, la natura quantistica del processo consente di affrontare problemi molto complessi, come la crittografia, esplorando differenti possibilità simultaneamente.
Proprio la crittografia quantistica si è rivelata uno dei campi più promettenti per i computer quantistici. Wikipedia ha addirittura una voce dedicata alla crittografia post-quantistica, ovvero agli algoritmi di crittografia “sicuri” da attacchi di computer quantistici.
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. Oggi il pensiero di macchine capaci di decifrare rapidamente tutti i codici crittografici 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 cosa sono i computer quantistici 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
Chiamiamo superposition la capacità di una particella di trovarsi contemporaneamente in diversi stati, finché non viene misurata.
La bizzarria è 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 stessa!
Questa bizzarria fu dimostrata con l’esperimento delle due fessure, in cui i fotoni si comportavano come onde quando non venivano osservati e come particelle quando venivano misurati.
I fenomeni “strani” nel mondo quantistico non si fermano qui. Abbiamo l’entanglement e l’effetto tunnel. Chiamiamo entanglement quando due particelle diventano così interconnesse che riescono a interagire a prescindere dalla distanza (!). In qualche caso una particella può attraversare istantaneamente un ostacolo “teleportandosi” dalla parte opposta, fenomeno che chiamiamo “effetto tunnel”.
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.
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 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 uscita2.

Porte quantistiche
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 restituisce un altro stato di superposition in uscita.
Quando si misura il risultato, la superposition “collassa” 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).

Un mondo di Qubit
Riassumendo, i computer quantistici sono costituiti 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. Questi si traduce in una lista di probabilità: una per ciascuna delle combinazioni possibili in input. Le combinazioni possibili 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 interessanti, quali la decifrazione delle chiavi crittografiche, non sono ancora possibili oggi. Si stima che per riuscire a decifrare una chiave RSA a 2048 bit servirebbero diverse migliaia di qubit e qualche milione di porte. Purtroppo però, il computer quantistico “universale” più avanzato disponibile oggi dispone di 17 qubit (IBM)3 .
Siamo ancora distanti per ora quindi, ma perché specificare “universale”? I computer quantistici universali sono computer quantistici che possono essere programmati 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.
Google Quantum Computing Playground
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-Q
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 che IBM e Google lavorino con pochi qubit quando D-WAVE ha annunciato di aver superato i 2000(!). In realtà i computer di D-WAVE, per quanto già utilizzati commercialmente con casi d’uso interessanti4, non sono computer quantistici universali.
L’utilizzo dei D-WAVE è limitato ai problemi di ottimizzazione, in cui si cerca la soluzione migliore tra molteplici possibili. Guardando al grafico di una funzione, trovare la soluzione significa trovare il “minimo assoluto”, ovvero il punto più basso5 .
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).
Il quantum annealing
L’approccio di D-WAVE è quello di usare un metodo chiamato “quantum annealing” (che è un caso specifico di modello adiabatico).
Il circuito parte da uno stato di energia relativamente elevata, consentendo ai vari qubit di “superare” le soglie dei minimi. Questo anche grazie all’effetto tunnel, in cui la particella riesce ad “attraversare” la soglia, arrivando direttamente al minimo adiacente.

Il processo viene ripetuto più volte, raffreddando progressivamente lo stato in modo da “amplificare” l’effetto dei vari minimi. Si prosegue fino a raggiungere un livello di energia praticamente uguale a zero. A questo punto non ci si sposta più dai minimi raggiunti, che rappresentano 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 livello di interconnessione tra i vari qubit. Di fatto, questa è la ragione “spicciola” per cui è stato possibile implementare quantità di qubit così elevate paragonate alla concorrenza.
L’approccio topologico 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. Invece di codificare l’informazione nelle particelle (come 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.

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 l’informazione è legata alla struttura invece che alle particelle. In questo modo è molto meno sensibile ad oscillazioni, 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 degli “anyon” è stata in dubbio per decenni, per cui anche i progressi sono stati limitati. Questo 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.
Questo articolo è stato originariamente pubblicato su Spindox.it: Computer quantistici: guida galattica all’uso
Note
1. 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.
2. Es. nella porta AND, il risultato sarà 1 quando entrambi i bit in ingresso valgono 1, e 0 negli altri casi
3. Google ha annunciato che presto renderanno disponibile la loro versione a 50 qubit.
4. Come ad esempio la validazione di sistemi software complessi in Lockheed Martin.
5. Anche se possono esistere altre soluzioni possibili, anche se meno ottimali (minimi locali)
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 at 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
Andrea lavora nel campo dell’IT da quasi 20 anni coprendo un po’ tutto, da sviluppo a business analysis, alla gestione di progetti.
Oggi possiamo dire che è uno gnomo spensierato, appassionato di Neuroscienze, Intelligenza Artificiale e fotografia.