martedì 21 settembre 2010

HATTRICK - Leggi di Probabilità e l'Assegnazione delle Azioni









SECONDA STESURA



-Ago- mi ha chiesto nel Forum Italia
"perchè usi le simulazioni invece che calcolare il valore di probabilità? toglieresti ogni dubbio sul campione utilizzato, no?"

Giusto.
Allora procediamo.

Intanto un'introduzione, da http://www.liceofoscarini.it/studenti/probabilita/binomiale.html.
E un'esortazione: se le formule non vi sono comprensibili, non preoccupatevi, passate oltre, basta capire il senso del discorso.




La BINOMIALE

Quante volte vi è capitato di giocare a testa o croce?

Sicuramente molte. Ciò a cui forse non avete mai pensato è trovare un metodo per determinare l'esatta probabilità che, in un dato numero di lanci, si verifichi una certa quantità di successi (cioè di teste o di croci, a seconda del punto di vista). Se ammettiamo che l'evento testa (0) sia equiprobabile all'evento croce (1), cioè che le loro probabilità valgano entrambe 0.50 (50%), su due lanci, la probabilità di avere due croci, ad es., sarà:

0.50 × 0.50 = 0.25

Poniamo ora che i due eventi non siano equiprobabili e che i lanci siano un numero qualsiasi n. Poniamo inoltre che i successi siano un qualsiasi numero k.

Il problema si complica.
Si tratta di uno schema di Bernoulli che possiede, in sostanza, le seguenti caratteristiche:
  • ogni prova è un esperimento casuale che può avere soltanto due esiti possibili, con probabilità effettive p e q=1-p;
  • ogni prova effettuata è indipendente da ogni altra prova e, quindi, in ogni prova la probabilità p di successo è costante.
La probabilità che, su n prove indipendenti condotte tutte nelle medesime condizioni, si abbiano k successi, con k<=n è:

dove X indica la variabile aleatoria che conta il numero di successi, p la probabilità del singolo evento E, costante in tutte le prove, e q la probabilità dell'evento non(E), quindi q=1-p
Il simbolo "!" è il fattoriale, è semplice, si tratta del prodotto di un numero coi numeri interi a lui inferiori, quindi se n è 4, allora n! è 4*3*2*1=24. Tutto qua.




In HATTRICK, prima delle Modifiche

Tale distribuzione, detta binomiale, è perfetta per descrivere la distribuzione di probabilità delle azioni assegnate in Hattrick prima delle modifiche, dato che ogni assegnazione di un'azione è indipendente dalla seguente e la probabilità è costante, data dal rapporto tra il cubo di un centrocampo e la somma dei cubi dei due centrocampi.

Quindi la distribuzione di probabilità in Hattrick era

dato che n=10 il numero delle azioni assegnate e il resto vien da sé.
In Excel la formula diventa, se volete provare,

=(FATTORIALE(10)/(FATTORIALE(k)*FATTORIALE(10-k)))*((CC1^3/(CC1^3+CC2^3))^k)*((CC2^3/(CC1^3+CC2^3))^(10-k))

Così, se, ad esempio, il team 1 ha un centrocampo che vale 6 e il team 2 un centrocampo che vale 5, allora si fa presto a calcolare le probabilità di avere un certo numero di azioni per ogni team:


Quindi se i centrocampi hanno quei valori il team 1 avrà il 17.01% di probabilità di avere 5 azioni, il 24.49% di averne 6, il 24.18% di averne 7 eccetera...


Mi direte, ok, ma quante azioni si aspetta di avere il team 1 in totale?
Per sapere tale valore devo introdurre il concetto di speranza matematica (o "valore atteso"): niente di difficile anche qui, mettiamo che in un gioco abbiate il 25% di probabilità di vincere 100€ e il 75% di probabilità di vincere 200€, allora la vostra vincita attesa è 0.25*100+0.75*200=175€. Non c'è un caso in cui ne vincete 175€, ma se giocate 10 volte tenderete a vincere 1750€ con una vincita "media" di 175€ a giocata.

