無限期待値を取る系の問題again

某社の一次筆記試験でとても面白い問題が出たので紹介。解けなかったけど。
言い訳をすれば、時間があれば解けた(と思う)。苦しい事この上ない言い訳だ。

時刻が1進む毎に1/4の等確率で上下左右のいずれかの方向に1進むアリが、2次元格子上にいる。
このアリが時刻0で原点(0,0)にいるとする。
このとき、このアリと原点の距離が初めて2以上となる時刻の期待値を求めよ。

解答は俺が計算出来次第アップする。
漸化式立てて行列のn乗で行くのかなと思ったら、固有値のひとつが0になって取り扱いに困った。
というわけで別解。
解答の方針は、

  1. まず時刻t-1に、距離が2にならないギリギリの境界にいる確率を求める
  2. 時刻tに初めて距離が2になる確率を求める
  3. 無限級数を計算して期待値を出す。


アリと原点の距離が2未満となるような格子点は全部で9個あり、

  • 距離が0 : (0,0)
  • 距離が1 : (1,0), (0,1), (-1,0), (0,-1)
  • 距離が\sqrt{2} : (1,1), (1,-1), (-1,-1), (-1,1)

の3種類に分類できる。アリが時刻tにこれらにいる確率を、順にo(t), p(t), q(t)と表すと、
次の漸化式が成り立つ。
o(t) = \frac{1}{4} p(t-1) \\ p(t) = o(t-1) + \frac{1}{2} q(t-1) \\ q(t) = \frac{1}{2} p(t-1)
3行目、1行目を2行目に代入すると
p(t) = \frac{1}{4} p(t-2) + \frac{1}{4} p(t-2) = \frac{1}{2}p(t-2)
を得る。p(1) = 1に注意すると、t=2k-1のとき
p(t) = p(2k-1) = \cdots = \frac{1}{2^{k-1}}
である。これを利用すれば、t=2kのとき
q(t) = \frac{1}{2} p(t-1) = \frac{1}{2^k}
である。

アリが時刻tで初めて絶対値が2以上になる確率は、

  • 時刻t-1で距離1の点にいる確率 * 時刻tで距離2の点に移動する確率
  • 時刻t-1で距離√2の点にいる確率 * 時刻tで距離√5の点に移動する確率

の和である。前者は、t=2kならt-1 = 2k-1なので
p(2k-1) * \frac{1}{4} = \frac{1}{2^{k+1}}
後者は、t=2k-1ならt-1 = 2(k-1)なので
q(2(k-1)) * \frac{1}{2} = \frac{1}{2^k}
これより期待値は
 E[t] = \sum_{k=1}^{\infty} \{ 2k \cdot \frac{1}{2^{k+1}} + (2k-1) \cdot \frac{1}{2^k} \} \\ = \sum_{k=1}^{\infty} ( \frac{3k}{2^k} - \frac{1}{2^k} ) \\ = \sum_{k=1}^{\infty}\frac{3k}{2^k} - 1 \\ = 6-1 \\ = 5
と求まる。


えらくきれいな結果になった。
平均的に5秒後に距離が2以上になるのか……ちょっと信じ難い(遅過ぎる気がする)が、まぁアリが無限にこの格子内を動きまわる可能性とかもあるから、無限に和を取ればこんなもんか。


さらに追記。
やっぱり間違っていた。5秒後ではなく4.5秒後が正解。
先輩に4.5秒になったと言われ、どっちが正しいのか確かめてみるためにシミュレーションをしたところ、やはり4.5に収束した。
で、俺の解答のどこが間違っていたかなのだが、

後者は、t=2k-1ならt-1 = 2(k-1)なので
q(2(k-1)) * \frac{1}{2} = \frac{1}{2^k}

これがヤバいとの指摘あり。これで和を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の中身を

t=2kならt-1=2k-1

と書いたのだったら、qの中身は

t=2k+1ならt-1 = 2kなので
q(2k) * \frac{1}{2} = \frac{1}{2^{k+1}}

とするべきなのはごく当然だ。
これで計算すると、
 E[t] = \sum_{k=1}^{\infty} \{ 2k \cdot \frac{1}{2^{k+1}} + (2k+1) \cdot \frac{1}{2^{k+1}} \} \\ = \sum_{k=1}^{\infty} ( \frac{k}{2^{k-1}} + \frac{1}{2^{k+1}} ) \\ = \sum_{k=1}^{\infty}\frac{k}{2^{k-1}} + \frac{1}{2} \\ = 4+\frac{1}{2} \\ = 4.5