11 - Cuori o figure: quando gli eventi si sovrappongono
22-08-2026
Probabilità e combinatoria nei giochi
MATH
22-08-2026
Probabilità e combinatoria nei giochi
Prendiamo un mazzo standard di 52 carte, ben mescolato, e peschiamone una.
Vogliamo calcolare:
Qual è la probabilità che la carta sia di cuori oppure una figura?
Assumiamo come figure:
J
Q
K
In un mazzo standard ci sono quindi:
13 cuori
e:
12 figure
La tentazione è sommare:
$$ 13 + 12 = 25 $$
e concludere:
$$ 25/52 $$
Ma sarebbe sbagliato.
Tre carte sono state contate due volte.
Tra le 13 carte di cuori troviamo anche:
J♥
Q♥
K♥
Queste tre carte sono contemporaneamente:
cuori
e:
figure
Quando contiamo i 13 cuori, le abbiamo già incluse.
Quando aggiungiamo le 12 figure, le contiamo una seconda volta.
Il conteggio:
13 + 12
contiene quindi tre duplicati.
Per correggerlo dobbiamo sottrarli una volta:
13 + 12 - 3
=
22
Le carte favorevoli sono dunque:
22
e la probabilità è:
22/52
=
11/26
≈
42,31%
Nel linguaggio quotidiano la parola "oppure" può essere ambigua.
In probabilità, quando diciamo:
A oppure B
intendiamo normalmente:
A
oppure B
oppure entrambi
Nel nostro caso, una figura di cuori soddisfa perfettamente l'evento:
cuori oppure figura
perché è sia di cuori sia una figura.
Questa interpretazione si chiama OR inclusivo.
Se invece volessimo:
cuori oppure figura, ma non entrambe
staremmo definendo un evento diverso, spesso chiamato OR esclusivo.
È importante capire quale dei due significati richiede la domanda prima di contare.
Indichiamo con:
A = "la carta è di cuori"
e con:
B = "la carta è una figura"
L'evento:
$$ A ∪ B $$
si legge:
A unione B
e contiene tutti gli esiti che appartengono ad A, a B oppure a entrambi.
L'evento:
$$ A ∩ B $$
si legge:
A intersezione B
e contiene soltanto gli esiti che appartengono contemporaneamente ad A e a B.
Nel nostro esempio:
A ∩ B
=
{J♥, Q♥, K♥}
quindi:
$$ |A ∩ B| = 3 $$
Per contare gli elementi dell'unione di due insiemi usiamo:
$$ |A ∪ B| = |A| + |B| - |A ∩ B| $$
Nel nostro caso:
|A ∪ B|
=
13 + 12 - 3
=
22
La stessa idea può essere espressa direttamente in probabilità:
P(A ∪ B)
=
P(A)
+
P(B)
-
P(A ∩ B)
Quindi:
P(cuori oppure figura)
=
13/52
+
12/52
-
3/52
ossia:
22/52
=
11/26
≈
42,31%
Questo è il caso più semplice del principio di inclusione-esclusione.
Nel conteggio:
$$ |A| + |B| $$
gli elementi appartenenti soltanto ad A sono contati una volta.
Quelli appartenenti soltanto a B sono contati una volta.
Gli elementi appartenenti a entrambi sono invece contati due volte.
Sottrarre:
$$ |A ∩ B| $$
una volta li riporta al conteggio corretto:
$$ 2 - 1 = 1 $$
Non li stiamo eliminando dall'unione.
Stiamo soltanto eliminando il doppio conteggio.
Supponiamo di chiedere:
Qual è la probabilità che una carta sia un asso oppure un re?
Non esiste una carta che sia contemporaneamente asso e re.
Quindi:
$$ A ∩ B = ∅ $$
e:
$$ P(A ∩ B) = 0 $$
La formula diventa:
$$ P(A ∪ B) = P(A) + P(B) $$
In questo caso possiamo semplicemente sommare.
Gli eventi che non possono verificarsi contemporaneamente si chiamano mutuamente esclusivi o disgiunti.
Il punto importante è che la regola:
somma le probabilità
non è sbagliata in sé.
È il caso particolare in cui l'intersezione vale zero.
Due eventi disgiunti non sono la stessa cosa di due eventi indipendenti.
Se una singola carta è un asso, non può contemporaneamente essere un re. Quindi gli eventi sono disgiunti.
Ma proprio per questo sapere che è uscito un asso rende impossibile che sia anche un re.
Gli eventi non sono indipendenti.
L'indipendenza significa invece che sapere se un evento si è verificato non cambia la probabilità dell'altro.
Sono quindi concetti diversi:
disgiunti
→ non possono accadere insieme
indipendenti
→ uno non modifica la probabilità dell'altro
Questa distinzione evita una delle confusioni più comuni nella probabilità elementare.
Possiamo controllare il risultato anche dal lato opposto.
Le carte che non sono né cuori né figure sono:
52 - 22
=
30
Quindi:
P(cuori oppure figura)
=
1 - 30/52
ossia:
$$ 22/52 = 11/26 $$
Il complementare introdotto negli articoli iniziali continua quindi a essere un ottimo strumento di verifica.
La domanda:
cuori oppure figura, ma non entrambe
esclude:
J♥
Q♥
K♥
Le carte di cuori ma non figure sono:
13 - 3
=
10
Le figure che non sono di cuori sono:
12 - 3
=
9
Quindi:
10 + 9
=
19
carte favorevoli.
In forma compatta:
$$ |A △ B| = |A| + |B| - 2|A ∩ B| $$
e nel nostro caso:
13 + 12 - 2·3
=
19
La probabilità sarebbe:
19/52
≈
36,54%
Questo non è l'evento richiesto dal problema principale, ma aiuta a chiarire la differenza tra "oppure inclusivo" e "uno dei due ma non entrambi".
Il principio non dipende dalle carte.
Lanciamo due dadi e definiamo:
A = "la somma è 7"
e:
B = "il primo dado mostra 6"
Abbiamo già visto che:
$$ |A| = 6 $$
tra le 36 coppie ordinate.
Per B abbiamo:
(6,1)
(6,2)
(6,3)
(6,4)
(6,5)
(6,6)
quindi:
$$ |B| = 6 $$
L'intersezione contiene soltanto:
(6,1)
perché è l'unico esito in cui il primo dado vale 6 e la somma è 7.
Quindi:
|A ∪ B|
=
6 + 6 - 1
=
11
e:
P(A ∪ B)
=
11/36
≈
30,56%
Ancora una volta, il problema è evitare di contare due volte l'esito condiviso.
Lo standalone C# associato a questo articolo è:
CuoriOFigure.cs
Possiamo rappresentare un mazzo standard e lasciare che il programma verifichi i conteggi.
enum Seme
{
Cuori,
Quadri,
Fiori,
Picche
}
enum Valore
{
Due = 2,
Tre,
Quattro,
Cinque,
Sei,
Sette,
Otto,
Nove,
Dieci,
Jack,
Donna,
Re,
Asso
}
readonly record struct Carta(
Seme Seme,
Valore Valore);
Costruiamo il mazzo:
var mazzo = new List<Carta>();
foreach (Seme seme in Enum.GetValues<Seme>())
{
foreach (Valore valore in Enum.GetValues<Valore>())
{
mazzo.Add(new Carta(seme, valore));
}
}
Ora definiamo i due eventi:
static bool IsCuori(Carta carta) =>
carta.Seme == Seme.Cuori;
static bool IsFigura(Carta carta) =>
carta.Valore is
Valore.Jack or
Valore.Donna or
Valore.Re;
e contiamo:
int cuori =
mazzo.Count(IsCuori);
int figure =
mazzo.Count(IsFigura);
int intersezione =
mazzo.Count(c =>
IsCuori(c) && IsFigura(c));
int unione =
cuori + figure - intersezione;
Otteniamo:
Cuori: 13
Figure: 12
Intersezione: 3
Unione: 22
Possiamo contare anche senza usare la formula:
int unioneDiretta =
mazzo.Count(c =>
IsCuori(c) || IsFigura(c));
Console.WriteLine(
unione == unioneDiretta);
Il risultato è:
True
Abbiamo quindi due strategie:
inclusione-esclusione
e:
enumerazione diretta
che producono lo stesso conteggio.
Possiamo rendere l'idea riutilizzabile.
static double ProbabilitaUnione<T>(
IEnumerable<T> spazioCampionario,
Func<T, bool> eventoA,
Func<T, bool> eventoB)
{
int totali = 0;
int a = 0;
int b = 0;
int intersezione = 0;
foreach (T esito in spazioCampionario)
{
totali++;
bool inA = eventoA(esito);
bool inB = eventoB(esito);
if (inA)
a++;
if (inB)
b++;
if (inA && inB)
intersezione++;
}
if (totali == 0)
throw new ArgumentException(
"Lo spazio campionario non può essere vuoto.");
int unione =
a + b - intersezione;
return (double)unione / totali;
}
Nel nostro caso:
double p =
ProbabilitaUnione(
mazzo,
IsCuori,
IsFigura);
Console.WriteLine($"{p:P6}");
otteniamo:
42,307692%
L'inclusione-esclusione è un altro esempio della relazione che attraversa tutta la serie:
prima costruiamo correttamente l'insieme degli esiti
poi trasformiamo il conteggio in probabilità
Nel nostro caso:
13 cuori
+
12 figure
-
3 carte condivise
=
22 esiti favorevoli
e quindi:
$$ 22/52 = 11/26 $$
La formula probabilistica non è qualcosa di separato dal conteggio.
È lo stesso ragionamento normalizzato rispetto allo spazio campionario.
Quando due eventi possono sovrapporsi, sommare semplicemente le loro probabilità conta due volte gli esiti comuni.
Per questo:
P(A ∪ B)
=
P(A)
+
P(B)
-
P(A ∩ B)
Nel nostro mazzo:
13 cuori
+
12 figure
-
3 figure di cuori
=
22 carte
e quindi:
P(cuori oppure figura)
=
22/52
=
11/26
≈
42,31%
Se l'intersezione è vuota, la formula si riduce alla semplice somma.
Con questo articolo si completa il blocco dedicato a probabilità condizionata, ipergeometrica, binomiale e inclusione-esclusione.
Abbiamo distinto probabilità condizionata, campionamento senza reinserimento, distribuzione ipergeometrica, prove indipendenti binomiali e sovrapposizione di eventi.
Il prossimo passo sarà diverso ancora una volta.
Non ci chiederemo soltanto quanto è probabile vincere, ma quanto vale mediamente una giocata quando vincite e perdite hanno importi diversi.
Questo ci porterà al valore atteso e, per la prima volta, a distinguere chiaramente probabilità di vincita e convenienza matematica di un gioco.