Post

"La teoria dell'informazione" di John R. Pierce

Nel 1948 un articolo dal titolo "A mathematical theory of communication", scritto da Claude Shannon, ha introdotto per la prima volta in maniera sistematica i modelli quantitativi e qualitativi della comunicazione. Nelle prime righe è scritto che "il problema fondamentale della comunicazione è quello di riprodurre in un certo punto, o esattamente o approssimativamente, un messaggio selezionato in un altro". Questo ha dato il via allo sviluppo della trasmissione e dell'archiviazione dell'informazione e il libro di John R. Pierce, "La teoria dell'infomazione", si propone di approfondire e divulgare le meraviglie concettuali di questi temi, i quali hanno avuto un'importanza cruciale nello sviluppo dei sistemi digitali odierni.

"La teoria dell'informazione" di John R. Pierce

Introduzione e contesto storico

I testi italiani (o tradotti in italiano) sulla teoria dell’informazione non sono numerosi. Tra questi è difficile trovare testi scritti da chi ha vissuto in prima persona la nascita della teoria e delle ricerche scaturite da essa. Il libro di John R. Pierce “La teoria dell’informazione”, edito da Mondadori e uscito in prima edizione nel 1963, ha la peculiarità di abbracciare queste rare caratteristiche. E’ stato scritto verso la fine di quella che viene chiamata “Seconda generazione” (1956-1963) nella storia dei computer, segnata dalla sostituzione delle ormai vecchie valvole termoioniche con i più efficienti transistor. Tra l’altro, il termine “transistor” è stato inventato proprio da Pierce, il quale ha lavorato come supervisore del team che ha costruito il primo transistor ai Bell Labs. Pertanto l’autore si presenta come una personalità molto interessante, che ha lavorato direttamente nel campo della teoria dell’informazione, oltre che nell’elettronica, nell’acustica e persino nella narrativa come scrittore sci-fi. Anche Richard Hamming, l’inventore dell’omonimo codice per la correzione degli errori, ha dichiarato che “non potevi parlare con John Pierce senza essere stimolato molto rapidamente”.

Nonostante gli anni passati dalla prima stesura, questo libro contiene delle riflessioni che alla luce dei moderni sviluppi dell’informatica risultano generalmente interessanti e non obsolete, il ché è notevole considerando quanti passi avanti sono stati fatti nel campo. In più, la lettura di questo libro ha un forte rilievo anche da un punto di vista storico e vede coinvolti personaggi di enorme caratura nella disciplina. Basti pensare che il suggerimento della stesura del libro è venuto da James R. Newman, il matematico che (insieme ad Edward Kasner) ha coniato il termine “Googol” per indicare il numero intero $10^{100}$ e che ha dato enormi contributi bibliografici per quanto concerne la storia della matematica. Il testo, inoltre, è stato revisionato direttamente dal primo grande architetto della teoria dell’informazione, Claude Shannon, ed è stato dedicato da Pierce a Claude e a sua moglie Betty, anch’essa una matematica e principale collaboratrice di ricerca di Claude, fonte di ispirazione e di aiuti fondamentali nelle sue maggiori invenzioni.

Teorie e astrazioni

Il libro si apre con il capitolo “Il mondo e le teorie”, nel quale si parla in modo abbastanza scorrevole di alcuni aspetti essenziali della scienza e del modo in cui la usiamo per capire il mondo che ci circonda. Questo preludio alla divulgazione di una teoria scientifica lo trovo prezioso e utile per incrementare la consapevolezza del lettore sul dominio di ciò che si sta per leggere. A parer mio conviene sempre ricordare, anche a grandi linee, di cosa si occupa la scienza e quali sono i suoi metodi per evitare che il lettore venga ingannato e fuorviato dalla prosa e dall’immaginazione stimolata dal “racconto” divulgativo.

