Anno 2132. Dialogo fra uno studente di Teoria dell’Informazione Computazionale e il suo professore. La TIC è oggi la scienza unificante e ha per scopo la ricostruzione in forma incrementale della mappa del sapere umano e ha ormai raggiunto, nel secolo ventiduesimo, la stessa rilevanza che la ricerca della “teoria unificata” ebbe a cavallo del ventesimo e del ventunesimo secolo. 27 Agosto 2132. Università di Princeton. Computational Information Theory Institute. Dialogo fra il titolare della cattedra di Computational Information Processing e un suo allievo. -Vuoi dire che potremmo essere in grado di decifrare qualunque messaggio dei nostri nemici? -Non ho detto questo, non pensavo alle applicazioni militari, ma potrebbe essere possibile. Dico semplicemente che possiamo accelerare il progresso della conoscenza dato che essa è già formulata e contenuta in forma condensata e completa in alcune asserzioni della natura e arriva fino a noi grazie all’interpretazione che ne diamo. -Asserzioni della natura? Interpretazione? Che cosa intendi dire? -Intendo dire che definizioni apparentemente semplici come quelle del cerchio e della circonferenza, che richiedono così poche parole per essere formulate e che possono essere capite anche da un bambino, implicano già tutta l’intelligenza necessaria per comprenderle, come quando affermano in tutta semplicità che il cerchio di raggio r è l’insieme di tutti i punti di un piano che hanno una distanza non maggiore di r da un punto detto centro. E continuano asserendo che la circonferenza è il luogo dei punti che hanno distanza r dal centro. E poi, con un volo pindarico di immaginazione, conferiscono alla circonferenza una lunghezza, rimandando però il procedimento che ne rende possibile il suo calcolo, che consiste nel considerarla come la situazione limite delle due convergenze dei poligoni inscritti e quelli circoscritti al tendere all’infinito del numero dei loro lati. Ma il punto più vertiginoso di tutto il costrutto logico arriva quando si definisce un certo numero come il rapporto fra la lunghezza di questa circonferenza e il diametro che essa sottende. Sai benissimo che questo numero è pi greco, e che lo si può calcolare con la precisione che si vuole, e che rivela di contenere una colossale perché infinita quantità di informazione. Quindi probabilmente contiene tutto, dato che sappiamo che tutto è rappresentabile per via numerica. Anche la costante di Eulero e permette la stessa applicazione, ma è appena più complessa da descrivere, e non è più alla portata di un bambino, ma è anch’essa un numero irrazionale non algebrico, cioè non ottenibile come soluzione di un polinomio, cioè trascendente. Ma andiamo per gradi. Devo prima raccontarti una storia per farti capire che cos’è l’informazione. Quando il mio bisnonno era giovane, durante la seconda metà del ventesimo secolo, e si occupava di scienze cognitive e in particolare della raccolta della conoscenza e dei metodi per cercarne gli elementi costitutivi entro il corpo della sua collezione, si era posto il problema di trovare una descrizione compatta della conoscenza che permettesse di risparmiare sulle risorse di memoria ma senza perdere l’integrità della conoscenza. Non un riassunto, ma una traduzione rigorosa e reversibile da un linguaggio ad un altro che avesse… come si potrebbe dire.. parole più corte a parità di significato espresso oppure che fosse in grado di ricorrere a frasi più compatte, insomma, che impiegasse meno memoria. E gli venne in mente un racconto di Edgar Allan Poe dove si descriveva il problema della crittografia e dove si diceva che l’uomo non può porsi un problema senza risolverlo prima o poi, dato che l’intelligenza necessaria a porsi un problema è non solo della stessa natura, ma anche infinitamente prossima a quella richiesta per risolverlo. In quel racconto si diceva di come un uomo avesse trovato un messaggio incomprensibile e fosse riuscito a decifrarlo. Immaginò che nel messaggio fossero state cambiate le lettere secondo una corrispondenza a lui ignota. All’epoca di Poe solo gli specialisti conoscevano la cifratura di Vigenère e il disco di Leon Battista Alberti, mentre il grande pubblico – Poe compreso -non conosceva altre crittografie che quella di Cesare, cioè una tabella-alfabeto di pure sostituzioni 1-a-1. Le sostituzioni molti-a- molti e a chiave variabile irruppero nella storia con la macchina Enigma di Arthur Scherbius nel 1918, quella poi impiegata dai Tedeschi, dagli Italiani e dai Giapponesi nella seconda Grande Guerra del ventesimo secolo e che Marian Rejewski in Polonia e poi il gruppo di Bletchley Park in Inghilterra sotto la guida di Alan Turing cominciarono a decifrare fin dall’inizio della guerra. A quell’epoca l’approccio consisteva nel metodo “forza bruta”, cioè nel tentare “tutte” le decifrazioni possibili usando macchine di calcolo il più possibile veloci. Che cosa voglia dire “tutte” è una faccenda complessa che capirai dopo. L’esigenza di far funzionare il metodo “forza bruta”, cioè di farlo funzionare in tempo, regalò all’umanità il primo elaboratore elettronico, il Colossus, progettato da Turing per rendere molto più veloce le operazioni eseguite dal suo predecessore, la macchina Bomba dei polacchi, che invece era meccanica e non fu più in grado di decifrare in tempo i messaggi della nuova macchina Enigma a cinque rotori (prima ne usava tre) introdotta dai Tedeschi nel 1939. Ma torniamo al codice semplice, quello dove un carattere in entrata genera un carattere in uscita, usato da Giulio Cesare. Perfino una codifica così semplice richiede già una “forza bruta” non trascurabile, dato che per tentare di leggerlo applicando tutte le combinazioni ci sarebbero voluti 26x25x24x23x22… giù fino a 1 tentativi diversi. Il messaggio era molto lungo e il tempo necessario avrebbe annullato l’utilità della decifrazione. Ricordava però che qualcuno aveva scritto che le frequenze delle diverse lettere, in ogni lingua, tendono a numeri calcolabili in modo sempre più preciso con l’aumentare della lunghezza del messaggio. Fu abbastanza facile contare le a del messaggio, poi le b, poi le c e così via e quindi metterle in ordine di frequenza e poi mettere questa lista di soli 26 elementi accanto alla lista delle frequenze note. Facendo coincidere le frequenze, o cercando i valori più vicini, era possibile costruire la lista dei caratteri usati al posto di a, b, c, d, e così via. In qualche ora fu possibile svelare il contenuto del messaggio segreto. -Si, ma la lunghezza della versione crittografata è uguale a quella del messaggio originale, quindi non si risparmia niente! -È vero, però gli stessi concetti furono usati molto tempo dopo con lo scopo di risparmiare risorse di memoria e David Huffman nel 1952 pubblicò A Method for the Construction of Minimum-Redundancy Codes, uno studio che divenne classico, dove si indicava che codificando i caratteri più frequenti con notazioni più compatte, si poteva risparmiare occupazione di memoria. Nel penultimo decennio dello stesso secolo i matematici Ziv, Lempel e Welch ottennero risultati più brillanti, cioè un maggiore risparmio di memoria, applicando la codifica ridotta non ai singoli caratteri più frequenti, ma ad intere sottostringhe trovate con ricorrenza nel testo del messaggio da comprimere. In realtà l’informazione non è compressibile. Einstein diceva che per essere chiari occorre esprimersi col minor numero di parole, ma non una di meno. Infatti si può solo eliminare la ridondanza, come diceva Huffman nel titolo del suo articolo. Lo si può dimostrare con la termodinamica e con la misura dell’entropia. Prova a nascondere una riga di stampa con l’orlo di un foglio di carta e di cominciare lentamente a farne apparire una sottile striscia. Scoprirai che il testo diventa leggibile dopo aver scoperto circa un terzo se si parte dall’alto e circa due terzi se si parte dal basso. Questo significa che nelle lettere del nostro alfabeto c’è più informazione nella parte alta dei caratteri e meno nella parte bassa. Il ricorso alla ridondanza è dovuto alla necessità di poter contrastare il rumore, cioè il disturbo del canale di informazione. In una riga di stampa potrebbe esserci stato un difetto di inchiostratura che ha fatto perdere la chiarezza di alcuni caratteri, così come una linea telefonica può essere affetta da fruscìo. La ridondanza è stata sviluppata anche nelle lingue umane, e grazie a questa riusciamo a capire anche le persone che hanno difetti di pronuncia o quelle che stanno parlando in presenza di forti rumori. I numeri di telefono invece sono privi di ridondanza, cioè non permettono alcun tentativo di ricostruzione dell’informazione eventualmente perduta. Una parola danneggiata da un refuso resta in molti casi ancora comprensibile, ma un numero di telefono danneggiato diventa un altro numero di telefono. Lo spelling militare Alfa Bravo Charlie o l’abitudine di combattere il rumore e l’imperfezione acustica delle linee telefoniche pronunciando interi nomi di città ben conosciute per poi usarne solo il primo carattere spiegano molto bene il concetto di ridondanza come rimedio al rumore del canale. È un processo inverso a quello della compressione. Se ti fidi del canale puoi comprimere, se non ti fidi devi decomprimere, cioè ridondare. Nelle falangi dell’esercito Spartano, prima dell’azione, il comandante faceva disporre gli opliti in fila e diceva solo al primo la parola d’orine. Lui l’avrebbe bisbigliata nell’orecchio del secondo, e così via fino all’ultimo. Se all’ultimo arrivava la parola d’ordine corretta, allora non c’erano stati errori nel canale e soprattutto, c’era la garanzia che tutti l’avessero capita bene. -Quindi, se usi dei simboli più semplici e che occupano meno spazio per le lettere più frequenti, nell’insieme del messaggio, potrai risparmiare dello spazio. -Sì, ma tutta questa è storia. Stiamo parlando del Novecento, cioè di un’epoca in cui non era ben chiaro se scarseggiasse più la memoria oppure la potenza elaborativa, ma comunque, erano davvero scarse tutte e due. Molti anni dopo, con l’aumento esponenziale della potenza di calcolo disponibile (funzionava ancora la prima legge di Moore!) e con le tecniche di array computing fu possibile cominciare ad esplorare i numeri irrazionali trascendenti con velocità impensabili prima. E iniziò un’epoca in cui molti iniziarono a credere che sarebbe venuto un giorno in cui la memoria non sarebbe servita più e che potesse essere quasi completamene sostituita dalla potenza di calcolo, cercando l’informazione già presente nei numeri trascendenti. Qualunque informazione. -Allora, se capisco bene, i numeri trascendenti sono come una banca dati infinita che non è necessario memorizzare perché un algoritmo piccolissimo li contiene per intero descrivendone la legge generativa. -Precisamente! Il giorno in cui Stanislaus Shepherd, all’inizio del ventunesimo secolo scoprì che in una pagina di pi greco, neanche tanto remota, c’era il numero di telefono della sua fidanzata, con tutto il prefisso internazionale, scrisse fieramente nella sua agenda solo la posizione del punto iniziale di quella stringa di caratteri. Peccato che il numero necessario era un po’ più lungo del numero di telefono. Sebbene fuorviata, l’dea ormai c’era, e cominciava a prendere forma. Alcuni cominciarono a pensare che forse il numero-indirizzo poteva anche essere più corto e, anche soltanto nei casi favorevoli, si poteva usare quello, anche se occorreva un simbolo supplementare per informare che il numero non era esplicito, ma trovato dentro p. Ma tutto il tempo speso a fare questi giochi coi numeri di telefono non portò da nessuna parte e la faccenda cadde nell’oblìo. I numeri di telefono sono informazione, non conoscenza. E qui stiamo parlando di conoscenza. Nel 1996 David H. Bailey, Peter Borwein e Simon Plouffe, scoprirono una nuova formula per calcolare p come serie infinita: Questa formula permetteva di calcolare facilmente la k-esima cifra binaria o esadecimale di pi greco senza dover calcolare tutte le cifre precedenti. A loro si deve la possibilità di spaziare liberamente dentro pi greco. La conseguenza di questa scoperta non fu immediata. Covò per decenni sotto la cenere. Occorse più di un secolo per l’arrivo dell’epoca in cui si smise di basare la compressione e la crittografia su algoritmi di trasformazione reversibile, per spostarla su metodi di individuazione del punto di inclusione delle stringhe di informazione all’interno di sequenze trovate dentro e o dentro pi greco usando “semi” piccoli, o almeno significativamente più piccoli del risultato delle migliori compressioni algoritmiche reversibili. Una volta avuta questa posizione, o “seme” era questa che veniva memorizzata o trasmessa, insieme alla lunghezza del messaggio, perché permetteva di andare a trovare l’informazione direttamente calcolandosi i pezzi necessari di pi greco. Tutto iniziò quando venti anni fa, nel 2112, uno studente neozelandese scoprì per caso, giocando col suo nuovo supercomputer personale, che dividendo fra loro due grandi numeri primi il risultato, dalla decima cifra dopo la virgola, decodificato nel modo più elementare, cioè a coppie di cifre che corrispondessero alle lettere dell’alfabeto, conteneva il sonetto n. 104 di Shakespeare. Fu un caso di una fortuna incredibile e, fra l’altro, del tutto fuorviante, dato che il numero usato non era neanche un irrazionale, tuttavia, in due numeri non enormi era stato condensato il sonetto n. 104 di Shakespeare: To me, fair friend, you never can be old, For as you were when first your eye I eyed, Such seems your beauty still. Three winters cold Have from the forests shook three summers’ pride, Three beauteous springs to yellow autumn turn’d In process of the seasons have I seen, Three April perfumes in three hot Junes burn’d, Since first I saw you fresh, which yet are green. Ah! yet doth beauty, like a dial-hand, Steal from his figure and no pace perceived; So your sweet hue, which methinks still doth stand, Hath motion and mine eye may be deceived: For fear of which, hear this, thou age unbred; Ere you were born was beauty’s summer dead. Da quel momento la mania esplose e in moltissime università il furto sistematico di potenza di calcolo dei più grandi supercomputer diventò un vera piaga pur di scoprire se si potevano generare numeri abbastanza grandi da contenere il Finnegan’s Wake o l’Ulisse di Joyce o l’Iliade. Furono trovati. Cominciò il drilling sistematico dei trascendenti e si scoprirono i grandi giacimenti di pi greco e di e. Poi accadde una cosa stupefacente. Si capì che non tutte le opere erano ritrovabili. O non per intero. Nel ritrovamento della Fisica di Aristotele, in una posizione definibile “prossima” del numero di Eulero, mancavano molte parti. Come per esempio quelle sulla caduta dei gravi. Quelle che tutti gli studenti del primo anno di fisica sanno contenere affermazioni del tutto erronee, cioè risultate da una immaginazione fuorviata e non da osservazioni eseguite sia pure in condizioni particolari, così come la meccanica classica è vera sotto opportune condizioni, mancando le quali ci si accorge che essa è solo un caso particolare della Relatività. Allora ci si ricordò del perché ai primordi della Teoria dell’Informazione Computazionale, all’epoca della leggenda di Shepherd, gli esperimenti coi numeri di telefono non davano risultati soddisfacenti e il numero di volte che la codifica era più lunga rispetto ai casi in cui invece conveniva si equivalevano, mostrando che la cosa era del tutto casuale e priva quindi di correlazione. Il motivo, se ci pensi solo un po’, è abbastanza evidente. I numeri di telefono sono permutazioni di simboli senza significato. E non si poteva chiedere alla natura di rappresentare tutte le combinazioni di simboli senza significato in modo più economico delle combinazioni stesse. Basta un contatore o un generatore di numeri casuali. Non aveva alcun senso. Il senso. Il senso, il significato era la chiave di tutto, come si scoprì dopo, quando fu chiaro che erano le asserzioni fallaci quelle introvabili. Adesso sappiamo che basta pi greco da solo. Dentro i suoi meandri, in diverse posizioni e con opportuni codici di trasformazione che richiedono algoritmi relativamente semplici, si può estrarre tutto il significante prodotto finora. E anche quello ancora da produrre. Adesso la sfida è trovare i contenuti che saranno scritti nel futuro in modo che si possano mettere nel giusto ordine di propedeuticità. Per poterli capire.
Giuseppe Sturiale