Un algoritmo è una procedura per trasformare input in output. Non è necessariamente AI e non possiede intenzioni: obiettivi e regole dipendono da chi lo progetta.
La parola algoritmo viene usata per indicare quasi tutto: il feed che ci mostra un video, Google che ordina i risultati, una banca che valuta un rischio. Ma un algoritmo, nel senso più generale, è qualcosa di molto meno misterioso: una procedura definita per trasformare degli input in un risultato.
Una ricetta contiene una sequenza di istruzioni, ma non ogni ricetta è un algoritmo informatico. Nel software le istruzioni devono essere espresse in modo eseguibile o implementate attraverso componenti che producono un comportamento definito.
Immaginiamo di voler ordinare una lista di numeri. L’input è la lista, l’algoritmo stabilisce come confrontare e spostare gli elementi, l’output è la lista ordinata. Esistono molti algoritmi diversi per ottenere lo stesso risultato, con costi differenti in tempo e memoria.
Questo introduce un concetto importante: non basta che un algoritmo funzioni. Può essere necessario che funzioni abbastanza velocemente, con poche risorse e su grandi quantità di dati.
Un algoritmo tradizionale può contenere regole esplicite scritte da un programmatore. Un sistema di machine learning, invece, apprende alcuni parametri dai dati. Anche il training e l’inferenza utilizzano algoritmi, ma il comportamento finale non è definito attraverso una lunga lista di regole manuali.
Per questo dire “lo decide l’algoritmo” spesso nasconde più di quanto spieghi. Bisogna capire se parliamo di una regola deterministica, di un modello statistico o di un sistema composto da più componenti.
Molte piattaforme devono ordinare elementi. Un algoritmo di ranking assegna priorità o punteggi a risultati, video, prodotti o annunci.
Il punto decisivo è la funzione che viene ottimizzata. Ordinare per prezzo, pertinenza, probabilità di clic o tempo di visione produce liste completamente diverse anche partendo dagli stessi elementi.
Un sistema di raccomandazione prova a selezionare elementi utili o interessanti per un determinato utente o contesto. Può combinare preferenze passate, caratteristiche dei contenuti e comportamento di utenti simili.
Anche qui non esiste una formula universale. Netflix, YouTube, un ecommerce e una piattaforma musicale hanno cataloghi, obiettivi e segnali differenti.
Se una procedura ottimizza perfettamente la metrica sbagliata, il problema non è un bug nel codice. È la scelta dell’obiettivo. Per esempio, massimizzare esclusivamente il numero di clic può favorire contenuti capaci di attirare attenzione senza necessariamente aumentare qualità o soddisfazione.
Questo è il motivo per cui parlare di neutralità algoritmica ha poco senso senza discutere gli obiettivi. Un sistema incorpora inevitabilmente criteri di priorità.
Una regola applicata a dieci elementi è uno strumento. La stessa logica applicata a miliardi di decisioni può modificare visibilità, accesso e distribuzione dell’attenzione.
Nel nostro approfondimento su come gli algoritmi organizzano internet vediamo come ricerca, pubblicità, feed e moderazione usano sistemi diversi.
Gli algoritmi non hanno desideri. Le domande più concrete sono: chi ha definito il problema? Quali dati entrano? Quale risultato viene premiato? Chi può modificare le regole?
È così che una parola astratta torna ad essere comprensibile. Dietro l’algoritmo ci sono sempre una procedura, un obiettivo e un contesto in cui quel risultato produce conseguenze.