- ベストアンサー
乱数生成の原理は?
乱数(但し、真性乱数=物理乱数を除く。)の生成(ランダマイズ)の原理は、簡単に言うと、如何なるものですか。乱数表も、それで作るのですか。
- Kimura Koiti(@kimko_379)
- お礼率99% (182/183)
- 情報工学
- 回答数3
- ありがとう数3
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
簡単に言うと計算で出しています。 ただ、との計算方法も、毎回同じ乱数になります。 毎回違う乱数を出す為に、初期値に時間を使っています。 計算方法はここを見て下さい。
その他の回答 (2)
- f272
- ベストアンサー率46% (8018/17137)
疑似乱数の話であれば,過去の乱数から一定の規則によって次の乱数を発生させます。この規則の違いが疑似乱数の違いとなって現れます。 真の乱数であれば確定的な計算によって求めることはできませんが,疑似乱数は生成法と内部状態が既知であれば予測可能です。しかし疑似乱数であっても次の重要な性質をもつように作られています。1つは等出現性であり,もう一つは無相関性です。この性質がどの程度守られているかどうかが疑似乱数の性能を決めます。 コンピュータのなかった時代であれば,乱数表は疑似乱数を使用して作成したものでも有用でしたが,今ではすぐに計算できるのですからあまり意味がありません。真の乱数を発生させて書き留めたものでなければ乱数表を作る意味はありません。
お礼
おおきに。求めて居ります回答にはならない事を書いて居られますけれども。
- aokii
- ベストアンサー率23% (5210/22062)
簡単に言うと、過去の数から次の数が予測不能であることです。 例えば、Xorshiftという疑似乱数列生成法があります。George Marsagliaが2003年に提案し、演算が排他的論理和とビットシフトのみであるため高速であるなどの特徴があります。
お礼
おおきに。もう少し具体的な数学的原理を掻い摘んで(かいつまんで)御教え頂きたかったのですが。
関連するQ&A
- 乱数生成について
VisualBasic2010を使用しています。 コード内に複数回、乱数を生成しています。 普段は始めだけRandomizeして、Rnd関数を使用していて、毎回違う乱数を生成させているのですが、 今回は毎回同じ乱数を生成させたいのですが、どうやったらできるでしょうか? シード値をどうこうするとは、わかったのですがやり方がわかりません。 わかる方、どうぞよろしくお願いします。
- ベストアンサー
- Visual Basic
- 不確定性原理は物理乱数の乱数性の必要条件ですか?
stomachman 様、その他の回答者様: 不確定性原理は、物理乱数の乱数性の必要条件の全体、または、必要条件の連言の連言肢の一つでしょうか。
- ベストアンサー
- 数学・算数
- 真性乱数と物理乱数
真性乱数を得るにはダイオードとか素粒子、宇宙線とか色々な物理乱数を利用する方法があるようですが、簡単さから考えるとダイオードを利用したものあ一番便利な気がするのですが、他の方法に比べてデメリットなどあるのでしょうか。それぞれの方法の、メリット・デメリットを教えていただけませんでしょうか。
- 締切済み
- その他([技術者向] コンピューター)
- 完全な乱数を生成する方法
C言語で乱数を生成するときに、今まで srand(time(NULL)); を使用していたのですが、それだと1秒以内に複数の処理を行った際に、 同一の乱数が生成されてしまいます。 時間にとらわれずに完全にランダムな数字を出現させるにはどのような方法を取るのが簡単なのでしょうか? よろしくお願いします。
- ベストアンサー
- C・C++・C#
- Mathematicaによる乱数生成について
Mathematicaを用いて正規分布に係数をかけた物に従った乱数を生成したいのですが、ヘルプを調べても分からず困っています。 具体的に行いたいことは、 RandomReal[1/3*NormalDistribution[0,10], 100] ~~~ のような事です。 正規分布の確率密度関数(平均0,分散10)に係数(ここでは1/3)をかけた分布に従う乱数を100個生成したいということです。 どなたか解決方法をご存知の方がいらっしゃいましたらよろしくお願いいたします。
- 締切済み
- 数学・算数
- 桁数の多い乱数の生成法
50桁から300桁といった桁数の多い乱数の生成法を探しています。 乱数生成アルゴリズム等を使用するのは、ネットで調べてわかるのですが、具体的な方法がほとんど載ってませんでした。 詳しくのっているページがあれば、教えてください。
- 締切済み
- 科学
お礼
ほんまに、おおきに。