GOATUltimi articoli

The GOAT Theory: La prima release

AVVERTENZE: Per una maggiore comprensione dell’articolo si consiglia di visualizzare il video in fondo

Download .jar alternativo

Download .exe alternativo

Finalmente dopo tanti sforzi è stata rilasciata la prima release dell’app che implementa quanto esposto nella GOAT Theory. Questa prima iterazione è una iterazione di prova che mette a fuoco i concetti base, ma non risolve tanti e tanti problemi. In parole povere, come tutte le prime iterazioni serve solo a far capire che si è lavorato, uno, e quale sarà la direzione successiva del lavoro da svolgere, due.

Per poter eseguire l’app allegata però sono necessari dei programmi che molto spesso si trovano installati nei PC con qualsiasi sistema operativo (Windows, Linux, Mac). L’app è stata rilasciata in 2 versioni: la prima è un file .jar che può essere eseguito in qualsiasi ambiente purché sia installata una Java Virtual Machine. La JVM è disponibile gratuitamente nel sito della Oracle. Per chi non l’avesse installata è necessario farlo per poter eseguire l’applicazione. È possibile scaricare gratuitamente il tutto dal seguente link. Se qualcuno è un po’ più audace può eseguire direttamente il file .exe, però quasi sicuramente l’antivirus lo riconoscerà come virus per cui, o si aggiunge un’eccezione oppure bisogna desistere. Il file .jar essendo eseguito in una sandbox non può compromettere la memoria dei vostri PC, per cui è un’applicazione “sicura”. Il file .exe non richiede software aggiuntivo però ha i difetti elencati prima. Per poter continuare assicuratevi che tutto funzioni altrimenti non ha senso leggere quello che seguirà.

App

Quello che vogliamo fare noi è mettere a confronto 2 tennisti. Da un punto di vista strettamente formale è impossibile confrontare 2 tennisti se si considerano solo alcuni parametri, ma bisogna considerare tutti i parametri e soprattutto le relazioni che legano tra loro questi parametri. La base della GOAT Theory è che ci sono delle considerazioni vere e altre che sono false. Sembra una deduzione banale e tautologica, ma spesso nelle discussioni si fanno di questi errori senza che ci si renda conto della natura fallace del ragionamento. Per esempio: prendendo in considerazione la vittoria di uno Slam, questo non potrà mai essere uguale alla vittoria di un Masters 1000 e non può essere vero che un Masters 1000 sia maggiore come importanza di uno Slam. Tutti questi esempi sono stati sintetizzati nell’articolo: una questione di proporzioni. Questo ci dice che esistono delle proporzioni che indicano quanto un torneo sia più importante dell’altro. L’idea rivoluzionaria di questo algoritmo non è tanto quella di mettere delle proporzioni. Questo tipo di approccio è stato utilizzato da tanti altri algoritmi che sono nati in precedenza, come quello di TheTennisBase o Slasher1985 e tanti e tanti altri. Il difetto grave di questi algoritmi è che sono degli algoritmi statici, ossia pongono dei parametri che non possono essere modificati, invece con questo software andremo a fissare dei parametri per poter inizializzare l’applicazione, però questi parametri non sono sempre fissi ma possono essere modificati a piacimento.

Apriamo la nostra bella app e carichiamo i dati relativi alla carriera di Federer che possiamo inserire come Player 1 e quella di Nadal come Player 2. Dopo questa prima operazione appaiono una serie di numeri che possono destabilizzare, ma niente paura. I numeri che sono stati caricati riguardano tutte le uscite in un determinato torneo, o meglio la somma per turno delle uscite in un determinato torneo. Per esempio: Federer sappiamo che ha partecipato a 72 Slam, e 20 li ha vinti, 10 volte è uscito in finale e così via tutte le altre uscite. Questo procedimento viene iterato per tutti i tornei attuali che sappiamo essere divisi in 4 categorie. In più bisogna considerare Il Masters di fine anno o ATP Finals e le Olimpiadi.

Il parametro essenziale da considerare è quello evidenziato nella cella verde che è settato a “2000”. Il 2000 è un numero simbolo e rappresenta il numero massimo di punti ottenibili per la vittoria di un torneo qualsiasi. Il numero 2000 è preso dalle tabelle del ranking ATP. Questo numero può essere un numero qualsiasi, l’importante è che una volta fissato non deve più essere modificato. Spieghiamo meglio: la nostra indagine non ci darà un numero che misura la forza in un tennista, ma quello che è importante è la proporzione della forza tra tennisti. Possiamo usare l’1, il 100.000 a posto del 2000, non ha importanza. Quello che più importante sono le proporzioni che nasceranno man mano. Nel caso particolare implementato non ci interesserà quanti punti ha realizzato Federer e/o Nadal, ma piuttosto la proporzione tra i punti totali di Federer e quelli di Nadal.

Nella colonna centrale sono state inserite tutte le proporzioni tra categorie. Negli articoli precedenti siamo arrivati alle seguenta conclusione: la proporzione tra Slam e Masters 1000 è 3.56, ossia: 1 Slam vale 3.56 Masters 1000. Un Masters 1000 vale 4 ATP 500. L’ATP 500 vale 2 ATP 250. Poi ci sono altre 2 proporzioni, che però in questa prima iterazione sono delle proporzioni fittizie. Queste si basano su quella primaria (3.56). La regoletta seguita è la seguente: se la proporzione tra Slam e Masters 1000 è 3.56 e nel ranking ATP è 2000 / 1000, allora:

(2000/1000) : 3.56 = (2000/1500) : x da cui x = 2.37

