Mr Q. #2: Chicchi di grano, monete e fotoni

Secondo un'antica leggenda, un mercante indiano si presentò un giorno al palazzo reale, per presentargli un gioco di nuova invenzione. Condotto alla presenza del sovrano, il mercante  aprì una scatola ed estrasse una tavola con 64 caselle bianche e nere. Sistemò su metà delle caselle 32 statuine di legno e spiegò al re le principali regole del gioco.
- Come volete chiamare questo gioco? - domandò il sovrano
- Lo chiamerei "gioco degli scacchi", sire.
- Il gioco che avete inventato è davvero sublime. Per questa nobile invenzione meritate una lauta ricompensa. Ditemi, cosa desiderate? Un palazzo? Una provincia dell'impero? Qualsiasi cosa chiediate vi sarà concessa.
- Sire, non desidero altro che un chicco di grano per la prima casella della scacchiera, due chicchi per la seconda, quattro chicchi per la terza, otto per la quarta, e così via, raddoppiando ogni volta fino ad arrivare all'ultima casella.
Il re rise.
- Soltanto questo? Ma potete avere molto di più. Davvero vi accontentate di questi pochi chicchi di grano?
Il mercante confermò il suo desiderio, e il re, meravigliato dalla modestia del mercante, ordinò ai servitori che fosse subito esaudito. Quando i matematici di corte fecero i conti, informarono il re che per accontentare il mercante non sarebbero bastati i raccolti di tutto l'impero per mille anni.
In effetti, il mercante aveva chiesto 20 = 1 chicchi per la prima casella, 21 = 2 per la seconda, 22 = 4 per la terza, e così via.  Il numero totale di chicchi è quindi 20 + 21 + 22 + 23 + ... + 263 = 264 - 1 = 18.446.744.073.709.551.615 (più di 18 miliardi di miliardi). Insomma, per accontentare il mercante, il re avrebbe dovuto consegnargli la produzione mondiale di grano di ben 3000 anni! 

Cosa ci insegna questa leggenda? A parte l'utile lezione che conviene sempre fare bene i conti prima di firmare qualsiasi contratto (e quindi la matematica serve), ci insegna che raddoppiando ripetutamente un numero si arriva molto rapidamente a quantità astronomiche.
Da ciò discende una curiosa conseguenza. Se volessimo dare un nome a ciascuno dei chicchi di grano guadagnati (almeno in teoria) dal furbo mercante, ci basterebbero 64 bit (cioè zeri e uni); in altri termini, mettendo in fila 64 bit si possono creare 18.446.744.073.709.551.615 diverse combinazioni.

In un computer classico, un registro da 64 bit può di volta in volta codificare un numero compreso tra 1 e 18.446.744.073.709.551.615.
In un computer quantistico, invece, un registro da 64 qubit contiene simultaneamente tutti quei numeri: tutti i chicchi di grano vinti dal mercante, nessuno escluso, sono nello stesso momento rappresentati in quel registro!
Se aggiungessimo nuovi qubit, il registro raddoppierebbe ogni volta la quantità di numeri rappresentabili, in una esplosiva escalation esponenziale (piaciuta l'allitterazione in e?).
Già un registro di soli 300 qubit conterrebbe in sè tanti numeri quante sono le particelle elementari nell'intero universo!

Non appena si va a leggere il contenuto del registro, però, questa coesistenza di numeri svanisce, un po' come i sogni che si dissolvono all'alba, e salta fuori uno e uno solo dei numeri che prima erano simultaneamente presenti in quei qubit.
Alcuni autori hanno proposto una metafora molto efficace: il bit classico è simile ad una moneta che viene lanciata e cade a terra mostrando una delle due facce; il qubit, invece, è paragonabile ad una moneta che, una volta lanciata, cade ma comincia a ruotare su se stessa, finché qualcuno non la fermi con la mano obbligandola ad esibire una delle due facce.



Gi studiosi di computazione quantistica si riferiscono a questa sorta di coabitazione di dati come "sovrapposizione", ma prima di loro erano i fisici quantistici a utilizzare questa parola.  I registri a qubit vengono infatti implementati nei computer quantistici tramite sistemi che obbediscono al fenomeno di sovrapposizione previsto dalla meccanica quantistica, del quale ho già accennato nel primo post di questa serie.
Un registro quantistico potrebbe, ad esempio, essere costituito da un fotone, che assume due possibili stati di polarizzazione (verticale o orizzontale).  Nella terminologia solitamente utilizzata in meccanica quantistica,  i due valori possono essere rappresentati rispettivamente con il simbolo |0> e con il simbolo |1>.
Supponiamo che un fotone polarizzato verticalmente venga fatto passare attraverso un polarizzatore posto a 45° rispetto alla verticale: se il fotone riesce a passare attraverso il polarizzatore, emergerà polarizzato diagonalmente a 45°. Questo stato particolare corrisponde in realtà ad una sovrapposizione degli stati di polarizzazione verticale e orizzontale. Secondo l'interpretazione a molti mondi, in metà degli universi il fotone avrà una polarizzazione verticale, e nell'altra metà presenterà una polarizzazione orizzontale.
Quando i due valori che si sovrappongono hanno la stessa probabilità di essere misurati, i fisici usano il simbolismo |0> + |1>.  Ma attenzione: quel segno + non indica una somma, ma appunto una sovrapposizione quantistica.  Per la verità, la sovrapposizione tra due stati equiprobabili |0> e |1>, dovrebbe essere indicata come
Questo perché nel simbolismo che rappresenta la sovrapposizione, i coefficienti dei due stati indicano le ampiezze degli stessi stati, e secondo la meccanica quantistica le rispettive probabilità sono uguali al modulo quadrato delle ampiezze. Dato che
 
la somme delle probabilità danno 1, cioè la certezza, come è giusto che sia.
Se le probabilità dei due stati sono diverse, possiamo esprimere la sovrapposizione con il simbolismo a|0> + b|1>, a condizione che sia  a2 + b2 = 1.

La meccanica quantistica, come ognuno sa, è una teoria strana, piena di fatti difficili da comprendere alla sola luce del buon senso. Tra le stranezze c'è anche il fatto che l'ampiezza associata ad uno stato può essere negativa. Non solo: i coefficienti possono addirittura essere numeri complessi. Ma non addentriamoci troppo in questi dettagli matematici.
Limitiamoci a prendere atto che sono perfettamente legittimi stati come - |0>, sovrapposizioni del tipo |0> - |1>, e così via.
Un modo efficace per rappresentare geometricamente i possibili valori di un qubit è la cosiddetta sfera di Bloch, sulla quale un qubit viene identificato come punto sulla superficie di una sfera di raggio unitario.

Così come i computer classici, anche i computer quantistici sono costituiti da circuiti logici, solo che in questo caso si tratta di circuiti che manipolano qubit anziché bit.
Vedremo nella prossima puntata come sono fatti questi circuiti logici, e ci avvicineremo al concetto di algoritmo quantistico.

Commenti