Fino a poco tempo fa, gli algoritmi erano un dominio degli informatici. Ma ora, sono entrati nelle nostre vite e stanno diventando pervasivi. Algoritmo non è più una parola straniera. Il trading algoritmico, i pregiudizi algoritmici, l’algoritmo di Facebook, persino la guerra algoritmica – tutti questi termini sono diventati parte del nostro vocabolario negli ultimi anni. Alcune persone arrivano a sostenere che viviamo in una nuova era: l’era dell’algoritmo. Ma gli algoritmi non sono così nuovi. Li abbiamo usati, consapevolmente o meno, per centinaia e migliaia di anni. Gli algoritmi sono semplicemente descrizioni specifiche di azioni passo dopo passo che devono accadere per raggiungere un particolare risultato. Sono uno degli strumenti più comuni di condivisione della conoscenza.
Praticamente ogni processo di insegnare a qualcuno come fare qualcosa usa algoritmi.
Alcuni aspetti degli algoritmi sono cambiati negli ultimi decenni. In particolare, l’introduzione dei computer significa che molti algoritmi oggi sono drammaticamente più complessi di quanto avremmo mai potuto immaginare in passato. Come si sono evoluti gli algoritmi per essere così sofisticati oggi rispetto al passato? Diamo un breve sguardo alla loro storia.
Algoritmi che guidano le azioni umane
Il termine algoritmo deriva dal nome di Muhammad ibn Mūsā al’Khwārizmī, un matematico persiano del IX secolo. Il suo nome latinizzato, Algoritmi, significava “il sistema di numeri decimali” e fu usato in questo senso per secoli. La nozione moderna di algoritmo è emersa in inglese nel diciannovesimo secolo, ed è diventata più comunemente usata a partire dagli anni ’50, innescata dall’emergere dei primi computer disponibili in commercio.
Molto prima che gli algoritmi ottenessero il loro nome moderno, però, erano comunemente creati e usati.
I primi algoritmi furono catturati su carta nell’Antica Grecia. Studiosi come Nicomaco di Gerasa o Euclide stavano creando i mattoni della matematica moderna. Per facilitare la comprensione e l’applicabilità delle loro idee, espressero molte di esse come azioni passo dopo passo.
Nicomaco di Gerasa introdusse il Setaccio di Eratostene. Il setaccio è usato ancora oggi dagli studenti che imparano a scrivere un codice informatico efficiente. Ha aiutato a semplificare il processo di identificazione dei numeri primi. I numeri primi sono numeri naturali, maggiori di uno, che non possono essere formati dalla moltiplicazione di due numeri naturali più piccoli. Per esempio, quattro non è un numero primo perché può essere formato moltiplicando due per due. Cinque, al contrario, è un numero primo, perché nessun numero naturale più piccolo di cinque può essere moltiplicato per formare cinque. Mentre non è troppo difficile identificare i primi numeri primi (per esempio 2, 3, 5, 7, 11, 13, 17, 19, 23 e 29), trovare grandi numeri primi richiede molto tempo. E i grandi numeri primi sono essenziali nella crittografia. Il setaccio di Eratostene fornisce istruzioni passo dopo passo per rimuovere rapidamente tutti i numeri non primi da un insieme definito di numeri (per esempio tra 1 e 10.000) fino a quando rimangono solo numeri primi. Oggi, ci sono numerosi algoritmi disponibili, che semplificano il compito di identificare tali numeri. Il setaccio di Eratostene ha dato inizio a tutta una famiglia di algoritmi che hanno lo stesso obiettivo e stanno diventando migliori (più veloci, o che richiedono meno passaggi) nell’individuare i numeri primi.
Euclide, l’altro studioso menzionato sopra, molto più noto di Nicomaco di questi tempi, introdusse un algoritmo per identificare il massimo comune denominatore di due numeri. Di nuovo, un compito non sempre facile, ma essenziale in molte situazioni. L’algoritmo di Euclide ha contribuito a rendere questo calcolo facile. Perché l’algoritmo di Euclide è utile? Immaginate di avere una stanza delle dimensioni esatte di 612 per 2006 centimetri che ha bisogno di un nuovo pavimento. L’algoritmo di Euclide vi aiuterà a trovare la dimensione delle piastrelle quadrate più grandi che coprirebbero ordinatamente il pavimento. La risposta, data dall’algoritmo, è 34 cm per 34 cm, risultante in una disposizione di 18 piastrelle per 59. Naturalmente, ogni piastrellista vi dirà che la risposta è sbagliata e che non avete idea di cosa state facendo perché l’algoritmo non considera la larghezza della malta e non lascia spazio per essa. Non temete: anche questo si può calcolare, ed espresso ordinatamente come un algoritmo.
Algoritmi che guidano le azioni delle macchine
Nel corso delle diverse centinaia di anni che seguirono, molti altri algoritmi furono creati e catturati sulla carta. Sono stati poi utilizzati da individui e seguiti passo dopo passo. Il primo algoritmo destinato ad essere eseguito su una macchina fu creato da Ada Lovelace (nata Byron) e pubblicato nel 1843.