線形合同法の欠点について
wikipediaで線形合同法(http://ja.wikipedia.org/wiki/%E7%B7%9A%E5%BD%A2% …の欠点の項目を見ると、
『最下位ビットは、同じものが出続けるか、0と1が交互にでるかのどちらかである。これは、最下位ビットが結果的に、奇数か偶数かを示しているため、偶数ばかりが出る、奇数ばかりが出る、偶数と奇数が交互に出る、という意味である。』
と書いているのですが、生成の例を見ると「奇数(3)→奇数(1)→偶数(8)」と結果が出ています。欠点の項目で書かれてあることと違うじゃんと思って、この矛盾について検索しまくって調べたのですが、よく理解できませんでした。
よろしければ教えていただけないでしょうか?
No.1ベストアンサー
- 回答日時:
数列をX[n+1], X[n]と書くことにします。
X[n+1]を計算するときには次のステップを踏みます。
(1) AX[n] + Bを計算する
(2) AX[n] + BをMで割った余りを考える。
(1)の時点でAX[n] + BがMより小さければ、
(2)のステップはする必要がありません。
つまり乱数がMより大分小さければ、しばらくは(2)のステップをやる必要がありません。
計算中の乱数がMより大きくなったときだけ(2)のステップを実行する必要があります。
素人の推測ですが、wikipediaに載っている話は
「(2)のステップが実行されない間」の話に限定されている気がします。
(1)の計算は、A, X[n], Bの3つの偶数・奇数の情報だけで
AX[n] + Bの偶数・奇数も決まってしまいます。
AとBは固定されているので、実質AX[n] + Bの偶数・奇数は
X[n]の偶数・奇数の情報で決まるということになります。
なのでこの時はwikipediaの話が当てはまります。
ただし(2)の計算で考える「AX[n] + BをMで割った余り」に関してはそうなりません。
特にMが奇数の場合、A, X[n], Bの3つの偶数・奇数の情報だけが分かっても
「AX[n] + BをMで割った余り」が偶数・奇数のどちらになるかは分かりません。
これは実際に割ってみるまで分からないはずです。
よって(2)の計算をすると、X[n+1]の偶数・奇数はX[n]の偶数・奇数によらなくなります。
この時wikipediaの話が当てはまらなくなります。
No.2
- 回答日時:
C などのプログラミング言語についている乱数生成器では, たいてい法が 2のべきになっています. 「欠点」のところに書かれているのはその状況のことでしょう.
もっとも, 「多次元の不均等分布」の方が本質的に問題なんだけど....
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 1から9の数字を書いたカードが一枚ずつある。これらの9枚のカードから同時に2枚を取り出し、数字の大き 5 2022/04/25 15:38
- 数学 写真の(2)についてですが、模範解答では、y=kを偶奇に場合分けする時、yが奇数になるときをy=2k 1 2022/12/11 19:57
- JavaScript 助けてください‼︎ javascriptで質問があります。 配列を定義して、 29342、45342 3 2022/06/26 22:06
- 政治 結婚は掛け算ですよね? 5 2022/12/02 09:40
- バドミントン バドミントンのダブルスのルールについてです。点数が偶数なら右、奇数なら左などはわかるのですが位置を交 1 2022/06/02 21:57
- 日本語 例1 明日の試合は大谷または佐々木が先発です。 明日の試合は大谷が先発または佐々木が先発です。 例2 4 2023/03/30 10:17
- 数学 例1 明日の試合は大谷または佐々木が先発です。 明日の試合は大谷が先発または佐々木が先発です。 例2 5 2023/03/30 13:50
- 数学 以下の問題が分かりません。 8ビット浮動小数点数が、最上位ビットから順に符号1ビット、指数部3ビット 4 2023/07/22 16:06
- その他(教育・科学・学問) 奇数と偶数が覚えられません。高校一年生です。 違いは分かるんです。どっちかが2の倍数でどっちかが3の 8 2023/01/22 22:03
- 数学 実数同士の全単射写像について 2 2023/07/05 17:12
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
15%増しの計算方法
-
パーセントの計算
-
前年比の%の計算式を教えてく...
-
3分2の計算教えて下さい
-
ラジアン値を°′″(度・分・秒)...
-
何通りかの計算で 7C4 の答えが...
-
6畳間は何立方メートル?
-
「出来型」と「出来形」の使い...
-
エクセルで関数計算後の値を数...
-
3割アップとは、どうのように...
-
教えて下さい
-
同じ時間なのに、60進と10...
-
一定倍したある数を元に戻すには?
-
割引の計算を教えてください。
-
指数計算 2^n-1
-
初歩的な計算式の問題です。
-
2の365乗
-
Excel 計算式へ置換時にでてく...
-
算数で質問です よろしくお願い...
-
5分で1400個作れるとして1時間...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
15%増しの計算方法
-
前年比の%の計算式を教えてく...
-
3分2の計算教えて下さい
-
パーセントの計算
-
ラジアン値を°′″(度・分・秒)...
-
250gを8割と2割に分けると
-
「出来型」と「出来形」の使い...
-
エクセルで関数計算後の値を数...
-
日にちの計算が解からないらし...
-
3割アップとは、どうのように...
-
6畳間は何立方メートル?
-
一定倍したある数を元に戻すには?
-
一日ずつ2倍の金額をもらい続...
-
教えて下さい
-
毎日10%ずつお金が増える時...
-
Excelの反復計算がわかりません。
-
添付した画像の積分の途中計算...
-
算数で質問です よろしくお願い...
-
割引の計算を教えてください。
-
1÷無限=0ということは数(大き...
おすすめ情報