リンクメーカー| トラック| ヘルプ| ログイン

乱数列

百科事典|ウェブ|画像|動画

乱数列(らんすうれつ)とはランダムな数列のこと。 数学的に述べれば、今得られている数列 x1, x2, ..., xn から次の数列の値 xn+1 が予測できない数列。乱数列の各要素を乱数という。

目次

概要

乱数は、実験計画やシミュレーションで利用されるほか、秘密鍵の生成など暗号でも利用される。

乱数の種類

乱数はそのとる値や分布によって分類される。

2進乱数

2進乱数とは01 (あるいは-1と1)がランダムに現れるような乱数である。ストリーム暗号スペクトラム拡散通信に用いられる。コンピュータでは、複数ビットの乱数を生成するような関数から1ビット単位で切り出して生成する。

自然乱数

自然乱数とは自然数がランダムに現れるような乱数である。0を含むことが多い。0以上無限大までの全ての自然数を用いた自然乱数が考えられるが、実際上は最大の自然数を決めて、それ以下の範囲で考えることが多い。

コンピュータでは最大値を持つ自然乱数を発生させる関数(rand()やメルセンヌ・ツイスタなど)が用意されている。これを加工することで色々な乱数を作り出すことができる。

一様乱数

一様乱数とはある有限の区間を区切って、その区間内で全ての実数が同じ確率(濃度)で現れるような乱数のことである。

コンピュータでは最大値を持つ自然乱数列を発生させて、それを最大値で割ることで[0,1](0以上1以下)の一様乱数が得られる。また、(最大値+1)で割ることで[0,1)(0以上1未満)の一様乱数が得られる。このようにして生成した一様乱数は原理的に有理数のみで無理数は含まれないため、これは真の一様乱数ではない。デジタルコンピュータの性質上、無理数を扱うことはできない。

[a,b](a以上b以下)の区間の一様乱数が必要な場合は、[0,1]の乱数列を用意して、これに(b-a)をかけて、さらにaを加えることで得られる。

[a,b)(a以上b未満)が必要な場合は同様にして[0,1)を利用する。

正規乱数

正規乱数とは正規分布を持つような乱数である。正規乱数は工学においてはホワイトガウスノイズとして利用される。

平均μ、分散σ2 の正規分布N(μ, σ2)のような正規乱数を作る場合、まず(0,1]の一様乱数をボックス=ミューラー法(Box-Muller transform)で変換してN(0, 1)の正規乱数を得ることから始める。

一様乱数(0,1]の要素αβを次の変換を用いて変換する。

  • \sqrt{-2\cdot\ln \alpha}\cdot\sin (2\pi \beta)
  • \sqrt{-2\cdot\ln \alpha}\cdot\cos (2\pi \beta)

このようにして二つの相関のないN(0, 1)の正規乱数が得られる。ただしln自然対数

この正規乱数にσをかけて、さらにμを加えることで正規分布N(μ, σ2)の正規乱数が得られる。

またこれとは別に、簡単で擬似的な方法として、12個の一様乱数[0,1]の和から6を減ずる方法もよく用いられる。中心極限定理によって、独立した複数の一様乱数の和の分布は正規分布に近づく。さらに、12個の一様乱数[0,1]の和の分散は1となるため、6を減ずるだけで正規分布に近い確率分布が得られ、計算に都合がよい。

近年のパーソナルコンピュータプロセッサの進歩によって三角関数や対数関数の演算が速くなっているため、1つの正規乱数あたり12回もの一様乱数生成を要するこの方法より、1つの正規乱数あたり1回の一様乱数生成で済むボックス=ミューラー法を用いた方が、一般的によく知られた多くの擬似乱数生成器との組み合わせにおいては高速である。

但し、xorshiftの様に非常に高速な擬似乱数生成器を用いるならば、中心極限定理を用いた手法はボックス=ミュラー法を用いるよりも十分に高速な正規乱数の生成が可能である。

ボードゲームテーブルトークRPGなどの遊戯において、複数のサイコロの目の和を条件として分岐するイベントがよくあるが、これは中心極限定理による疑似的な正規乱数を生成し、その分布を利用しているといえる。

乱数の生成法

コンピュータ有限オートマトンとみなせるので、外部からの入力がない限り計算によって求める確定的な擬似乱数しか生成できない。外部のエントロピを入力するための専用ハードウェアで生成した非確定的な乱数を利用することになる。そのようなハードウェア乱数生成器を内蔵したCPUチップセットも存在する。コンピュータがなかった当時は「乱数賽」(1~10の全ての数字が1/10の確率で表われるよう作られたサイコロ)や袋に入れた乱数カードを引き出すハイハット方式で生成していた。

関連記事

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Text is available under GNU Free Documentation License.
乱数列と関連のある記事を表示しています。
擬似乱数
擬似乱数(ぎじらんすう、)とは、乱数列(乱数)のように見えるが、実際には確定的な計算によって求めている数列に含まれる数を指す。擬似乱数を生成する機器を擬似乱数生成器、生成アルゴリズムを擬似乱数生成法と呼ぶ。 乱数は本来規則性も再現性も無いために予測は不可能だが(例:サイコロを振る時、今までに出た目から次に出る目を予測するのは不可能)、擬似乱数は計算によって作るので、作り方が分かれば理論的には予測可能であり、また内部の初期値(シード)が分かれば、先に計算しておくこともできる。 何をもって擬似乱数と呼ぶのかは議論があるところだが、暗号理論では擬似乱数(生成器)に明確な定義がある。すなわち、多項式時間の計算機が乱数と識別不能な列を出力する機器のことを、擬似乱数生成器と呼び、この列に含まれる数を(暗号論的)擬似乱数という。 いかなる数列であれば乱数列であるかも議...
関連8百科事典ウェブ画像動画
モンテカルロ法
モンテカルロ法 (モンテカルロほう、Monte Carlo method, MC) とはシミュレーション数値計算乱数を用いて行なう手法の総称。元々は、中性子が物質中を動き回る様子を探るためにジョン・フォン・ノイマンにより考案された手法。カジノの都市国家モナコ公国の4つの地区(カルティ)の一つであるモンテ・カルロから名づけられた。
関連4百科事典ウェブ画像動画
正規数
数学における正規数(せいきすう、normal number)とは、無限小数表示において数字が一様に分布しており、数字の列が現れる頻度に偏りがないという性質を持つ実数である。より正確な定義については「定義」の節を参照のこと。 r 進法での表示についてこの性質を持つ数を r 進正規数という。単に正規数と述べた場合は、2 以上の任意の整数 r に対して r 進正規数であることを意味する。 一般論として「ほとんど全ての」実数が正規数であることが知られているが、その証明は構成的でないため、正規数であることが判明している具体的な数は非常に限られている。例えば、2の平方根円周率ネイピア数はそれぞれ正規数だと信じられているが、その通りか否かは未だ謎である。
関連4百科事典ウェブ画像動画
関連記事をすべてみる
出典: フリー百科事典『ウィキペディア(Wikipedia)』
Text is available under GNU Free Documentation License.
ようこそDIS/MASへ
ログイン | 新規登録
おすすめキーワード
関連ワード
おすすめの作品