La posta di Schrödinger S1.E4
Cosa sono i (qu)bit e cosa succederebbe se avessimo uncini al posto delle mani
Sono tre episodi che ci giro intorno, quindi direi che è ora di parlare dell’elefante nella stanza.
O nella casella di posta. Fate voi.
Ovvero: cosa si intende dire quando si parla di qubit.
Prima senza la “qu”
Iniziamo col parlare di bit. Un bit è un qualcosa che può avere solo due valori.
Di solito, si parla di 0 e di 1.
In pratica, un bit funziona come un interruttore della luce. Può essere solo acceso o spento. Quindi 1 o 0.
La cosa affascinante è che possiamo scrivere qualunque altro numero in termini di bit. Per farlo, però, ci serve di usare più di un bit. Ad esempio, il numero composto da due bit
10
corrisponde a quello che di solito chiamiamo 2. E il numero a tre bit
110
corrisponde al “nostro” 6.
Vi sembra magia? In realtà è quello che matematicamente chiamiamo un cambio di base.
Probabilmente avrete sentito dire che noi umani tipicamente contiamo in base decimale. Ovvero raggruppiamo le cifre a multipli di dieci. Infatti, abbiamo dieci simboli diversi
0,1,2,3,4,5,6,7,8,9
e poi, se dobbiamo andare al numero successivo, dobbiamo necessariamente passare a due cifre
10
e continuare così fino a che non arriviamo ad un nuovo multiplo di dieci
11,12,13,14,15,16,17,18,19
e poi, appunto, cambiamo la seconda cifra al simbolo successivo
20
Questa cosa continua finché non ci tocca passare a tre cifre. Ovvero fino a che non abbiamo esaurito i simboli possibili anche per la seconda cifra (quindi siamo arrivati a 90,91,….,99) e quindi dobbiamo passare a 100.
Ogni cifra rappresenta un multiplo di dieci più grande. Infatti si parla di cifra delle unità (la prima), delle decine (la seconda), delle centinaia (la terza), delle migliaia (la quarta), e così via.
Ora, non sono molto informato sul perché abbiamo deciso di contare a multipli di dieci. Credo ci siano varie teorie al riguardo. E suppongo che una di questa abbia a che fare con il fatto che le nostre mani abbiano dieci dita.
Quindi vi chiedo di piegare per un attimo le regole della storia e dell’antropologia e far finta che questa ultima teoria sia l’unica che conta. E immaginarvi un ipotetico mondo parallelo in cui l’essere umano si sia evoluto avendo solo due dita. Tipo due mani ad uncino, per capirci.
Come avrebbero contato questi uniciniani?
Se seguiamo il ragionamento di prima, avrebbero inventato tanti simboli quanti le loro dita (uncini). E quindi non dieci diversi, ma due. Ad esempio
0,1
Che avrebbero fatto questi uniciniani se si fossero trovati di fronte a tre cavalli? Bè, avrebbero fatto come abbiamo fatto noi: avrebbero aggiunto una seconda cifra, così da poter scrivere altri due numeri successivi
10,11
Così come 3 è il quarto simbolo del sistema decimale, qui abbiamo 11. Quindi, un trio di uniciniani che partiva per la caccia si sarebbe detto fra loro “Prendiamo 11 cavalli, ché facciamo più rapidi”
E per esprimere il concetto di quattro, cinque, sei e sette? Ormai avrete capito: ci serve una terza cifra
100, 101,110,111
Poi, per passare a otto, ci servirebbe una quarta cifra. Per passare a sedici, una quinta. A trentadue, una sesta. Eccetera,eccetera.
In pratica, sarebbe lo stesso fenomeno che è accaduto a noi con il sistema decimale. Solo che ora, anziché avere cifre che rappresentano multipli di dieci, gli uniciniani avrebbero cifre che rappresentano multipli di due. Quindi, mentre noi parliamo di unità, decine, centinaia e migliaia, gli unciniani parlerebbero di unità, duine, quartine, ottine, sedicine.
Armat@ come siete di questa nuovo sistema di calcolo uniciniano, forse il fatto che il numero 110 significhi sei e non centodieci potrebbe sembrarvi meno misterioso.
Provo a fare il ragionamento in un ultimo modo, così magari risulta ancora più chiaro.
Nel sistema decimale, ogni cifra rappresenta un multiplo di dieci, quindi 110 vuol dire “una volta cento, più una volta dieci, più zero volte uno”. Centodieci, appunto. Ma lo stesso numero, in sistema unciniano, vorrebbe dire “una volta quattro, più una volta due, più zero volte uno”. Indovinate un po’? Sei.
Va bene, dopo tutta questa disamina del mondo parallelo degli uniciniani, vi svelo un’ultima verità: nonostante non abbiamo uncini al posto delle mani (almeno non la maggior parte di noi), questo sistema unciniano ad un certo punto ce lo siamo inventati pure noi. Solo che l’abbiamo chiamato in modo diverso.
Visto che quello che va a multipli di dieci l’abbiamo chiamato sistema decimale, quello a multipli di due l’abbiamo chiamato - con non molta fantasia, devo dire - sistema binario.
Operazioni unciniane
La storia del sistema binario non finisce qui.
Finora vi ho raccontato di come possiamo rappresentare tutti i numeri che conosciamo bene - quelli del sistema decimale - anche nel sistema binario.
A questo punto, forse non vi sorprenderà più di troppo se vi dico che, non solo possiamo rappresentare questi numeri, ma anche farci tutte le operazioni che vogliamo.
Ad esempio, possiamo sommare due numeri scritti in binario.
Torniamo alla storia degli unciniani per un attimo. E immaginiamoceli ora a mandare i loro figli e figlie a scuola elementare. Dopo aver scoperto che, usando le mani possono solo arrivare a contare fino a 11 (cioè 3), ogni bambin@ si troverebbe a dover imparare le addizioni.
E per farlo, verrebbe loro insegnato il metodo che conosciamo tutti: le addizioni in colonna. Non voglio risvegliarvi brutti ricordi, quindi non mi addentrerò di nuovo nei dettagli delle addizioni in colonna. Vi basti pensare che, esattamente lo stesso metodo si può applicare per sommare due numeri scritti in binario.
Quindi, un@ bambin@ uncinian@, riuscirebbe senza troppi problemi a dirvi che 10 + 11 fa 101. Provate per credere. Non a chiedere ad un@ bambin@ uncinian@, ma a fare il calcolo, dico.
Dopo le addizioni, il sistema scolastico unciniano passerebbe alle sottrazioni, poi alle divisioni e moltiplicazioni. Immaginatevi una classe unciniana che impara le tabelline. Che vita facile che avrebbe, dovrebbe imparare praticamente solo la tabellina dello 0 e dell’1.
E quando si passa ai numeri con la virgola? Anche quelli si possono rappresentare in binario. Ad esempio, 0,01 in binario equivale a 0,25. Ma non voglio avventurarmi a spiegarvi tutte queste cose in dettaglio. L’idea che voglio far passare è che tutti i calcoli matematici che impariamo solitamente a scuola si possono ripetere tranquillamente in sistema binario anziché decimale.
Non finisce qui. Se volessimmo, potremmo anche imparare l’alfabeto in forma binaria. È quello che viene fatto, ad esempio, dal sistema ASCII. Come funziona? Praticamente abbiamo una tabella che ci numera i caratteri dell’alfabeto in ordine.
Tipo questa
Nel caso dell’ASCII, poi, si numerano anche vari simboli. Quindi, come convenzione, la lettera A non corrisponde a 0, ma al numero a 7 bit
100001
La B corrisponde a 100010, e così avanti fino alla Z, che corrisponde a 1011010.
Praticamente, se gli unciniani e le unciniane fossero un popolo particolarmente pigro nell’imparare a scrivere, potrebbero fare tutto usando solo i simboli 0 e 1. Niente più lettere dell’alfabeto. E per dire ‘‘ciao”, basterebbe scrivere
100011 1001001 100000 1100 1111
Non proprio super efficiente in termini di spazio. Per scrivere una cartolina, probabilmente ci vorrebbe un libro intero.
Però provateci voi a imparare a scrivere 21 lettere dell’alfabeto e 10 cifre diverse con due uncini al posto delle mani.
Computer ad uncini
Che poi, non è che ‘sta cosa dell’ASCII si fa solo con i numeri binari. Volendo, potremmo farlo anche con il sistema decimale. E dire che da oggi, la A si scrive 65 e la Z si scrive 90.
Anche perché, tutto bello e tutto simpatico, ma chi ce lo fa fare a imparare di nuovo tutte le operazioni in colonna con il sistema binario?
Il motivo per cui ci siamo interessati così tanto al sistema binario è molto semplice. E non riguarda la scoperta di una civiltà uniciniana isolata nella foresta amazzonica. Ma qualcosa che ha rivoluzionato le nostre vite negli ultimi decenni: il computer.
L’idea alla base del computer è stata stimolata, come molte altre invenzioni, dalla pigrizia umana. Vabbè, forse solo in parte, dai.
Che voglio dire? Ok che impariamo tutti a fare le moltiplicazioni a mano. Ma non facciamo più veloci a farle fare alla calcolatrice? E poi, ci sono molte meno possibilità di sbagliare, così.
E se la calcolatrice è più veloce, magari le possiamo far fare anche operazioni che a noi non verrebbe mai in mente di fare a mano. Tipo moltiplicare 1049567820498692837 per 3298765987123498756.
Ora, l’idea dei computer non è che sia nata proprio nel secolo scorso. Spesso, il primo prototipo di computer meccanico si attribuisce al matematico Charles Babbage, e appariva più o meno così.
Babbage, da bravo campione di pigrizia, si era inventato un sistema per tradurre le operazioni matematiche in movimenti meccanici della macchina. Un po’ come i movimenti meccanici che dobbiamo fare con la mano per risolvere una moltiplicazione in colonna. Il problema principale della macchina di Babbage era che non è che fosse proprio ‘sta gran campionessa di velocità.
Ed è per questo che, per arrivare a qualcosa che potesse veramente prendere piede su scala commerciale, abbiamo dovuto aspettare fino all’invenzione del transistor.
Un transistor è un dispositivo elettronico con una proprietà particolare: può funzionare come un’interruttore della luce. A seconda della corrente che entra nel dispositivo, abbiamo due possibilità: 1) se la corrente non è pari ad un valore di “sufficienza”, allora dal transistor non esce corrente, 2) se la corrente è pari o superiore al valore di “sufficienza”, allora dal transistor esce corrente.
In pratica, il transistor trasforma una quantità fisica come la corrente, che può avere infiniti valori diversi (si parla di quantità analogica), in qualcosa che ha solo due valori possibili: o passa corrente, o non passa. Zero o uno appunto. In questi casi, si parla di quantità digitale, perché i valori possibili non sono infiniti.
Il transistor ha segnato l’avvento dell’elettronica digitale. Ovvero dell’elettronica in cui si potevano considerare le proprietà fisiche del circuito come quantità digitali. Aventi, perciò, solo una manciata di valori possibili. In questo caso, neanche una manciata, ma solo due.
Ormai avrete capito dove sto arrivando. Se un transistor si comporta come qualcosa che ha solo due valori possibili, allora possiamo tranquillamente considerarlo come un bit. E se prendiamo un circuito elettrico con tanti transistor, allora è come se avessimo a disposizione un numero con tanti bit.
Ora che abbiamo a disposizione dei bit, non ci resta che provare a fare le operazioni di cui parlavamo prima. La cosa interessante è che abbiamo trasformato i nostri bit in dei veri e propri oggetti fisici. Così che i valori 0 e 1 sono associati ad una proprietà fisica, come la corrente elettrica che passa nei vari transistor. Quindi, provare a fare un’addizione in colonna fra due bit, corrisponde a manipolare le varie correnti in uscita e in entrata dei due transistor (i due bit iniziali) così da ottenere il risultato che vogliamo in altri due transistor (i due bit che rappresentano il risultato).
Facciamo l’esempio concreto proprio con l’addizione. In sistema binario, l’addizione fra due numeri funziona così.
0 + 0 = 00
0 + 1 = 01
1 + 0 = 01
1 + 1 = 10
Se ora traduciamo tutto questo in operazioni con corrente, otteniamo
Se non passa corrente nei due transistor iniziali, non passa corrente in nessuno dei due transistor del risultato,
se passa corrente solo nel secondo transistor iniziale, passa corrente solo nel secondo transistor del risultato,
se passa corrente solo nel primo transistor iniziale, passa corrente solo nel secondo transistor del risultato,
se passa corrente in entrambi i transistor iniziali, passa corrente solo nel primo transistor del risultato.
Ecco che, se riusciamo a costruire un circuito che fa interagire questi quattro transistor nel modo indicato sopra, abbiamo trovato il modo di fare un’addizione in binario.
Vi dovrete fidare di me se ora vi dico che lo stesso discorso si può ripetere con tutte le altre operazioni in binario: moltiplicazione, divisione, eccetera. E che circuiti costruiti in modo che facciano queste operazioni esistono. E sono alla base dell’elettronica dei computer che usiamo ora.
In pratica, la macchina di Babbage era un computer che faceva meccanicamente le operazioni matematiche in sistema decimale. Invece, un computer attuale fa operazioni matematiche in binario usando circuiti elettrici.
La macchina di Babbage siamo noi. Mentre un computer attuale è una versione elettronica di un unciniano. Anzi, un unciniano superveloce, perché la corrente in circuiti elettrici viaggia molto velocemente. Ecco perché non c’è molto da sorprendersi se un computer fa operazioni molto difficili nel giro di qualche microsecondo.
Bit con la q
Ho fatto un gran giro di parole, ma mi serviva per arrivare alla parte che ci interessa di più: i qubit.
Cosa sono questi bit quantistici? Transistor quantistici?
Non proprio, ma ora ci arriviamo.
L’idea alla base di un qubit è in qualche modo la stessa di quella dei transistor. Ovvero codificare un bit in una proprietà fisica che poi possiamo manipolare per fare operazioni.
La principale differenza risiede nel fatto che ora, anziché usare una proprietà fisica di un oggetto macroscopico come il transistor, vogliamo usare una proprietà di un oggetto microscopico, come delle singole particelle.
(Apro una rapidissima parentesi per dire che il discorso è leggermente più complesso, perché esistono qubit codificati anche in oggetti più grandi di una singola particella, ma tutto quello che sto per dire si applica anche a questi casi).
E per fare un esempio specifico, mi tocca tornare a parlare dei cari vecchi fotoni.
Nel caso delle particelle di luce, un candidato perfetto per codificare un bit di informazione è lo spin. Come vi dicevo nella scorsa newsletter, lo spin dei fotoni può avere solo due valori, quindi possiamo decidere di interpretarli come lo 0 e 1 di un bit. E per manipolare il valore di questi bit, non dobbiamo far altro che modificare lo spin di un fotone. Cosa che sappiamo fare, perché lo spin corrisponde alla polarizzazione della luce, una proprietà che possiamo modificare grazie all’uso di materiali polarizzanti.
Ma perché mai dovremmo pensare di scalzare i cari e vecchi transistor come candidati bit?
Il fatto è che ora abbiamo qualcosa di diverso tra le mani. Qualcosa che si comporta secondo regole estranee da quelle degli oggetti macroscopici. Le regole della meccanica quantistica.
Per esempio possiamo avere un fotone in uno stato di sovrapposizione dello spin. Di colpo, ci ritroviamo ad avere un bit molto particolare, con una certa probabilità di essere 0 e un’altra probabilità di essere 1. Un bit quantistico, appunto.
Cosa ce ne facciamo di un bit in sovrapposizione quantistica?
Questa è la domanda centrale che ha dato la nascita al campo dell’informazione quantistica, qualche decennio fa.
Da lì in poi, si sono fatte varie scoperte. Si è capito, ad esempio, che l’utilizzo di qubit permette di comunicare messaggi con un grado di sicurezza irraggiungibile dalla crittografia tradizionale. Ci si è anche resi conto che, se siamo in grado di effettuare operazioni fra vari qubit, abbiamo a disposizione un computer con delle potenzialità superiori ad un computer a transistor.
Chiaramente, sono tutti temi che vorrò approfondire nelle prossime newsletter. Ora credo di aver abusato fin troppo della vostra concentrazione e pazienza.
Per ora, vi lascio con questa idea in testa. Un qubit, da un certo punto di vista, non è altro che un altro tipo di bit. Ovvero un modo di codificare informazione in una proprietà fisica che possiamo manipolare. Allo stesso tempo, un qubit è qualcosa di molto diverso da un bit, perché ha accesso a proprietà quantistiche molto controintuitive e particolari.
Col tempo, vi racconterò cosa sappiamo farcene di queste proprietà. E cosa ancora non sappiamo. E cosa forse non sapremo mai.
A questo punto passo e chiudo per questo quarto episodio di newsletter. Come sempre, spero che vi sia piaciuto e vi abbia stimolato una sana dose di curiosità. Commentate qui
o scrivetemi in privato se avete domande/commenti/qualunque cosa. Sono sempre felice di leggervi e rispondervi. Nel frattempo, noi ci rileggiamo fra due settimane.
A presto!
Un disclaimer finale
Hai ricevuto questa email perchè qualcun@ te l’ha inoltrata?
Ti svelo un segreto: fa parte di una newsletter. Si parla di meccanica quantistica e molte delle sue applicazioni più recenti, ma non solo. Ne mando una ogni due settimane, il martedì mattina.
Se ti interessa rimanere al passo con le prossime newsletter, ecco il bottone per iscriversi
Altrimenti, amici come prima.
Puoi sempre recuperare tutti gli episodi passati e futuri sulla pagina Substack de la posta di Schrödinger.