Thingmemo
実装一覧へ戻る

乱数

乱数の改良法

seed付きMulberry32から作るBernoulliビットを対で読み、Von Neumann法で同値対を捨てて出力します。出力も決定的で暗号学的に安全ではありません。

TIME
O(P)
SPACE
O(k+h)

P = 読む対の数、k = 出力数、h = 履歴数 / 上限: 0≤入力確率≤1、出力100,000ビット以下、最大1,000,000対、seedは0〜2³²−1、履歴10,000件以下

Von Neumann法で偏りを除去します。

関連するアルゴリズム