Nel capitolo viene approfondito il concetto di “teoria”. Lo scopo di una teoria è quello di capire quali aspetti della nostra esperienza possono essere collegati e compresi in maniera agevole. Una volta capito ciò si avranno i fondamenti di una teoria su determinate questioni. Ma una teoria non è solo questo: partendo da una visione di base, da degli assiomi fondamentali, da verità date per certe o ritenute plausibili seguendo un qualche metodo, una teoria comprende anche le conseguenze logiche che, necessariamente, discendono dalle assunzioni di partenza. Queste conseguenze, che arricchiscono ed esauriscono la teoria, devono essere in accordo con i fenomeni che osserviamo nel mondo in cui viviamo, altrimenti la teoria non è di alcuna utilità pratica. Inoltre, le teorie prendono in prestito termini dal linguaggio corrente e bisogna, quindi, fare attenzione a intenderli nel significato che hanno nel contesto della teoria e non nel loro uso comune. Ad esempio, il concetto di “informazione” inteso nel senso comune non ha molto a che vedere con l’informazione di Shannon.

Nel corso di questo capitolo Pierce specifica che la teoria dell’informazione (anche chiamata teoria delle comunicazioni) è una teoria essenzialmente matematica, a differenza di altri tipi di teorie che sono essenzialmente fisiche (come ad esempio le leggi di Newton e le equazioni di Maxwell). E’ una teoria matematica perché i termini in cui essa è formulata possono assumere diversi significati dal punto di vista fisico in base a come la si vuole impiegare praticamente.

Il nesso tra i numeri e gli insiemi di oggetti sembra così naturale da farci dimenticare che l’aritmetica è essa stessa una teoria matematica la cui applicabilità alla natura vale fintantoché le proprietà dei numeri corrispondono a quelle del mondo fisico.

Pierce riflette sul fatto che l’aritmetica è anch’essa una teoria matematica che noi usiamo quotidianamente in modo naturale per parlare di insiemi differenti di oggetti concreti e per esprimere relazioni tra essi. E’ un’astrazione utile finché riusciamo ad assegnare ad ogni oggetto un numero e finché le proprietà matematiche dell’aritmetica sono coerenti nella pratica, e questo non è necessariamente vero per tutte le sue applicazioni.

Questo discorso si collega bene ad una questione, di carattere più generale ma molto importante, che spesso viene sollevata dalle persone che guardano alla matematica con astio e scetticismo oppure semplicemente in modo erroneo. Ad esempio, per quanto riguarda i numeri immaginari, è facile sentire: “ma se sono immaginari, se non esistono, che senso hanno?!”, o anche “è tutta fantasia, non servono a nulla”. La verità è che nessun numero esiste in senso pratico, ma i tutti i tipi di numeri, da quelli naturali a quelli immaginari, sono degli oggetti astratti. Ad esempio, nella vita pratica può non avere senso usare i numeri negativi (non è possibile avere un cesto con $-2$ mele al suo interno). Oppure i numeri reali stessi come $\pi$ non sono assolutamente “reali” nel senso di “pratici”. Basti pensare che noi umani, essendo finiti, non potremmo mai nella nostra vita concepire un numero reale perché è composto di una quantità infinita di cifre. Ciononostante i numeri negativi, i numeri reali e i numeri immaginari possono essere usati per risolvere moltissimi problemi pratici e questo dipende da come vengono allacciati alla realtà e da come il modo in cui viene fatta astrazione sulle caratteristiche di un determinato problema pratico è coerente con le proprietà degli strumenti matematici utilizzati.

Il dubbio che porta alle affermazioni sopracitate è, quindi, legittimo e non banale. La matematica presa di per se può risultare solamente un rompicapo di difficoltà crescente man mano che ci si addentra nei suoi meandri. Ma prima di concludere che non serve a nulla ed è solo un cumulo di seghe mentali bisognerebbe documentarsi sul fatto che la maggior parte delle sue branche, per quanto di natura siano (giustamente) astratte, sono sempre ricondotte a certe caratteristiche della realtà nel momento esatto in cui vengono utilizzate per risolvere problemi pratici. La matematica è un linguaggio che si presta agli utilizzi più svariati in base a come viene modellata la realtà da descrivere o il problema da risolvere.