Tornando alle nostre azioni quindi basta moltiplicare la % di avere un'azione per il numero di azioni assegnate, per cui le azioni attese per il team 1 (indicate con "E(Az.Team1)", dove E sta per Expected, "atteso" se non erro) e il team 2 sono:



basta poi fare la somma per vedere che, se il mio centrocampo vale 6 e quello dell'avversario 5, allora avrò un numero di azioni attese pari a 6.33 e il mio avversario di 3.67.
Questo non da un campione, ma dalla legge di probabilità binomiale.

Come vedete il rapporto tra azioni attese mie e quelle dell'avversario è

E(Az.Team1) / E(Az.Team2) = 6.33 / 3.67 = 1.728

quindi in tal caso è lecito attendersi che le mie azioni siano il 172.8% di quelle dell'avversario.

Tale valore coincide con quello trovato nella prima parte di quest'articolo, quello del valore "equo" di azioni assegnate (il rapporto dei cubi dei centrocampi), infatti

CC1^3 / CC2^3 = 6^3 / 5^3 = (6*6*6) / (5*5*5) = 216 / 125 = 1.728


Ora, possiamo pensare di fissare il valore del centrocampo del team 2 (il mio avversario) a "5" e fare variare il valore del centrocampo del mio team "CC1" da "1" a "9" per vedere come variano le probabilità di avere un certo numero di azioni



e le azioni attese totali:


che posso rappresentare in un grafico

le azioni attese prendono la caratteristica forma, leggermente a "S", con punto di flesso nel punto in cui coincidono i valori dei due centrocampi, CC1=CC2=5.

Ora sappiamo come variano le azioni attese del team 1 al variare del suo centrocampo, ma dato che sappiamo che la somma totale deve essere per forza 10, allora conosciamo anche quelle attese del team 2.
In formula E(Az.Team2) = 10 - E(Az.Team1) e quindi possiamo calcolare quello che ci interessa, e cioé il rapporto tra le azioni assegnate al team 1 e quelle assegnate al team 2 al variare del centrocampo del team 1:



Giusto per riferimento vedete come nella colonna "6" troviate i valori 6.33 e 3.67 visti prima e il loro rapporto 1.728, cioè il 172,8%.




In HATTRICK, DOPO le Modifiche

Non più 10 azioni "comuni" in cui chi la vince se la porta a casa, ma 5 comuni e 5 esclusive mie in cui o l'azione è mia o va persa e 5 esclusive del mio avversario in cui o sono sue o vanno perse.

Come cambia la legge di probabilità?
La legge CAMBIA, procedo passo passo ad analizzare: focalizziamo l'attenzione non tanto sulle azioni del team 1 e su quelle del team 2 separatamente, ma consideriamole congiuntamente, vedendo quali coppie (Azioni per il Team 1; Azioni per il Team 2) sia possibile ottenere.

Prima delle modifiche si potevano avere le coppie di azioni
(0;10) oppure (1;9), (2;8), (3;7), (4;6), (5;5), (6;4), (7;3), (8;2), (9;1), (10;0)
ed è facile calcolare una tabella che rispecchi queste possibilità e le loro % di probabilità secondo la legge binomiale:


Naturalmente le coppie di Azioni possibili si dispongono nella diagonale, perché più azioni ha uno meno l'altro e viceversa. Vedete che riga per riga si possono vedere le azioni attese per il team 1 e colonna per colonna quelle attese per il team 2.

E dopo le modifiche?
Beh vi confesso che ci ho dovuto pensare tutta ieri, ma alla fine ce l'ho fatta. Ecco la soluzione.
Prima di tutto considero le azioni COMUNI.
Per esse vale la classica binomiale vista sopra, con la differenza che le azioni da assegnare sono 5 e non 10


