アレイからの重み付きランダム選択
2023-09-10 22:16:24
質問
配列からランダムに1つの要素を選択したいのですが、各要素は選択される確率が分かっています。
すべての確率を合わせると(配列の中で)1になります。
最も高速で、巨大な計算に適したアルゴリズムは何でしょうか?
例を挙げます。
id => chance
array[
0 => 0.8
1 => 0.2
]
この擬似コードでは、問題のアルゴリズムは、複数の呼び出しで統計的にidの4つの要素を返す必要があります。
0
の1つの要素に対して、id
1
.
どのように解決するのですか?
リストの離散累積密度関数(CDF)、簡単に言えば重みの累積和の配列を計算します。 次に、0 とすべての重みの合計 (あなたの場合は 1 かもしれません) の間の範囲で乱数を生成し、離散 CDF 配列でこの乱数を見つけるためにバイナリ検索を行い、このエントリに対応する値を取得します。
関連
-
[解決済み] Luaで2次元配列を作成するには?
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 山積みされた靴下を効率よく組み合わせるには?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] PHPで配列から要素を削除する
-
[解決済み] JavaScriptでランダムな文字列/文字を生成する
-
[解決済み] 乱数(int)を生成する方法を教えてください。
-
[解決済み] JavaScriptで2つの数値の間の乱数を生成する
-
[解決済み] 文字列のマッチ数をカウントするPerlのショートカットはありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】IndexError: Index 10 is out of bounds for axis 0 with size 10
-
[解決済み] MATLABで動的配列を作成する方法
-
[解決済み] MASMアセンブリの配列 (非常に混乱している初級者)
-
[解決済み] ロードされたサイコロをシミュレートするための効率的なデータ構造とアルゴリズムとは?
-
[解決済み] Swiftの2次元配列
-
[解決済み] kotlinで空の配列を作成するには?
-
[解決済み] 配列全体のダンプ:console.log と console.dir の出力は "... NUM more items "です。]
-
[解決済み] bashでグローバルを使用せずに配列を返すには?
-
[解決済み] 文字列のマッチ数をカウントするPerlのショートカットはありますか?
-
[解決済み] なぜキャッシュの局所性がアレイの性能に影響するのか?