Un uomo mite, insospettabile: è il padre della moderna teoria dell’informazione
Claude Elwood Shannon è il genio di cui non avete mai sentito parlare. Eppure, è uno tra gli innovatori che più hanno contribuito a sviluppare gli strumenti che definiscono la civiltà moderna. Il fatto che oggi possiamo inviare e-mail, fare acquisti online, e dare per scontati gli strumenti elettronici che abbiamo intorno a noi, lo dobbiamo in qualche modo a questo matematico americano. Ogni volta che usate o udite la parola bit − se scaricate una foto, condividete file, navigate su Internet − state usando una tecnologia che esiste grazie a Claude Shannon.
La rapidità con cui, dagli anni Ottanta e sempre di più oggigiorno, inviamo e riceviamo dati caratterizza la nostra società: viviamo nell’era dell’informazione.
Chi è Claude Shannon? Claude Shannon è il padre dell’era dell’informazione.
Shannon nasce nel 1916 in una piccola città del Michigan e sviluppa fin da giovane un interesse per la meccanica e l’elettromagnetismo. Ancora adolescente, si diletta nel costruire oggetti come telegrafi e barche controllate a distanza: un’attitudine al tempo stesso creativa e pratica, che lo accompagna poi per tutta la vita e che deve in qualche modo essere sintomatica della sua genialità.
Ottiene una doppia laurea triennale in Matematica e Ingegneria elettrica all’Università del Michigan nel 1936, e due anni più tardi consegue la laurea magistrale al MIT. Nella sua tesi dimostra che l’algebra astratta del matematico George Boole può perfettamente rappresentare il segnale elettrico in un circuito digitale composto da una rete di interruttori (on-off, vero-falso). Le sue idee gettano così le basi alla progettazione dei sistemi digitali, usata tuttora per sviluppare dispositivi elettronici, ma introducono anche la possibilità che le macchine possano ragionare. Nel 1940 difende al MIT una tesi di dottorato, in cui lega l’algebra e la genetica, e nel 1941 si unisce ai Bell Labs per lavorare ai sistemi crittografici durante la Seconda guerra mondiale. A riassumere le sue ricerche durante la guerra, senz’altro arricchite dai contatti col matematico e crittografo britannico Alan Turing, Shannon pubblica una sua Teoria Matematica della Crittografia nel 1945.
Il più pionieristico contributo di Claude Shannon è tuttavia l’articolo A Mathematical Theory of Communication, pubblicato nel 1948: in questo lavoro fondamentale, Shannon estende i lavori di Ralph V. L. Hartley e Harry Nyquist, e di fatto pone le basi dell’intera teoria dell’informazione.
I temi trattati sono vastissimi: le basi matematiche e ingegneristiche di un sistema di comunicazione (sorgente di informazione, trasmettitore, canale, ricevitore, destinatario, potenziali sorgenti di rumore); la descrizione dei sistemi di comunicazione discreti (computing machines − quelle che chiamiamo computer), continui (segnali radio) e misti; la definizione matematica di quantità di informazione, e quella di capacità di un canale (quanta informazione è trasmessa per unità di tempo); i limiti di trasmissione di informazione di un canale con e senza rumore; le operazioni di codifica e decodifica di un segnale. Questi temi potrebbero sembrare più pertinenti al mondo tecnologico, ma vengono trattati da Shannon con una metodologia puramente matematica, con l’utilizzo di definizioni, teoremi e dimostrazioni tipici della disciplina.
Non è possibile coprire in qualche paragrafo l’intero contenuto dell’articolo di Shannon. Voglio invece soffermarmi su un aspetto cardinale del suo contributo: come possiamo quantificare l’informazione?
Questo tema emerge già dalle prime righe dell’articolo di Shannon, che comincia con una frase estremamente moderna: «Il problema fondamentale della comunicazione è riprodurre in un certo luogo […] un messaggio selezionato in un altro luogo». Il punto chiave è che, in una sorta di terza legge di Newton di azione-reazione, ricevere una informazione equivale a eliminare un’ignoranza o un’incertezza: un messaggio ricevuto va pensato come «selezionato da un insieme di messaggi possibili». Il caso più semplice è quello in cui abbiamo un numero finito N di “messaggi” possibili[1]. Se voglio sapere l’esito di un lancio di una moneta, le risposte possibili sono 2, testa o croce. Mancanza di informazione significa non sapere quale delle due risposte è corretta, e ricevere questa informazione equivale a sciogliere questa incertezza. Se invece voglio sapere quale numero esce dopo aver lanciato un dado ho N=6 risposte possibili. Già questo ci permette di misurare qualitativamente l’informazione contenuta nel lancio di una moneta rispetto al lancio di un dado: chiaramente il lancio del dado contiene più informazione. Verrebbe quasi da dire che contiene tre volte l’informazione del lancio di una moneta, perché 3×2=6. In realtà Shannon si rende conto immediatamente che questa non è la misura più adatta per l’informazione e seguendo il lavoro svolto da Ralph Hartley negli anni Venti, sceglie il logaritmo del numero N di messaggi possibili. Shannon elenca una serie di motivazioni tecniche, ingegneristiche e matematiche per questa scelta, ma a noi basti questa naturale osservazione: utilizzando i logaritmi, l’informazione contenuta in tot lanci di monete corrisponde a tot volte l’informazione contenuta in un solo lancio di monete, che è quello che uno si dovrebbe aspettare. A questo punto Shannon scrive una frase fondamentale: «La scelta della base per il logaritmo corrisponde alla scelta di un’unità per misurare l’informazione. Se viene usata la base 2 le unità risultanti potrebbero essere chiamate binary digits, o più brevemente bits». La parola, suggerita da John W. Tukey, è una contrazione di binary information digits e in inglese significa anche “pezzetti”. Una variabile binaria, cioè che può assumere solo N=2 valori (testa o croce, vero o falso, 1 o 0) diventa il punto di riferimento per misurare l’informazione: il logaritmo in base 2 del numero N di messaggi possibili, anch’esso 2, è log2 2=1, e il bit diventa dunque l’unità base per misurare la quantità d’informazione. Se usiamo una variabile che può assumere N=256=28 valori differenti abbiamo 8 volte (non 256 volte) più informazione di un bit, perché log2 256=log2 28=8: sono 8 bit, quello che viene chiamato byte. E così via.
C’è però un’osservazione da fare: i bit (e i byte) considerati sopra possono assumere tutti i loro valori possibili con uguale probabilità p=1/N, mentre, di solito, i messaggi sono scambiati seguendo un qualche protocollo, ad esempio sono sequenze di lettere che formano parole in una qualche lingua, e queste non sono totalmente equiprobabili. Ad esempio, nella lingua italiana, la lettera A ha più probabilità di essere usata della Z, ecc. Shannon generalizza dunque la sua definizione di quantità di informazione considerando messaggi composti da “eventi” (pensiamo alle lettere dell’alfabeto italiano, o a una qualsiasi lista di simboli, per esempio nel codice Morse), ciascuno con una probabilità pi di apparire, non necessariamente uguale a 1/N. «Possiamo definire una misura di quanta “scelta” è ammessa nella selezione dell’evento, ovvero di quanto siamo incerti sull’esito?» La risposta è l’entropia di Shannon H(pi): per calcolarla bisogna sommare le quantità − pi log pi, con i che assume tutti gli N valori possibili[2].
Da dove viene questa definizione? Usiamo ancora il caso del lancio della moneta come esempio esplicativo. Precedentemente avevamo considerato una moneta equa, in cui testa e croce escono entrambe con un’uguale probabilità di 50%, cioè N=2 e p=½. In questo caso H=−½ log2 ½ −½ log2 ½=1 equivale alla definizione di quantità di informazione contenuta in un bit data precedentemente e tutto torna. Se invece la moneta non è equa, avremo che testa esce con una probabilità p, un numero arbitrario tra 0 e 1, e dunque croce esce con probabilità p−1. Per esempio, nel caso estremo in cui p=1 (esce sempre testa e mai croce), la formula dell’entropia di Shannon ci dà H=0: questo esprime il fatto intuitivo che se già sapevo che sarebbe uscito testa, non sto ricavando nessuna informazione. Nel caso generale di una sorgente di informazione che produce N lettere, ciascuna avente una probabilità pi di apparire, Shannon fa notare che l’entropia (ovvero la quantità di informazione) H(pi) è massima, e uguale al logaritmo di N, precisamente quando le probabilità di tutte le N lettere sono uguali tra loro, pi =1/N; questo è il caso di un processo con più incertezza possibile. In ogni altro caso, l’informazione contenuta in ogni lettera è minore, fino ad azzerarsi quando una sola lettera appare con assoluta certezza (non si trasmette nessuna informazione). Questo (e altre proprietà) non solo giustifica che H sia la “giusta” misura dell’informazione prodotta da una tale sorgente, ma ci aiuta anche a intuire come sia possibile codificare un messaggio in modo da ottimizzare la quantità di informazione contenuta in ogni simbolo inviato: bisogna codificare ogni lettera con una sequenza di bit che sia più corta più la lettera appare frequentemente. È essenzialmente questo che rende il codice Morse un buon sistema: la lettera E (la più comune nella lingua inglese) è codificata con un simbolo solo, mentre la Q (che compare molto raramente) con quattro simboli. Se le due lettere fossero codificate con lo stesso numero di simboli, diciamo 3, la quantità di informazione trasmessa dal sistema non sarebbe ottimale, perché staremmo inviando un sacco di volte i 3 simboli scelti per la lettera E, mentre con il codice Morse ne inviamo uno solo.
Ho potuto toccare solo la superficie dell’immenso lavoro di Shannon, che va dal costruire una tromba lanciafiamme e un pupazzo giocoliere a sviluppare il primo dispositivo capace di machine learning (un video di Shannon stesso che spiega il funzionamento di Theseus, un “topo robotico” che risolve un labirinto e memorizza la soluzione, è disponibile in rete).
Chi è Claude Shannon? È il matematico che ha introdotto il concetto moderno di informazione, lo strumento che definisce l’era in cui viviamo: il nostro mondo è figlio di Claude Shannon.
Note
[1] Per rinfrescare la memoria dai tempi dei banchi di scuola, il logaritmo in base b>0 (e b≠1) di un numero x>0 è quel numero y tale che b alla potenza y dà come risultato x: by=x e si scrive logb x=y. Fissiamo la base b=2 (visto che la useremo presto per una ragione che sarà chiara più avanti): l’idea è di pensare al numero x non in termini di multipli di b=2, ma di potenze di 2. Ad esempio, log2 2=1, log2 4=2, log2 8=3 ecc. Avremo che log2 3 sta a metà tra log2 2=1 e log2 4=2: in effetti vale più o meno 1,58.
[2] Qui entropia è essenzialmente un sinonimo di incertezza, che, con Shannon, equivale a informazione. Va notato che, siccome rappresenta una probabilità, pi è un numero compreso tra 0 e 1, e il logaritmo di un numero compreso tra 0 e 1 è sempre un numero non positivo; è per questo che c’è un segno meno di fronte all’espressione dell’entropia: questo cancella il segno meno introdotto da log pi e fa sì che l’entropia sia un numero positivo.
Qualche riferimento: