Quando conviene fermarsi?

Il problema che vi presento oggi è tratto da Mind Your Decisions, l’ottimo blog di Presh Talwalkar. Ma bando ai convenevoli: eccovi il testo del problema.

Avete vinto la tombola di Natale al Circolo dei Matematici, e ora dovete ritirare il vostro premio. Ma la cosa non è così semplice! Il valore del premio non è infatti prefissato, ma è pari a tanti euro quanto è il valore uscito da un D100 (un dado a cento facce numerate dall’1 al 100: credo che all’atto pratico si lancino due dadi icosaedrici e il punteggio è da 0 a 99, ma dovreste chiederlo agli amanti di D&D). Ma c’è un ma: se il punteggio ottenuto non vi piace, potete pagare un euro e lanciare nuovamente il dado (quante volte volete: a ogni nuovo lancio pagate un euro). Qual è il vostro guadagno atteso?

Se votete lanciare nuovamente il dado, il risultato ottenuto è naturalmente perso. Inoltre di per sé potete continuare all’infinito, sapendo che alla fine il vostro “guadagno” sarà in realtà una perdita. Secondo voi qual è la vostra strategia migliore?

Se si decide “o la va o la spacca” e si stabilisce a priori che si farà un solo lancio, il valore atteso è 50,5. Ma sembra stupido fermarsi se il risultato del lancio è stato 10: la probabilità che al lancio successivo si ottenga almeno 12 è molto alta. Visto che ogni lancio ha la stessa distribuzione di probabilità e che i valori precedenti sono persi, ne consegue (“per banali ragioni matematiche”) che conviene scegliere a priori una soglia e fermarsi quando il lancio del dado supera questa soglia. Ma come fare a calcolare la soglia?

Facciamo un esempio semplice, prendendo come soglia 50. Al primo lancio, i casi sono due: otteniamo almeno 50, smettiamo di giocare e siamo felici e contenti, oppure otteniamo al massimo 49, scuciamo il nostro euro, e ritentiamo. Ma il gioco è senza memoria, quindi il valore atteso al secondo lancio è esattamente quello iniziale meno 1 (il costo necessario per lanciare di nuovo il dado). In formule, se la nostra strategia S(n) è “fermati se hai almeno n” e il valore atteso è per definizione E[S(n)] (nel senso che E[] indica il valore atteso), abbiamo la formula

 E[S(n)] = P(lancio ≥ n)E[lancio ≥ n] + (1−P(lancio ≥ n))·(E[S(n)]−1)

A partire da qui è relativamente facile fare i conti. Sappiamo infatti che P(lancio ≥ n) = (101 − n)/100) perché ci sono tutti i valori da n a 100; inoltre E[lancio ≥ n] è (100 + n)/2 perché dobbiamo mediare su tutti i valori ammissibili. Con un po’ di semplici passaggi algebrici si ottiene una formula esplicita

 E[S(n)] = 51 + 0.5 n − 100/(101 − n)

i cui valori per n che va da 50 a 100 sono mostrati nella tabella qui sotto (sempre rubata da Presh):

valore atteso per il gioco "lancia un dado da 100"

valore atteso per il gioco “lancia un dado da 100″

Sembra incredibile, ma la strategia migliore è quella di non fermarsi finché non si ottiene almeno un 87, il che dà un valore atteso di 87,357 euro circa. Da lì in poi il valore atteso scende, però ancora con n = 97 si ha un valore atteso di 74,5, maggiore di quello che si ha se ci si ferma non appena si raggiunge almeno 50! Poi il crollo in effetti è repentino, anche se sembra incredibile ma comunque il valore atteso se aspettiamo di ottenere 100 è positivo: in media si vince ancora un eurino. È però interessante notare come la strategia di attesa paghi, e che il valore atteso per le strategie tra 80 e 90 non è poi così diverso (la differenza è minore di un euro).

Naturalmente in tutti questi conti non è stato considerato il fatto che, almeno in linea teorica, chi gioca a questo gioco può rischiare di perdere soldi se il valore soglia non esce: un po’ come chi si ostina a giocare al lotto i numeri ritardatari. Qui c’è il vantaggio che non si può incrementare la puntata di base, quindi la bancarotta arriva dopo; inoltre le probabilità in gioco sono molto basse, visto che per esempio ci sono 0,2 casi per milione di lanciare il dado 100 volte senza ottenere mai almeno 87. Però è sempre bene conoscere queste clausole in corpo 5: i matematici sono delle brutte bestie…

Mostra commenti ( )