ゼミのお話/一覧/プログラミング演習初級・バンディット/共通/乱数の使い方
2018-04-16 (月) 15:53:00 (1585d)
- 乱数の使い方
- banditの中で簡単に使う方法.ちゃんとした使い方は各自調べた方がよい
- 0.3の確率で何か(ランダム)をして、0.7の確率で何か(ちゃんと)をする、のような使い方
double r = (double) rand() / (double)RAND_MAX; if( r <= 0.3){ なにか(ランダム) }else{ なにか(ちゃんと) }
- rand()は0からRAND_MAX(と定義されている整数)の間のランダムな数を出力する。なので、
- rand() / RAND_MAX
- で、0から1の間のランダムな数となる。よって、これが(上記の例だと)0.3より小さい数である、と考えるのは0.3の確率で生じる、というのと同じことである。
- 0から4の間の選択しをランダムに選ぶ
int r = rand() % 5; switch(r){ case 0: break; case 1: ... }
- rand() % 5 とやると5で割ったあまりの数(0から4)が得られる。ここで、rand()はランダムな整数なので、ランダムな0から4までの値を得ることができる。