Lo stesso facciamo per le Olimpiadi (senza considerare le tante implicazioni relative a questo torneo che saranno esaminate in seguito).

(2000/1000) : 3.56 = (1000/750) : x da cui x = 2.96

Il 750 come punti di riferimento è stato preso dalla tabella dell’ultimo ranking ATP che assegnava punti alle Olimpiadi, quelle di Londra 2012, in cui era esplicato che il vincitore dovesse prendere il 75% dei punti di un Masters 1000.

La rivoluzione

Fino a qui è tutto “normale”, questo tipo di approccio è possibile trovarlo in qualsiasi sito. L’idea rivoluzionaria qual è? Io vado a prendere la mia bella slider e la modifico. Io, quindi, posso modificare una proporzione mettendo dei numeri pseudo-casuali. La proporzione dinamica può assumere qualsiasi valore purché sia ragionevole. Posso anche impostare una proporzione 1 tra Slam e M1000, che non infrange nessuna regola matematica, e vedere il risultato. Quello che dobbiamo focalizzare ora sono i punti ottenuti dai 2 tennisti in oggetto. Questo perché per fare un confronto abbiamo bisogno di confrontare cifre che sono ottenute come somma dei risultati collezionati durante tutta la carriera. I punti ottenuti nello Slam sono fissi e dipendono solo ed esclusivamente dal parametro nella cella verde. I risultati dei Masters 1000 sono conteggiati in base alla proporzione che stabiliamo con lo slider, o utilizzando quella iniziale di 3.56 o un’altra a piacimento. Se la proporzione è 3.56 il numero massimo di punti ottenuti da un Masters 1000 è 561.8. E qui qualcuno potrebbe storcere il naso, perché potrebbe dire:”Sì, ma si chiamano Masters 1000 e dovrebbero dare 1000 punti”. Questo non è sbagliato, e potrebbe essere una direzione, una delle infinite direzione dell’indagine che dà l’utilizzo di un algoritmo dinamico. Certamente questo proporzione è un po’ aleatoria perché sappiamo benissimo che uno Slam non vale 2 Masters 1000, o alternativamente che un Masters 1000 non vale metà di uno Slam. Questo procedimento si può utilizzare con gli altri tornei. Ad esempio: possiamo benissimo dire che un ATP 500 per determinate caratteristiche possa valere un Masters 1000 e allora impostiamo la proporzione. Bisogna stare attenti ora. Le proporzioni vengono piazzate tra categorie contigue. È questa una delle basi della GOAT Theory. Noi dobbiamo utilizzare tutte le possibili proporzioni ma non quelle impossibili.

La decriptografia

Nell’ultimo colonna abbiamo 2 foto e sotto ad ognuna 2 numeri: 2 numeri che di per sé non voglio dire nulla, però quello che conta è che uno sia maggiore dell’altro. In questo caso abbiamo il punteggio di Federer superiore a quello di Nadal. Che è quello che ci aspettiamo. Certamente dal punto di vista storico, dal punto di vista del gioco Federer viene posto su un piano superiore a quello di Nadal, però la domanda chiave è: esiste una proporzionale tale, o meglio un insieme di proporzioni tali per cui Nadal possa in qualche modo essere superiore a Federer? La risposta ci viene data dalla nostra app. L’approccio per trovare una soluzione a questo domanda è uguale a quello che si usa nella crittografia. Ossia: per cercare di decriptare un file criptato si usa un procedimento detto a forza bruta che prova tutte le possibili combinazioni per trovare la password. Lo stesso si può fare in questa app: provare tutte le combinazioni di proporzioni e scoprire se ne esiste una per cui in qualche modo Nadal risulti superiore a Federer. Con la forza bruta si usano tutte le combinazioni, però questo è un procedimento rudimentale che collide con la GOAT Theory. Non bisogna provare tutte le combinazioni, ma tutte le combinazioni ragionevoli, un po’ come fanno gli analisti criptologi che usano attacchi basati su determinate proprietà matematiche di un algoritmo di crittografia, in modo tale da ridurre il numero massimo di combinazioni richieste per crackare un file. Se qualcuno prova tutte le combinazioni ragionevoli forse potrebbe trovare quella in cui Nadal risulti superiore a Federer, se non la trova alla si potrà dire che al 100% Federer è superiore a Nadal. Questo tentativo di cracking viene lasciato all’utente.

Per facilitare il compito è stata introdotta una funzione che implementa questo tentativo di trovare le giuste proporzioni perché Nadal sia superiore a Federer. Il metodo usato è quello simile ad un orologio: una lancetta gira e tutte le altre fanno uno scatto in avanti se si raggiunge un determinato valore. Nel nostro caso il valore è stato impostato ad 8, ma potrebbe benissimo essere superiore o inferiore. Se si fa partire la simulazione con “Start” tutti i parametri vengono impostati a 1 e man mano che l’orologio gira questi si regolano di conseguenza. Ad ogni scatto di lancetta viene fatto un confronto tra i punti totali del Player 1 e quelli del Player 2, se i primi risultano superiori si ha un +1 nella propria casella di “Simulations Number”, e viceversa nel caso opposto. Da notare anche il valore in percentuale delle differenze di punti tra i 2 giocatori che è il migliore indicatore di quanto un tennista possa essere superiore all’altro in chiave GOAT. Se qualcuno è un po’ audace può fare partire la simulazione che impiegherà un bel po’ di tempo per terminare, però ci dirà in maniera inequivocabile se esiste o meno un settaggio giusto per cui Nadal sia superiore a Federer.

Download .jar alternativo

Download .exe alternativo