Phân phối nhị thức là một phân phối xác suất rời rạc Pp (n | N) của việc thu được n thành công từ N đường mòn Bernoulli (có hai kết quả có thể có được gắn nhãn là x =0 và x =1. X =1 là thành công và x =0 là thất bại. Thành công xảy ra với xác suất p và thất bại xảy ra với xác suất q là q =1 - p.) Vì vậy, phân phối nhị thức có thể được viết là
$$ P_ {p} \ lgroup n \:\ arrowvert \ N \ rgroup =\ left (\ begin {array} {c} N \\ n \ end {array} \ right) p ^ {n} \ lgroup1-p \ rgroup ^ {N-n} $$
Ví dụ
#include <iostream> #include <random> using namespace std; int main(){ const int nrolls = 10000; // number of rolls const int nstars = 100; // maximum number of stars to distribute default_random_engine generator; binomial_distribution<int> distribution(9,0.5); int p[10]={}; for (int i=0; i<nrolls; ++i) { int number = distribution(generator); p[number]++; } cout << "binomial_distribution (9,0.5):" << endl; for (int i=0; i<10; ++i) cout << i << ": " << string(p[i]*nstars/nrolls,'*') << endl; }
Đầu ra
0: 1: * 2: ****** 3: *************** 4: ************************* 5: ************************ 6: **************** 7: ******* 8: * 9: