無限期待値を取る系の問題again
某社の一次筆記試験でとても面白い問題が出たので紹介。解けなかったけど。
言い訳をすれば、時間があれば解けた(と思う)。苦しい事この上ない言い訳だ。
時刻が1進む毎に1/4の等確率で上下左右のいずれかの方向に1進むアリが、2次元格子上にいる。
このアリが時刻0で原点(0,0)にいるとする。
このとき、このアリと原点の距離が初めて2以上となる時刻の期待値を求めよ。
解答は俺が計算出来次第アップする。
漸化式立てて行列のn乗で行くのかなと思ったら、固有値のひとつが0になって取り扱いに困った。
というわけで別解。
解答の方針は、
- まず時刻t-1に、距離が2にならないギリギリの境界にいる確率を求める
- 時刻tに初めて距離が2になる確率を求める
- 無限級数を計算して期待値を出す。
アリと原点の距離が2未満となるような格子点は全部で9個あり、
- 距離が0 : (0,0)
- 距離が1 : (1,0), (0,1), (-1,0), (0,-1)
- 距離が : (1,1), (1,-1), (-1,-1), (-1,1)
の3種類に分類できる。アリが時刻tにこれらにいる確率を、順にと表すと、
次の漸化式が成り立つ。
3行目、1行目を2行目に代入すると
を得る。に注意すると、のとき
である。これを利用すれば、のとき
である。
アリが時刻tで初めて絶対値が2以上になる確率は、
- 時刻t-1で距離1の点にいる確率 * 時刻tで距離2の点に移動する確率
- 時刻t-1で距離√2の点にいる確率 * 時刻tで距離√5の点に移動する確率
の和である。前者は、ならなので
後者は、ならなので
これより期待値は
と求まる。
えらくきれいな結果になった。
平均的に5秒後に距離が2以上になるのか……ちょっと信じ難い(遅過ぎる気がする)が、まぁアリが無限にこの格子内を動きまわる可能性とかもあるから、無限に和を取ればこんなもんか。
さらに追記。
やっぱり間違っていた。5秒後ではなく4.5秒後が正解。
先輩に4.5秒になったと言われ、どっちが正しいのか確かめてみるためにシミュレーションをしたところ、やはり4.5に収束した。
で、俺の解答のどこが間違っていたかなのだが、
後者は、ならなので
これがヤバいとの指摘あり。これで和をk=1から取り始めると、qの引数が思いっきり0になる。そのとき0になってくれればいいのだが、現実は1/2になってしまっている。つまり、t=0で√2の点群にいる確率が0じゃないことになってしまい、そこから計算がずれたのだ。
対処法としては、q側だけk=2から和を取り始めればよい。k=1だと前の時刻がt=0になってしまうから、これを除外する必要がある。
もしくは、これが気持ち悪いならqのところをt=2k-1ではなくt=2k+1から和を取り始めることにすればよい。
というかこれが自然で、pはt=1のとき必ず存在し、qはその後で存在し得るのだから、pの中身を
なら
と書いたのだったら、qの中身は
ならなので
とするべきなのはごく当然だ。
これで計算すると、