Statistica : matematica applicata al gioco d’azzardo Gabry9191 - http://gabry9191.altervista.org/ - Introduzione In questo articolo tratterò della branca della matematica chiamata statistica, cioè la scienza che studia attraverso i dati quantitativi e qualitativi di un fenomeno la sua interpretazione, ed andremo ad analizzare in maniera pratica dei fenomeni comuni. Nell’articolo andremo ad analizzare questi tre fenomeni : 1. Il gioco dei 2 dadi 2. Il gioco dei 3 dadi 3. Il superenalotto I dati che raccoglieremo attraverso delle semplici operazioni matematiche, facilitate attraverso l’uso del computer, andremo poi ad analizzarle formulando una conclusione. Il gioco dei 2 dadi Questo gioco è semplicissimo vince chi indovina il numero che uscirà tirando due dandi. Questo gioco, che guardato a prima vista sembra totalmente casuale, segue una logica statistica il numero che uscirà corrisponderà si alla somma dei numeri dei due dadi cioè ad un numero da 2 a 12 ma la percentuale di probabilità che esca un numero rispetto ad un altro è relativamente fissa e ci permette di scegliere un numero non in maniera casuale ma secondo una logica matematica. Mi avvalgo dell’utilizzo di un codice in C che vi riporto qui di seguito per dimostrarvi come questo gioco non sia totalmente legato al caso. Dimostrazione Pratica : #include <stdio.h> #include <stdlib.h> #include <math.h> #include <time.h> int main( ){ int n,n1,s,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,i; v2 = v3 = v4 = v5 = v6 = v7 = v8 = v9 = v10 = v11 = v12 = 0; printf( "Dimostrazione statistica dei 2 dadi :\n" ); srand( time( NULL ) ); for( i = 0 ; i<10000 ; i++ ){ n = ( rand() % 6 ) + 1 ; n1 = ( rand() % 6 ) + 1; s = n1 + n; switch(s){ case 2 : v2++; break; case 3 : v3++; break; case 4 : v4++; break; case 5 : v5++; break; case 6 : v6++; break; case 7 : v7++; break; case 8 : v8++; break; case 9 : v9++; break; case 10 : v10++; break; case 11 : v11++; break; case 12 : v12++; break; } } printf("Percentuale del numero 2 : %d percento \n" "Percentuale del numero 3 : %d percento \n" "Percentuale del numero 4 : %d percento \n" "Percentuale del numero 5 : %d percento \n" "Percentuale del numero 6 : %d percento \n" "Percentuale del numero 7 : %d percento \n" "Percentuale del numero 8 : %d percento \n" "Percentuale del numero 9 : %d percento \n" "Percentuale del numero 10 : %d percento \n" "Percentuale del numero 11 : %d percento \n" "Percentuale del numero 12 : %d percento \n", (v2*100)/10000 , (v3*100)/10000 , (v4*100)/10000 , (v5*100)/10000 , (v6*100)/10000 , (v7*100)/10000 , (v8*100)/10000 , (v9*100)/10000 , (v10*100)/10000 , (v11*100)/10000 , (v12*100)/10000); return 0; } Dal codice notiamo che la prova che faremo consisterà nel far “tirare i dadi” al nostro computer 10000 volte un numero sufficiente per stendere una relazione statistica del fenomeno. Come notiamo dopo l’esecuzione della prova il numero 7 è il numero che con maggior probabilità uscirà dalla somma dei numeri dei due dadi. Dimostrazione Logica : Abbiamo 2 dadi con numeri dall’1 al 6 le possibilità che escano i numeri sono le seguenti : 1 e 1 = 2 // il due uscirà solo se in entrambi i dadi uscirà un 1 1 e 2 = 2 e 1 = 3 // il tre uscirà soltanto se in un dado comparirà il numero 1 e nell’altro un 2 1 e 3 = 3 e 1 = 2 e 2 = 4 //il quattro ha più possibilità di uscire del 3 e del 2 … 1 e 6 = 2 e 5 = 3 e 4 = 4 e 3 = 5 e 2 = 6 e 1 = 7 //il sette può uscire da 6 combinazione diverse Anche utilizzando questo ragionamento andremo in contro alla soluzione cioè che il 7 tirando due dadi è il numero che uscirà con più probabilità perché ci sono un numero di combinazioni maggiore rispetto agli altri numeri. Conclusioni : Percentuale d'uscita 18 16 14 12 10 8 Percentuale d'uscita 6 4 2 0 2 3 4 5 6 7 8 9 10 11 12 Il grafico corrisponde al risultato della statistica compiuta lanciando 10000 volte due dadi e ci dimostra come in conclusione il numero sette sia il numero che esce con più probabilità tirando due dadi. Il gioco dei tre dadi Anche per questo gioco le regolo sono identiche a quello di prima quello che cambia è il numero di dadi. In questo caso la statistica viene fatta come per il gioco precedente in due diversi modi con una dimostrazione pratica e una dimostrazione logica. Dimostrazione Pratica : #include <stdio.h> #include <stdlib.h> #include <math.h> #include <time.h> int main( ){ int n,n1,n2,s,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,i; v3 = v4 = v5 = v6 = v7 = v8 = v9 = v10 = v11 = v12 = v13 = v14 = v15 = v16 = v17 = v18 = 0; printf( "Dimostrazione statistica dei 3 dadi :\n" ); srand( time( NULL ) ); for( i = 0 ; i<100000 ; i++ ){ n = ( rand() % 6 ) + 1 ; n1 = ( rand() % 6 ) + 1; n2 = ( rand() % 6 ) + 1; s = n1 + n + n2; switch(s){ case 3 : v3++; break; case 4 : v4++; break; case 5 : v5++; break; case 6 : v6++; break; case 7 : v7++; break; case 8 : v8++; break; case 9 : v9++; break; case 10 : v10++; break; case 11 : v11++; break; case 12 : v12++; break; case 13 : v13++; break; case 14 : v14++; break; case 15 : v15++; break; case 16 : v16++; break; case 17 : v17++; break; case 18 : v18++; break; } } printf("Percentuale del numero 3 : %d percento \n" "Percentuale del numero 4 : %d percento \n" "Percentuale del numero 5 : %d percento \n" "Percentuale del numero 6 : %d percento \n" "Percentuale del numero 7 : %d percento \n" "Percentuale del numero 8 : %d percento \n" "Percentuale del numero 9 : %d percento \n" "Percentuale del numero 10 : %d percento \n" "Percentuale del numero 11 : %d percento \n" "Percentuale del numero 12 : %d percento \n" "Percentuale del numero 13 : %d percento \n" "Percentuale del numero 14 : %d percento \n" "Percentuale del numero 15 : %d percento \n" "Percentuale del numero 16 : %d percento \n" "Percentuale del numero 17 : %d percento \n" "Percentuale del numero 18 : %d percento \n", (v3*100)/1000 , (v4*100)/1000 , (v5*100)/1000 , (v6*100)/1000 , (v7*100)/1000 , (v8*100)/1000 , (v9*100)/1000 , (v10*100)/1000 , (v11*100)/1000 , (v12*100)/1000 , (v13*100)/1000 , (v14*100)/1000 , (v15*100)/1000 , (v16*100)/1000 , (v17*100)/1000 , (v18*100)/1000); return 0; } Anche per questo gioco attraverso la dimostrazione pratica notiamo che il numero che uscirebbe con maggior probabilità in un lancio è l’11. Man mano che aumentiamo il numero di dadi la probabilità che esca un numero rispetto ad un altro è sempre più bassa quindi naturalmente la precisione della statistica diventa sempre minore. ( in questo caso la media non è precisa per avere più cifre significative per la valutazione dei dati ottenuti ) Dimostrazione Logica : In questo caso il ragionamento logico è molto simile a quello del gioco di prima e tutto si basa sulle coppie di numeri che formano una somma ben precisa. 1 e 1 e 1 = 3 // il tre uscirà soltanto se in un dado comparirà il numero 1 e nell’altro un 2 1 e 1 e 2 = 1 e 2 e 1 = 2 e 1 e 1 = 4 //il quattro ha più possibilità di uscire del 3 … 6 e 4 e 1 = 4 e 6 e 1 = 1 e 4 e 6 = 6 e 1 e 4 = 4 e 1 e 1 = …. = 11 // in questo caso essendoci più coppie che formano il numero 11 di quelle che formano altri numeri esso sarà il numero che con più probabilità uscirà. Conclusione : Percentuale d'uscita 14 12 10 8 Perceuntuale d'uscita 6 4 2 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 In conclusione in questo gioco notiamo che il numero che uscirà con maggio re probabilità è il numero 11. Superenalotto Fino a qui potremmo dire che il ragionamento era abbastanza semplice ora proviamo ad arrivare a capire quale sarebbe la somma che uscirebbe con più probabilità sommando i numeri usciti dal superenalotto ( che penso sia una cosa di maggior interesse ). Partendo dagli esempi precedenti si può arrivare ad ottenere una semplice formula che però ci è molto utile per concludere i nostri ragionamenti ed arrivare al numero di nostro interesse. Considerazione : Se con due dadi la probabilità maggiore è che esca il 7, con tre dadi che esca il numero 11, con quattro dadi che esca il numero N(dadi o numeri che devono essere estratti) + Tot(numero massimo che può uscire) 2 + 12 = 14 => 14/2 = 7 3 + 18 = 21 => 21/2 = ~ 11 4 + 24 = 28 => 28/2 = 14 …. Con questo procedimento possiamo arrivare a calcolare probabilità maggiori come quella che ci è di maggior interesse cioè il superenalotto … 6 + 540 = 546 => 546/2 = 273 -> questo numero non è molto preciso quindi andremo a trovare un range numeri in cui la somma potrebbe capitare con maggior probabilità. Non potendo uscire gli stessi numeri più di una volta otteniamo : 90 + 89 + 88 + 87 + 86 + 85 = 525 6 + 525 = 531 => 531/2 = ~ 266 Conclusioni : I calcoli sono probabilistici e abbastanza approssimativi, fare una stima precisa risulta essere un problema matematico abbastanza complesso, la somma dei numeri del superenalotto dovrebbe essere comunque con maggior probabilità : SommaNumeri = ~ 266 . I dati non sono molto precisi è una stima e non mi prendo nessuna responsabilità sull’utilizzo dei dati ottenuti per scopi illeciti. Per concludere vi allego il source di un programma che vi eseguirà da solo il calcolo probabilistico dato N e Tot. Source : #include <stdio.h> int main( ){ char Ns[10],Tots[10]; int N,Tot,Ris; do{ printf( "\nInserisci N : " ); fgets(Ns,sizeof(Ns),stdin); N = atoi(Ns); }while( N < 1 ); do{ printf( "\nInserisci Tot : " ); fgets(Tots,sizeof(Tots),stdin); Tot = atoi(Tots); }while( Tots < 1 ); Ris = (N + Tot)/2; printf("Risultato : %d",Ris); return 0; }