乱数生成
ほとんどのコンピュータが生成する乱数は擬似乱数生成器(PseudoRandom Number Generator: 以下PRNG)を使用している。PRNGは、優れたランダム特性を持つ長い乱数を自動的に生成することができるアルゴリズムだが、最終的には乱数列が繰り返される、あるいはメモリ使用量が際限なく増大する。このような乱数は多くの状況では問題ないが、エントロピー源として使用される電磁大気ノイズから生成される数値ほどランダムではない。このようなアルゴリズムによって生成される一連の値は、一般にシードと呼ばれる固定数によって決定される。最も一般的なPRNGの1つは線形合同法であり、これは漸化式を使用する。
X n + 1 = ( a X n + b ) mod m {\displaystyle X_{n+1}=(aX_{n}+b)\,{\textrm {mod}}\,m}
ここで、a、b、mは大きな整数である。 X n + 1 {\displaystyle X_{n+1}} は擬似乱数の系列としてXの次を表す。