L’abc degli algoritmi

Foto di EPA/FOCKE STRANGMANN

Come funzionano le catene matematiche di passaggi che gestiscono molti aspetti della nostra routine. La spiegazione dell'ingegnere Luigi Sassoli


Quando li studiava alla corte reale di Baghdad il matematico Muhammad Al-Khwarizmi non poteva sapere che, a distanza di secoli, gli algoritmi si sarebbero presi tutto. Assistenti virtuali, sistemi di sicurezza per luoghi privati e pubblici, videogiochi, commercio elettronico. Oltre che in sala operatoria, nelle notizie che leggiamo e nelle automobili che guidiamo, l’occupazione algoritmica si è estesa anche al dibattito pubblico. Come una parola si trasforma in mantra: dalla semi-oscurità all’utilizzo copioso degli ultimi tempi il passo è stato breve in questo caso.

Foto di EPA/FOCKE STRANGMANN
Foto di EPA/FOCKE STRANGMANN

Oggi chi parla di algoritmi lo fa spesso con l’intento di evocare le storture più preoccupanti della tecnologia applicata alla vita umana a livello sociale, economico, politico, militare. Sono ovunque, tutti li usano. Ma sotto il grande cappello degli algoritmi finiscono varie entità, matematiche prima ancora che informatiche.

«Nient’altro che un metodo per risolvere un determinato problema, esiste da molto prima dei computer. C’è un algoritmo anche per cucinare la pasta alle vongole, volendo». Luigi Sassoli è Direttore tecnico di una società di informatica, con un
passato da ricercatore e esperienza su vari tipi di algoritmi, da quelli
tradizionali a quelli genetici o utilizzati in ambito di Intelligenza Artificiale.«Si tratta semplicemente di un insieme di passaggi finiti, precisi e riproducibili che, stabilito un insieme di dati, producono un certo risultato».

Gli algoritmi tradizionali, detti anche deterministici, si possono scrivere su un foglio di carta, ma vengono tradotti in un programma attraverso uno dei vari linguaggi informatici per essere attuati da una macchina. «Il computer prende semplicemente segnali elettrici che rappresentano i nostri dati e esegue l’algoritmo. Senza conoscere la semantica che sta dietro al problema, cioè ignorando se quelli sono numeri, colori, nomi o altro. E lo fa in maniera velocissima rispetto a noi».

Qui la macchina fa da mera esecutrice di una sequenza di passi stabiliti dal programmatore, rappresentabili, conoscibili. Se la complessità del problema si impenna, però, diventa indispensabile cambiare strategia. L’ingegnere Sassoli fa l’esempio di un dispositivo progettato per riconoscere una firma autentica da una falsa. «Se ti chiedo in che modo le sai distinguere, come me lo spieghi? Mi sai descrivere la somiglianza, sai entrare dentro questo concetto? Una cosa è l’algoritmo, altra l’Intelligenza Artificiale (IA), che nasce dai limiti dell’algoritmo».

Foto di EPA/FOCKE STRANGMANN
Foto di EPA/FOCKE STRANGMANN

Lo sviluppo dell’IA è cominciato negli anni ’70, quando gli informatici hanno messo a fuoco come velocità di calcolo e capienza di dati dei computer fossero qualità da sfruttare a proprio vantaggio. Basta pensare agli algoritmi genetici: se l’uomo non è in grado di definire i passaggi, che sia la macchina a trovarli, provando ad avvicinarsi alla soluzione. «Un computer riesce a fare tutte le permutazioni di dati, andando avanti per tentativi in maniera “casuale”. Si procede per approssimazione. Mano a mano, le opzioni più lontane vengono scartate e si continua a investigare su quelle più vicine».

L’Intelligenza Artificiale è legata anche al concetto di rete neurale. «Funziona come i nostri neuroni nel cervello. Dai loro un input a sinistra, uno a destra, ne può uscire un segnale positivo o negativo, fine. Singolarmente codificano poche condizioni ma, se concatenati insieme, iniziano a prender forma un’infinità di possibili soluzioni», continua l’ingegnere Sassoli. «Per questo si chiama machine learning. La macchina ha un istruttore, l’uomo, che non le dice cosa fare ma le fornisce i dati e il risultato atteso per quei dati (nell’esempio della firma: se è vera o falsa). L’efficacia dipende da quanto l’analista è bravo a costruire la rete neurale e a darle dati giusti in termini di generalità. All’inizio il computer produrrà tanti modelli sbagliati. Allora varierà i numeri che generano i risultati di ogni singolo nodo della rete e, dopo giorni, mesi, anni di apprendimento la macchina comincia ad avere una rete neurale, che si è creata da sola e non è rappresentabile con una serie di passaggi fai-questo-fai-quello».

A questo punto l’uomo dovrà testare la capacità di generalizzazione del dispositivo fino a che non si raggiungerà un livello soddisfacente di attendibilità. Più aumentano varietà ed esperienza fornite al computer in termini di dati, più questo sarà in grado di produrre buoni modelli. «Però tu non saprai mai descrivere su carta come la macchina ci riesce. Il risultato che ti dà si ricava in base a un flusso di numeri».

condividi