Ad un particolare viaggio scolastico partecipano 12 ragazzi, 6 della III A e 6 della III B. Nell'albergo in cui risiedono vengono suddivisi in 6 camere, da due letti. Se la suddivisone viene fatta del tutto a caso, qual è la probabilità che in nessuna camera vi siano alunni di sezioni diverse?

    È un problema che richiede strumenti semplici per essere risolto, ma che non è facile da affrontare.
    Chiamiamo 1, 2, 3, 4, 5 e 6 le coppie di ragazzi. La coppia 1 può essere formata in C(12,2) modi, la coppia 2 in C(10,2) modi, la coppia 3 in C(8,2) modi, ..., la coppia 6 in C(2,2) = 1 modo solo. I modi di suddividere i ragazzi sono dunque C(12,2)·C(10,2)·C(8,2)·C(6,2)·C(4,2). Ma non devo tener conto dei 6! modi in cui posso ordinare le coppie, le suddivisioni possibili sono il numero precedente diviso per 6!:  66*45*28*15*6/6! = 10395.
    I modi di accoppiare i 6 alunni di una classe sono, analogamente, C(6,2)·C(4,2)·1; tenendo conto che i modi in cui posso ordinare queste tre coppie sono 3!, deduco che le coppie possibili di alunni della A sono il numero precedente diviso per 3!. Abbiamo la stessa quantità di coppie possibili di alunni della B. In tutto:  (15*6/3!)^2 = 225
    Quindi la probabilità cercata è:  225 / 10395 = 5/231 = 2.16%.

Verifica dei calcoli con la calcolatrice:

C(12,2) = 66    C(10,2) = 45    C(8,2) = 28    C(6,2) = 15    C(4,2) = 6    !(6) = 720    !(3) = 6
66*45*28*15*6/720 = 10395     pow(15*6/6,2) = 225     225/10395*100 = 2.1645021645021645

Per altri commenti: calcolo combinatorio e calcolo delle probabilità neGli Oggetti Matematici.

# Posso controllare la cosa "sperimentalmente" (ed eventualmente ritentare lo studio teorico) con R:
#
# C(x) = 1 se x è della A, = 2 se della B
C <- function(x) ifelse(x < 7,1,2)
# Genero a caso la collocazione degli alunni e calcolo la frequenza relativa
# con cui in ogni camera vi sono alunni della stessa sezione
n <- 0; tot <- 5e4
for(i in 1:tot) { alu <- sample(1:12);
if ( C(alu[1])==C(alu[2]) & C(alu[3])==C(alu[4]) & C(alu[5])==C(alu[6]) &
C(alu[7])==C(alu[8]) & C(alu[9])==C(alu[10]) & C(alu[11])==C(alu[12]) )
n <- n+1};  n/tot*100
#  2.17  OK
#
# Un approccio che tenga conto della precisione (vedi qui)
#
source("http://macosa.dima.unige.it/r.R")
Event = function() {alu <- sample(1:12); ifelse (
 C(alu[1])==C(alu[2]) & C(alu[3])==C(alu[4]) & C(alu[5])==C(alu[6]) &
 C(alu[7])==C(alu[8]) & C(alu[9])==C(alu[10]) & C(alu[11])==C(alu[12]), 1,0) }
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') }
PR(1e4)
#  2.36 +/- 0.4554208 
PR(1e5)
#  2.205 +/- 0.1393112 
PR(1e6)
#  2.1614 +/- 0.04362588 
PR(1e7)                     # dopo un po' di minuti:
#  2.16423 +/- 0.01380454
2.16423 - 0.01380454; 2.16423 + 0.01380454
#    2.150425            2.178035
# 2.15 < P < 2.18