Aritalab:Lecture/NetworkBiology/Random Walk/Recurrence
m (→再帰確率の母関数) |
|||
Line 4: | Line 4: | ||
===再帰確率と二項係数の関係=== | ===再帰確率と二項係数の関係=== | ||
− | 原点から出発して 2''n'' ステップ後に再び原点に戻っている確率 '' | + | 原点から出発して 2''n'' ステップ後に再び原点に戻っている確率 ''p'' ( 2 ''n'' ) は、左右にちょうど ''n'' 回ずつ移動すればよいので |
− | <math> | + | <math> p(2n) = \frac{2n!}{n! n!} p^n q^n \ </math> |
− | になります。'' | + | になります。''p'' (0) = 1 です。これは原点に何回戻ってもよい確率なので、 2''n'' ステップ後に初めて原点に戻ってくる再帰確率を ''f'' ( 2 ''n'' ) と書くと、 |
<math> | <math> | ||
\begin{align} | \begin{align} | ||
− | + | p(2n) &= f(2) p(2n - 2) \\ | |
− | &+ | + | &+ f(4) p(2n - 4) \\ |
− | &+ | + | &+ f(6) p(2n - 6) \\ |
&+ \cdots \\ | &+ \cdots \\ | ||
− | &+ | + | &+ f(2n - 2) p(2) + f(2n) \\ |
− | &= \sum^n_{m=1} | + | &= \sum^n_{m=1} f(2m) p(2n - 2m) |
\end{align} | \end{align} | ||
</math> | </math> | ||
Line 25: | Line 25: | ||
<math> | <math> | ||
\begin{align} | \begin{align} | ||
− | + | f(2) &= p(2)\\ | |
− | + | f(4) &= p(4) - p(2) f(2)\\ | |
− | + | f(6) &= p(6) - p(4) f(2) - p(2) f(4) \\ | |
\cdots & \cdots \\ | \cdots & \cdots \\ | ||
− | + | f(2n) &= p(2n) - p(2n-2) f(2) - p(2n-4) f(4) - \cdots p(2) f(2n-2) | |
\end{align} | \end{align} | ||
</math> | </math> | ||
− | が求まり、二項係数 '' | + | が求まり、二項係数 ''p'' ( 2 ''n'' ) を用いて ''f'' ( 2 ''n'' ) を書き下すことができます。 |
===再帰確率の母関数=== | ===再帰確率の母関数=== | ||
− | ここでは再帰確率を母関数を用いて求めてみます。 '' | + | ここでは再帰確率を母関数を用いて求めてみます。 ''p'', ''f'' の母関数を考えます。 ''f'' は 2 ''n'' 回目で初めて原点に戻ることを意味する関数なので ''n'' = 1 からスタートするところに注意しましょう。この議論の一般形は[[Aritalab:Lecture/NetworkBiology/Markov_Chains/StationaryDistribution|マルコフ連鎖定常分布のページ]]にも記されています。 |
<math> | <math> | ||
\begin{align} | \begin{align} | ||
− | + | P(z) &= \sum^{\infty}_{n=0} p(2n) z^{2n} \\ | |
− | + | F(z) &= \sum^{\infty}_{n=1} f(2n) z^{2n} | |
\end{align} | \end{align} | ||
</math> | </math> | ||
− | ここで '' | + | ここで ''p'' と ''f'' の関係式から |
<math> | <math> | ||
\begin{align} | \begin{align} | ||
− | + | p(2n) &= \sum^n_{m=1} f(2m) p(2n - 2m)\\ | |
− | + | p(2n) z^{2n} & = \sum^n_{m=1} f(2m) z^{2m} p(2n - 2m) z^{2n-2m} \\ | |
− | \sum^{\infty}_{n=1} | + | \sum^{\infty}_{n=1} p(2n) z^{2n} & = \sum^{\infty}_{n=1}\Big[ \sum^n_{m=1} f(2m) z^{2m} p(2n - 2m) z^{2n-2m} \Big]\\ |
\end{align} | \end{align} | ||
</math> | </math> | ||
Line 59: | Line 59: | ||
<math> | <math> | ||
\begin{align} | \begin{align} | ||
− | + | p(2) &= f(2)\\ | |
− | + | p(4) &= f(4) + f(2) p(2)\\ | |
− | + | p(6) &= f(6) + f(4) p(2) + f(2) p(4)\\ | |
\vdots \ &= \ \vdots | \vdots \ &= \ \vdots | ||
\end{align} | \end{align} | ||
Line 70: | Line 70: | ||
<math> | <math> | ||
\begin{align} | \begin{align} | ||
− | \sum^{\infty}_{n=1} | + | \sum^{\infty}_{n=1} p(2n) z^{2n} &= \sum^{\infty}_{n=1}\Big[ \sum^n_{m=1} f(2m) z^{2m} p(2n - 2m) z^{2n-2m} \Big]\\ |
− | &= \sum^{\infty}_{m=1} | + | &= \sum^{\infty}_{m=1} f(2m)z^{2m} \sum^{\infty}_{n=m} p(2n - 2m) z^{2n-2m}\\ |
− | &= | + | &= F(z) P(z) |
\end{align} | \end{align} | ||
</math> | </math> | ||
− | 左辺は <math> | + | 左辺は <math>p(0) = 1\ </math> を含まないので <math>P(s) - 1\ </math> となり、<math> F(z) = \frac{P(s) - 1}{P(s)}\ </math> となります。 |
− | 無限級数 <math> | + | 無限級数 <math> P(s)\ </math> が発散するときは <math> F(z) \rightarrow 1 </math> となって再帰確実であり(必ず原点にもどる)、有限な値に収束するときは <math> F(z) < 1\ </math> で再帰不確実です。 |
− | 実は、二項係数の母関数 <math> | + | 実は、二項係数の母関数 <math>P(s) \ </math> は閉じた式に書き下すことができます。([[Aritalab:Lecture/Basic/Generating_Function|母関数のページ]]を参照。) |
<math> | <math> | ||
− | + | P(s) = (1 - 4pqz^2)^{-1/2}\,</math> | |
これから | これから | ||
<math> | <math> | ||
− | + | F(s) = 1 - \frac{1}{P(s)} = 1 - \sqrt{1 - 4pqz^2} | |
</math> | </math> | ||
Line 93: | Line 93: | ||
<math> | <math> | ||
− | + | F(1) = 1 - (1 - 4pq)^{1/2} = 1 - |p-q|\, | |
</math> | </math> | ||
Line 120: | Line 120: | ||
− | となり、母関数を用いた <math> | + | となり、母関数を用いた <math>F(1)\,</math> の値と一致します。 |
Line 128: | Line 128: | ||
<math> | <math> | ||
− | \sum^{\infty}_{n=0} 2n \cdot | + | \sum^{\infty}_{n=0} 2n \cdot f(2n) = \Big[ \frac{d F(z)}{dz} \Big]_{z=1} = |
[ z(1 - z^2)^{-1/2} ]_{z=1} = \infty | [ z(1 - z^2)^{-1/2} ]_{z=1} = \infty | ||
</math> | </math> | ||
Line 136: | Line 136: | ||
===到達確率=== | ===到達確率=== | ||
− | 原点から出発して ''n'' ステップ後に位置 ''k'' に初めて到達する確率 <math> | + | 原点から出発して ''n'' ステップ後に位置 ''k'' に初めて到達する確率 <math>f_k(n)\ </math> は、再帰確率と同様に求められます。ここでは一般性を失わずに ''k'' > 0 とし、 ''n'' と ''k'' の偶奇が一致する制約を無視して議論を進めます。まず ''n'' ステップ後に 位置 ''k'' にいる確率 <math>\ p_k(n)</math> から求めます。 |
− | <math> | + | <math> p_k(n) = \frac{n!}{((n+k)/2)! ((n-k)/2)!} p^{(n+k)/2} q^{(n-k)/2} \ </math> |
− | 再帰確率の場合と同じく、''n'' ステップ後に初めて ''k'' に到達する関数との関係を考えます。初めて ''k'' に到達したらそこを原点として残りのステップを関数 '' | + | 再帰確率の場合と同じく、''n'' ステップ後に初めて ''k'' に到達する関数との関係を考えます。初めて ''k'' に到達したらそこを原点として残りのステップを関数 ''p'' で記述できるので以下のようになります。 |
− | <math> | + | <math>p_k(n) = f_k(k)p(n-k) + f_k(k+2)p(n-k-2) + \cdots + f_k(n-2)p(2) + f_k(n)\, </math> |
ここで | ここで | ||
− | <math> | + | <math>f_k(k) = p_k(k) = p^k\,</math> |
− | です。二項係数 <math> | + | です。二項係数 <math>p_k( n ),\, p(n)</math> を用いて <math>f_k ( n )\,</math> を書き下すことができます。 |
==== ''k'' = 1 の場合==== | ==== ''k'' = 1 の場合==== | ||
− | 原点から出発して、 ''n'' ステップ目ではじめて ''k'' = 1 になる確率 <math> | + | 原点から出発して、 ''n'' ステップ目ではじめて ''k'' = 1 になる確率 <math>f_1 (n)\,</math> を考えます。 |
− | * ''n'' = 0 のとき、明らかに <math> | + | * ''n'' = 0 のとき、明らかに <math>f_1 (0) = 0\,</math> |
− | * ''n'' = 1 のとき、明らかに <math> | + | * ''n'' = 1 のとき、明らかに <math>f_1 (1) = p\,</math> |
* ''n'' > 1 のとき | * ''n'' > 1 のとき | ||
− | 最初のステップは必ず左です。その後、 ''m'' - 1 回 ( ''m'' < ''n'' ) で右隣の原点に初めて戻り、さらに ''n'' - ''m'' 回で初めて位置 1 に到達します。その確率は <math> q | + | 最初のステップは必ず左です。その後、 ''m'' - 1 回 ( ''m'' < ''n'' ) で右隣の原点に初めて戻り、さらに ''n'' - ''m'' 回で初めて位置 1 に到達します。その確率は <math> q f_1(m-1) f_1(n-m)\,</math> です。''m'' についての和を取ると |
<math> | <math> | ||
− | + | f_1(n) = q( f_1(1) f_1(n-2) + f_1(2) f_1(n-3) + \cdots + f_1(n-3) f_1(2) + f_1(n-2) f_1(1)) | |
</math> | </math> | ||
Line 166: | Line 166: | ||
<math> | <math> | ||
\begin{align} | \begin{align} | ||
− | + | f_1(2) &= q( f_1(1) f_1(0))\\ | |
− | + | f_1(3) &= q( f_1(1) f_1(1) + f_1(2) f_1(0))\\ | |
− | + | f_1(4) &= q( f_1(1) f_1(2) + f_1(2) f_1(1) + f_1(3) f_1(0))\\ | |
\vdots \ &= \ \vdots \\ | \vdots \ &= \ \vdots \\ | ||
− | + | f_1(n) &= q( f_1(1) f_1(n-2) + f_1(2) f_1(n-3) + \cdots + f_1(n-3) f_1(2) + f_1(n-2) f_1(1) + f_1(n-1) f_1(0)) \\ | |
\vdots \ &= \ \vdots | \vdots \ &= \ \vdots | ||
\end{align} | \end{align} | ||
</math> | </math> | ||
− | 母関数 <math> | + | 母関数 <math>F_1(z) = \sum^{\infty}_{n=0} f_1(n)z^n</math> を考慮しながら縦方向に足し合わせます。 |
<math> | <math> | ||
\begin{align} | \begin{align} | ||
− | \sum^{\infty}_{n=2} | + | \sum^{\infty}_{n=2} f_1(n)z^n &= q \sum^{\infty}_{n=2} \sum^{n-1}_{m=1} f_1(m)f_1(n-m-1) z^n\\ |
− | + | F_1(z) - pz &= q z \sum^{\infty}_{m=1}f_1(m) z^m \big[ \sum^{\infty}_{n=m+1} f_1(n-m-1) z^{n-m-1}\big]\\ | |
− | + | F_1(z) - pz &= q z F_1(z)^2 \\ | |
\end{align} | \end{align} | ||
</math> | </math> | ||
− | この二次式を解くと <math> | + | この二次式を解くと <math> F_1(z) = \frac{1}{2qz}[1 - (1 - 4 pqz^2)^{1/2}]</math> となります。(もう一つの解は''z'' = 0 で発散する。)すなわち |
<math> | <math> | ||
\begin{align} | \begin{align} | ||
− | + | F_1(1) &= \frac{1 - |p - q|}{2q} \\ | |
&= p / q \quad (p < q)\\ | &= p / q \quad (p < q)\\ | ||
&= 1 \quad (p \geq q) | &= 1 \quad (p \geq q) | ||
Line 197: | Line 197: | ||
もし ''p'' < ''q'' (左のほうに行く確率が高い)なら、永遠に待っていても <math>(q - p)/q\,</math> の確率で ''k'' = 1 に来ることはなく、''p'' ≥ ''q'' の場合は必ず ''k'' = 1 に到達します。 | もし ''p'' < ''q'' (左のほうに行く確率が高い)なら、永遠に待っていても <math>(q - p)/q\,</math> の確率で ''k'' = 1 に来ることはなく、''p'' ≥ ''q'' の場合は必ず ''k'' = 1 に到達します。 | ||
+ | <!--- | ||
;平均到達時間 | ;平均到達時間 | ||
<math>\sum^{\infty}_{n=0} n g_1(n) = \big[ \frac{d G_1(z)}{dz} \big]_{z=1} | <math>\sum^{\infty}_{n=0} n g_1(n) = \big[ \frac{d G_1(z)}{dz} \big]_{z=1} | ||
</math> | </math> | ||
+ | ---> |
Revision as of 09:57, 20 October 2011
原点から出発したランダムウォークが原点に戻ってくる確率を再帰確率といいます。 ここでは一次元ランダムウォークを考えます。
Contents |
再帰確率と二項係数の関係
原点から出発して 2n ステップ後に再び原点に戻っている確率 p ( 2 n ) は、左右にちょうど n 回ずつ移動すればよいので
になります。p (0) = 1 です。これは原点に何回戻ってもよい確率なので、 2n ステップ後に初めて原点に戻ってくる再帰確率を f ( 2 n ) と書くと、
となります。この関係式から
が求まり、二項係数 p ( 2 n ) を用いて f ( 2 n ) を書き下すことができます。
再帰確率の母関数
ここでは再帰確率を母関数を用いて求めてみます。 p, f の母関数を考えます。 f は 2 n 回目で初めて原点に戻ることを意味する関数なので n = 1 からスタートするところに注意しましょう。この議論の一般形はマルコフ連鎖定常分布のページにも記されています。
ここで p と f の関係式から
さらに
という関係を縦方向に眺めることによって、右辺の2重和の順序を入れ替えます。
左辺は を含まないので となり、 となります。 無限級数 が発散するときは となって再帰確実であり(必ず原点にもどる)、有限な値に収束するときは で再帰不確実です。
実は、二項係数の母関数 は閉じた式に書き下すことができます。(母関数のページを参照。)
これから
となり再帰確率は
になります。
原点に戻ってくる回数
再帰確率を r としましょう。ランダムウォークが原点に戻ってこない確率は (1 − r) です。いったん原点に戻ってきたら、ランダムウォークを再出発させると考えると、ちょうど1回原点に戻ってくる確率は r (1 − r )、ちょうど2回原点に戻ってくる確率は r2 (1 − r )、ちょうど n 回原点に戻ってくる確率は rn (1 − r ) になります。戻ってくる回数の期待値は
になります(この等式の導出は母関数のページを参照)。一方で、ランダムウォークが原点に戻ってくる回数は n ステップ後に原点にいる確率をすべて足し合わせたものにも等しいので
とも書けます(この等式の導出も母関数のページを参照)。
両方の値を等しいとすることで、たとえば p > 1/2 と仮定して
とおけば
となり、母関数を用いた の値と一致します。
平均再帰時間
p = q = 1/2 のときだけ、再帰確実なので平均再帰時間を考えることができます。
つまり、原点には必ず戻りますが無限時間かかる可能性があります。
到達確率
原点から出発して n ステップ後に位置 k に初めて到達する確率 は、再帰確率と同様に求められます。ここでは一般性を失わずに k > 0 とし、 n と k の偶奇が一致する制約を無視して議論を進めます。まず n ステップ後に 位置 k にいる確率 から求めます。
再帰確率の場合と同じく、n ステップ後に初めて k に到達する関数との関係を考えます。初めて k に到達したらそこを原点として残りのステップを関数 p で記述できるので以下のようになります。
ここで
です。二項係数 を用いて を書き下すことができます。
k = 1 の場合
原点から出発して、 n ステップ目ではじめて k = 1 になる確率 を考えます。
- n = 0 のとき、明らかに
- n = 1 のとき、明らかに
- n > 1 のとき
最初のステップは必ず左です。その後、 m - 1 回 ( m < n ) で右隣の原点に初めて戻り、さらに n - m 回で初めて位置 1 に到達します。その確率は です。m についての和を取ると
これを n = 2 から並べましょう。
母関数 を考慮しながら縦方向に足し合わせます。
この二次式を解くと となります。(もう一つの解はz = 0 で発散する。)すなわち
もし p < q (左のほうに行く確率が高い)なら、永遠に待っていても の確率で k = 1 に来ることはなく、p ≥ q の場合は必ず k = 1 に到達します。