単純無作為抽出の素朴なアルゴリズムの欠点は何ですか？
単純なランダムサンプリングのための効率的なアルゴリズムがいくつか開発されている。素朴なアルゴリズムは、ドローバイドローアルゴリズムで、各ステップでそのステップのアイテムを等確率でセットから取り除き、そのアイテムをサンプルに入れる。目的の大きさの標本ができるまで続ける
�
k.この方法の欠点は、集合のランダムアクセスを必要とすることである。

1962年にFanらによって開発された選択-棄却アルゴリズムは、データを1回通過させるだけでよい。
�
nの知識を必要とするが、これはストリーミング・シナリオでは利用できない。

非常に単純なランダムソートアルゴリズムが1977年にSunterによって証明された。このアルゴリズムは、一様分布
(
0
,
1
)
(0,1) を各項目のキーとし、そのキーを使って全項目をソートし、最小の
�
k 個の項目を選択する。

J.Vitterは1985年にリザーバーサンプリングアルゴリズムを提案し、広く使われている。このアルゴリズムは、母集団の大きさ
�
nの大きさを事前に知る必要がなく、一定の空間を使用する。

ランダムサンプリングは、サンプル間のギャップ分布からサンプリングし、ギャップをスキップすることによっても高速化できる。
この方法の欠点は、セットのランダムアクセスが必要なことだ。