概率p輸出1,概率1-p輸出0,等概率輸出0和1

有個輸出0和1的BIASED RANDOM,它以概率p輸出1,以概率1-p輸出0,以此RANDOM函數爲基礎,生成另一個RANDOM函數,該函數以1/2的概率輸出1,以1/2的概率輸出0

題目解答:

兩次調用該RANDOM函數,如果其概率爲P(x),調用2次

P(1) = p       P(0) = 1-p

P'(1) =p      P'(0) = 1-p

概率如下:

11  p*p        10  p*(1-p)

01 (1-p)*p   00 (1-p)*(1-p)


int random_0_1()
{
int result;
while (true)
{

int i = RANDOM();
int j = RANDOM();

if (i == 0 && j == 1)
{
result = 0;
break;
}
else if (i == 1 && j == 0)
{
result = 1;
break;
}
else
continue;
}
return result;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章