Sulla questione dei numeri immaginari, a difesa delle persone che li etichettano come “roba fantastica” e “praticamente incomprensibile”, c’è da dire che il nome “immaginari” ha contribuito e contribuisce ad una loro mal interpretazione ed è probabilmente uno dei nomi peggiori della matematica. Persino Gauss, il Principe dei matematici, in un suo libro dichiara che avrebbe preferito chiamarli diversamente, riferendosi a $\sqrt{-1}$ come “unità laterale” (invece di “unità immaginaria”), per eliminare la confusione e il velo di oscurità che li circonda, e riferendosi a $+1$ e $-1$ rispettivamente come “unità diretta” e “unità inversa” (invece di “unità positiva” e “unità negativa”). Una spiegazione più dettagliata del perché questi nomi sarebbero semanticamente migliori e più adatti è contenuta qui.

La bellezza e la potenza di una teoria o di un modello matematico stanno proprio nel separare ciò che è essenziale da ciò che non lo è, in modo che ci si possa riferire a un certo comportamento osservabile e comprenderlo senza dover anche comprendere tutta la natura e il comportamento dell’universo.

L’eleganza della teoria dell’informazione

Detto ciò, Pierce identifica la teoria dell’informazione come una teoria essenzialmente matematica e molto generale perché, sebbene derivi dallo studio delle comunicazioni elettriche, offre degli strumenti concettuali applicabili a molte specie di comunicazione e addirittura a campi di studio differenti dalle comunicazioni stesse.

Parlare della teoria delle comunicazioni senza accennare al suo effettivo contenuto matematico sarebbe stato come parlare all’infinito di un grande compositore senza mai sentire un brano della sua musica.

Il modo in cui Pierce introduce i concetti e le formule di base della teoria dell’informazione, nel capitolo V, è meticoloso e allo stesso tempo accessibile al punto da rendere la lettura della matematica e dei ragionamenti sottostanti una piacevole visita guidata per le stanze di una magnifica cattedrale.

\[H = -\sum_{i=1}^{n} \: p_i \cdot \log_{2}{(p_i)}\]

L’entropia ($H$) definisce la quantità media di informazione legata ad una classe di $n$ possibili simboli $i$ scelti dalla sorgente, ciascuno con una probabilità $p_i$. Stabilisce il limite inferiore teorico per rappresentare un determinato segnale ed è misurata in bit. Una volta trovata questa formula e chiarito il suo significato e le sue conseguenze, i ricercatori dell’epoca hanno iniziato a chiedersi quale potesse essere la codifica che più si avvicinasse a questo limite teorico. Un esempio che viene spiegato in modo breve ma efficace nel libro è quello della geniale codifica di Huffman.

Durante i capitoli vengono approfonditi diversi teoremi legati alla teoria dell’informazione, come ad esempio il teorema fondamentale per il canale disturbato, il teorema di Nyquist-Shannon e il teorema di Shannon-Hartley e Pierce approfitta dell’ingegno esibito dai metodi dimostrativi di questi teoremi per offrire un consiglio ai posteri che si troveranno di fronte a problemi sempre più complessi:

La geometrizzazione dei problemi dei segnali — già interessante di per se — lo è anche come esempio dell’utilità di ricercare nuovi strumenti matematici per affrontare i problemi sollevati dalla crescente complessità tecnologica di oggi. Solo entrando in questo ordine di idee si può sperare di risolvere i problemi sempre più difficili che la tecnica ci propone.

Scelte e meccanicismo

Quando scriviamo o parliamo noi facciamo un’analoga scelta su ciò che scriveremo o diremo dopo. Talvolta non abbiamo una scelta: la Q dev’essere seguita dalla U. Riguardo al simbolo successivo, abbiamo maggiori probabilità di scelta all’inizio che non alla metà di una parola. Tuttavia in qualsiasi sorgente di messaggi, sia essa vivente o meccanica, si fa una scelta continua; altrimenti, i messaggi prodotti sarebbero predeterminati e completamente predicibili.

