Potrebbe sembrare un’invenzione del Secondo Millennio, in realtà possiamo trovare tracce di algoritmi già tra gli antichi Sumeri nel 2500 a.C.: su un’iscrizione è stato trovato, infatti, un algoritmo che veniva utilizzato per dividere il raccolto di grano in maniera equilibrata tra la popolazione.
Ai Sumeri sono seguiti poi i Greci con il matematico Euclide a cui si deve l’algoritmo per determinare il massimo comun divisore; al matematico arabo Al Khuwarizmi dobbiamo la scoperta dell’algebra e delle basi di calcolo da cui derivano anche gli algoritmi (piccola curiosità: la parola algoritmo è la trascrizione latina del nome del matematico).
La svolta importante allo sviluppo degli algoritmi e dell’informatica si deve però al filosofo Gottfried Leibnitz che, proponendo il calcolo binario alla base degli algoritmi e dell’informatica, aprì la strada non solo a Gauss che riuscì a sviluppare la tecnica dell’analisi regressiva ma, soprattutto, al matematico inglese Gorge Boole che, nel 1854, pose le basi della logica matematica assumendo che qualunque operazione si possa descrivere attraverso domande che possono avere due semplici risposte: vero/falso. Da questa ‘logica’ ha preso vita il calcolo binario, alla base degli algoritmi e dei linguaggi di programmazione informatica.
Ma che cos’è esattamente un algoritmo? Io che, di formazione umanistica, fino a non molto tempo fa ignoravo le profonde connessioni della matematica con la nostra vita, pensavo che l’algoritmo fosse una roba complicatissima; me lo figuravo con un’immagine poliedrica contenente al suo interno tanti piccolissimi poliedri in connessione tra loro e con il poliedro-madre, ma completamente inintelligibile e impenetrabile. Ho poi scoperto che l’immagine che mi ero fatta non c’entra un tubo con l’algoritmo e le connessioni che immaginavo non sono poi così incomprensibili.
Questa la definizione di algoritmo data da Wikipedia “procedimento che risolve un determinato problema attraverso un numero finito di passi”. In questa definizione io ci vedo chiaro e tondo lo zampino di Boole e del calcolo binario! In effetti cosa può essere peggio dell’indeterminazione per la soluzione dei problemi? La parola stessa ‘indeterminazione’ è inquietante e ipotizzare di risolvere problemi con passaggi indeterminati, infiniti e ambigui lo è ancora di più. La parola chiave da ricercare è ‘semplicità’ e la logica matematica risponde perfettamente a questo tipo di esigenza.
Mi sono soffermata più volte sulle sei proprietà degli algoritmi e ho piacere di ripassarle insieme a voi perché sono talmente chiare, semplici ed esplicite che danno la sensazione di potersi impadronire delle chiavi del mondo solo con il possesso di un algoritmo:
1) ATOMICITA’: i passaggi che compongono l’algoritmo devono essere semplici e non scomponibili
2) NON AMBIGUITA’: i passaggi devono poter essere interpretati direttamente e in maniera univoca dall’esecutore, sia esso un uomo, sia esso una macchina
3) FINITEZZA: i passaggi devono essere di numero finito, come pure finito deve essere il numero dei dati in ingresso
4) TERMINAZIONE: l’esecuzione dell’algoritmo deve avere un tempo finito
5) EFFETTIVITA’: il risultato dell’ algoritmo deve essere univoco
6) DETERMINISMO: ad ogni passaggio deve succedere sempre e solo un passaggio ben determinato
Fantastico! Ma ancora più impressionante è ciò che si può fare con gli algoritmi.
Vogliamo cominciare dalla Borsa?
Negli anni Ottanta a Wall Street il programmatore americano Thomas Peterffy elaborò un algoritmo che, introducendosi nelle linee telefoniche, captava i valori delle azioni e decideva cosa acquistare o vendere e in quali situazioni; gli algoritmi di oggi sono ancora più malandrini: ogni secondo simulano bombardamenti di ‘false offerte’ quasi esclusivamente per ingannare gli algoritmi dei concorrenti e indurli così a modificare i prezzi. Ma in questo modo non si corre il rischio di sovraccaricare i sistemi? Eccome! Il sistema di telecomunicazioni americano è talmente carico di dati che giovedì 6 Maggio 2010 il Dow Jones ha perso 998,5 punti in sei minuti: per Wall Street una delle più rovinose cadute della storia. Questo episodio ha coinvolto l’Europa come un’onda di Tzunami. Per quanto riguarda l’Italia lo posso testimoniare personalmente perché ho assistito in diretta alle escursioni repentine del nostro FtseMib: APERTURA 20079, MASSIMO 20477, MINIMO 19078, CHIUSURA 19483. in pratica un’oscillazione di 1399 punti in sei minuti che, a chi scrive, sono sembrati più lunghi di sei giorni. Quella stessa sera i media hanno fatto a gara a chi presentava la notizia in maniera più spettacolare paventando il solito falò di banconote: “Bruciati un milione di miliardi di dollari in sei minuti” – “Il debito greco e il rischio per la stabilità dell’Eurozona fanno crollare Wall Street”. Il giorno dopo tutti gli Indici hanno continuato ad oscillare attorno ai valori di chiusura del giorno prima, alcuni toccando anche nuovi minimi, ma lunedì 10 Maggio il nostro FtseMib ha aperto a 19153 e chiuso a 20971, con una rimonta di ben 1818 punti. Allo stesso modo si sono comportati il Dow Jones e gli altri indici europei e ha cominciato a diffondersi la voce di un refuso di un operatore di Borsa. Ovvero? Si è trattato di un Bug nel software di simulazione di offerte acquisto/vendita di cui si parlava prima. Gli algoritmi sono saltati.
Può sembrare inverosimile che il tilt di un algoritmo possa crashare l’intero mondo della finanza ma, purtroppo, è così. I passaggi che costituiscono l’algoritmo sono semplici, come si diceva sopra; è una sequenza basata sul sistema binario che prevede due sole opzioni di risposta: SI’/NO o VERO/FALSO. Un sovraccarico di dati in entrata o l’ingresso di dati mal formulati può sicuramente mandare in tilt un algoritmo e io, che sono come San Tommaso, ho provato a testare un algoritmo di Caranti.
Spiego: ritornando sul contributo “Bollinger VS Caranti” della rassegna Statisticamenteponendomi che ho scritto tempo fa, si può notare che si parla di un indicatore proprietario ‘Linea Verde’ che è costruita con un algoritmo di appiattimento tarato sugli strike. Linea Verde si aggiorna quotidianamente e scatta di 500 punti quando raggiunge un valore determinato in precedenza dal suo programmatore e necessita quotidianamente di dati precisi: Minimo, Massimo e Chiusura dell’Indice. Così io ho provato ad alimentarla con dati farlocchi inventandomi valori da catastrofe e semplicemente in un’ora l’ho vista transitare alla velocità della luce dal valore 16000 al valore 10500.
Semplicemente perché anche Linea Verde dipende da un algoritmo e dalla sua Atomicità, Non ambiguità, Finitezza, Terminazione, Effettività, Determinismo.
Oggi si fa prima a contare i settori in cui non si utilizzano algoritmi piuttosto che quelli in cui si utilizzano. Nel settore della difesa gli algoritmi possono prevedere i conflitti che potrebbero svilupparsi in zone geopoliticamente calde o individuare reti terroristiche elaborando probabili relazioni tra individui sospetti presenti nei database. E, se può sembrare abbastanza ovvio l’impiego di algoritmi nel settore della politica per fare stime sulle preferenze della popolazione per un candidato piuttosto che un altro o nella meteorologia per prevedere quali perturbazioni attraverseranno i continenti da qui a sei mesi, sicuramente meno noto è l’impiego degli stessi nel campo dell’editoria: algoritmi-scrittori capaci di scrivere articoli e libri semplicemente attingendo informazioni da internet.
Tutto ciò è bellissimo ma … purtroppo c’è sempre un MA, un risvolto della medaglia. Quali rischi corriamo ad essere diventati algoritmi-depending? Il più ovvio è il rischio della totale automazione e delle conseguenze che possono inevitabilmente seguire in caso di esecuzione errata di un algoritmo: l’episodio della Borsa di Wall Street che ha mandato in tilt l’intero mondo della finanza per un giorno è solo un esempio eclatante. Basta pensare a quanto è accaduto in Lombardia nel Dicembre dello scorso anno quando, a causa di un errore di programmazione nei turni dei macchinisti, il traffico ferroviario è rimasto bloccato per giorni interi. Va anche detto però che i Bug che possono mandare in tilt i sistemi sono errori di programmazione umana, quindi il controllo dell’uomo potrà forse un pochino ridursi, ma non potrà mai venire meno.
Minore consapevolezza si ha invece dei rischi che si celano dietro la necessità di disporre di sempre più dati, che sono il vero nutrimento degli algoritmi. I maggiori produttori di dati sono i social network: raccolgono una quantità inverosimile di dati dai propri utenti che poi vengono diffusi in rete. Ciò porta al problema del big-data, ovvero l’enorme quantità di dati a disposizione di tutti e che sfuggono al controllo perché sono di proprietà dei gruppi che li diffondono in rete e l’accesso ad essi è vietato. I dati abbondano, ma non se ne può fruire nel modo giusto per creare nuovi algoritmi capaci di dare vita ad un mondo più efficiente.
Questa pessima diffusione dei dati porta da un lato alla ‘caccia spietata’ degli stessi e al loro possesso per la gestione autonoma e intelligente poiché l’informazione informatizzata è ormai diventata l’oro nero del terzo millennio, vero e proprio petrolio digitale; dall’altro lato conduce a una sempre più dilagante violazione della privacy: si pensi che una catena di supermercati statunitensi riesce a capire, incrociando i dati sugli acquisti delle proprie clienti, se queste donne sono in stato di gravidanza. Si tratta di violazione della privacy che viene poi fatta seguire da una pressante e insistente sollecitazione ad acquistare prodotti di un certo tipo.
Questo è il problema del data-mining, ovvero l’estrazione, analisi e fruizione elle informazioni contenute dentro grandi database e i modi per alimentare questi database sono infiniti e, anch’essi, semplicissimi come gli algoritmi per i quali potranno rappresentare un giorno linfa e nutrimento. Eccone alcuni: navigare in internet su pc e smartphone, utilizzare fotocamere e videocamere digitali (piccola curiosità: i possessori di Iphone avranno notato che all’interno della App Immagini è presente una cartella titolata ‘Luoghi’ che contiene, a sua volta, un mappamondo in miniatura pieno di punteruoli rossi in corrispondenza di particolari luoghi. In breve, i luoghi in cui il possessore dell’Iphone ha scattato quelle fotografie, il tutto corredato da data e ora), etichette elettroniche sui prodotti, carte fedeltà, tessere a punti, sensori nei collari degli animali, sensori nelle slot machine e nei chip dei casinò, distributori automatici di prodotti, satelliti e ripetitori.
Forse non ce ne siamo ancora accorti … o forse già lo sappiamo ma, preferiamo fingere di non sapere a cosa stiamo andando incontro.
Erika Tassi