- 乱数の使い方
- banditの中で簡単に使う方法.ちゃんとした使い方は各自調べた方がよい
- 0.3の確率で何か(ランダム)をして、0.7の確率で何か(ちゃんと)をする、のような使い方
double r = (double) rand() / (double)RAND_MAX;
if( r <= 0.3){
なにか(ランダム)
}else{
なにか(ちゃんと)
}
- rand()は0からRAND_MAX(と定義されている整数)の間のランダムな数を出力する。なので、
- で、0から1の間のランダムな数となる。よって、これが(上記の例だと)0.3より小さい数である、と考えるのは0.3の確率で生じる、というのと同じことである。
int r = rand() % 5;
switch(r){
case 0:
break;
case 1:
...
}
- rand() % 5 とやると5で割ったあまりの数(0から4)が得られる。ここで、rand()はランダムな整数なので、ランダムな0から4までの値を得ることができる。