Questo sito utilizza cookies tecnici (propri e di terze parti) come anche cookie di profilazione (di terze parti) sia per proprie necessità funzionali, sia per inviarti messaggi pubblicitari in linea con tue preferenze. Per saperne di più o per negare il consenso all'uso dei cookie di profilazione clicca qui. Scorrendo questa pagina, cliccando su un link o proseguendo la navigazione in altra maniera, acconsenti all'uso dei cookie Ok, accetto

 2024  novembre 18 Lunedì calendario

L’algoritmo batte il calcolatore

Il 30 maggio 2022 il supercomputer Frontier dell’Oak Ridge National Laboratory degli Stati Uniti guadagnava il primo posto nella classifica Top50 dei più veloci computer del mondo, con prestazioni da 1.1 esaflop. La notizia, riportata da «Le Scienze» del 22 settembre scorso, ci proietta a numeri fantasmagorici, prestazioni inaudite, scenari sorprendenti che fanno gridare al prodigio. Allora la tecnologia può tutto, è soltanto questione di tempo! Dall’infinito, certo, siamo ancora molto lontani, e del resto non lo raggiungeremo mai a forza di successivi incrementi di potenza, anche se qui entriamo nell’ambito di grandezze formidabili, come quelle già immaginate da Archimede nell’Arenario. Con i nuovi computer parliamo di esascala: un calcolatore a esascala è in grado di eseguire un numero fantastico di operazioni in brevissimo tempo. La velocità di esecuzione è oggi quantificata in esaflop, e l’esaflop è una misura di efficienza per un supercomputer che può calcolare un trilione (1 seguito da diciotto zeri) di flop, cioè di operazioni in virgola mobile (somme e prodotti di numeri scritti come una parte «decimale» moltiplicata per potenze di 2) in un solo secondo. Negli anni Settanta, per misurare il progresso della potenza di calcolo, si parlava di appena (!) un milione di operazioni al secondo. L’incremento della capacità di memoria non è da meno, e oggi si misura anch’essa in termini di trilioni, ovvero di esabyte. Si intende che i campi di applicazione sono innumerevoli, dall’astronomia alla medicina, dalla chimica ai contenuti visivi dei giochi, dalla risoluzione di problemi intrattabili alle armi nucleari.
Mi viene spontaneo, a questo proposito, fare almeno tre osservazioni: la prima di natura più tecnica, la seconda di carattere storico, la terza ispirata a motivazioni di natura psicologica.
Primo. Semplificando, ci sono due modi distinti di valutare la potenza di calcolo, uno riguardante la struttura della macchina, l’altro l’efficienza delle procedure di calcolo. Qual è la più importante, e quale nesso si può stabilire tra le due? Spesso i media e i rapporti divulgativi sui più stupefacenti progressi della tecnica informatica annunciano la crescita di potenza dei calcolatori, e ignorano che è dallo studio degli algoritmi, innanzitutto, che dobbiamo valutare la potenza di calcolo. Ma allora entrano in gioco problemi di stretta natura matematica, non facili da analizzare. Un calcolatore può arrivare a eseguire un trilione di operazioni al secondo, ma il trilione, per quanto enorme, è una grandezza fissata. All’opposto, sono variabili e possono crescere a dismisura la quantità di dati, la dimensione dei problemi e il numero di operazioni dell’algoritmo. E gli errori che ne conseguono possono infine vanificare, in taluni casi, la potenza della macchina. Esistono problemi fortemente mal condizionati per i quali piccoli errori sui dati producono grandi errori sul risultato finale del calcolo, che resterebbe privo di senso anche raddoppiando o triplicando la precisione. Nessun calcolatore o algoritmo sarà in grado di risolverli.
Il calcolatore lavora alla perfezione, non sbaglia mai, ma si serve di stringhe di cifre (bit) di lunghezza limitata e con tali stringhe deve approssimare numeri di infinite cifre binarie o decimali. Se il massimo numero consentito di cifre per rappresentare un numero è t, ogni operazione di macchina – somma, moltiplicazione o divisione – deve prevedere un arrotondamento alla t-ma cifra per far rientrare il risultato nello spazio di t celle di memoria, mentre le cifre successive sono ignorate. Perciò l’arrotondamento implica un errore sull’operazione, che ingloba anche gli errori presenti negli operandi, dovuti a misure inesatte o a errori procurati da operazioni precedenti. Dell’inevitabile accumulo di errori nel corso di milioni o miliardi di operazioni di macchina è impossibile, alla fine, dare un’esatta valutazione. Tuttavia, in molti casi importanti si possono fissare a priori dei limiti che l’errore non potrà superare, e il cui significato matematico, di non facile interpretazione, è di estremo interesse. Grazie a questi limiti, calcolati da John von Neumann, Herman Goldstine e Alan Turing negli anni Quaranta, possiamo interpretare con una certa fiducia e con la dovuta cautela i risultati di una procedura stampati in modo perentorio dalla macchina.
Un fatto decisivo è poi il seguente: se, al crescere della dimensione, la complessità di un problema va oltre una soglia accettabile e l’algoritmo richiede un numero esponenziale, o peggio, di operazioni, la riduzione della complessità e del costo algoritmico potrà essere più utile e decisiva della costruzione di un calcolatore cento o mille volte più potente. Lo studio della complessità computazionale e del comportamento dell’errore è peraltro compito della matematica, delle tecniche più perfezionate di algebra e analisi.
Infine, per cogliere il nesso tra macchina e algoritmo basti osservare che per aumentare la velocità di esecuzione i supercomputer si avvalgono oggi del lavoro simultaneo di diversi processori, ma gli algoritmi devono adeguarsi di conseguenza: quelli già esistenti devono potersi adattare alle diverse possibili architetture della macchina oppure essere completamente reinventati per adattarsi meglio a un modello di calcolo parallelo.
In conclusione la potenza della macchina non è sufficiente, di per sé, a valutare la potenza di calcolo. Eppure la nostra fantasia è catturata più dall’incarnazione tangibile di un cervello artificiale che dalla pallida immaterialità di un algoritmo. La mitologia, il cinema e la letteratura parlano talvolta di algoritmi, ma più ancora di macchine artificiali, di automi simili a umani, e di personaggi inquietanti come la bambola meccanica del Mago Sabbiolino di E.T.A. Hoffmann o il Golem della tradizione ebraica. Il cervello elettronico che John von Neumann progettava negli anni Quaranta era la prima incarnazione di un’entità mitica a lungo immaginata, che allora sorgeva dal nulla grazie a un sapiente assemblaggio di circuiti, di valvole termoioniche, schede perforate, resistenze e condensatori che doveva funzionare come il nostro sistema nervoso. Insomma nella macchina è più tangibile l’inquietante analogia tra essere umano e creatura artificiale, ma l’evidenza dell’analogia nasconde il cuore immateriale del fenomeno, che consiste in leggi puramente matematiche.
Secondo. Gli algoritmi sono nati ben prima del computer. La loro origine risale ai greci e ai babilonesi, ma è nel XX secolo che si è sviluppata propriamente la computer science, che è appunto una scienza degli algoritmi. L’urgenza di questo sviluppo aveva i suoi validissimi motivi. L’algoritmo consiste in un processo che, dopo un numero finito di passi obbedienti a un rigido automatismo e a un determinismo inattaccabile da scelte arbitrarie, deve guadagnare alla fine un risultato attendibile. Storicamente, esso si profilò, fin dal primo Novecento, come il rimedio più sicuro e affidabile da contrapporre alla crisi della matematica dopo la scoperta dei paradossi che invalidavano le teorie dell’infinito attuale di fine Ottocento. L’infinito si era rivelato ancora una volta come l’avevano già concepito i greci, cioè come un’entità sfuggente, refrattaria ad ogni certezza, insomma un abisso, e il merito dei logici e dei matematici del secolo scorso è averlo dimostrato oltre ogni possibile dubbio, servendosi appunto, tra le altre cose, del concetto di algoritmo.
Alla conseguente rimozione dell’infinito subentrò, per una sorta di contraccolpo dialettico, il finito molto grande, che gli automatismi del calcolo erano deputatati a trattare fino a limiti estremi, essendo enormi le dimensioni dei problemi della matematica applicata. Sotto questo profilo la computer science si incaricò di riempire il vuoto incolmabile lasciato in eredità dal fuoco ormai estinto delle teorie matematiche dell’infinito attuale. Di qui viene spontaneo riconoscere il significato obiettivamente idolatrico che assume la potenza del calcolatore per via degli annunci e dei commenti dei media. Dovremmo riferirci ai filosofi greci e al platonismo dei primi secoli dopo Cristo per capirlo meglio. Plotino (III secolo d.C.) distingueva due infiniti: uno era il modello, l’altro la sua immagine sensibile, in greco eídolon. Ma sbaglieremmo, avvertiva Plotino, a pensare che l’infinito imperfetto, mai attuabile, del mondo sensibile sia un’approssimazione credibile di quello attuale e intelligibile, e che un percorso del primo ci avvicini al secondo. È vero se mai il contrario: quel percorso ci allontana dal vero infinito. Noi abbiamo d’altronde la tendenza insopprimibile a confondere i due infiniti, quello reale e intelligibile e la sua immagine imperfetta e incompiuta; ed è allora che quest’ultimo può assumere i connotati della superstizione, e di una inconsapevole e proterva idolatria. Diamo tutto il credito possibile alla potenza crescente dei supercomputer come a un ingannevole surrogato dell’infinito che si è sottratto alla nostra comprensione. Beninteso, anche dopo la crisi del primo Novecento la matematica rimane sempre, come diceva David Hilbert, una grande sinfonia dell’infinito, ma c’è da chiedersi se sia lecito cogliere nell’esaflop di un calcolatore l’eco di quella sinfonia.
Arriviamo così al terzo punto. Nel cuore dell’algoritmo c’è un atto fondamentale di simulazione – del nostro pensiero con procedure di calcolo – tanto più necessario quanto maggiore è la dimensione dei problemi da risolvere. Una volta certificata in esaflop la velocità del computer, appare allora plausibile delegare alla macchina le nostre valutazioni e le nostre decisioni. Ci stiamo affidando a un processo automatico più potente di noi; tuttavia questo processo non può rappresentare le nostre intenzioni in ogni loro risvolto, per il semplice motivo che le interpreta rigidamente alla lettera. Esso non possiede la necessaria prudenza e sottigliezza con cui saremmo tenuti a pesare ogni cosa secondo i retti dettami di una bilancia sapienziale (Proverbi, 16, 11). Inoltre Il procedimento a cui ci affidiamo non è visibile in ogni dettaglio, perché c’è una computazione interna alla macchina che rimane invisibile ai nostri occhi. Norbert Wiener, padre della scienza cibernetica, notava che in questo affidamento alla lettera era insito il pericolo della magia e di una diffusa deresponsabilizzazione. L’azione magica ha precisamente il carattere di un’operazione che ubbidisce a criteri letterali: se garantisce qualcosa, è solo per ottenere ciò che è chiesto, non ciò che si sarebbe dovuto chiedere o ciò che si avrebbe avuto l’intenzione di chiedere. L’abitudine alla delega tende a semplificare il giudizio, e nel riconoscergli una patente di obiettività, lo rende più inflessibile, approssimativo ed esposto a travisamenti. Sono innumerevoli, peraltro, analoghi fenomeni nella storia, come la pretesa di giustificare i peggiori crimini contro l’umanità per obbedienza a un’autorità superiore. Non mancano precisi riscontri letterari, come nel caso esemplare di Fëdor Dostoevskij: nei Fratelli Karamazov, è Smerdjakov a uccidere il padre dei fratelli Ivan, Dmitrij e Alëša, interpretando alla lettera ciò che è solo un’incerta e irrisolta intenzione di Ivan.
L’insidia della magia è esaminata anche da Sigmund Freud nel suo saggio Il perturbante del 1919. Perturbante traduce il tedesco unheimlich e si riferisce a tutto ciò che può essere qualificato come angoscioso e demoniaco. Heimlich vuol dire familiare, domestico, intimo, fidato, e quindi unheimlich sembra denotare il suo esatto contrario, ciò che è straniero e inconsueto. Ma per Freud i due aggettivi finiscono per rivelare significati affini. La familiarità, la casa, l’intimità possono anche alludere a qualcosa che deve essere tenuto nascosto. L’angoscia del perturbante ha origine dal fatto che ciò che avrebbe dovuto rimanere segreto e celato è invece riaffiorato, venuto alla luce. Anche Pierre, l’eroe del romanzo omonimo di Herman Melville (Pierre o delle ambiguità, 1852), è sottoposto a questa sorta di angoscia, che segna implacabilmente il suo destino.
Ma perché un calcolatore può essere unheimlich? La creatura artificiale, fa intendere Freud, può assumere il significato di un sosia, un doppio, un simulacro che agisce e prende concrete iniziative che abbiamo vagheggiato come possibili, ma che non avremmo mai osato prendere realmente. Infatti i princìpi applicati al tema del doppio, spiega Freud, fanno riemergere esperienze desuete e sepolte, perché «rappresentano un ritorno a stadi particolari dell’evoluzione del sentimento dell’Io, una regressione al tempo in cui esso non aveva tracciato una netta linea di demarcazione tra sé e il mondo esterno e gli altri individui». Il doppio s’incarica di interpretare alla lettera i pensieri rimossi e i desideri più inconfessati. Freud cita un racconto di Hanns Heinz Ewers, Lo studente di Praga, da cui Otto Rank prese l’avvio per il suo saggio sul sosia del 1914: il protagonista, Baldovino, promette alla sua innamorata di non uccidere il rivale in duello, ma mentre si reca verso la località prescelta per lo scontro, nel bosco si imbatte nel suo sosia che porta con sé una spada insanguinata, con cui ha già ammazzato il rivale.
Il perturbante potrebbe riguardare qualsiasi entità intelligente, naturale o artificiale, che svolga in nostra vece un compito di qualità e di dimensioni proibitive. Una simile entità evoca a tratti l’immagine di un demone estraneo e pure utile a ogni scopo, seducente e di impareggiabile efficacia, con tratti somiglianti a quelli del puer prodigioso descritto da Mark Twain nello Straniero misterioso. Potrebbe ora la nostra ragione scientifica, incaricata già da tempo di esorcizzare tutti i demoni, suggerirci il modo di sfuggire alla malia di quell’immagine? Forse le gioverebbe allearsi, a questo fine, ai misteri della favola e della più alta letteratura.