アルゴリズムと計算量の問題
長さ のビット列 を、各ビット が互いに独立に確率 ずつで または になるようにランダムに作る。このビット列の中でパターン が現れる回数 を
と定める(重なった出現も別々に数える。たとえば の中には が 回現れる)。 の期待値 を求めよ。
この問題で使うもの
- 指示変数と期待値の線形性(説明と入口の問題)
この問題を解けるようになるまで(16 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
指示変数と期待値の線形性を使う。「位置 からパターン が始まる」という事象ごとに、指示変数 を考えよう。
ヒント 2
と書ける。 である。 どうしが独立でなくても、和の期待値は期待値の和になる。
ヒント 3
がすべての で成り立つ。あとは 個分を足し合わせる。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
方針: の確率分布を直接求めるのは大変なので、 を指示変数の和に分け、期待値の線形性を使う。
手順 1(指示変数を定める): に対して、事象 を「」とし、
とおく。すると、パターンが現れる位置を つずつ数えることになるので
である。
手順 2(各指示変数の期待値): は か しかとらないので
である。 は となる事象で、 つのビットは独立にそれぞれ確率 で決まるから
である。これは によらない。
手順 3(期待値の線形性): 期待値の線形性 を繰り返し使うと
となる。
注意: たとえば と はどちらも に関係する。また と は同時には起こらない( が と の両方にはなれない)。このように は独立ではない。しかし、期待値の線形性は独立でなくても成り立つので、そのまま和をとってよい。
よって である。
別解
各 について、指示確率変数 を「 なら 1、そうでなければ 0」と定める。 である。
3 つのビットは独立で、それぞれ確率 で決まるので となる。
期待値の線形性は変数が独立でなくても成り立つので、重なった出現があっても
検算:長さ 3 のビット列 だけを考えると、パターンは 1 か所で、 となり、上の考え方と一致する。
よって である。