最近、C++ 11で乱数を生成する新しい方法に出会いましたが、それについて読んだ papers を消化できませんでした(それはengine、distributionなどの数学用語、「生成されるすべての整数は可能性が高い」)。
だから誰でも説明してください
すべてを1つで呼び出すことができますFAQ乱数生成について。
乱数ジェネレーターは、数値を指定すると、新しい数値を与える方程式です。通常、最初の数字を指定するか、システム時刻などから取得します。
新しい数値を要求するたびに、以前の数値を使用して方程式が実行されます。
乱数ジェネレーターは、同じ数値を他の数値よりも頻繁に生成する傾向がある場合、あまり良いとは見なされません。つまり、1から5の間の乱数が必要で、この数分布がある場合:
2は他の番号よりも頻繁にFARで生成されるため、他の番号よりも生成される可能性が高くなります。すべての数字が同じようなものであれば、毎回20%の確率で各数字を取得できます。別の言い方をすれば、上記の分布は非常に不均一です。なぜなら、2が有利だからです。すべての20%の分布は均等です。
通常、真の乱数が必要な場合は、乱数ジェネレーターではなく、天気などの自然なソースからデータを取得します。