サーバーを流れる一連のイベントがあります。すべてを保存することは現実的ではありませんが、定期的にそれらの一部をまとめて処理できるようにしたいと考えています。だから、私が見たすべてのもののランダムサンプリングであるが、最大サイズに制限されているストリームのサブセットを保持したい.
そのため、新しいアイテムごとに、保存されたセットに追加するか、破棄するかを決定するアルゴリズムが必要です。追加した場合、すでに限界に達しているため、古いアイテムの 1 つを削除するアルゴリズムが必要です。
明らかに、制限を下回っている限り、これは簡単です (すべてを保存するだけです)。しかし、その制限を超えたら、古いアイテムや新しいアイテムに偏ることなく、適切なランダム サンプリングを維持するにはどうすればよいでしょうか?
ありがとう、