Coelestis - Il Forum Italiano di Astronomia

Coelestis - Il Forum Italiano di Astronomia (http://www.trekportal.it/coelestis/index.php)
-   Rudi Mathematici (http://www.trekportal.it/coelestis/forumdisplay.php?f=11)
-   -   Estrazioni casuali (http://www.trekportal.it/coelestis/showthread.php?t=42400)

aspesi 24-11-11 09:31

Re: Estrazioni casuali
 
Visto che... sono rimasto solo:(, dò subito la risposta.
Il quiz si ottimizza (la vincita, ossia il numero di facce che mediamente compaiono una volta sola è il massimo possibile) scegliendo indifferentemente 5 o 6 dadi da lanciare.

Vediamo di contare il numero delle facce presenti solo una volta in funzione del numero dei dadi che vengono lanciati.

1) K = 1 un dado
Può ovviamente comparire una qualsiasi delle 6 facce.
Casi favorevoli = 6 .......... Vincita media attesa = 6*1/6 = 1 euro

2) K = 2 due dadi
Sui 36 casi possibili, 30 sono favorevoli, mentre gli altri 6 presentano la ripetizione della stessa faccia (1-1; 2-2; ....; 6-6)
Casi favorevoli = 30 ......... Vincita media attesa = 30/36*2 = 1,6666... euro

3) K = 3 tre dadi
Le cose cominciano a complicarsi.... E' utile preparare una tabellina che rappresenti il numero di facce che compaiono (da 1 a 6) in funzione del numero di dadi che si lanciano. A tal fine possiamo riprendere la formula ricorsiva:
p(n,k) = p(n,k-1)*n/6 + p(n-1,k-1)*(6-n+1)/6
e la tabella riportata al messaggio 115 , che qui diventa:

.........1........... 2.......... 3.......... 4.......... 5.......... 6
.......-----........------......------......------......------......------
1....... 6
2........6 ... .......30..........0...........0...........0...........0....
3.... ...6.... .......90.........120..........0...........0...........0....
4.... ...6.... ......210.........720.........360..........0...........0....
5.... ...6.... ......450.........3000........3600........720..........0....
6.... ...6.... ......930........10800.......23400.......10800........720...
7.... ...6.... ......1890.......36120.......126000......100800......15120..
8.... ...6.... ......3810.......115920......612360......756000......191520.
9.... ...6.... ......7650.......363000.....2797200.....5004720.....1905120.
10... ...6.... .....15330......1119600.....12277800....30618000....16435440
11... ...6.... .....30690......3420120.....52470000...177645600...129230640
12... ...6.... .....61410......10383120...220140360...993168000...953029440
13... ...6.... .....122850.....31395000...911710800...5406120720..6711344640
14... ...6..........245730.....94676400...3,741E+09...2,885E+10...4,567E+10
15. .....6..........491490....285012120...1,521E+10...1,518E+11...3,029E+11

Per determinare le facce non ripetute (più di una volta) è ancora necessario valutare in quanti modi diversi può comparire uno stesso numero di facce totali (cioè con quali ripartizioni), quando i dadi che si lanciano sono più di due:
Ad esempio, con K = 3 dadi, i 90 casi in cui si presentano due facce, indicano che un numero è ripetuto e l'altro presente solo una volta (presenza 2,1), mentre le 3 facce sono ovviamente tutte diverse e quindi i casi favorevoli al quiz sono 90*1 + 120*3 = 450.

Proseguendo, si ha che per K = 4 , i casi favorevoli sono per 2 facce (3,1), è escluso (2,2) e sono 210*8/14; per 3 facce (2,1,1) sono 720*2 e per 4 facce (1,1,1,1) sono 360*4. In totale = 3000

Complicandosi un po' la vita, per K = 5 , i casi favorevoli sono per 2 facce (4,1) sono 450*10/30; per 3 facce(3,1,1) 3000*2*60/150 e (2,2,1) 3000*90/150; per 4 facce (2,1,1,1) sono 3600*3 e per 5 facce (1,1,1,1,1) sono 720*5. In totale = 18750

Con il medesimo meccanismo e sempre maggiore difficoltà:spaf:, si arriva alla fine a queste conclusioni:

.K dadi... casi facce singole .. Vincita media
--------- . ------------------- . -------------------
... 1 ...... ...........6 ........................1
... 2 ...... ..........30 ...............1,6666666
... 3 ...... .........450 ..............2,0833333
... 4 ...... ........3000 .............2,3148148
... 5 ...... .......18750 .............2,4112654
... 6 ...... ......112500 ............2,4112654
... 7 ...... ......656250 ............2,3442858
... 8 ...... .....3750000 ...........2,2326532
... 9 ...... ....21093750 ...........2,0931124
.. 10 ..........117187500 .........1,9380670

Allo stesso risultato si può arrivare molto più facilmente con un diverso approccio.

:hello:

aspesi 24-11-11 18:19

Re: Estrazioni casuali
 
Dicevo:

Quote:

aspesi (Scrivi 540762)
Allo stesso risultato si può arrivare molto più facilmente con un diverso approccio.

:hello:

Calcoliamo la probabilità che lanciando un numero qualsiasi K di dadi, esca una sola volta una determinata faccia (numero, es. l'1):
p = Comb(k,1) * 1/6^1 * (5/6)^(k-1) = k * 1/6 * (5/6)^(k-1)

Ad esempio, gettando 10 dadi la probabilità che esca un solo 1 è:
p = 10 * 1/6 * (5/6)^9 = 0,323011

Infatti, uno solo dei 10 dadi deve fermarsi sull'1 (probabilità = 1/6), mentre gli altri 9 dadi devono dare qualunque numero diverso da 1 (ciascuno con probabilità 5/6) e l'unico 1 può essere uno qualsiasi dei 10 dadi lanciati.

Si può dire quindi che, in media, la faccia con il numero 1 fa vincere un importo di euro pari alla probabilità p per ogni giocata di k dadi.

Quello che è valido per il numero 1, vale per un numero qualsiasi, quindi, anche per gli altri valori: ne consegue che, in media, ad ogni giocata si vinceranno 6*p euro.

Basta quindi fare una tabella, calcolando il valore 6*p, che è la vincita attesa, per i vari k:
6 * p = 6 * k * 1/6 * (5/6)^(k-1)

Ad es., per k=6, si ha:
6 * p = 6 * 6 * 1/6 * (5/6)^5 = 2,411265432

che è lo stesso valore trovato molto meno agevolmente con il metodo dei casi favorevoli rispetto a quelli totali.

:hello:

aspesi 30-11-11 16:45

Re: Estrazioni casuali
 
Quote:

astromauh (Scrivi 535331)
A proposito di cifre decimali, il mio risultato differisce un po' da quello di Aspesi, perchè mi veniva: 43,758 % :hello:

Ho provato anch'io una simulazione con il Qbx e, stranamente, viene anche a me 43,7588%

:hello:

astromauh 01-12-11 10:25

Re: Estrazioni casuali
 
Quote:

aspesi (Scrivi 541979)
Ho provato anch'io una simulazione con il Qbx e, stranamente, viene anche a me 43,7588%

:hello:

E quindi, cosa ne deduci?

Io ci sono rimasto male con questa storia, perchè mi fidavo dei numeri random di Bill Gates.
Mi sento un po' come un fidanzato tradito. :cry:

aspesi 01-12-11 10:37

Re: Estrazioni casuali
 
Quote:

astromauh (Scrivi 542232)
E quindi, cosa ne deduci?

Io ci sono rimasto male con questa storia, perchè mi fidavo dei numeri random di Bill Gates.
Mi sento un po' come un fidanzato tradito. :cry:

:D
Non sono in grado di dedurre nulla.
E' probabilmente un limite della funzione di randomizzazione e, in tal caso, o si è in grado di cambiarla, o si accetta l'approssimazione che fornisce

:hello:

Mizarino 01-12-11 13:52

Re: Estrazioni casuali
 
Quote:

astromauh (Scrivi 542232)
Io ci sono rimasto male con questa storia, perchè mi fidavo dei numeri random di Bill Gates.

Non ho ben capito quale sia stato il problema, ma è certo che non puoi fidarti della semplice funzione "RND" incorporata di un qualsiasi linguaggio e/o compilatore, se vuoi "estrarre" più di un centinaio di migliaia di numeri.
Il generatore in pratica si inserisce in un punto di una sequenza ciclica di 2^32 numeri diversi, compresi fra 0 e 2^32-1, e estrae uno alla volta i numeri successivi della sequenza.
Dopo 2^32 estrazioni, la sequenza si ripete identica. Ma non è questo il danno maggiore.
Il danno maggiore è che se fai due diverse serie di estrazioni di un gran numero (mettiamo un miliardo) di numeri, diventa alta la probabilità che i due "archi" della sequenza ciclica si sovrappongano ... e allora col cavolo che le due serie di estrazioni sono indipendenti fra loro!...
:hello:

Mizarino 01-12-11 15:02

Re: Estrazioni casuali
 
Rettifico quanto scritto sopra:
Quanto scritto sopra vale per il Basic a 32 bit che uso io (PowerBasic).
Per il QuickBasic è molto peggio ... il periodo del generatore RND non è 2^32, ma è 2^24.
Vale a dire che fare un miliardo di estrazioni significa estrarre 60 volte la stessa sequenza di numeri!... ;)

Ecco il codice che lo dimostra:
Codice:

DEFDBL A-Z
RANDOMIZE TIMER
F = 2 ^ 50#
N0 = RND * F: I = 0
N1 = RND * F
N2 = RND * F
DO
  I = I + 1
  N = RND * F
  IF N = N0 THEN
      N = RND * F: I = I + 1
      IF N = N1 THEN
        N = RND * F: I = I + 1
        IF N = N2 THEN EXIT DO
      END IF
  END IF
LOOP
PRINT I

:hello:

aspesi 01-12-11 15:48

Re: Estrazioni casuali
 
Quote:

Mizarino (Scrivi 542332)
Non ho ben capito quale sia stato il problema, ma è certo che non puoi fidarti della semplice funzione "RND" incorporata di un qualsiasi linguaggio e/o compilatore, se vuoi "estrarre" più di un centinaio di migliaia di numeri.
:hello:

Il riferimento è a questo quiz:#97
Abbiamo 12 dadi normali, perfettamente equilibrati.
Li lanci tutti quanti.
Se fra i 12 numeri usciti ce ne sono 6 differenti (sono cioè uscite tutte le 6 facce con i numeri 1 - 2 - 3 - 4 - 5 - 6) hai vinto e ti pago 1 euro.
In caso contrario (cioè ci sono meno di 6 numeri diversi, variamente ripetuti), l'euro lo paghi tu a me.

Ci stai a giocare


Con la sua simulazione, Astromauh trovava un risultato (43,758%), diverso di circa lo 0,5 per mille rispetto al valore esatto (43,7815681%) e si (ti) chiedeva se questa approssimazione era compatibile con il generatore random che usa.

:hello:

astromauh 01-12-11 15:50

Re: Estrazioni casuali
 
2^24 = 16.777.216

Non ho capito bene. Supponendo che la frequenza del mio generatore di numeri random sia 2^24, se gli chiedo di estrarre dei numeri casuali tra 1 e 6, dopo 16.777.216 estrazioni mi riproduce nuovamente gli stessi risultati?

:confused:

aspesi 01-12-11 15:54

Re: Estrazioni casuali
 
Quote:

astromauh (Scrivi 542391)
2^24 = 16.777.216

Non ho capito bene. Supponendo che la frequenza del mio generatore di numeri random sia 2^24, se gli chiedo di estrarre dei numeri casuali tra 1 e 6, dopo 16.777.216 estrazioni mi riproduce nuovamente gli stessi risultati?

:confused:

Mi pare sia proprio quello che ha verificato Mizarino con il suo programma (codice nel messaggio delle 16:02)
Ma è il generatore del quick basic, il tuo potrebbe ripetersi dopo 2^32 non 2^24.

:hello:


Tutti gli orari sono GMT. Attualmente sono le 19:43.

Powered by vBulletin versione 3.6.7
Copyright ©: 2000 - 2021, Jelsoft Enterprises Ltd.
Traduzione italiana a cura di: vBulletinItalia.it