র্যান্ডম ভেরিয়েবল: যেসব ভেরিয়েবল যাদের মান কোনো প্রক্রিয়ার ফলাফলের উপর নির্ভর করে (যেমন: সিক্কা টস করলে হেড/টেইল)।
বাইনোমিয়াল র্যান্ডম ভেরিয়েবল: নির্দিষ্ট সংখ্যক ট্রায়াল (n), প্রতিটিতে সাকসেসের প্রোবাবিলিটি (p), এবং ট্রায়ালগুলো স্বতন্ত্র। এর প্রোবাবিলিটি মাস ফাংশন (PMF):
P(X = k) = n! / (k! (n-k)!) * p^k * (1-p)^(n-k)
এক্সপেক্টেড ভ্যালু: E[X] = np, ভেরিয়েন্স: Var[X] = np(1-p)
#include <iostream>
#include <cmath>
using namespace std;
int combination(int n, int r) {
if (r > n / 2) r = n - r;
int answer = 1;
for (int i = 1; i <= r; i++) {
answer *= (n - r + i);
answer /= i;
}
return answer;
}
float randombinomialProbability(int n, int k, float p) {
return combination(n, k) * pow(p, k) * pow(1 - p, n - k);
}
int main() {
int n = 10;
int k = 5;
float p = 1.0 / 3;
float binomialRandomVariable = randombinomialProbability(n, k, p);
cout << "Probability of " << k;
cout << " heads when a coin is tossed " << n;
cout << " times where probability of each head is " << p;
cout << " is = " << binomialRandomVariable << endl;
}
Probability of 5 heads when a coin is tossed 10 times where probability of each head is 0.333333 is = 0.136565