e fin qui tutto facile: un totale di 3.17 azioni attese per il team 1 (somma della colonna E(Az.Team 1) e di 1.83 attese per il team 2 (somma della riga E(Az.Team 2))
Proseguo con le azioni esclusive.
Stessa legge di probabilità, con la differenza che le azioni non assegnate vanno disperse. Così per il team 1 vale questa tabella (che può essere riassunta in una colonna)


mentre per il team 2 vale questa (che può essere riassunta nella riga)


ora vedete che il totale di azioni attese per il team 1 e il team 2 è lo stesso sia nelle comuni che nelle esclusive, ma cambiano le "coppie". Ora infatti sono possibili coppie che prima non lo erano. Il punto difficile è stato come integrare la tabella delle probabilità delle azioni comuni con la colonna delle probabililtà delle esclusive per il team 1 e la riga delle probabilità delle esclusive per il team 2.
Si tratta di eventi indipendenti quindi la probabilità congiunta è data dalla moltiplicazione delle probabilità dei singoli eventi. Ho proceduto per somma di probabilità condizionate, ma penso sia più chiaro se spiego passo passo.

Sono partito considerando l'evento (0;5) nella tabella delle azioni COMUNI.
Tale evento si verifica nel 0.66% dei casi.
Ora ipotizzo che nelle sue azioni esclusive il team 1 non vinca neanche un'azione (sia Az.team 1 = 0), evento che si realizza anche esso nel 0.66% dei casi.
Passo infine alle azioni del team 2, il quale può ottenere da 0 a 5 delle sue azioni esclusive, con le probabilità viste nella riga sopra. Ne ottiene 0 col 10.20% di possibilità.
In tal caso vale (0;5) + 0 azioni per il team 1 + 0 azioni per il team 2, resta (0;5) con una probabilità di 0.66% (dalla tabella delle azioni COMUNI) moltiplicata per il 0,66% (probabilità di nessuna azioni esclusive per il team 1) e per il 10.20% (porbabilità di 0 azioni esclusive per il team 2) che fa il 0.000447% totale.
Quindi riesco a calcolare le probabilità degli eventi da (0;5) a (0;10), variando le % delle azioni esclusive per il team 2, nel caso in cui il team 1 non ottenga nessuna delle sue azioni esclusive

P(0;5)= 0.66% * 0.66% * 10.20% = 0.000447%
P(0;6)= 0.66% * 0.66% * 29.51% = 0.001293%
P(0;7)= 0.66% * 0.66% * 34.15% = 0.001496%
P(0;8)= 0.66% * 0.66% * 19.76% = 0.000866%
P(0;9)= 0.66% * 0.66% * 5.72% = 0.000251%
P(0;10)= 0.66% * 0.66% * 0.66% = 0.000029%

in tabella

procedo analogamente per il successivi valori della diagonale delle azioni comuni, moltiplicando per la % di probabilità di 0 azioni esclusive per il team 1 e per le % di probabilità di azioni esclusive per il team 2, indentificando le % di probabilità delle coppie di valori (az. team 1, az. team 2) tenendo fermo che il team 1 non ottenga nessuna azione esclusiva.
Ottengo la seguente tabella:


Procedo analogamente ipotizzando che il team 1 ottenga 1 azione delle sue esclusive. Tenendo invariato tutto il resto (non cambiano le probabilità delle azioni comuni, né quelle di quelle esclusive per il team 2) ottengo la seguente tabella:

vedete che:
  • I valori sono più elevati, infatti la probabilità che il team 1 ottenga 1 azione esclusiva è 5.72%, e non più lo 0,66% di averne 0
  • le coppie risultano spostate in basso di una riga, infatti se il team1 ottiene 1 azione esclusiva, l'evento (0;5) diventa (1;5) e quindi tutto si sposta in basso di 1 riga.
Idem se le azioni esclusive che il team 1 ottiene sono 2

se sono 3


se sono 4


o se sono 5


Non resta che fare la somma, casella per casella delle precedenti 6 tabelle e otteniamo la probabilità totale delle coppie di azioni





Ecco quindi qui l'agognata tabella delle % delle coppie possibili di azioni assegnate ai due team.
Grazie a uno spunto di jo76_it si può vedere nel tool come sia la distribuzione delle azioni totali assegnate complessivamente: basta fare la somma delle diagonali e si vede qual è la % di avere 5 azioni, di averne 6 ecc... (nell'immagine vedete la diagonale delle 15 azioni)
La distribuzione è (e non soprende) a forma di una gaussiana.




Volete il foglio excel per fare un po' di prove al variare dei centrocampi? Lo immaginavo.
Eccolo qui.

Che io sappia questo è l'unico tool che riesca a stimare le % di coppie di azioni possibili. nel dopo modifiche. Un elemento indispensabile se vi volete costruire un qualche strumento per farvi delle stime sulle partite. L'ho lasciato aperto in modo che ci possiate mettere mano come meglio vi vien comodo proprio per quello.


Chiudo la parentesi: se guardate la riga delle Azioni Attese per il Team 2 e la colonna di quelle attese per il team 1 vedete che sono le stesse, identiche, di prima delle modifiche. Idem per i totali.

Ma allora non cambia nulla?
Non cambierebbe nulla se fosse possibile assegnare un numero "continuo" di azioni, cioè se fosse possibile assegnarne 6.33 al team 1 e 3.67 al team 2. Così non è e ai due team vengono assegnate un numero discreto di azioni (1, 2, 3, ecc)

La differenza sta appunto nella CONVERSIONE di quei valori attesi in azioni concrete ai due team.
Come visto, da un punto di vista numerico:
  • PRE modifiche: se le azioni del team 1 sono X allora quelle del team 2 sono (10-X)
  • POST modifiche: se le azioni del team 1 sono X allora quelle del team 2 sono un numero variabile tra 0 e Min(10;15-X), col vincolo che la somma sia almeno pari a 5 (le azioni comuni che devono comunque essere assegnate)
E questo come incide?
Incide nel seguente modo.
Consideriamo il primo esempio visto in alto, CC1=6 e CC2=5, allora in tal caso l'assegnazione equa vorrebbe che il team 1 avesse il 172.8% di azioni del team 2.

Prima delle modifiche era possibile solo la combinazione "6 al team 1 e 4 al team 2" che dava al team 1 il 150% di azioni rispetto al team 2. Oppure "7 al team 1 e 3 al team 2" che dava al team 1 il 233% di azioni rispetto al team 2. Non si riusciva ad avvicinarsi al valore equo di 172.8%.

Dopo le modifiche invece è possibile, ad esempio, la la combinazione "7 al team 1 e 4 al team 2" che dava al team 1 il 175% di azioni rispetto al team 2. Un valore davvero vicinissimo a quello equo di 172.8%!

Questa la tabella esemplificativa:



Abbiamo i valori delle Assegnazioni Eque delle azioni tra team 1 e team 2 al variare del centrocampo del team 1. Allora proviamo a vedere quali erano le combinazioni di azioni ai due team che più si avvicinano al valore equo.



In rosso ho segnato quando il numero di azioni varia (dopo le modifiche), consentendo un rapporto di assegnazione di azioni tra i due team più vicino a quello equo.

Infatti i valori di (Az.Team1)/(Az.Team2) dopo le modifiche sono quasi sempre più vicini al valore E(Az.Team1)/E(Az.Team2). La testimonianza numerica viene dal valore della deviazione standard delle distorsioni rispetto al valore equo che praticamente si dimezza: da 0.27 a 0.15.

Spero con questo di aver dato un contributo statisticamente fondato per quanto riguarda il "random" nell'assegnazione delle azioni prima e dopo le modifiche.


PS. dai un occhio all' INDICE del blog, ci sono parecchi articoli che ti potrebbero interessare.




Andreac (team ID 1730726 in Hattrick)

Creative Commons License
This opera by Andreac is licensed under a Creative Commons Attribuzione-Non commerciale 3.0 Unported License. Cioé questo lavoro può essere liberamente copiato, distribuito o modificato senza espressa autorizzazione dell'autore, a patto che l'autore sia chiaramente indicato e la pubblicazione non sia a fini commerciali.

2 commenti:

Lore2 ha detto...

Davvero interessante, preciso e chiaro. Come sempre.
Una sola cosa mi chiedo, secondo te, gli HT nel "ricalibrare" il motore del gioco, questi calcoli li hanno fatti?
Non intendo proprio in questo caso specifico, ma ho letto altri tuoi post con ragionamenti analoghi e numeri e probabilità e mi chiedevo se effettivamente in fase di sviluppo loro ragionino su queste basi.
:)

Lore2

Andreac ha detto...

credo proprio di sì... dovrebbe essere flameron che si occupa di queste cose... ed è uno preparato