Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ตัวแปรสุ่มทวินามใน C++


ตัวแปรสุ่ม คือตัวแปรเหล่านั้นที่เป็นผลลัพธ์ของผลลัพธ์ของกระบวนการที่มีความน่าจะเป็นที่จะทำให้เกิดผลลัพธ์หลายอย่าง ตัวอย่างเช่น ตัวแปรที่แสดงถึงหัวหรือก้อยเป็นผลจากการโยนเหรียญเป็นตัวแปรสุ่ม

ตัวแปรสุ่มทวินามเป็นตัวแปรสุ่มชนิดพิเศษที่มีค่าที่เกี่ยวข้องกับเหตุการณ์ที่มีความน่าจะเป็นคงที่ของผลลัพธ์ในเหตุการณ์

มีคุณสมบัติบางอย่างที่ครอบครองโดยตัวแปรสุ่มทวินามที่ทำให้เป็นแบบพิเศษ สิ่งเหล่านี้จำเป็นสำหรับตัวแปรที่จะกลายเป็นตัวแปรสุ่มทวินาม -

  • จำนวนผลลัพธ์ทั้งหมดได้รับการแก้ไข

  • ผลลัพธ์ของการตามรอยเป็นจริงหรือเท็จ ไม่มีอะไรระหว่างนั้น

  • ความน่าจะเป็นที่จะเกิดขึ้นจะเท่ากันในแต่ละเส้นทาง

  • ไม่มีสองเส้นทางที่ต้องพึ่งพาอาศัยกัน

ความน่าจะเป็นตัวแปรสุ่มทวินาม

ความน่าจะเป็นของความสำเร็จของผลลัพธ์ถูกกำหนดโดยสูตร -

P (x= k ) = n! / k! (n-k)! * pk * (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