アルゴリズムと計算量の問題
を 列に並べる 通りの並べ方から つを等確率で選び、それを配列 とする。 を満たす整数の組 で となるものを「転倒」とよぶ(転倒の個数は、挿入ソートで隣り合う要素を交換する回数に等しいことが知られている)。配列 に含まれる転倒の個数を とするとき、期待値 を求めよ。
この問題で使うもの
- 指示変数と期待値の線形性(説明と入口の問題)
この問題を解けるようになるまで(16 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
技能「指示変数と期待値の線形性」を使います。各組 が転倒かどうかを表す指示変数 を考え、 をそれらの和で表しましょう。
ヒント 2
です。 と を入れかえる対応を考えると、 はいくつになるでしょうか。
ヒント 3
で、組 は 個あります。あとは期待値の線形性で足し合わせます。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
方針: の確率分布を直接求めるのは大変なので、 を指示変数の和に分けて期待値の線形性を使う。
ステップ 1(指示変数を定める): を満たす各組 に対して、
と定める。転倒の個数は、転倒になっている組の個数なので
と表せる。
ステップ 2(1 つの指示変数の期待値): は か の値しかとらないので
である。ある並べ方で と を入れかえると別の並べ方が 1 つ得られ、この対応で「 となる並べ方」と「 となる並べ方」がちょうど 対 に対応する。よって両者の個数は等しく、どちらも 通りである。したがって
ステップ 3(期待値の線形性で足し合わせる):組 の個数は である。期待値の線形性 を使って
注意:たとえば と と は独立ではない( かつ なら必ず )。しかし期待値の線形性は確率変数が独立でなくても成り立つので、このように各指示変数の期待値を足すだけで が求められる。
よって である。
別解
各組 ()に対し、指示確率変数 を のとき 、そうでないとき と定める。 である。
ランダムな順列では、 と の大小関係は対称である。 と を入れ替える写像は順列全体の上の全単射で、 の順列と の順列を対応づける。したがって 、つまり となる。
期待値の線形性より
。
検算:転倒数の分布は、 のとき 個がそれぞれ 通りで平均 となり、公式と一致する。一般に で、 では である。