10 - Dieci lanci, esattamente tre 6: dalla combinatoria alla distribuzione binomiale
21-08-2026
Probabilità e combinatoria nei giochi
MATH
21-08-2026
Probabilità e combinatoria nei giochi
Nel precedente articolo abbiamo calcolato la probabilità di trovare esattamente due assi in una mano di cinque carte.
Lì il mazzo cambiava dopo ogni estrazione: una carta pescata non poteva ricomparire e quindi le prove non erano indipendenti.
Ora cambiamo completamente esperimento.
Lanciamo un dado equo dieci volte e chiediamoci:
Qual è la probabilità di ottenere esattamente tre 6?
Ogni lancio riparte nelle stesse condizioni. La probabilità di ottenere un 6 rimane sempre:
$$ 1/6 $$
e quella di non ottenere 6 rimane sempre:
$$ 5/6 $$
Questa volta quindi il modello è basato su prove indipendenti con probabilità di successo costante.
È esattamente la situazione dalla quale nasce la distribuzione binomiale.
Supponiamo di voler ottenere questa sequenza:
6 6 6 x x x x x x x
dove x significa qualunque risultato diverso da 6.
La probabilità dei primi tre successi è:
$$ (1/6)^3 $$
La probabilità dei sette insuccessi è:
$$ (5/6)^7 $$
Poiché i dieci lanci sono indipendenti, moltiplichiamo:
$$ (1/6)^3 \cdot (5/6)^7 $$
Questa è però la probabilità di una sola disposizione dei tre successi.
La domanda chiedeva esattamente tre 6 in qualunque posizione.
Una sequenza come:
6 6 6 x x x x x x x
va bene.
Ma anche:
x 6 x 6 x x 6 x x x
contiene esattamente tre 6.
Dobbiamo quindi scegliere quali tre delle dieci posizioni contengono il successo.
L'ordine delle posizioni scelte non conta: scegliere le posizioni 2, 5, 9 descrive lo stesso schema indipendentemente dall'ordine in cui elenchiamo quei numeri.
Perciò usiamo una combinazione:
C(10,3)
=
120
Esistono quindi 120 modi diversi di collocare tre successi tra dieci lanci.
Ogni schema con esattamente tre 6 ha probabilità:
$$ (1/6)^3 \cdot (5/6)^7 $$
e gli schemi possibili sono:
C(10,3)
=
120
Quindi:
P(esattamente 3 sei)
=
C(10,3)
·
(1/6)^3
·
(5/6)^7
Il valore è circa:
15,5045%
Questa formula non è ancora "la binomiale" come oggetto da memorizzare. È soltanto il prodotto di due idee che conosciamo già: scegliere le posizioni dei successi e moltiplicare le probabilità di successi e insuccessi.
Dieci lanci di un dado producono:
6^10
=
60.466.176
sequenze ordinate equiprobabili.
Vogliamo contare quante contengono esattamente tre 6.
Prima scegliamo le tre posizioni dei 6:
C(10,3)
=
120
Nelle altre sette posizioni possiamo usare soltanto:
1 2 3 4 5
Per ciascuna posizione abbiamo quindi 5 possibilità:
5^7
=
78.125
I casi favorevoli sono:
120 · 78.125
=
9.375.000
Quindi:
P
=
9.375.000
-----------
60.466.176
che coincide esattamente con:
$$ \begin{gathered} \binom{10}{3} \ \cdot \ (1/6)^3 \ \cdot \ (5/6)^7 \end{gathered} $$
Conteggio combinatorio e prodotto probabilistico stanno ancora descrivendo lo stesso spazio campionario.
Supponiamo di avere n prove indipendenti.
Ogni prova può produrre successo con probabilità p, oppure insuccesso con probabilità 1-p.
Vogliamo esattamente x successi.
Per scegliere le posizioni dei successi abbiamo:
$$ \binom{n}{x} $$
possibilità.
Una specifica disposizione di x successi e n-x insuccessi ha probabilità:
$$ p^x \cdot (1-p)^{n-x} $$
Quindi:
P(X=x)
=
C(n,x)
·
p^x
·
(1-p)^(n-x)
Questa è la distribuzione binomiale.
Nel nostro problema:
$$ \begin{gathered} n = 10 \ x = 3 \ p = 1/6 \end{gathered} $$
e ritroviamo esattamente il calcolo precedente.
La formula funziona perché il nostro esperimento possiede quattro caratteristiche precise: abbiamo un numero fissato di prove, ogni prova viene classificata come successo o insuccesso rispetto alla domanda, la probabilità di successo rimane costante e le prove sono indipendenti.
Il dado ha sei facce, ma per la domanda corrente lo stiamo riducendo a due soli esiti logici:
6
oppure:
non 6
La distribuzione binomiale non richiede quindi che l'esperimento fisico abbia soltanto due risultati possibili. Richiede che, rispetto alla proprietà studiata, ogni prova possa essere classificata in successo o insuccesso.
Con gli assi avevamo:
4 assi su 52 carte
e ogni carta estratta modificava il contenuto del mazzo.
La probabilità di successo cambiava.
Con il dado invece, dopo un 6, il lancio successivo continua ad avere:
$$ P(6) = 1/6 $$
Il dado non perde una faccia.
Quindi:
carte senza reinserimento
→ ipergeometrica
lanci indipendenti con p costante
→ binomiale
La differenza non è nella presenza di combinazioni: entrambe le distribuzioni usano coefficienti combinatori. La differenza è nel modello delle prove.
La nostra formula conta:
$$ X = 3 $$
e non comprende sequenze con quattro, cinque o più 6.
Per calcolare:
P(almeno 3 sei)
dovremmo invece sommare:
P(X=3)
+
P(X=4)
+
...
+
P(X=10)
Oppure potremmo usare il complementare:
1
-
P(X=0)
-
P(X=1)
-
P(X=2)
La tecnica del complementare introdotta negli articoli iniziali continua quindi a essere utile anche dopo aver introdotto distribuzioni più avanzate.
I coefficienti binomiali non sono numeri isolati. Sono organizzati nel triangolo di Pascal:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
...
La regola che costruisce ogni riga dalla precedente è:
\binom{n-1}{k-1} + \binom{n-1}{k}. $$
Questa identità, spesso chiamata regola o lemma di Pascal, ha una spiegazione di conteggio molto semplice.
Vogliamo scegliere k posizioni di successo fra n posizioni. Guardiamo soltanto l'ultima posizione.
Ci sono due casi incompatibili:
k-1 successi fra le prime n-1 posizioni;k successi fra le prime n-1 posizioni.Quindi:
\underbrace{\binom{n-1}{k-1}}{\text{ultima posizione = successo}} + \underbrace{\binom{n-1}{k}}{\text{ultima posizione = insuccesso}}. $$
Per esempio:
$$
Il triangolo di Pascal non è quindi soltanto una tabella da ricordare: registra una decomposizione naturale degli stessi oggetti che stiamo contando nella distribuzione binomiale.
Fonte didattica di approfondimento: Brian Hopkins, Hands-On Combinatorics, cap. 2, che costruisce il triangolo di Pascal raggruppando oggetti combinatori e dimostra la ricorrenza tramite una corrispondenza concreta.
Con dieci lanci possiamo avere da 0 a 10 successi.
Per ogni x:
P(X=x)
=
C(10,x)
·
(1/6)^x
·
(5/6)^(10-x)
Le probabilità di tutti questi casi devono sommare a:
1
perché coprono tutte le possibilità e sono incompatibili tra loro.
Questa è una verifica importante della distribuzione.
Per una variabile binomiale:
X ~ Binomiale(n,p)
il valore atteso è:
$$ E[X] = n \cdot p $$
Nel nostro caso:
E[X]
=
10 · 1/6
=
5/3
≈
1,667
Questo non significa che in dieci lanci vedremo 1,667 volte il numero 6. Il numero effettivo di 6 è sempre un intero.
1,667 è la media teorica che emergerebbe su moltissimi gruppi di dieci lanci.
Il valore atteso verrà approfondito più avanti nella serie, ma qui è utile vedere che una distribuzione non descrive soltanto la probabilità di un singolo valore.
Lo standalone C# associato a questo articolo è:
DieciLanciTreSei.cs
Possiamo implementare direttamente la formula binomiale.
using System.Numerics;
static BigInteger Combinazioni(int n, int k)
{
if (n < 0)
throw new ArgumentOutOfRangeException(nameof(n));
if (k < 0 || k > n)
return BigInteger.Zero;
k = Math.Min(k, n - k);
BigInteger risultato = BigInteger.One;
for (int i = 1; i <= k; i++)
{
risultato *= n - k + i;
risultato /= i;
}
return risultato;
}
static double Binomiale(
int prove,
int successi,
double probabilitaSuccesso)
{
if (prove < 0)
throw new ArgumentOutOfRangeException(nameof(prove));
if (successi < 0 || successi > prove)
return 0.0;
if (probabilitaSuccesso < 0.0 ||
probabilitaSuccesso > 1.0)
{
throw new ArgumentOutOfRangeException(
nameof(probabilitaSuccesso));
}
BigInteger modi =
Combinazioni(prove, successi);
return
(double)modi
*
Math.Pow(probabilitaSuccesso, successi)
*
Math.Pow(
1.0 - probabilitaSuccesso,
prove - successi);
}
Per dieci lanci e tre 6:
double p = Binomiale(
prove: 10,
successi: 3,
probabilitaSuccesso: 1.0 / 6.0);
Console.WriteLine($"{p:P6}");
otteniamo circa:
15,5045%
Nel nostro caso possiamo conservare un rapporto intero esatto prima di convertire in double.
BigInteger posizioni =
Combinazioni(10, 3);
BigInteger favorevoli =
posizioni
* BigInteger.Pow(5, 7);
BigInteger totali =
BigInteger.Pow(6, 10);
Console.WriteLine($"Favorevoli: {favorevoli}");
Console.WriteLine($"Totali: {totali}");
Otteniamo:
Favorevoli: 9375000
Totali: 60466176
Questo rende visibile il collegamento tra conteggio degli esiti e formula probabilistica.
Possiamo calcolare tutte le probabilità:
double somma = 0.0;
for (int successi = 0;
successi <= 10;
successi++)
{
double p = Binomiale(
10,
successi,
1.0 / 6.0);
somma += p;
Console.WriteLine(
$"{successi,2} sei -> {p:P6}");
}
Console.WriteLine($"Somma: {somma:F12}");
Il risultato sarà molto vicino a:
1.000000000000
Le eventuali differenze nelle ultime cifre dipendono dalla rappresentazione floating-point.
Enumerare tutte le:
$$ 6^{10} = 60.466.176 $$
sequenze dei dieci dadi sarebbe possibile con un programma ottimizzato, ma non è necessario per verificare un risultato che abbiamo già ottenuto esattamente.
Qui Monte Carlo è più interessante come confronto tra teoria e frequenza osservata.
static double Simula(
int esperimenti,
int seed = 42)
{
if (esperimenti <= 0)
throw new ArgumentOutOfRangeException(nameof(esperimenti));
var random = new Random(seed);
int favorevoli = 0;
for (int e = 0; e < esperimenti; e++)
{
int sei = 0;
for (int lancio = 0; lancio < 10; lancio++)
{
if (random.Next(1, 7) == 6)
sei++;
}
if (sei == 3)
favorevoli++;
}
return (double)favorevoli / esperimenti;
}
Con un milione di esperimenti la frequenza osservata dovrebbe risultare vicina al valore teorico:
15,5045%
ma non identica.
La formula rimane il risultato esatto del modello; la simulazione produce una stima.
Il coefficiente:
$$ \binom{10}{3} $$
può essere interpretato anche come numero di stringhe di lunghezza 10 contenenti tre successi e sette insuccessi.
Per esempio:
SSSIIIIIII
SISIISIIII
IIISISIIIS
dove:
S = successo
I = insuccesso
Tutti questi schemi hanno la stessa probabilità se p rimane costante a ogni prova.
È proprio questa uguaglianza di probabilità tra schemi con lo stesso numero di successi che permette di moltiplicare C(n,x) per la probabilità di uno schema specifico.
Per ottenere esattamente tre 6 in dieci lanci dobbiamo risolvere due problemi distinti.
Prima scegliamo dove si trovano i tre successi:
C(10,3)
=
120
Poi calcoliamo la probabilità di una specifica disposizione di tre successi e sette insuccessi:
$$ (1/6)^3 \cdot (5/6)^7 $$
Quindi:
P(X=3)
=
C(10,3)
·
(1/6)^3
·
(5/6)^7
≈
15,5045%
Generalizzando:
P(X=x)
=
C(n,x)
·
p^x
·
(1-p)^(n-x)
Questa è la distribuzione binomiale.
Il confronto con l'ipergeometrica è il punto da ricordare: entrambe contano quanti modi producono x successi, ma la binomiale descrive prove indipendenti con probabilità costante, mentre l'ipergeometrica descrive estrazioni da una popolazione finita senza reinserimento.
Nel prossimo articolo cambieremo ancora tipo di problema.
Pescheremo una sola carta e chiederemo:
Qual è la probabilità che sia di cuori oppure una figura?
I due eventi si sovrappongono, quindi non potremo semplicemente sommare i loro casi favorevoli.
Questo ci porterà al principio di inclusione-esclusione.