トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS   ログイン

ゼミのお話/一覧/プログラミング演習初級・バンディット/共通/乱数の使い方 の変更点

-乱数の使い方
--banditの中で簡単に使う方法.ちゃんとした使い方は各自調べた方がよい
+0.3の確率で何か(ランダム)をして、0.7の確率で何か(ちゃんと)をする、のような使い方
-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の間の選択しをランダムに選ぶ
-0から4の間の選択しをランダムに選ぶ

  int r = rand() % 5;
  
  switch(r){
  case 0:
    break;
  case 1:
  ...
  }

-rand() % 5 とやると5で割ったあまりの数(0から4)が得られる。ここで、rand()はランダムな整数なので、ランダムな0から4までの値を得ることができる。