0からの、超初心者C++相談室at TECH0からの、超初心者C++相談室 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト229:デフォルトの名無しさん 21/05/17 13:21:28.15 giSQx4b2.net http://www.math.sci.hiroshima-u.ac.jp/m-mat/TEACH/ichimura-sho-koen.pdf http://www.math.sci.hiroshima-u.ac.jp/m-mat/MT/mt.html https://qiita.com/seekworser/items/54e2b4596e72e8b9f9ea 230:デフォルトの名無しさん 21/05/17 19:09:43.71 lfAH/Fki.net >>227 これ使うのはダメ? https://cpprefjp.github.io/reference/random/mt19937.html 231:デフォルトの名無しさん 21/05/18 02:31:27.98 +SAIeHDc.net >>227 疑似乱数は一定の規則に従って生成されるんだから規則的なのは当たり前。 それがどのくらいわかり難いのかという程度問題に過ぎないし、 どういった系を選ぶのが適切なのかは用途次第。 そしてよくある失敗だがランダムシードに時刻を使うなら時刻から予測できる可能性がある。 rand がどういうアルゴリズムで乱数生成するのかは言語仕様では規定していないけれど、 (乱数がとりうる範囲や、同じシードからは同じ乱数列が得られるという性質は規定している。) 伝統的に線形合同法で実装されることが多くて、 パラメータの選定や用途によっては露骨に規則的に見えることもある。 C++ では >>230 の言う通りメルセンヌツイスタが標準ライブラリとして提供されているのだから それを使うのは妥当な解決方法である可能性は高い。 とはいえメルセンヌツイスタは簡単な物理シミュレーションなどにはおおよそ十分であるにしても 暗号用途には使い物にならないし速度はやや遅いので乱数が大量に必要な場合には 適切とは言えない。 かといって本物の乱数 (環境ノイズなどから生成される乱数) は再現性がないし、 これもまた遅すぎるので大量の乱数が必要な場合には向かない。 繰り返すけが乱数は用途に適しているかどうかであってあらゆる場面で万能な方法はない。 用途次第、状況次第。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch