2011MIKU勉強会第2回

ベッドルームで群論

第2章

資源としての「無作為(ランダムさ)」

p.29〜48

他の参加者の記事

1.ランダムとは

ランダム - Wikipedia

Randomness - Wikipedia

簡単にいうと予測不可能であること。

2.ランダムの使い道

①暗号など、予測されない必要があるとき

②シュミレーションなど
無数のものを考えるとき、作業を減らすため少数のランダムものをサンプルとして抽出する。

3.ランダムを数学で用いる→乱数

コンピュータで乱数を発生させる、のはあくまで「擬似」乱数発生器である
最もよく使われているのが、
Mersenne twisterというアルゴリズム

メルセンヌ・ツイスタ - Wikipedia


4.そもそもランダムは存在する?

ランダムというのは、「法則、規則がない」こと。
例えば、原子核崩壊やノイズ信号など。
これらは果たして本当に「規則がない」のか人間に「規則が分からない」だけなのかは疑問。



擬似乱数発生器について●
上記のように、Mersenne twisterというアルゴリズムが用いられることが多い。

R言語ではrunif()を用いることが多い。
http://www.okada.jp.org/RWiki/index.php?%CD%F0%BF%F4Tips%C2%E7%C1%B4

擬似乱数では、「種seed」決定すれば、乱数全てが決まる。
つまり、全く同じ乱数を発生させたい場合は、「種seed」を同一に設定すればよい。

g<-function(n,m){set.seed(i);runif(m)}
#擬似乱数列用のseed n を指定して、その上で、m 個の一様乱数を発生させる

#例
runif(5)                 # 一様乱数を 5 個生成すると

runif(5)                 # 当然毎回違った乱数が得られる

set.seed(101); runif(5)  # 乱数の種(seed)を指定

set.seed(101); runif(5)  # 乱数の種を同じにすれば乱数を再現することが出来る
 

http://cse.naro.affrc.go.jp/takezawa/r-tips/r/60.html

参考★先生のサイト
runif, seed の検索結果 - ryamadaの遺伝学・遺伝統計学メモ

番外編★

#doubleは小数という意味