前回の続き。 問題:配列の中のある要素aに対してWaの重みが付いている。このとき、要素aが要素bより先に来る確率がWa/(Wa+Wb)となるようにシャッフルするにはどうすればよいか? # 2007年08月28日 brazil brazil 1, TEMP, JAVASCRIPT, PROGRAMMING 最後の方法じゃだめなんだ...、ランダム はてなブックマーク - 重み付けシャッフル、再び - snippets from shinichitomita’s journal ランダムにそのまま重みを掛けた値でのソートだとだめなのは、絵を描いてみるとわかりそう。 PaとPbがそれぞれaおよびbの方が大きくなるエリアだけど、面積比はあきらかにWa:Wbじゃない。 まあその後色々考えて、多分これならそれっぽくシャッフルされるかな、というのを思いついたのだけど、どんなもんか。 var arr =
![重み付きシャッフルの回答案 - snippets from shinichitomita’s journal](https://cdn-ak-scissors.b.st-hatena.com/image/square/72514b276363e2b62b69b448a531a2fa97f06687/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fs%2Fshinichitomita%2F20070904%2F20070904225329.png)