Cosa sono gli algoritmi e perché mettono a disagio le persone?

“Algoritmo” è una parola che viene lanciata spesso. Ma quando costruiamo conversazioni sugli algoritmi di YouTube o Facebook, di cosa stiamo effettivamente parlando? Cosa sono gli algoritmi e perché le persone se ne lamentano così tanto?

Gli algoritmi sono istruzioni per la risoluzione dei problemi

Viviamo in un mondo in cui i computer sono compresi solo vagamente, anche se permeano ogni momento della nostra vita. Ma c’è un’area dell’informatica in cui chiunque può comprendere le basi di quello che sta succedendo. Quell’area dell’informatica si chiama programmazione.

La programmazione non è un lavoro affascinante, ma è il fondamento di tutto il software per computer, da Microsoft Office a robocaller. E anche se la tua conoscenza della programmazione deriva esclusivamente da cattivi film degli anni ’90 e notizie insolite, probabilmente non hai bisogno che nessuno ti spieghi cosa fa un programmatore. Un programmatore scrive codice per un computer e il computer segue le istruzioni di quel codice per eseguire attività o risolvere problemi.

Ebbene, nel mondo dell’informatica, un algoritmo è solo una parola di fantasia per il codice. Qualsiasi insieme di istruzioni che indichi a un computer come risolvere i problemi è un algoritmo, anche se il compito è semplicissimo. Quando si accende il computer, segue una serie di istruzioni “come accendere”. È un algoritmo al lavoro. Quando un computer della NASA utilizza i dati grezzi delle onde radio per eseguire il rendering di una fotografia dello spazio, è anche un algoritmo al lavoro.

La parola “algoritmo” può essere utilizzata per descrivere qualsiasi insieme di istruzioni, anche al di fuori del regno dell’informatica. Ad esempio, il tuo metodo per ordinare le posate in un cassetto è un algoritmo, così come il tuo metodo per lavarti le mani dopo aver usato il bagno.

Un uomo che guarda a disagio un laptop

Ma ecco il punto: in questi giorni, la parola “algoritmo” tende ad essere riservata ad alcune conversazioni tecniche molto specifiche. Non si sente la gente parlare di algoritmi di “matematica di base” o di algoritmi di “strumento per i graffiti di MS Paint”. Invece, senti gli utenti di Instagram lamentarsi degli algoritmi di suggerimento degli amici o dei gruppi sulla privacy che colpiscono gli algoritmi di raccolta dati di Facebook.

Se “algoritmo” è un termine generico per le istruzioni computazionali, perché lo usiamo quasi esclusivamente per descrivere aspetti confusi, magici e malvagi del mondo digitale?

La maggior parte delle persone utilizza “algoritmi” e “machine learning” in modo intercambiabile

In passato, i programmatori e la cultura pop si riferivano alla maggior parte delle istruzioni di calcolo come “codice”. Questo rimane vero oggi, per la maggior parte. L’apprendimento automatico è la vasta e torbida area dell’informatica in cui tendiamo a utilizzare la parola “algoritmo” invece di “codice”. Ciò, comprensibilmente, ha contribuito alla confusione e al disagio che circondano la parola “algoritmo”.

L’apprendimento automatico esiste da molto tempo, ma è diventato una parte importante del mondo digitale solo negli ultimi 15 anni circa. Anche se l’apprendimento automatico suona come un’idea complicata, è abbastanza facile da capire. I programmatori non possono scrivere e testare codice specifico per ogni situazione, quindi scrivono codice che può scrivere da solo.

Considerala una forma più pratica di intelligenza artificiale. Se categorizzi un numero sufficiente di e-mail del tuo capo come spam, il tuo client di posta inizierà a spingere automaticamente tutte le e-mail del tuo capo nella cartella dello spam. Allo stesso modo, Google utilizza l’apprendimento automatico per assicurarsi che i risultati di ricerca di YouTube rimangano pertinenti e Amazon utilizza l’apprendimento automatico per suggerire quali prodotti acquistare.

Ovviamente, l’apprendimento automatico non è tutto perfetto. Il nome “machine learning” suona abbastanza inquietante da mettere a disagio alcune persone e alcuni degli usi più diffusi per l’apprendimento automatico sono eticamente discutibili. Gli algoritmi che Facebook utilizza per il mining di dati o per gli utenti sul Web sono un esempio poco lusinghiero di machine learning.

Nella stampa sentirete parlare di “algoritmo di Google” per il posizionamento dei risultati di ricerca, “algoritmo di YouTube” per consigliare video e “algoritmo di Facebook” per decidere quali post vedere nella vostra timeline. Questi sono tutti argomenti di contesa e dibattito.

Perché gli algoritmi sono controversi

La divisione lunga è un algoritmo familiare (tra molti altri) per la divisione dei numeri. È solo che viene eseguito da scolari invece che da computer. La tua CPU Intel utilizza un algoritmo completamente diverso quando divide i numeri, ma i risultati sono gli stessi.

La sintesi vocale generalmente utilizza l’apprendimento automatico, ma nessuno parla dell ‘”algoritmo” della sintesi vocale perché esiste una risposta oggettivamente corretta che ogni essere umano può riconoscere immediatamente. A nessuno importa “come” il computer capisce cosa hai detto o se si tratta di apprendimento automatico o meno. Ci interessa solo se la macchina ha ottenuto la risposta giusta.

Ma altre applicazioni dell’apprendimento automatico non hanno il vantaggio di avere una risposta “giusta”. Ecco perché gli algoritmi sono diventati un argomento di conversazione regolare nei media.

Un algoritmo per ordinare alfabeticamente un elenco è solo un modo per eseguire un’attività definita. Ma un algoritmo come quello di Google per in qualche modo “classificare i migliori siti web per una ricerca” o quello di YouTube per “consigliare il miglior video” è molto più vago e non svolge un compito definito. Le persone possono discutere se quell’algoritmo sta producendo i risultati che dovrebbe, e le persone avranno opinioni diverse su questo. Ma, con il nostro esempio di ordinamento alfabetico, tutti possono concordare sul fatto che l’elenco finisce in ordine alfabetico come dovrebbe. Non ci sono polemiche.

Come dovremmo usare la parola “algoritmo?”

Gli algoritmi sono la base di tutto il software. Senza algoritmi, non avresti un telefono o un computer e probabilmente staresti leggendo questo articolo su un pezzo di carta (in realtà, non lo staresti affatto leggendo).

Ma il pubblico in generale non usa la parola “algoritmo” come termine generico per il codice del computer. In effetti, la maggior parte delle persone presume che ci sia una differenza tra un codice di computer e un algoritmo, ma non c’è. A causa dell’associazione della parola “algoritmo” con l’apprendimento automatico, il suo significato è diventato nebuloso, ma il suo utilizzo è diventato più specifico.

Un padre e un bambino che leggono qualcosa da un computer portatile

Dovresti iniziare a usare la parola “algoritmo” per descrivere anche i pezzi più banali di codice del computer? Probabilmente no, perché non tutti capiranno cosa intendi. La lingua cambia sempre e cambia sempre per una buona ragione. Le persone hanno bisogno di una parola per descrivere il mondo confuso, opaco e talvolta dubbioso dell’apprendimento automatico, e “algoritmo” sta diventando quella parola, per ora.

Detto questo, è bene tenere presente che un algoritmo (e l’apprendimento automatico) è, al suo interno, un mucchio di codice scritto per risolvere compiti. Non c’è trucco magico; è solo un’iterazione più complicata del software con cui abbiamo già familiarità.

Fonti: Ardesia, Wikipedia, GeeksforGeeks