このMSDNの記事は、 ReservoirSamplingアルゴリズムの正しさを次
基本ケースは簡単です。k + 1番目のケースでは、位置<=kの特定の要素iがRにある確率はs/kです。
iが置き換えられる確率は、k + 1番目の要素が選択される確率にiが置き換えられるように選択されることを掛けたものです。つまり、s /(k + 1)* 1 / s = 1 /(k + 1)であり、i置き換えられないのはk/k+1です。
したがって、k + 1ラウンド後に続く任意の要素の確率は次のとおりです。(kステップで選択され、kステップで削除されない)= s / k * k /(k + 1)、つまりs /(k + 1)。
したがって、k + 1 = nの場合、任意の要素が確率s/nで存在します。
ステップ3について:
何が
k+1 rounds
言及されていますか?何
chosen in k steps, and not removed in k steps
ですか?R
最初のs
ステップの後にすでに含まれている要素についてのみこの確率を計算するのはなぜですか?