
L’algoritmo (e qualche suo antenato) spiegato a gente come me.
Fin dalle testimonianze più remote[1] tutta la storia della Matematica è disseminata di algoritmi: uno degli algoritmi più antichi venne scoperto su alcune tavolette di argilla in Mesopotamia e si riferisce al calcolo della somma delle potenze del numero 2 con esponente variabile da 1 ad n. Rappresentandolo nel nostro linguaggio, esso si compone dei passi seguenti:
- Inizio dell’algoritmo.
- Somma la potenza di 2 da 1 ad n, con n numero intero 1.
- L’ultimo termine della somma è 2n.
- Sottrai 2 da 2n, troverai quindi 2n – 2.
- Somma (2n – 2) a 2n e ottieni la risposta; quindi la somma è S = 2n + (2n – 2).
Questa formula rappresenta, infatti la somma di n termini della progressione geometrica:
21, 22, 23, 24, 25, 26, 27, 28, 29, . . .
Nel Medioevo veniva fatta una distinzione tra i cosiddetti abacisti, che calcolavano con l’abaco, e gli algoristi, che calcolavano usando appunto le nuove cifre arabe. Abu ‘Abd Allah Muhammad ibn Musa al-Khwarizmi (c. 825) – letteralmente “Padre di Abdullah, Mohammed, figlio di Moses, nativo di Khwarizm” scrisse per primo, rielaborando le equazioni algebriche del matematico indiano Brahmagupta e del matematico ellenistico Diofanto di Alessandria, l’opera Kitab Al-jabr wa’l Muqabala (L’arte di numerare ed ordinare le parti in un tutto), che sta alla base dell’algebra moderna. Di seguito compose Algoritmi de numero Indorum, traduzione latina di uno dei suoi più importanti studi sul sistema di numerazione indiano, che avviò la notazione posizionale e il numero zero nel mondo occidentale del XII secolo. La parola algoritmo e la sua variante meno usata algorismo derivano da “Dixit Algorizmi”, la latinizzazione del suo nome. La forma più antica di questo termine si trova nel latino medievale in cui, con la parola algorithmus o algorismus, si designava ogni procedimento per eseguire operazioni aritmetiche facendo uso delle cifre arabe che erano state introdotte in occidente con l’opera Liber Abaci, del 1202, di Leonardo Pisano, il grande matematico italiano noto con il soprannome di Fibonacci.

Esistono diversi termini che, almeno in parte, esprimono il concetto in questione, come: procedura, prescrizione, routine, processo, metodo; e al pari di queste cose, in prima battuta, si può definire un algoritmo come un insieme di regole o direttive atte a fornire una risposta specifica a una specifica richiesta. Possiamo aggiungere anche subito che caratteristica distintiva degli algoritmi è la totale eliminazione delle ambiguità: le regole devono essere sufficientemente semplici e ben definite da poter essere eseguite da una macchina. Un’altra qualità fondamentale degli algoritmi è che devono sempre avere termine dopo un numero finito di passi.
Anche se tradizionalmente gli algoritmi sono stati applicati unicamente a problemi numerici, tuttavia l’esperienza con i calcolatori ha mostrato che i dati elaborati dai cosiddetti programmi (esposizioni degli algoritmi in un linguaggio accuratamente definito) possono rappresentare virtualmente qualsiasi cosa.
Due esempi.
Un algoritmo riuscito.
a] Consideriamo, ad esempio, l’azione di “fare una telefonata”. Alla base dell’azione c’è la necessità di risolvere un problema: comunicare qualcosa ad un’altra persona che è irraggiungibile fisicamente, e che vive nella nostra stessa città o in un’altra città. Ecco allora che ci avviciniamo all’apparecchio telefonico, alziamo il ricevitore, componiamo il numero e attendiamo che la persona chiamata ci risponda. Se risponderà, allora avremo risolto il nostro problema; in caso contrario, potremmo decidere di riprovare dopo qualche tempo. Se analizziamo, nelle sue linee essenziali, la successione di azioni che si devono compiere, possiamo elencarle nel modo seguente:
1] mi avvicino all’apparecchio telefonico;
2] sollevo il ricevitore;
3] attendo il segnale acustico;
4] compongo il numero;
5] se il numero chiamato è libero, attendo la risposta, altrimenti riaggancio il ricevitore.
Chiediamoci: a quali criteri soddisfa questa sequenza di azioni? Certamente, essa è finita, cioè, termina in un tempo finito; inoltre, non crea contraddizioni, ovvero, non mi porta a fare un’azione che sia in contrasto con un’azione fatta precedentemente nella sequenza; infine, fa sempre la stessa cosa, cioè, ogni volta che io ripeterò la successione delle azioni, come risultato finale potrò comunicare con la persona chiamata oppure no. Possiamo, quindi, concludere che questo algoritmo risolve efficacemente il nostro problema.
Ecco un altro problema in cui l’algoritmo non risolve:
b] Debbo spiegare ad un amico come arrivare a casa mia, partendo da un posto noto ad entrambi.
Dopo avergli disegnato una piantina sommaria del luogo da raggiungere, potrei fornirgli queste
indicazioni:
1] partendo dal punto noto, prendi la prima strada a destra;
2] prosegui lungo questa via fino alla seconda trasversale;
3] gira a sinistra;
4] prosegui fino a che vedi sulla tua destra una bella insegna di negozio;
5] gira a sinistra;
6] prosegui lungo questa via fino al n. 33.

