情報科学 › 乱数と確率的数値計算 › 分布からの標本抽出

Fisher–Yates の方法

定理 6.3(「分布からの標本抽出」§6) ・ ✓公理まで証明済み

互いに異なる n≥1n \ge 1 個の元が入った配列 a[0],…,a[n−1]a[0], \ldots, a[n-1] に対して、i=n−1,n−2,…,1i = n-1, n-2, \ldots, 1 の順に「{0,1,…,i}\{0, 1, \ldots, i\} 上の一様分布に従う JiJ_i を(それまでの JJ と独立に)選び、a[i]a[i] と a[Ji]a[J_i] を交換する」操作を行う。

  1. 1≤k≤n−11 \le k \le n - 1 とする。最初の kk 回の操作(i=n−1,…,n−ki = n-1, \ldots, n-k)の後、互いに異なる任意の元 e1,…,eke_1, \ldots, e_k について P(a[n−1]=e1, a[n−2]=e2, …, a[n−k]=ek)=1n(n−1)⋯(n−k+1)\mathbb{P}\bigl(a[n-1] = e_1,\ a[n-2] = e_2,\ \ldots,\ a[n-k] = e_k\bigr) = \frac{1}{n(n-1)\cdots(n-k+1)} である。したがって、末尾の kk 個の位置にある元の集合は、(nk)\binom nk 通りの kk 元部分集合の上で一様に分布する。
  2. すべての操作の後の配列は、n!n! 通りの並べ方の上で一様に分布する。
  3. 「i=0,1,…,n−1i = 0, 1, \ldots, n-1 の順に、{0,…,n−1}\{0, \ldots, n-1\} 上の一様分布に従う JiJ_i を独立に選び、a[i]a[i] と a[Ji]a[J_i] を交換する」方法では、n≥3n \ge 3 のとき配列は一様に分布しない。

本文で読む(証明と前後の説明)→

閉包の状態

✓ 公理まで証明済み

証明が使う定理を 前提 としてたどると、Rikai の中の証明だけで定義・公理(物理では基本仮定)までつながっています(前提の定理類 2 件、定義なども含めて 2 件)。

印の意味: ✓公理まで証明済み ・ △証明あり(閉包未完)・ ※主張のみ。テーマごとの集計は 閉包の状況。

前提をたどる 証明が使う定理・定義(直接 1 件)

▸ を開くと、その項目の証明が使う前提が出ます。深い先は各項目のページでたどれます。

これを使っている定理

証明で明示的に参照している定理は、まだありません。

関連するノック 1 問