Questa riflessione mi ha fatto pensare alla next token prediction dei moderni LLM basati su Transformer, i quali hanno dimostrato di riprodurre con un alto grado di fedeltà il linguaggio umano. Dunque la validità, ormai anche sperimentale, del concetto di “scelta continua sulla base di ciò che è stato già scelto” è indubbia. Tuttavia sarebbe interessante prendere in considerazione anche l’idea che, quando parliamo, iniziamo avendo già in mente una certa struttura generale da dare al discorso. Infatti, nel capitolo successivo Pierce fa cenno a quest’altra possibilità citando il concetto di “proposizione nucleo” di Noam Chomsky e facendo implicitamente riferimento alle grammatiche generative, essenziali nella progettazione dei linguaggi formali come ad esempio i linguaggi di programmazione.

L’impiego di calcolatori elettronici per affrontare il problema della struttura e della statistica del linguaggio è, a nostro parere, fondamentale.

Nel testo Pierce accenna anche all’ipotesi che l’uomo sia una macchina a stati finiti, con un numero di configurazioni molto alto e al di là di ogni possibile trattazione precisa. Ma, dice, si presenta una situazione simile anche per le molecole in un gas, eppure riusciamo a spiegare buona parte del comportamento significativo di un gas conoscendo solo temperatura e pressione.

Il meccanicismo, che si collega bene ad una visione deterministica della natura, ha subito un forte colpo da quando è entrata in scena la meccanica quantistica che, con la sua “natura probabilistica” e la sua teorica indeterminatezza ha distrutto il sogno della fisica classica di spiegare tutti i fenomeni naturali con delle formule deterministiche che ben approssimavamo la realtà. D’altra parte, il machine learning sta offrendo scenari in cui, ipotizzando la natura statistica dei processi mentali e usando modelli astratti e semplificati del tessuto nervoso cerebrale, si è in grado di emulare alcuni comportamenti umani, come appunto l’uso del linguaggio, la classificazione e in generale il riconoscimento di pattern con un buon livello di generalità. Anche le neuroscienze computazionali, con un approccio basato prevalentemente sulla biologia, si prefiggono il compito di comprendere e descrivere matematicamente il funzionamento dei processi cerebrali. Dunque l’ipotesi meccanicistica deterministica resta ambiziosa ma rappresenta una valida meta per spingere sempre oltre il limiti della comprensione dei fenomeni.

L’ignoranza informata

Nel capitolo VI Pierce si propone di parlare di linguaggio e significato, individuando nella comprensione profonda del linguaggio l’unico vero modo di ottenere una codifica efficiente con dei valori di entropia sempre più bassi e, di conseguenza, implementare una comunicazione più veloce. In generale, indagare le tecniche di comunicazione efficiente con l’aiuto della teoria dell’informazione significa indagare la natura del mezzo di comunicazione che si vuole codificare, sia esso il linguaggio, la voce o le immagini.

Prima di fare ciò, però, avverte il lettore che ciò che sta per esporre non è altro che “ignoranza informata”. Pierce afferma che l’ignoranza dello scienziato è diversa dall’ignoranza del profano. Infatti, il modo in cui gli scienziati inquadrano un problema sul quale sono ignoranti è basato comunque su una serie di assunzioni e su una visione delle cose del mondo ben inquadrata, quindi possono filtrare le loro speculazioni da una vasta gamma di considerazioni assurde e insulse, a differenza dei profani che non hanno questo tipo di filtro e sono, dunque, maggiormente esposti alla proliferazione di castronerie.

L’ignoranza scientifica può essere comunque fraintesa poiché si occupa di questioni irrisolute e grandiose ed è, per questo, diffusa con termini più accessibili ed è in grado di infondere delle reazioni dal sapore romantico nella mente di chi le legge o le ascolta. Basti pensare a quanto sono attraenti teorie sociali e storiche molto ambizione (come il materialismo storico) oppure teorie del tutto come la teoria delle stringhe.

