ブロックを渡したとき、ブロックの戻り値を要素の重みとして使用するのはいかがでしょうか。倍の確率で選択されるようにしたいです。Feedback=begin実装のたたき台があるとなおよいかとおもいます。Rubyで同等の処理をするコードを書いてみるというのはどうでしょう。妥当であれば、取り込まれたり、あるいは高速化のためにCで書きなおされたりするかもしれません。ago=beginRubyで実装してみました。コストとか速度は気にしていないので速度は気にせず。