La legge di distribuzione binomiale è riferita alle situazioni in cui si ripete n volte un evento casuale A con probabilità p. La probabilità che il numero delle volte N che A si verifica sia k è  Pr(N=k) = C(n,kpk·(1−p)n−k.  Se indico con B l'evento contrario di A, con pA e con pB le probabilità di A e B, con NA e con NB i numeri delle volte che si verificano A e B, posso scrivere  Pr(NA=k) = C(n,k) · pAk · pBn−k.  Il coefficente binomiale C(n,k)  posso esprimerlo oltre che come  n/k·(n−1)/(k−1)·…·(n−k+1)/1  anche come  n·(n−1)·…·(n−k+1)/(k·(k−1)·…·1)  ossia come  n·(n−1)·…·1/((n−k)…·1)/(k·(k−1)·…·1)  ovvero  n!/(k!·(nk)!).  Osserviamo che ovviamente, nel caso di due soli eventi mutuamente esclusivi,  Pr(NA=k) = Pr(NA=k & NB=n−k)  in quanto NA=k e NB=n−k sono equivalenti.  Si può dimostrare che per la legge di distribuzione trinomiale, in cui si possono verificare tre eventi A, B e C, si ha:  Pr(NA=x & NB=y & NC=z)  =  n!/(xyz!) · pAx · pBy · pCz, dove n = x+y+z.  Una espressione analoga la si ha, in generale, per la legge di distribuzione multinomiale.
Calcola la probabilità che da una scatola in cui siano collocati 2 bastoncini rossi, 5 bastoncini blu e 3 bastoncini gialli (tutti di eguali dimensioni e peso) si estraggano 3 bastoncini blu, ovvero un bastoncino per colore, ovvero 2 bastoncini rossi ed 1 giallo, sia nel caso in cui ogni bastoncino estratto venga ogni volta subito reinserito, sia nel caso in cui non vi sia reinserimento.

Nel caso in cui vi sia reinserimento, le probabilità di estrazione via via non cambiano. Posso usare la legge di distribuzione multinomiale. Possiamo operare con R (vedi sotto) o più semplicemente col software online WolframAlpha:
(3)! / ( (0)!*(3)!*(1)! ) * (2/10)^0*(5/10)^3*(3/10)^0   → 0.125 = 1/8
(3)! / ( (1)!*(1)!*(1)! ) * (2/10)^1*(5/10)^1*(3/10)^1   → 0.18 = 9/50
(3)! / ( (2)!*(0)!*(1)! ) * (2/10)^2*(5/10)^0*(3/10)^1   → 0.036 = 9/250
Erano, ovviamente, tutti calcoli fattibili facilmente a mano; ad es. il primo: 6/(1*6*1)*1*1/8*1 = 1/8 = 0.125

Nel caso in cui non vi sia reinserimento prima di mettermi a fare i calcoli posso pensare che nel primo caso mi aspetto un valore minore di prima (ripescare un blu è via via più difficile), nel secondo un valore maggiore (è più facile pescare un colore via via diverso), nel terzo un valore minore (esludere il blu è via via più difficile).  Ecco i calcoli, con WolframAlpha:

• 3 blu:
5/10 * 4/9 * 3/8 → 1/12 = 0.08333… = 8.333…%

• uno per colore:
1º rosso, 2º blu, 3º giallo → 2/10 * 5/9 * 3/8
1º blu, 2º rosso, 3º giallo → 5/10 * 2/9 * 3/8 = ↑
3*2 possibili ordinamenti; in tutto:
2/10 * 5/9 * 3/8 * 3*2 → 1/4 = 0.25 = 25%

• 2 rossi e 1 giallo:
1º rosso, 2º rosso, 3º giallo → 2/10 * 1/9 * 3/8
3 possibili collocazioni del giallo; in tutto:
2/10 * 1/9 * 3/8 * 3 → 1/40 = 0.025 = 2.5%

Per altri commenti: dipend. e indipendenza e leggi di distribuzione (variabili discrete) neGli Oggetti Matematici.

Se operiamo con R possiamo costruire una funzione che calcola la distribuzione oppure possiamo usare la funzione predefinita dmultinom:

disMul <- function(n,x,y,z,p1,p2,p3) factorial(n)/(factorial(x)*factorial(y)*factorial(z))*p1^x*p2^y*p3^z
disMul(3,0,3,0,2/10,5/10,3/10)
# 0.125
disMul(3,1,1,1,2/10,5/10,3/10)
# 0.18
disMul(3,2,0,1,2/10,5/10,3/10)
# 0.036
# Erano, ovviamente, tutti calcoli fattibili facilmente a mano; ad es. il primo:
# 6/(1*6*1)*1*1/8*1 = 1/8 = 0.125
#
## Ovvero uso   dmultinom( c(x, y, z, ...), prob=c(p1, p2, p3, ...) )
## dove x, y, z, … sono le uscite degli eventi (in questo caso 3) e p1, p2,
## p3, … sono le probabilità degli eventi o numeri proporzionali ad esse
dmultinom(c(0,3,0), prob=c(2, 5, 3))
# 0.125
#
## Posso esprimere i risultati in forma frazionaria (anche questi i calcoli
## erano fattibili facilmente a mano):
library(MASS)
p <- dmultinom(c(0,3,0), prob=c(2,5,3)); p*100 ;  fractions(p)
#  12.5  1/8
p <- dmultinom(c(1,1,1), prob=c(2,5,3)); p*100 ;  fractions(p)
#  18  9/50
p <- dmultinom(c(2,0,1), prob=c(2,5,3)); p*100 ;  fractions(p)
#  3.6  9/250

Posso verificare la cosa anche sperimentalmente, con una simulazione (con R: vedi). Nel caso in cui non vi sia reinserimento:

## Idea: genero a caso 10 numeri "diversi", considero i primi 2 rossi - 1,
## i successivi 5 blu - 2, gli ultimi 3 gialli - 3
co <- function(x) switch(x, 1,1, 2,2,2,2,2, 3,3,3)
Pr <- function(n) { s <- 0;
for(i in 1:n) { u <- sample(1:10);
   if( co(u[1])==2 & co(u[2])==2 & co(u[3])==2 ) s <- s+1}; s/n*100}
Pr(1e5)
# 8.405  La frequenza percentuale di blu,blu,blu in 100 mila lanci
Pr <- function(n) { s <- 0;
for(i in 1:n) { u <- sample(1:10);
   if( (co(u[1])==1 & co(u[2])==2 & co(u[3])==3) |
       (co(u[1])==1 & co(u[2])==3 & co(u[3])==2) |
       (co(u[1])==2 & co(u[2])==1 & co(u[3])==3) |
       (co(u[1])==2 & co(u[2])==3 & co(u[3])==1) |
       (co(u[1])==3 & co(u[2])==1 & co(u[3])==2) |
       (co(u[1])==3 & co(u[2])==2 & co(u[3])==1) ) s <- s+1}; s/n*100}
Pr(1e5)
# 24.935   tre colori diversi
Pr <- function(n) { s <- 0;
for(i in 1:n) { u <- sample(1:10);
   if( (co(u[1])==1 & co(u[2])==1 & co(u[3])==3) |
       (co(u[1])==1 & co(u[2])==3 & co(u[3])==1) |
       (co(u[1])==3 & co(u[2])==1 & co(u[3])==1) ) s <- s+1}; s/n*100}
Pr(1e5)
# 2.49    2 rossi e 1 giallo

OK, i valori teorici hanno una buona corrispondenza con quelli sperimentali.

Nel caso in cui vi sia reinserimento:

co <- function(x) switch(x, 1,1, 2,2,2,2,2, 3,3,3)
Pr <- function(n) { s <- 0;
for(i in 1:n) { u <- sample(1:10, replace=TRUE);
   if( co(u[1])==2 & co(u[2])==2 & co(u[3])==2 ) s <- s+1}; s/n*100}
Pr(1e5)
# 12.634  La frequenza percentuale di blu,blu,blu in 100 mila lanci
Pr <- function(n) { s <- 0;
for(i in 1:n) { u <- sample(1:10, replace=TRUE);
   if( (co(u[1])==1 & co(u[2])==2 & co(u[3])==3) |
       (co(u[1])==1 & co(u[2])==3 & co(u[3])==2) |
       (co(u[1])==2 & co(u[2])==1 & co(u[3])==3) |
       (co(u[1])==2 & co(u[2])==3 & co(u[3])==1) |
       (co(u[1])==3 & co(u[2])==1 & co(u[3])==2) |
       (co(u[1])==3 & co(u[2])==2 & co(u[3])==1) ) s <- s+1}; s/n*100}
Pr(1e5)
# 17.836   tre colori diversi
Pr <- function(n) { s <- 0;
for(i in 1:n) { u <- sample(1:10, replace=TRUE);
   if( (co(u[1])==1 & co(u[2])==1 & co(u[3])==3) |
       (co(u[1])==1 & co(u[2])==3 & co(u[3])==1) |
       (co(u[1])==3 & co(u[2])==1 & co(u[3])==1) ) s <- s+1}; s/n*100}
Pr(1e5)
# 3.644    2 rossi e 1 giallo

OK, i valori teorici hanno una buona corrispondenza con quelli sperimentali.