A prima vista, sembra che la successione delle istruzioni vada bene, e che l’algoritmo debba funzionare. In realtà c’è qualcosa che non lo rende del tutto efficace: nel passo 4 viene detto all’amico di proseguire finché non vede una bella insegna! In tal caso si suppone che ciò che per il proponente è una bella insegna debba esserlo ugualmente per l’amico. Ciò che può anche non essere, perché il concetto di “bello” è arbitrario e parziale, ancorché discutibile (insomma, se ne può parlare).
La domanda cruciale.
Siamo giunti al punto nodale della questione: in che modo l’impiego della matematica, e in generale della scienza, partendo da costruzioni procedurali dimostrabili e ripetibili, introduce al proprio interno processi e criteri esplicativi che appartengono, al contrario, a scelte unilaterali, incerte, non controllabili, prescrittive e, dunque, eminentemente politiche?
Il vino e i suoi algoritmi.
Il mondo del vino, sicuramente meno e non da meno di altri, sta facendo i suoi primi passi nel mondo degli algoritmi: così, ad esempio, qualche anno fa, l’ORS GROUP[2], società italo-tedesca specializzata nei software per l’analisi dei big data e l’ottimizzazione dei processi di business inventò Algo-Wine, sistema che utilizza una quantità immane di dati (tipo di uva o di vino che si vuol produrre, ma anche al tipo di terreno, la sua esposizione alla luce e al calore, la quantità di precipitazioni e di rugiada che si è depositata al mattino e via cantando) finalizzati a sostenere i produttori nella scelta del momento ottimale della vendemmia e, soprattutto, nell’organizzazione logistica per portarla a termine. Non vi sto a raccontare più di tanto Vivino, che molti di voi conosceranno: app nata in Danimarca dalla mente di Heini Zachariassen, conta su di un database enorme di etichette dalla cui fotografia si risale direttamente ad alcune informazioni base ed alla valutazione dai consumatori che attribuiscono loro un punteggio e un commento sintetico. Ha oltre venti milioni di utilizzatori in tutto il mondo e il loro prossimo passo, udite udite, sarebbe questo: l’algoritmo su misura. “Stiamo lavorando all’idea di proporre al consumatore le scelte in base alle bottiglie che ha fotografato e votato in passato, in modo da guidare le scelte future. Finora nessuno è riuscito a farlo in modo convincente[3]”. E non manca di certo l’inventiva italica: “La popolare rivista di economia e finanza americana Forbes ha inserito nella lista degli imprenditori under-30 del 2018 il giovane Matteo Parisi. Parisi è un 29enne di Lissone, in provincia di Monza-Brianza, il quale ha da poco lanciato in rete il suo interessante progetto Vinhood. Vinhood è un sito internet che ha alle spalle una società nata da una start-up, il cui obiettivo è favorire la scelta del vino in base alla personalità dell’utente. Insieme ad alcuni soci, Parisi ha creato un algoritmo a partire dal quale, in base alle preferenze alimentari e al gusto dell’utente, suggerisce un vino che potrebbe incontrare al meglio il gusto di chi lo beve[4]”.
Mark Zuckenberg, google, gli algoritmi e qualche ragionamento in più.

