Senza perderci in inutili tecnicismi e spiegazioni chilometriche, vi basti sapere che un algoritmo è null’altro che “il modo di fare qualcosa”. Ritornando indietro a qualche anno fa e ricordando la prima lezione di linguaggi in università, vi faccio un esempio di algoritmo banale ma che rende perfettamente l’idea:
Algoritmo per preparare il caffè con la Moka:
- Estrarre la moka dal suo ripostiglio;
- prendere il caffè;
- svitare la moka;
- estrarre il filtro;
- riempire d’acqua il bollitore fino alla valvola;
- inserire di nuovo il filtro;
- riempire il filtro di caffè;
- riavvitare il raccoglitore;
- posizionare la moka piena sul fornello;
- accendere il fornello;
- attendere fino a completa uscita del caffè;
- spegnere il fornello.
Premesso ciò e spostando un attimino il discorso alla tecnologia (in cui un algoritmo è banalmente definito come una serie di istruzioni necessarie per raggiungere un determinato obiettivo), un possibile algoritmo potrebbe essere quello che i programmi usano (in realtà ne esistono diversi) per ordinare in ordine crescente una lista di numeri:
Algoritmo di base per ordinare una lista di numeri
- prendi la prima e la seconda cifra e confrontale;
- se la prima è più grande della seconda, scambia i posti;
- se la prima è più piccola della seconda, confrontala con la terza;
- ripeti i confronti in questo modo finché la lista è ordinata.
La definizione di algoritmo è applicabile davvero a qualsiasi cosa e a qualsiasi contesto, tuttavia ci sono degli algoritmi estremamente importanti che – letteralmente – nel 2014 dominano davvero la scena di Internet e che sono alla base del modo di agire dei giorni nostri.
Forse non è ovvio come sembra ma, leggendo questo articolo, scoprirete che alla base delle meccaniche più importanti del mondo c’è… semplicemente, la matematica! Guardiamo nel dettaglio gli algoritmi che dominano il mondo e che, un giorno, potrebbero davvero condizionare del tutto anche la mente umana.
Gli algoritmi di cifratura
Senza ombra di dubbio questo tipo di algoritmo – quello che serve a rendere le informazioni “non leggibili” da occhi indiscreti – è alla base praticamente di tutto: dalle transazioni bancarie alla memorizzazione delle semplici password dei social network, gli algoritmi di cifratura dominano il mondo e senza di essi non sarebbe possibile effettuare la maggior parte delle operazioni a cui siamo abituati.
Pensate ad esempio al transito in Internet di dati bancari non protetti e alla mercé di chiunque sia in grado di monitorare e spiare la nostra connessione (operazione per altro non complicatissima): vi sentireste sicuri?
PageRank – L’algoritmo di ricerca di Google
Nello specifico, questo è l’algoritmo che – insieme a quelli di cifratura – ha letteralmente dominato Internet: il PageRank altri non è che quella serie di calcoli matematici che definisce quali devono essere le pagine che compaiono per prime nella ricerca su Google, cosa che noi utilizziamo giornalmente quasi senza accorgercene.
Se avete un minimo di conoscenza del web e ci ragionate un secondo, la figura del SEO – il “Search Engine Optimizator”, insomma la figura professionale che si occupa del posizionamento sui motori di ricerca – prende come riferimento, nel 90% dei casi, Google.
Quindi è semplice concludere che il successo di una qualsivoglia pagina web sia strettamente correlato alla posizione che essa occupa nelle pagine di ricerca di Google, vista la spasmodica diffusione del motore di ricerca, e che quindi l’algoritmo PageRank sia stato uno tra i più importanti del mondo.
Parliamo al passato poiché gli algoritmi di Google si sono arricchiti di altri parametri; tuttavia l’importanza di PageRank è stata e resta sicuramente innegabile.
Ad Rank, l’algoritmo di AdWords
Avete presente gli annunci che Google mostra sulle varie pagine web iscritte al programma AdSense, in pratica i “banner” con cui avete a che fare un giorno si e l’altro pure?
Ebbene, alle spalle di tale meccanismo c’è un secondo programma dedicato a publisher e inserzionisti che risponde al nome di Google AdWords e che, in pratica, permette di investire materialmente in pubblicità online.
Tuttavia gli annunci pubblicati da Google sono tutt’altro che casuali: Ad Rank, l’algoritmo di Google AdWords, decide quali annunci pubblicare, dove e quando in base ad una notevole serie di fattori – tra cui la scansione delle email se si è iscritti a Gmail, delle pagine visitate, dei servizi più utilizzati, dei propri interessi se iscritti a Google+, delle tematiche della pagina su cui tali annunci compaiono e via dicendo – che vengono combinati attraverso complessi calcoli matematici e, infine, mostrati agli utenti sotto forma di annunci pubblicitari “pertinenti”.
Fateci caso, spesso e volentieri gli annunci Google mostrano esattamente ciò di cui potreste avere bisogno…
EdgeRank, l’algoritmo del news Feed di Facebook
Credevate che dietro il mostrare o non mostrare le notizie sul News Feed di Facebook non ci fosse un algoritmo? Bene, vi sbagliavate!
L’algoritmo del News Feed del celeberrimo social network è indubbiamente uno dei punti su cui, vista l’enorme influenza che riscuote, il team targato F blu lavora incessantemente. E’ in base ad un determinato numero di fattori (tipologia del contenuto, affinità, ripetitività e via discorrendo) che i calcoli matematici di tale algoritmo decidono se mostrare o meno un contenuto sul news feed degli utenti.
Con risultati a volte opinabili ma che, tuttavia, sono notevolmente migliorati nel corso del tempo – e continueranno indubbiamente a farlo.
L’algoritmo per gli appuntamenti di OKCupid
OKCupid è uno dei siti di appuntamenti online più visitati di tutti i tempi: alla base dei suggerimenti, delle affinità e delle proposte c’è, ancora una volta, un algoritmo basato su sofisticati calcoli matematici e statistici (interessi comuni, popolarità, punteggi, visite e via dicendo).
OKCupid ha dato il via a tantissimi altri siti del genere basati su algoritmi piuttosto simili, siti che – ad oggi – rientrano nella categoria dei più visitati in assoluto.
Gli algoritmi di analisi dei dati della NSA
Chi non ha sentito parlare della National Security Agency negli ultimi mesi?
Bene, sappiate che alla base dell’analisi dei dati collezionati dall’ente di sicurezza statunitense ci sono una serie di algoritmi estremamente complessi (confronti biometrici, analisi statistiche, GIS e quant’altro) di cui, purtroppo, in pochi conoscono la vera natura.
Nonostante l’alone di ignoto, comunque, vista l’importanza a livello internazionale della NSA gli algoritmi che ne regolano l’attività vanno a piazzarsi a pieno diritto tra quelli più importanti del mondo.
Il CRUSH di IBM
Avete mai visto Minority Report? Se si, sapete cosa si intende per analisi predittiva applicata al campo della criminologia: ebbene, IBM ha creato un software chiamato CRUSH – Criminal Reduction Utilizing Statistical History – che, grazie ad un algoritmo che combina posizione, crimini precedenti, analisi statistiche e quant’altro, è sulla carta in grado di predire e limitare le attività criminali.
Il progetto Blue CRUSH viene utilizzato in nazioni quali Polonia, Israele e Regno Unito, fa da progetto pilota a Los Angeles, Santa Cruz e Charleston; si dice che grazie all’algoritmo di CRUSH la polizia di Memphis sia stata in grado di ridurre i crimini gravi del 30% (di cui la metà è rappresentata dai cosiddetti “crimini violenti”) nell’arco temporale che va dal 2006 al 2010.
Gli algoritmi di negoziazione in Borsa
Come mi disse tanto tempo fa una persona a me cara, “non è che uno si sveglia la mattina e decide quanto vale un titolo in borsa!”
Ebbene, alla base dello Stock Trading – e del gioco in Borsa in generale – vi sono dei calcoli matematici estremamente complessi ed estremamente rapidi, calcoli su cui si basano algoritmi decisionali, previsionali, di calcolo congiunto e qualsiasi altro fattore degli “affari di azioni”.
Senza questi complicatissimi (ed onerosi in termini di risorse hardware e software) algoritmi non esisterebbe Stock Trading, non esisterebbero azioni, quotazioni, valori e quant’altro… in pratica, non esisterebbe la Borsa.
Assolutamente fondamentale è la rapidità con cui gli algoritmi devono agire per definire questo o quel parametro: nel video in basso, ad esempio, potete vedere in azione un algoritmo di high-frequency Stock Trading: tre minuti di video per mostrare l’algoritmo che decide le oscillazioni in borsa del titolo BlackBerry nell’arco temporale di 10 secondi. Impressionante.
Gli algoritmi di correzione vocale
Tenete presente quando si dice che una voce sia stata “modificata al computer” per renderla più armonica? Bene, anche alle spalle di quest’operazione c’è una serie di algoritmi matematici in grado di “aggiustare” la voce avvicinandola, per la maggiore, al semitono più vicino.
Visto e considerato che in un album “Studio” si e l’altro pure la voce dei cantanti subisce in trattamento del genere… come si fa a non considerare questa cateogira di algoritmi tra le più importanti al mondo?
L’algoritmo di compressione MP3
Ricordo ancora quando, più o meno 15 anni fa, c’era bisogno di installare un lettore multimediale apposito – all’epoca Winamp la fece da padrone – per leggere i file musicali compressi in formato MP3 che iniziavano a diffondersi.
Ebbene, l’algoritmo di compressione – che permette di mantenere una buona qualità audio abbassando nettamente le dimensioni rispetto al formato senza compressione (ad esempio il .wav) – è stato fondamentale per la diffusione di questo formato che ancora oggi rappresenta lo “standard di fatto” con cui avviene lo scambio dei file audio.
Anche questa volta, vista l’enorme successo riscosso e l’enorme importanza detenuta, si può dire che l’algoritmo di compressione Mp3 sia tra gli algoritmi che dominano il mondo.