Pierce afferma che questo tipo di ignoranza è fondamentale per lo scienziato perché libera il suo sguardo dai confini ristretti del suo lavoro abituale e lo stimola a cercare nuova conoscenza al di fuori dei risultati che ottiene e dei quali si compiace.

Il fascino della cibernetica e dei calcolatori elettronici

Dopo aver esposto alcuni punti della teoria dell’informazione, Pierce propone suoi possibili impieghi a campi diversi da quello delle comunicazioni elettriche, come ad esempio la fisica, la psicologia e l’arte, specificando che sono da prendere con le pinze e che non necessariamente questa teoria può essere impiegata da altre discipline.

Tra questi capitoli vi è uno che mi ha illuminato sia per il valore storico delle cose che dice, sia per il fascino intrinseco dell’argomento in esame. Si tratta del capitolo che riguarda la cibernetica.

Il termine cibernetica […] possiede una qualità elusiva sua propria circondata da un’aureola romantica.

Pierce fa capire dalle prime righe che questo termine indica talmente tante cose che non è utilizzabile da alcuno scienziato che voglia esprimersi in maniera chiara e rigorosa (“pochi uomini di scienza si considerano dei cibernetisti”). Tuttavia egli riconosce il fascino che suscita questa super-disciplina che, di fatto, include tutti i problemi più “seducenti” del mondo moderno e dell’era tecnologica, da ambiti scientifici a ambiti sociali e filosofici.

In questo capitolo, inoltre, afferma l’importanza dei calcolatori elettronici e della loro programmazione:

[…] la programmazione dei calcolatori per risolvere nuovi e complessi problemi ci ha fornito un nuovo e obiettivo criterio di comprensione. Oggi se qualcuno sostiene di capire come si comporta un essere umano in una data situazione o di saper risolvere un problema matematico o logico, è ragionevole insistere affinché dimostri la sua comprensione programmando un calcolatore per imitare il comportamento o risolvere il problema in questione. Se non è in grado di farlo vuoi dire che la sua comprensione è incompleta e probabilmente del tutto illusoria.

Questa citazione mette in evidenza come, dalla nascita dei calcolatori elettronici programmabili, nel momento in cui si propone una soluzione logica e deterministica a un determinato scenario, questa debba essere traducibile in un algoritmo che ne verifichi la validità per input arbitrari.

Pierce descrive l’attività della programmazione come un’attività appannaggio di persone di “eccezionale talento” e definisce la scrittura dei programmi come “un lavoro lungo e noioso”. Era un’epoca in cui scrivere programmi voleva dire interfacciarsi con linguaggi di basso livello e con calcolatori grandi quanto intere stanze e la cui configurazione era complessa. Inoltre bisognava aspettare l’esecuzione e la produzione dell’output per verificare effettivamente che il programma non contenesse bug o errori logici. Egli cita il Fortran (chiamandolo “compilatore” invece di “linguaggio di programmazione”), che è stato uno dei primi linguaggi di programmazione di alto livello usato dagli scienziati, i quali erano i primi ad avere la possibilità di interfacciarsi con i pochi calcolatori esistenti, presenti prevalentemente nei centri di ricerca e nelle università.

Conclusioni

La lettura di questo libro, dal punto di vista di un appassionato di informatica e della sua storia, si è rivelata molto stimolante. Non nascondo che alcuni tratti più tecnici, soprattutto per quanto riguarda la teoria dei segnali, hanno causato un calo della mia attenzione durante la lettura, per via del fatto che non è un campo in cui sono ferrato e ho particolari conoscenze, a differenza dell’informatica e della matematica. Tutto sommato, però, è un libro che consiglierei a chi possiede già delle modestissime basi di matematica, teoria dei segnali e a chi conosce a grandi linee gli impieghi pratici della teoria dell’informazione, per poter comprendere ad un livello di profondità superiore le idee che si celano dietro gli algoritmi di compressione dei dati, la trasmissione di messaggi che si autocorreggono e le tecniche di crittografia e crittoanalisi.

Questo post è sotto licenza CC BY 4.0 a nome dell'autore.