Skip to content

Commit

Permalink
数値: 乱数を得る (途中) #4
Browse files Browse the repository at this point in the history
  • Loading branch information
YoshikuniJujo committed Apr 11, 2017
1 parent ce9d978 commit 68c8da9
Showing 1 changed file with 56 additions and 0 deletions.
56 changes: 56 additions & 0 deletions 数値/乱数を得る.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,58 @@
乱数を得る
==========

はじめに
--------

プログラミングにおける乱数は大きく、つぎのふたつにわけられる。

* 擬似乱数
* 暗号論的擬似乱数

それぞれのプログラムの持つ目的によって、きちんと使いわける必要がある。

擬似乱数
--------

### 特徴、用途

生成される乱数列を十分に長く観察することで、
続く値を予測することが可能である場合がある。
ゲーム、シミュレーション、乱択アルゴリズムなどに使われる。

### random

#### 特徴

Haskell 98標準に準拠したライブラリ。
つぎのような特徴がある。

* 周期が短い
* 生成が遅い

このような問題があるため、Haskell 2010では、標準としては含まれていない。
パッケージrandomとして使うことができる。

#### 使用法

### mwc-random

#### 特徴

MWC256というアルゴリズムを使ったライブラリ。
つぎのような特徴がある。

* 周期が長い
* 生成が速い

#### 使用法

暗号論的擬似乱数
----------------

### 特徴、用途

それまでに生成してきた乱数列から、つぎの値を予測することが困難である。
暗号技術において、実質的に予測不可能な値を生成するために使われる。

### cryptonite

0 comments on commit 68c8da9

Please sign in to comment.