In Università - Intervista al prof. Sebastiano Vigna

 

Al di là e oltre la copertura mediatica, decine e centinaia di persone si muovono e lavorano, dedite alla ricerca e alla scienza più che alle chimere narcisistiche della società e dello spettacolo.

Tra queste, un professore che d'abitudine si muove in quel del Dipartimento di Informatica dell'Università degli Studi di Milano, il quale docente ha recentemente ottenuto attenzioni anche da parte dei media più tradizionali.

A movimentare la situazione, difatti, è intervenuta la notizia dell'utilizzo di un algoritmo del professore per risolvere alcune problematiche connesse a JavaScript e, di riflesso, ai principali browser disponibili sul mercato.

Lo abbiamo dunque contattato per una breve intervista sul tema, seppur con la consapevolezza che il riflesso di questa buona novella non esaurisce affatto il lavoro del professore. Motivo per il quale speriamo di poter offrirvi in futuro una seconda parte all'intervista.

 

XTG. Come è iniziata la vicenda del famoso algoritmo?

S.V. Tutta la storia è cominciata con un errore. Mentre lavoravo a un algoritmo di clustering per grafi (cioè un algoritmo che identifica regioni di un grafo particolarmente dense) mi sono accorto, analizzando il codice, che una parte enorme del tempo di esecuzione era dovuta alla generazione di numeri casuali (che servivano per generare una permutazione casuale). Colpito da questo fatto, ho prima cercato in letteratura un generatore adatto, e poi mano a mano ho cominciato a progettarne io. La cosa comica è che a posteriori si era trattato solo di un errore di misurazione. Se non avessi fatto quell’errore non sarei arrivato fin qua.

 

XTG. Come è arrivato ad essere utilizzato?

S.V. Di per sé il generatore precedente non avrebbe causato grandi problemi a un browser. Solo che da qualche anno JavaScript viene utilizzato anche nei server, soprattutto per via del framework node.js (https://nodejs.org/en/), che gira sul motore JavaScript V8 di Google. È stata proprio una ditta che si occupava di scommesse online (non so se una startup) e che utilizzava node.js a scoprire il problema. Utilizzavano il generatore di V8 per costruire identificatori unici da attribuire alle scommesse (un po' come il codice di prenotazione di un biglietto). In teoria, se il generatore fosse stato di qualità ci sarebbero voluti milioni di anni per avere due identificatori uguali. Invece è successo dopo tre giorni, causando degli ovvi problemi. Tutta la storia è stata descritta in dettaglio (https://medium.com/@betable/tifu-by-using-math-random-f1c308c4fd9d), e gli ingegneri di Google che lavoravano a V8 hanno deciso di mandare in pensione il vecchio generatore e utilizzarne uno nuovo: xorshift128+ (http://v8project.blogspot.it/2015/12/theres-mathrandom-and-then-theres.html). La scelta è stata dettata essenzialmente dal fatto che tra i generatori di qualità è il più veloce esistente e dal fatto che il codice era facilmente disponibile sul mio sito senza alcuna restrizione d’uso. Sono venuto a sapere della cosa dal mio collaboratore Giuseppe Ottaviano, che ha scritto un post su Facebook dicendo “Immagino che questo sia il tuo pezzo di codice che girerà su più dispositivi in assoluto (di gran lunga). Congrats” e collegando il blog di V8.

 

XTG. Come si rapporta lei alla questione della circolazione del software e dei saperi; qual è inoltre il suo sito dove ha ospitato l'algoritmo?

S.V. La mia pagina che parla di generazione di numeri pseudocasuali è http://xorshift.di.unimi.it/ Gli algoritmi sono oggetti astratti. Non ha senso percepire denaro da un algoritmo, non più di quanto abbia senso percepire denaro dal teorema di Pitagora. La legislazione statunitense ha fatto parecchia confusione in questo campo negli ultimi decenni, ma la situazione si sta gradualmente normalizzando. Dal mio punto di vista è normale: io vengo pagato dallo Stato per fare ricerca e i frutti sono a disposizione di tutti. Oltre a questo algoritmo ho pubblicato molto altro software libero. Trovo molto stimolante il tipo di collaborazione planetaria che si instaura con facilità nel mondo del software.

 

XTG. Può parlarci del rapporto tra università e industria?

S.V. Nel caso dell’industria informatica, purtroppo la situazione non è felicissima. Il nostro paese compra all’estero praticamente tutto e ci sono quindi poche possibilità di interazione. I miei ex studenti che lavorano nell’industra infatti sono praticamente tutti all’estero. I migliori rapporti continuativi (e i migliori finanziamenti) li abbiamo avuto con compagnie come Google, Yahoo! e Facebook. Ci sono stati casi sporadici di consulenza per imprese italiane, ma sono rimasti sporadici. La situazione dell’Università è quella che si conosce: il finanziamento più risicato tra tutte le nazioni europee. E no, purtroppo non credo proprio il mio algoritmo possa portare benefici tangibili all’Università. Al limite qualche beneficio d’immagine.

 

XTG. Ci parli del suo lavoro attuale e se vuole dirci qualcosa a riguardo di alcuni traguardi raggiunti dall'Università.

S.V.  In questo momento stiamo cominciando una nuova avventura: insieme a Stefano Zapperi e Caterina La Porta abbiamo fondato il Centre for Complexity & Biosystems. Lo scopo è mettere insieme conoscenze di fisica, biologia e informatica per studiare il genoma umano, con particolare attenzione per le tecniche che permettono una diagnosi accurata dei tumori. Il LAW (Laboratory for Web Algorithmics) storicamente si è occupato di reti e algoritmi per dati di grandi dimensioni e porteremo questa conoscenza nel centro. Sui traguardi raggiunti dall’Università nel suo complesso non penso di avere competenze tali da fornire un’opinione informata, ma dalle statistiche siamo molto produttivi e, in rapporto al denaro investito, incredibilmente produttivi.

 

XTG. In ultimo, data anche la sua esperienza, cosa può dirci del rapporto tra università e media?

S.V. È sempre difficile. Il titolista di Repubblica che ha scritto “Un matematico italiano ha ‘salvato’ i vostri acquisti online” ha certamente contribuito alla mia esposizione sui media, ma ha detto una cosa completamente priva di senso: xorshift128+ non è un generatore crittografico e non serve per l’e-commerce. In generale è difficile fare pervenire attraverso la stampa generalista nozioni corrette, per quanto in forma divulgata. Certo, essere esposto sui media è divertente. E dato che la gente che non fa questo mestiere non ha nessun modo di giudicare quello che facciamo, tende a prendere il fatto di comparire sui giornali come una valutazione dei risultati scientifici: non lo è. Ci sono centinaia di scoperte molto più importanti di un generatore di numeri pseudocasuali che sono state fatte dall’Università e di cui i giornali non hanno mai parlato.

Daniele Ferriero