Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

데이터 구조의 베르누이 분포

<시간/>

베르누이 분포는 x =0 및 x =1로 레이블이 지정된 두 가지 가능한 결과를 갖는 이산 분포입니다. x =1은 성공이고 x =0은 실패입니다. q =1 – p와 같이 성공은 확률 p로 발생하고 실패는 확률 q로 발생합니다. 그래서

$$P\lgroup x\rgroup=\begin{cases}1-p\:for &x =0\\p\:for &x =0\end{cases}$$

이것은 다음과 같이 쓸 수도 있습니다. -

$$P\l그룹 x\r그룹=p^{n}\l그룹1-p\r그룹^{1-n}$$

예시

#include <iostream>
#include <random>
using namespace std;
int main(){
   const int nrolls=10000;
   default_random_engine generator;
   bernoulli_distribution distribution(0.7);
   int count=0; // count number of trues
   for (int i=0; i<nrolls; ++i)
      if (distribution(generator))
      count++;
   cout << "bernoulli_distribution (0.7) x 10000:" << endl;
   cout << "true: " << count << endl;
   cout << "false: " << nrolls-count << endl;
}

출력

bernoulli_distribution (0.7) x 10000:
true:7024
false: 2976