Sentiamo spesso usare la parola algoritmo, ma che cosa mai
vorrà dire? Il significato è meno complicato di quanto si pensi: un algoritmo
non è altro che una procedura, una lista di istruzioni da seguire per risolvere
un problema. Per esempio se di un quadrato conosco il lato e devo calcolare il
perimetro, l’algoritmo esatto è la moltiplicazione del lato per quattro. L’algoritmo
per cucinare la pizza è la ricetta, e
quello per costruire un’astronave del Lego è dato dal foglietto delle istruzioni,
quello per raggiungere casa di un amico sono le indicazioni stradali. Questo
termine, algoritmo, deriva dal nome di un matematico persiano al-Khwarizmi che già
nell’ 800 d.C. aveva provato a spiegare a questo concetto.
Nel campo dell’informatica, un algoritmo è una procedura di
calcolo che serve a risolvere un problema più o meno complesso: dall’ordinare
una lista di nomi a guidare le delicate operazioni di una missione spaziale. L’algoritmo
sono le istruzioni che diamo al computer. Se lo dovessimo disegnare,
somiglierebbe a un diagramma di flusso, uno di quegli schemi con una serie di
blocchi, ognuno dei quali rappresenta una diversa operazione da compiere, e con
delle belle frecce che indichino la direzione da seguire. L’ordine delle
istruzioni è infatti fondamentale. Quando facciamo la pizza non mettiamo la
mozzarella sotto il pomodoro, e prima di uscire di casa non indossiamo le calze
sopra le scarpe, o il maglione sopra il cappotto. Le istruzioni andranno
eseguite dall’inizio alla fine, secondo un ordine prestabilito.
Oggi in genere si parla di algoritmi con riferimento al
settore dell’intelligenza artificiale, quel ramo dell’informatica che progetta
software in grado, nel tempo, di “imparare” dalle ripetizioni. Gli algoritmi
sono legati al tema del machine learning, cioè l’apprendimento automatico delle
macchine: anziché ripetere i set di istruzioni fornite “senza imparare nulla”,
i sistemi che si basano sul machine learning li riscrivono e li migliorano
mentre li eseguono, mentre lavorano. In questo modo gli algoritmi diventano
sempre più sofisticati, e a volte non del tutto comprensibili nemmeno a chi li
ha inizialmente programmati.
Sono gli algoritmi a trovare la strada più veloce e meno
trafficata su Google Maps, o a suggerirvi un film su Netflix in base a ciò che
più vi piace (come fanno a capirlo? Vedono quello che avete scelto finora…).
Una serie di algoritmi mette in ordine i risultati sui motori di ricerca,
facendo “salire” quelli con più link, più parole chiave o spiegazioni migliori.
Sono gli algoritmi che decidono che cosa far comparire sulla bacheca di
Facebook, o quali annunci pubblicitari proporci mentre siamo online. Algoritmi
specializzati ci permettono poi di interpretare le immagini rimandate dallo
Spazio dando loro forme e colori “terrestri”; ma anche di mappare il complesso
codice del DNA umano, o di fare previsioni su comportamenti o fenomeni futuri:
semplicemente, perché questi set di istruzioni sono spesso in grado di
individuare connessioni che all’occhio umano sfuggono.