タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

algorithmとjsとArchiveに関するbleu-bleutのブックマーク (1)

  • 重み付きランダム - eiji8pou's diary

    重み付きランダムについて。 たとえば、サイコロを用意する。Aと書いてある面が3つ、Bと書いてある面が2つ、Cと書いてある面が1つあるとする。 これを振ると、AとBとCの出る確率を比率で表すと、3:2:1になる。 こういう結果に偏りのあるサイコロをプログラムで書くと非常に面倒である。 そこで、簡単になるアルゴリズムを使う。 アルゴリズム 先のサイコロの例であげると、こういうマトリクスを用意する。 1 2 3 1 A A A 2 B B r 3 C r r このマトリクスで、横軸と縦軸につき乱数を発生させる。 横軸は、1から比率の最大値までの乱数であり、縦軸は、結果の項目数の乱数である。 この二つの乱数の交点がrであれば、最初に戻って振りなおしである。 そうでなければ、そこに書いてある文字を結果として採用、返せばよいことになる。 luaによる例 function weighted_choice

    重み付きランダム - eiji8pou's diary
    bleu-bleut
    bleu-bleut 2012/01/26
    重み付きランダム
  • 1