PDA

Просмотр полной версии : Алгоритмик


cupper
24.01.2010, 23:05
Предположим, что нам надо выводить 0 и 1 с вероятностью 50%. В нашем распоряжении имеется процедура Biased_Random, которая с вероятностью р выдает 0, и с вероятностью 1 — р — число 1; значение р нам неизвестно. Сформулируйте алгоритм, использующий в качестве подпрограммы процедуру Biased_Random и возвращающий равномерно распределенные числа 0 и 1, т.е. вероятность вывода каждого из них равна 50%. Чему равно математическое ожидание времени работы такой процедуры и как оно зависит от р?

Что то я даже понятия не имею как это сделать, есть у кого идеи ? про матиматическое ожтидание можно пока забыть.

Feonor
25.01.2010, 00:43
bool bNext=true;
s:
if (Biased_Random() == bNext)
{
bNext = !bNext;
return !bNext;
}
else
goto s;
если это не об этом, то я не понял о чем тут это...

cupper
25.01.2010, 00:47
ыы ) 50% это не означает 0 1 0 1 0 1 0 1...