Il recente film The Social Network, dedicato alla nascita di Facebook, si apre con uno degli exploit che resero famoso in tutta l’università di Harvard il suo creatore Mark Zuckerberg: la creazione di un sito interattivo per determinare quali fossero le studentesse più belle.

La pagina web nacque in una sola notte e si chiamò Facemash: sullo schermo comparivano le fotografie di due ragazze, scelte a caso tra le migliaia trovate negli annuari scolastici; compito dell’utente era quello di cliccare sulla più carina delle due.

L’applicazione registrava i voti, e misurava il punteggio delle ragazze, usando un algoritmo tratto dal mondo degli scacchi: il sistema Elo.

Per spiegare sommariamente il suo funzionamento, uno dei protagonisti scrive su un vetro due espressioni:

Si tratta di una scrittura un po’ approssimativa, perché le espressioni corrette sono queste:

Le espressioni consentono di calcolare le probabilità di vittoria in uno scontro diretto tra due ragazze a e b. Ea è la probabilità che a vincere sia a. Eb è la probabilità che a vincere sia b. Poiché non è ammesso il pareggio, la somma Ea+Eb fa 1.

Per calcolare quei due valori è necessario conoscere il punteggio (rating) più aggiornato per ciascuna ragazza. I punteggi delle due contendenti si esprimono come Ra e Rb.

Sebbene sulla finestra della stanza di Zuckerberg comparissero le due equazioni relative a Ea e Eb, i valori che interessavano di più gli utenti erano ovviamente quelli dei rating (Ra e Rb), che salivano e scendevano a ogni click da parte degli utenti: le ragazze più cliccate avevano punteggi più alti, a scapito delle meno cliccate.

Ma come veniva calcolato il punteggio? Non bastava tenere il conto delle sfide vinte: battere una ragazza con il punteggio alto doveva far conquistare molti punti; viceversa, sconfiggendo una ragazza con pochi punti si dovevano conquistare meno punti. Il sistema Elo consentiva di risolvere questo problema attraverso questo metodo di aggiornamento dei punteggi dopo ogni sfida:

Nelle due equazioni, W vale 1 per la ragazza che ha vinto e vale 0 per quella che ha perso. Il nuovo punteggio della ragazza che ha vinto viene ricalcolato sommando al precedente una costante K moltiplicata per la probabilità che a vincere fosse l’altra. Quello della ragazza che ha perso diminuisce di una quantità pari a K moltiplicata per la probabilità di vincere: maggiore era tale probabilità, maggiori sono i punti persi.

Immaginiamo una sfida tra la figlia di Fantozzi e Audrey Hepburn.

A partire dai loro rispettivi rating, è facile calcolare le probabilità che a vincere sia la prima (9%) o la seconda (91%):

Supponiamo che vinca la figlia di Fantozzi e che K valga 100. Ecco come si alzano e si abbassano i rating delle due sfidanti:

La ragazza con il punteggio più basso ha battuto quella con il punteggio più alto: tale situazione mette in palio ben 91 punti, che vengono sommati a una e sottratti all’altra. Se invece avesse vinto Audrey Hepburn, i punti in gioco sarebbero stati di meno, perché si considera che sia facile sconfiggere un avversario più debole e giustificato perdere con un avversario molto più forte:

In quest’ultimo caso, i punti in palio sarebbero stati solo 9.

Nel grafico qui sotto, si vede chiaramente la differenza tra le due situazioni:

A sinistra: Nell’ipotesi in cui vinca la figlia di Fantozzi, il risultato inaspettato provoca due grandi variazioni di punteggio.

A destra: Nell’ipotesi in cui vinca la Hepburn, il risultato poco sorprendente provoca due piccole variazioni di punteggio.