Un paio di settimane orsono esce per il Sole24ore un articolo di notevole fattura[5] firmato da Stefano Brusadelli che inizia così: “Acquistare feltrini da mettere sotto le zampe dei mobili, almeno negli Stati Uniti, può rivelarsi un ottimo affare. E non solo per la salvaguardia dei pavimenti di casa. Un algoritmo utilizzato dai gestori di carte di credito ha infatti stabilito che chi utilizza quei dischetti rappresenta il miglior cliente possibile per le banche. E questo perché non può che trattarsi di un individuo talmente scrupoloso da considerare insopportabile l’onta di un debito insoluto”. Il tutto perché ci troviamo di fronte a questa situazione: “Le pagine indicizzate da Google sono arrivate all’incredibile cifra di 30 mila miliardi. Su Facebook vengono postate quotidianamente 350 milioni di foto e 4,5 miliardi di like. Nell’arco di 48 ore, la rete genera la stessa quantità di informazioni che l’umanità ha prodotto dalla preistoria fino al 2003, e tale velocità è destinata ad aumentare. Ogni giorno Google gestisce 3,3 miliardi di richieste provenienti dai suoi utenti. Solo grazie agli algoritmi, cioè a una serie d’istruzioni matematiche (segrete) che servono a vagliare grandi masse di dati, da una tale disordinata immensità è possibile ricavare ciò che è utile; tanto alla banca desiderosa di individuare la buona clientela che alla coppia in cerca di un ristorante romantico, ma non dispendioso, per festeggiare l’anniversario”. Le domande che si pone l’autore dell’articolo, intervistando figure come il sociologo francese Dominique Cardon o i Garanti della Privacy e della Concorrenza in Italia, riguarda la traduzione matematica di impressioni, pressioni, intenzioni e pregiudizi tipicamente umani che potrebbero condurre ad effetti di manipolazione vera e propria, ad opera di operatori senza volto e senza alcun mandato democratico, degli elettori-navigatori.
Ricapitolando senza capitolare.
Ci sono dei punti fortemente interconnessi che toccano sia il metodo o i metodi scientifici in quanto tali, sia l’uso della scienza come feticcio del “neutro”, ovvero dell’inconfutabilità dei dati che da essa ci giungono (nella loro predisposizione e nella loro formulazione), sia nell’uso politico che della scienza si fa come surrogato di un principio numerico astratto, a cui non viene richiesta una verificabilità proprio in quanto ente numerario (spesso la scienza statistica viene utilizzata con le medesime funzioni). In questa valutazione non vi è alcun atteggiamento, almeno da parte mia, anti-scientifico, di cui problematizzo non solo il senso e il significato, ma la stessa dicitura. Penso male anche dell’anti-politica, ma ugualmente di coloro che utilizzano quella parola scomposta, per specificare qualcosa su cui non sono d’accordo o di cui non ne comprendono i confini e la portata. Alcuni studiosi e storici della scienza, tra i quali occorre annoverare i lavori di Thomas Khun[6] e Paul Feyerabend[7], hanno dimostrato con sufficiente ampiezza come le osservazioni scientifiche siano cariche di teoria (theory-laden) e che “un’importante conseguenza della distinzione tra osservazione e teoria si evidenzia nel corso dei periodi di cambiamento teorico (…) Qualsiasi teoria può essere conservata, nonostante prove osservative o di altro genere apparentemente falsificanti, a patto di modificare in maniera adeguata altre parti della nostra rete di credenze. La scelta tra teorie diverse, non potendo essere imposta dalla realtà stessa, dovrà quindi essere spiegata facendo riferimento anche a elementi extra-scientifici – fattori sociali inclusi[8]”. Gli algoritmi, infine, non diversamente da altri modelli matematici e scientifici, pongono in essere questioni rilevanti di influenze, inferenze, attinenze, trasversalità ed utilizzi che hanno poco a che fare con discipline separate e apparentemente autosufficienti, ma molto a che vedere con il genere umano nel suo complesso e a tutto ciò che, nel bene come nel male, ne consegue.
[1] Gli esempi sono presi dal testo di Aldo Scidone, Algoritmi, Un approccio storico–didattico ad un leitmotiv della Matematica in http://math.unipa.it/~grim/cdSISSIS/algoritmi.pdf
[2] Matematica e algoritmi per il vino perfetto Matematica, statistica ed econometria per individuare il momento ottimale per la vendemmia in https://vigneviniequalita.edagricole.it/vigneto/vendemmia/matematica-e-algoritmi-per-il-vino-perfetto/ del 26 marzo 2015 e Alessandro Papayannidis, L’algoritmo che suggerisce quando e dove vendemmiare, in http://corriereinnovazione.corriere.it/coverstory/2015/30-marzo-2015/algoritmo-che-suggerisce-quando-dove-vendemmiare-2301186723236.shtml# del 31 marzo 2015
[3] Luciano Ferraro, Vino, un algoritmo deciderà cosa farci bere, in http://divini.corriere.it/2016/11/11/vino-un-algoritmo-decidera-cosa-farci-bere/ del 11/11/2016
[4] Un algoritmo sul vino lo catapulta su Forbes in http://www.ritmodivino.it/2018/01/28/algoritmo-vino-forbes/
[5]Stefano Brusadelli, Schiavi dell’algoritmo in http://www.ilsole24ore.com/art/cultura/2018-03-06/schiavi-dell-algoritmo-123316.shtml?uuid=AETD076D del6 marzo 2018
[6] Thomas S. Kuhn, La struttura delle rivoluzioni scientifiche, Einaudi, Torino 2009; edizione originale 1962
[7] Paul Feyerabend, Contro il metodo. Abbozzo di una teoria anarchica della conoscenza, Feltrinelli, Milano 2013; edizione originale 1975
[8] Luca Guzzetti, Etnografia del laboratorio scientifico in A. Dal Lago e R. de Biasi, Un certo sguardo, Introduzione all’etnografia sociale, Laterza, Bari – Roma 2002