Dagli studi logici di Alan Turing
al primo computer, dall’invenzione di internet ad oggi il progresso tecnologico
ha registrato un’accelerazione senza pari nella storia della civiltà umana. Per
vari decenni l’aumento della potenza di calcolo dei computer è proceduto
parallelamente alla miniaturizzazione dei transistor, un fenomeno descritto
come “legge di Moore”: tra gli anni ’60 e gli anni ’80 del secolo scorso la
complessità dei processori, misurata ad esempio sulla base del numero di
transistor presenti, ha quadruplicato ogni tre anni, per poi addirittura
accelerare fino ad arrivare ai limiti stabiliti dai piccoli ordini di grandezza
raggiunti oggi. I transistor di silicio più recenti hanno la dimensione di 10
nanometri, un ordine di grandezza vicino a quelli in cui si manifestano i
turbolenti fenomeni della meccanica quantistica.
Quello che inizialmente era un
limite è poi diventato la base di una nuova tecnologia, e forse anche di una
nuova generazione di processori: i computer quantistici. L’idea risale agli
anni ’80, quando il fisico Richard Feynman comprese che i principi fisici su
cui si basa un hardware (la componente fisica del computer) influenzano
profondamente la sua capacità di affrontare i problemi e tentò di concepire una
macchina funzionante in base alle leggi della fisica quantistica, aprendo così
una nuova era per l’informatica. Solo di recente, grazie ai progressi della
tecnologia, si è arrivati ad un risultato concreto: nel 2011 la D-Wave Systems ha
annunciato il D-Wave One, il primo computer quantistico della storia ad
essere commercializzato, e nel 2016 la società IBM ha messo a disposizione
pubblicamente IBM Quantum Experience, il primo computer quantistico in
modalità cloud.
Per capire il funzionamento di un
computer quantistico e le novità che presenta è necessario comprendere il
funzionamento dei computer tradizionali. Ogni computer ragiona in termini di
“bit”, l’unità di misura fondamentale dell’informazione e la quantità minima di
input che il computer riesce ad elaborare (il termine deriva da “binary digit”,
e significa appunto “pezzetto”). Nel corso della storia dei computer i bit
hanno assunto le forme fisiche più varie: voltaggi applicati ai connettori di
un transistor, buchi eseguiti in una scheda perforata, leve, righe bianche e
nere di un codice a barre, porzioni magnetizzate di un disco. A prescindere
dalla struttura, i bit possono assumere soltanto due stati: il connettore di un
transistor può essere alimentato oppure no, una singola parte di una scheda può
essere perforata oppure no, una leva può essere alzata o abbassata, le porzioni
di un disco possono essere magnetizzate in un senso oppure nell’altro, e così
via. Qualsiasi informazione l’utente voglia codificare, deve farlo in codice
binario: attraverso, cioè, elementi (i bit) che possono assumere due valori,
cui si dà convenzionalmente il nome di “0” e “1” . I bit sono raggruppati in “registri” o
“sequenze”: quando si parla di PC a 32 o 64 bit si intende il numero massimo di
bit che il computer è in grado di elaborare contemporaneamente. La quantità di
informazione presente in un registro consiste nel numero di combinazioni dei
valori 0 e 1 che possono assumere i bit che contiene: dato che i valori sono
due, se il registro ha n bit il
numero possibile di combinazioni è 2n. Ad esempio, un computer a 32
bit è in grado di gestire registri che presentano 232 possibili
combinazioni di 0 e 1: 00, 01, 101, 0001, 11101, fino ad una sequenza di 0 e 1
che abbia 232 cifre.
Tutti i registri vengono gestiti
dal computer attraverso un numero limitato di “porte logiche” o “calcoli di
base”, sette in tutto, che appartengono alla logica introdotta dal matematico
britannico George Boole nel corso del Diciannovesimo secolo: per fare qualche
esempio, la porta “NOT” inverte il valore dell’input (da 0 a 1 e viceversa); la porta
“AND” dà come output 1 nel caso in cui tutti gli input abbiano come valore 1
(11, 111, 1111, ecc.), 0 in
tutti gli altri casi (01, 010, 0010, ecc.); la porta “OR” assegna all’output
valore 1 se almeno un elemento del registro è 1 (01,010,0100, ecc.), 0 in tutti gli altri casi.
Ogni computer elabora gli input eseguendo tutti i calcoli che occorrono, uno
dopo l’altro, applicando le operazioni logiche (opportunamente collegate da uno
o più algoritmi) a tutti i bit, fino a dare come risposta l’output finale:
l’input è la sequenza iniziale di 0 e 1, l’output la sequenza finale di 0 e 1
che risulta dai vari calcoli effettuati. Talvolta il numero di dati e di
calcoli può essere così elevato che il computer restituisce un output soltanto
dopo un lungo lasso di tempo, anche anni o decenni (come nel caso delle
equazioni della teoria delle stringhe, in generale in tutti i casi in cui si
abbia a che fare con problemi definiti tecnicamente “intrattabili”), rendendo
poco pratico il chiedergli di eseguire quel determinato compito.
Come i processori tradizionali, i
computer quantistici sono sistemi binari: elaborano unità di informazione che
possono avere due valori, 0 e 1.
A differenza dei computer classici, tuttavia, i computer
quantistici sfruttano i fenomeni della meccanica quantistica, come la
sovrapposizione coerente di stati, l’entanglement,
l’interferenza quantistica e l’effetto tunnel: questo gli conferisce non solo
una potenza di calcolo immensamente più grande dei processori tradizionali, ma
soprattutto la capacità di risolvere problemi classicamente intrattabili come
la generazione di numeri veramente casuali, la fattorizzazione di cifre molto
grandi, la ricerca efficiente in database e l’analisi di big data.
Al posto dei bit il computer
quantistico utilizza i “qubit” (“quantum bit”), l’unità di informazione basata
su fenomeni quantistici, alla cui realizzazione sono stati di volta in volta
utilizzati atomi, molecole all’interno di soluzioni liquide, fotoni
intrappolati in un campo magnetico, e così via. Per la produzione del proprio
computer quantistico da 5 qubit la società IBM ha utilizzato le cosiddette
“giunzioni Josephson”, costituite da due parti di metallo superconduttore unite
da un materiale isolante o un metallo non superconduttore, che sfruttano i
fenomeni quantomeccanici della superconduttività (l’assenza di resistenza al
passaggio di elettroni, all’interno di particolari metalli portati ad una
temperatura vicina a -273,15 gradi Celsius) e dell’effetto tunnel: il fatto, cioè,
che una particella possa superare una barriera, ad esempio uno strato isolante
o un campo di potenziale, anche senza avere la carica energetica sufficiente.
Un fenomeno incompatibile con le leggi della fisica classica: un corpo che
rotola lungo il crinale di una montagna situata in una valle, se non ha
un’energia potenziale sufficiente a superare l’altro crinale, tornerà
sicuramente indietro.
Come i bit tradizionali, i qubit
possono assumere due soli valori: ogni volta che misuriamo un qubit, esso ha
sempre valore 0 oppure 1. Tuttavia, a differenza dei bit i qubit possono
trovarsi in un’altra condizione: la sovrapposizione coerente di stati. Per
comprendere questo principio della fisica quantistica è necessario abbandonare
la concezione tradizionale (e intuitiva) delle particelle: la particella (ad
esempio un elettrone) non è una minuscola entità sferica dotata di uno stato
(posizione nello spazio e nel tempo, velocità) oggettivo e ben definito, ma la
sovrapposizione di tutti i suoi possibili stati futuri, ciascuno "pesato” con
una probabilità (matematicamente, una funzione d’onda probabilistica). Occorre
provare a immaginarla come il pavimento di un’immensa grotta, delle dimensioni
dell’Universo, da cui si elevano tante stalagmiti raggruppate in una piccola
zona: ciascuna stalagmite rappresenta la probabilità di trovare la particella
in quel punto, e più alta è la stalagmite più alta è la probabilità di trovarvi
la particella. Prima della misurazione con gli appositi apparati strumentali
non ha senso parlare di una particella in un punto ben preciso e con una
velocità ben definita: l’atto di misurazione partecipa alla creazione della
realtà osservata, fa “collassare” la funzione d’onda e si ottiene un valore
preciso per una quantità che prima era semplicemente una delle tante
possibilità. È proprio l'osservazione che provoca la "scelta " di
quel particolare valore fra tutti quelli possibili: come se tutte le stalagmiti
presenti nella grotta, ad eccezione di quella alla cui sommità di volta in
volta si trova la particella, rimanessero lì dove sono quando gli speleologi
sono fuori a riposarsi e sparissero ogni volta che partono in esplorazione per
cercarla.
Ogni volta che viene misurato, il
qubit restituisce sempre come valore 0 oppure 1: prima di essere misurato,
tuttavia, esso si mantiene in una sovrapposizione degli stati 0 e 1, e questo
conferisce al computer quantistico una capacità di calcolo immensamente
superiore ai computer tradizionali. Un processore classico, infatti, esegue
calcoli su un numero n di registri di
valore ben definito (ogni bit è 0 o 1), che dopo ogni operazione si trovano in
un nuovo stato ben preciso, fino all’output finale che ha anch’esso un valore
definito (un numero n di registri di
bit 0 o 1): dopo ogni calcolo, l’input si trova in una ben precisa sequenza di
0 e 1 tra le 2n possibili. In un computer quantistico, invece,
l’input si trova non in un solo stato definito, ma in un numero molto elevato
dei 2n possibili stati, consentendo al pc di esplorare varie strade
per calcolare l’output da passare al calcolo successivo. Come mai l’input si
trova in un numero molto elevato, ma non in tutti i 2n stati possibili? La ragione risiede nell’entanglement quantistico, uno tra i
fenomeni più incredibili e contro intuitivi della meccanica quantistica: il
fatto che due particelle risultano correlate ed interdipendenti nelle proprietà
anche a distanze lunghissime (persino anni luce, teoricamente l’intera
grandezza dell’Universo), comportandosi di fatto come una sola entità. Se una
delle due viene misurata, e di conseguenza forzata in un determinato stato
osservabile, anche l’altra manifesta istantaneamente un cambiamento di stato
identico (o meglio: complementare, dato che due particelle vicine nello spazio
sono legate da una relazione di anti-parallelismo). Nei computer quantistici
questo effetto viene utilizzato per mettere in correlazione input ed output,
ponendo due qubit in uno stato di entanglement:
ciò riduce il numero di stati che un registro può assumere, eliminando in
partenza una o più sequenze di 0 e 1. L’entanglement,
insieme alla sovrapposizione coerente di stati, è alla base del funzionamento
del computer quantistico: la sovrapposizione coerente di stati consente il
vertiginoso aumento di capacità di calcolo rispetto ai processori classici, ma
senza l’entanglement non sarebbe
concretamente possibile estrarre informazioni da uno o più registri di qubit,
rendendo così inutili tutti i calcoli.
La
tecnologia dei computer quantistici è appena agli albori, ed è molto complicato
fare previsioni sui tempi di sviluppo e sulla sua diffusione su larga scala: ad
oggi soltanto gli enti istituzionali ed i miliardari hanno le risorse
necessarie (vari milioni di dollari) ad acquistarne uno, e la comunità
scientifica internazionale dovrà fare passi da gigante per realizzare
processori quantistici dotati di molti qubit e formulare una logica
computazionale adatta ai fenomeni quantistici. La strada è ancora lunga, ma la
scienza ha tutto l’interesse a percorrerla: oltre alla capacità di affrontare e
risolvere i problemi intrattabili con i processori classici, il computer
quantistico apre alla possibilità di effettuare simulazioni virtuali di sistemi
quantistici, consentendo alla fisica (sia teorica che sperimentale) di entrare
in una nuova era.