アルゴリズムと計算量の問題
互いに異なる 個の数が入った配列から、小さい方から 番目の数(中央値)を、次の乱択選択アルゴリズム(乱択クイックセレクト)で求める。
- 現在の候補の集合を とし、最初は を 個の数全体とする。また、求めたい順位を とする。
- の要素が 個だけなら、それを答えとして終了する(比較は行わない)。
- そうでなければ、 の要素から つを等確率で選んでピボット とし、 を のほかのすべての要素と 回ずつ比較して、 より小さい要素の集合 と大きい要素の集合 に分ける(このとき比較は 回行われる)。
- なら を答えとして終了する。
- なら、 を に置き換えて( はそのまま)最初の手順に戻る。
- なら、 を に、 を に置き換えて最初の手順に戻る。
ピボットの選択は毎回独立に行われるものとする。このアルゴリズムが終了するまでに行う比較の回数の期待値を求めよ。
この問題で使うもの
- 乱択クイックソート・乱択選択の期待比較回数(説明と入口の問題)
- 指示変数と期待値の線形性(説明と入口の問題)
この問題を解けるようになるまで(64 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
一覧で見る(前提が先)
- 樹形図で数え上げる
- 積の法則と和の法則
- 和の法則・積の法則と樹形図
- 順列・円順列・重複順列
- 組合せ
- 確率の定義と和事象・余事象
- 期待値
- 確率変数と確率分布
- 平均と合計
- 平均値・中央値・最頻値
- 代表値(平均値・中央値・最頻値)
- 分散と標準偏差
- 変量の変換と平均・分散
- 確率変数の期待値・分散と
- 確率変数の和と積(独立な場合)
- 指示変数と期待値の線形性
- 分数のたし算・ひき算
- 小数の四則計算
- 正負の数の加法・減法
- 分数のかけ算・わり算
- 四則の混じった計算の順序
- 正負の数の乗除・累乗と四則混合
- 分配法則を使った計算のくふう
- 文字式の計算(同類項・分配法則)
- 乗法公式による展開
- 因数分解
- 3 次式までの展開と因数分解
- 微分係数と導関数の定義
- 多項式の微分
- 多項式の不定積分
- 等間隔にならんだ数の和
- 等差・等比数列の和と Σ
- 数列の極限
- 関数の極限
- 積と商の微分
- 合成関数の微分
- 円の周の長さと面積
- おうぎ形の弧の長さと面積
- 弧の長さからおうぎ形の中心角と面積を求める
- 三角形・四角形の面積
- 約数の見つけ方
- 素因数分解と約数の個数
- 平方根の意味と根号の簡単化
- 三平方の定理
- 特別な直角三角形の辺の比
- 弧度法と単位円による三角関数
- の極限
- 加法定理と 2 倍角・半角・積和の公式
- 三角関数の導関数
- 根号の乗除と加減
- 指数の拡張と指数関数
- 対数の定義と性質
- 自然対数の底
- 指数関数・対数関数の導関数
- 基本的な関数の不定積分
- 置換積分
- 部分積分
- 定積分の計算
- 定積分の置換・部分積分と偶関数・奇関数
- 重積分と累次積分
- 同時分布・周辺分布と独立性
- 条件付き確率と乗法定理
- 条件付き分布と全期待値の公式
- 乱択クイックソート・乱択選択の期待比較回数
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
比較回数を「 と が比較されたら 1」という指示変数の和で表し、期待値の線形性を使う。
ヒント 2
と が比較されるのは、 から までの要素のうち最初にピボットに選ばれるのが か のときである。その確率は 。
ヒント 3
個の組 について を求めると、 になる組が 個、 になる組が 個、 になる組が 個、 になる組が 個ある。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
個の数を小さい順に とする。求めたいのは である。
比較の指示変数
に対し、 と が比較されるとき 、そうでないとき をとる確率変数を とする。2 つの要素はどちらかがピボットのときだけ比較され、ピボットになった要素はその後の候補から外れるので、同じ組が 2 回比較されることはない。よって比較回数は であり、期待値の線形性から
となる。
比較される確率
, とし、集合 を考える。 は をすべて含む連続した順位の集まりである。 の要素がまだ 1 つもピボットに選ばれていない間は、 全体が候補 に残っている( の外の要素がピボットになっても、 と同じ側にある は分けられない)。
の中で最初にピボットに選ばれる要素は、その時点で 全体が候補に含まれ、ピボットは候補から等確率で選ばれるので、 の 個の要素のどれも等確率である。
- それが か なら、その時点で と は比較される。
- それが と の間の要素なら、 と は別の側に分かれ、以後比較されない。
- それが なら終了する。それが の外側で 側の要素なら、 を含む側に の少なくとも一方は入らないので、比較されない。
よって
である。
各組の計算
| 組 | 確率 | |
|---|---|---|
合計は
別解(漸化式による確認)
大きさ の候補から 番目を求めるときの比較回数の期待値を とすると、, であり、
, ,
。よって
となり一致する。
別解
を、要素数 、求める順位 のときの比較回数の期待値とする。。ピボットの順位 は一様確率 。 で終了、 なら 、 なら に進む。。
: 。
: 、、。
: 。(対称)。
: 、、終了、、。
。
検算: は、 のとき中央値を選べば 2 回、それ以外は 2 回比較後に 2 要素の比較 1 回で、 と一致。 で、最大 より妥当。