物理プロセスのシミュレーションで乱数を生成することはできますか?
サイコロの物理的なロールをシミュレートすると (つまり、あなたがサイコロを拾い、手で振って、テーブルに放し、どちらの面が「出る」かを記録します...)、それは「乱数」を生成しますか?本当に何も達成しない複雑なシミュレーションがあります。
物理プロセスのシミュレーションで乱数を生成することはできますか?
サイコロの物理的なロールをシミュレートすると (つまり、あなたがサイコロを拾い、手で振って、テーブルに放し、どちらの面が「出る」かを記録します...)、それは「乱数」を生成しますか?本当に何も達成しない複雑なシミュレーションがあります。
実際には何も達成しない複雑なシミュレーションがあります。
(毎回同じ値を返す、または既存の PRNG に不必要な複雑さを追加する以外)
シミュレートされた環境に「ランダムな」変数をシードしない限り (つまり、乱数を生成する別の手段に依存する場合)、プロセスのすべてのステップが毎回同じように行われるため、常に同じ値が返されます。
基本疑似乱数ジェネレーター (PRNG) を使用したとします。
シミュレーションは、使用していた他の PRNG と同じくらいランダムにしか行われないため、余分な作業を一切行わずに、他の PRNG を直接使用することもできます! (実際、シミュレーションは、ベース PRNG からの値よりも出力のランダム性を低くする以外は何もしない場合があります)
おそらく、疑似乱数ジェネレーターを使用して、手のサイコロの跳ね返りをすべてシミュレートするため、疑似乱数になります。
はい、「実際には何も達成しない複雑なシミュレーションがあるだけです」。
実際の物理プロセスを実際に使用できるのに、なぜランダムな物理プロセスをシミュレートするのでしょうか?
SO の乱数ジェネレーターに関する質問が山ほどあります。以下にいくつかを示します。
後で。
いくつかのランダム (または疑似ランダム) 因子を注入しない限り、シミュレーションは毎回同じ結果を生成します。