私はリストからアイテムをランダムに選択するアルゴリズムを実装しようとしていますが、偏っています。そのリストの各要素に対して値の優先度がであるとします。より優先度の高い要素が頻繁に表示されるようにしたいと思います。動的偏向ランダム選択アルゴリズム
もう1つのことは、これらの要素の優先順位が変更されることです。誰かが要素をランダムに選択させるのではなく、要素を選択する場合、その要素の優先順位を一定の要素だけ上げる必要があります。
私は数学的に私の質問をどのようにフレーズするかについてはわかりません。また、どこから始めるべきかわからない。最初の部分を扱うが、要素の優先順位を動的に増やすことは扱っていない記事hereが見つかりました。
私が考えていたアプローチの1つは、要素の優先度が高いほど、より多くのコピーを作成することでした。しかし、これはコンピュータコードで実装することは非常に実現不可能です。
また、数学的な洞察を求めてこの質問をmath.stackexchangeに掲載しました。
注:明らかに、私はsortの実装を探していません。私はちょうど明確な方向性/いくつかの洞察を探しているので、私は自分のアルゴリズムをコード化することができます。私は今の考えることができる可能性のある方法の
乱数rを生成した後、部分和のリストが非減少であるため、バイナリ検索を使用して対応する配列位置を見つけることができます。 –