È possibile che, lanciando 200 volte una moneta non truccata si ottenga 100 volte testa? È probabile? È possibile che si ottenga 120 testa? È probabile?
Il quesito gioca sui diversi significati di "possibile" e "probabile".
"Possibile" indica che un evento può accadere, anche se in una eventualità molto remota.
"Probabile" indica che un evento è presumibile che accada; anche se non c'è una quantificazione precisa, possiamo
dire che la probabilità che accada è maggiore del 50%. Sui dizionari italiani (a differenza di quelli inglesi)
ci sono spesso definizioni sbagliate di "probabile"; su molti si trova ad esempio "che si ammette possa accadere", come se fosse un
sinonimo di "possibile".
In tutti e due i casi non possiamo ritenere probabili gli eventi. In tutti e due i casi gli eventi sono possibili,
anche se con probabilità diverse: è più probabile ottenere 100 volte testa piuttosto che 120 volte.
Non è facile determinare le due probabilità, che sono in un caso 5.7% (non è un evento molto raro) e nell'altro 0.10%
(è un evento molto raro).
Come è possibile valutare le probabilità con questo semplice script:
Caso "100 volte testa":
function TruthValue() { with(Math) { Head=0 for (var Number=0; Number < 200; Number++) { if (random()>0.5) {Head=Head+1;} } V=0 if(Head==100) {V=1} }}
Ho le seguenti uscite:
n=2560000 5.662578125% +/- 0.04333616359043924%
n=1280000 5.659296875% +/- 0.06126990857205131%
n=640000 5.64953125% +/- 0.0865784578316723%
n=320000 5.6484375% +/- 0.12242938172716718%
n=160000 5.6175% +/- 0.17269505398482882%
n=80000 5.58125% +/- 0.24348591133078207%
n=40000 5.4875% +/- 0.3416084304459475%
n=20000 5.525% +/- 0.48466505316629543%
n=10000 5.32% +/- 0.6733299171414647%
Caso "120 volte testa":
function TruthValue() { with(Math) { Head=0 for (var Number=0; Number < 200; Number++) { if (random()>0.5) {Head=Head+1;} } V=0 if(Head==120) {V=1} }}
n=2560000 0.103359375% +/- 0.006024926262390224%
n=1280000 0.101015625% +/- 0.008423474270531481%
n=640000 0.1028125% +/- 0.012017972266844455%
n=320000 0.1028125% +/- 0.01699599265014035%
n=160000 0.103125% +/- 0.02407246437749418%
n=80000 0.0975% +/- 0.03310316064389559%
n=40000 0.08751% +/- 0.04435173638836496%
n=20000 0.1% +/- 0.06705016619098951%
n=10000 0.08% +/- 0.08482310708733555%
# Come valutare le probabilità mediante una simulazione con R (vedi): # [ vedi in particolare qui ] # source("http://macosa.dima.unige.it/r.R") PR = function(n) {f = 0; for (i in 1:n) f = f + ifelse(Event(),1,0) fr=f/n; S=sqrt(fr*(1-fr)/(n-1)); cat(fr*100, "+/-", 3*S*100,'\n'); fr0<<- fr; n0<<- n} PR2 = function(n) {f=0; for (i in 1:n) f=f+ifelse(Event(),1,0); n=n+n0; f=f+fr0*n0 fr=f/n;S=sqrt(fr*(1-fr)/(n-1));cat(fr*100,"+/-",3*S*100,' n =',n,'\n');fr0<<-fr;n0<<-n} monete = function(n) {N=0; for(i in 1:n) if(RUNIF(1, 1,2)==1) N=N+1; N} Event = function() {V=0; if(monete(200)==100) V=1; V} PR(10000) # 5.68 +/- 0.6944149 PR2(35000) 5.705333 +/- 0.1037288 n = 450000 Event = function() {V=0; if(monete(200)==120) V=1; V} PR(10000) # 0.16 +/- 0.11991 PR2(490000) 0.1032 +/- 0.01362236 n = 500000 PR2(2000000) 0.1066 +/- 0.006191535 n = 2500000