285
правок
Изменения
Нет описания правки
==Схема Уолкера==
Если бы все исходы имели одинаковые вероятности, моделировать такое распределение было бы очень просто. В такой ситуации достаточно разделить отрезок $[0, 1]$ на $k$ одинаковых частей, соответствующих этим исходам,одинаковых частей, соответствующих этим исходам, и определить, в какуючасть отрезка попало значение случайного датчика $x$. А это выясняется очень просто: нужно взять целую часть произведения $k \cdot x$. Так
что при исходах 0, 1, 2, 3 значению $x = 0.333$ соответствует исход 1,
поскольку $4x = 1.332$.
Можно "подгонять" распределение под равномерное, передавая часть "вероятностной массы" от одних исходов другим. Если четыре исхода должны иметь вероятности, те же четыре исхода должны иметь вероятности, соответственно, $0.25$, $0.31$, $0.19$ и $0.25$, то исход $2$, получая, как все другие, долю $0.25 $ и нуждаясь в доле $0.19$, может быть своеобразным "донором" и отдать исходу $1$, нуждающемуся в доле $0.31$, свои лишние шесть сотых. Эта передача воплощается в следующих действиях при генерировании случайного исхода: берется случайное число, например можможно использовать непосредственно дробную часть числа $k \cdot x$, и если это число меньше чем $0.19 \cdot 4 = 0.76$, то результатом будет исход $2$, а если больше, то исход $1$ (здесь случай равенства несуществен, его можно приписать к любой альтернативе). Эта передача обеспечит нужное увеличение доли для исхода $1$ и уменьшение $-$ для исхода $2$. Исход $1$ служит здесь "реципиентом" для "донора", исхода $2$.
Такую передачу "вероятностной массы" можно проводить в каждом диапазоне, причем если "владельцами диапазонов" удобно назначать различные исходы, то реципиентами разных диапазонов могут быть одни и те же исходы. Например, взяв ту же схему с четырьмя исходами, назначим реципиентом при исходе $0$ исход $3$ с долей $0.07$, при