In un mazzo di 40 carte ne scelgo a caso tre. (1) Qual è la probabilità che tra esse vi sia esattamente un asso? (2) E quella che vi sia almeno un asso?
(1) Le carte le posso scegliere in C40,3 modi.
Un asso può essere scelto in C4,1 modi mentre le altre 2 carte,
che non siano assi (ossia prese tra le 36 rimanenti), possono essere scelte in C36,2 modi. Quindi gli esiti "favorevoli"
sono
In definitiva, la probabilità cercata è C4,1·C36,2/C40,3.
Il calcolo è facile da fare: 4/1·36/2·35/1/(40/3·39/2·38/1) =
(4·36·35·3·2)/(2·40·39·38) =
(36·35·3)/(10·39·38) =
(18·35)/(10·13·19) = 25.51%.
Posso controllare l'esito con questa calcolatrice:
C(4,1) = 4 C(36,2) = 630 C(40,3) = 9880 (4*630/9840)*100 = 25.506072874493928
(2) Potrei calcolare la somma delle probabilità che ne scelga esattamente 1, che ne scelga esattamente 2 e che ne scelga esattamente 3.
Ma conviene ragionare pensanado che l'evento favorevole è la negazione che non esca alcun asso. Se P è la probabilità
che non esca alcun asso la probabilità che ne esca almeno uno è 1−P.
Le carte che non sono assi sono 36 e quindi i tre non-assi possono essere scelti in C36,3 modi.
P = C36,3/C40,3 = 36/3·35/2·34/1/(40/3·39/2·38/1) =
(36·35·34·3·2)/(3·2·40·39·38) =
(9·35·17)/(10·39·19)
1−P = 1−(9·35·17)/(10·39·19) = 27.7%.
Posso controllare l'esito con questa calcolatrice:
C(36,3) = 7140 C(40,3) = 9880 (1-7140/9880)*100 = 27.732793522267208
Per approfondimenti calcolo combinatorio e calcolo delle probabilità.
Vediamo come possiamo studiare il problema con una simulazione con questo semplice script in cui modifico TruthValue nel modo seguente (poi vedremo come usare R).
function TruthValue() { with(Math) { var C = new Array(40); C[1]=floor(random()*40+1); for(i=2; i <= 3; i++) { U=0; while(U < 1) { C[i]=floor(random()*40+1); U=1; for(j=1; j < i; j++) { if(C[j]==C[i]) {U=0} } } } V=0; A=0; for(i=1; i<=3; i++) {if(C[i]==1 | C[i]==2 | C[i]==3 | C[i]==4) {A=A+1} } if(A==1) {V=1} }} n=10240000 25.499560546875% +/- 0.040861759453748134% n=5120000 25.521503906249997% +/- 0.05780360134580771% n=2560000 25.543359375% +/- 0.08176963938963093% n=1280000 25.519140625% +/- 0.11560371791495312% n=640000 25.5346875% +/- 0.1635211334662567% n=320000 25.605% +/- 0.23146280309985298% n=160000 25.62625% +/- 0.32742737751222256% n=80000 25.775% +/- 0.4639310240622399% n=40000 25.76% +/- 0.6559769795083827% n=20000 25.665% +/- 0.926583200026489% n=10000 25.41% +/- 1.3061275997890456%e con questo: function TruthValue() { with(Math) { var C = new Array(40); C[1]=floor(random()*40+1); for(i=2; i <= 3; i++) { U=0; while(U < 1) { C[i]=floor(random()*40+1); U=1; for(j=1; j < i; j++) { if(C[j]==C[i]) {U=0} } } } V=0; A=0; for(i=1; i<=3; i++) {if(C[i]==1 | C[i]==2 | C[i]==3 | C[i]==4) {A=A+1} } if(A>=1) {V=1} }} n=10240000 27.731796875% +/- 0.04196951312561699% n=5120000 27.71970703125% +/- 0.05934588172345176% n=2560000 27.7148828125% +/- 0.08392325598279% n=1280000 27.7428125% +/- 0.11872227484332638% n=640000 27.70234375% +/- 0.16782319051811456% n=320000 27.7321875% +/- 0.23741680848855082% n=160000 27.81875% +/- 0.3360807407287141% n=80000 27.9275% +/- 0.4758606562996438% n=40000 27.95% +/- 0.6731387415638287% n=20000 28.505% +/- 0.9576690948625014% n=10000 28.43% +/- 1.3533088097228387% # Ecco come potrei trovare conferma "sperimentalmente", con R: n <- 1e5; c <- 0 for(i in 1:n) { m <- 0; mazzo <- sample(1:40,40); carte <- sample(1:40,3) if(carte[1] < 5) m <- m+1; if(carte[2] < 5) m <- m+1; if(carte[3] < 5) m <- m+1; if (m==1) c <- c+1; m <- 0} c/n # 0.25577 # n <- 1e5; c <- 0 for(i in 1:n) { m <- 0; mazzo <- sample(1:40,40); carte <- sample(1:40,3) if(carte[1] < 5) m <- m+1; if(carte[2] < 5) m <- m+1; if(carte[3] < 5) m <- m+1; if (m > 0) c <- c+1; m <- 0} c/n # 0.2781 |