酔歩 モデリングとシミュレーション 2 確率過程 (Stochastic Process) 系の時間発展が非決定的なもの 酔歩 確率過程の標準モデル 一次元格子 各時刻で、確率𝑝𝑝 で右に、1 − 𝑝𝑝 で左に移 動 3 酔歩:イメージ 時間 4 理論的解析 原点から出発した粒子の位置𝑥𝑥 時刻𝑡𝑡 で位置𝑥𝑥 に居るためには𝑚𝑚 = (𝑡𝑡 + 𝑥𝑥)/2回右に移動 左右の移動順序の可能な組み合わせに注 意 時刻𝑡𝑡 で位置𝑥𝑥 に居る確率 t ( t − x ) /2 ( t + x ) /2 P ( x) p = (1 − p ) t+x 2 5 母関数を使う 確率 𝑥𝑥に対する確率から𝑚𝑚に対するものへ P ( x ) : x = 2m − t , m ∈ [ 0, t ] ⇓ x+t Q (= m) : m , m ∈ [ 0, t ] 2 母関数 t G ( z ) = ∑Q ( m ) z m m =0 6 母関数を使う:一般論 G (1) = t = Q (m) ∑ 1 m =0 t G ' ( z ) = ∑ mQ ( m ) z m −1 m =1 = G ' (1) t mQ ( m ) ∑= m x =0 = G '' ( z ) t m−2 − m m Q m z 1 ( ) ( ) ∑ m=2 t 2 − = − m G '' (1) = m m Q x m 1 ∑ ( ) ( ) m =0 7 t m t −m Q ( m ) p (1 − p ) 二項分布 = m に対して t m t −m t = G ( z ) ∑ p (1 − p ) z m = ( zp + 1 − p ) m =0 m G (1) = 1 t tp G ' (= z ) tp ( zp + 1 − p = G (z) ) zp + 1 − p t −1 G ' (1) = tp m = tp x= 2m − t = 2tp − t= t ( 2 p − 1) 8 −tp 2 tp G (z) + G '( z ) 2 zp + 1 − p ( zp + 1 − p ) G '' ( z ) −tp 2 = ( zp + 1 − p ) 2 G '' (1= tp ) ( −1 + t ) 2 = σ= x2 − x 2 ( 2 G (z) + t 2 p2 ( zp + 1 − p ) 2 G (z) = 4m 2 − 4mt + t 2 − x ) 2 = 4G " (1) + 4 m (1 − t ) + t − x 2 ( zp + 1 − p ) 2 G (z) 2 = 4 m − m + 4 m (1 − t ) + t − x 2 tp 2 ( −1 + t ) 2 2 ( ) = 4tp 2 ( t − 1) + 4tp (1 − t ) + t 2 − t 2 4 p 2 − 4 p += 1 4tp (1 − p ) 9 分布をもっと調べる 時刻𝑡𝑡が十分に大きいときに、位置の 平均の周囲の様子を調べる 10 準備:Stiringの公式 N ∑ ln n − ln N N ∑ ln n n =1 n =1 ∫ N 1 N 1 ln xdx < ∑ ln n N N ∫ N ln xdx n =1 ∑ ln n − ln N < ∫ 1 n =1 ln xdx N ∫ N 1 N ln xdx < ∑ ln n < ∫ ln xdx + ln N n =1 N 1 Stiringの公式 11 ∫ N 1 N ln xdx < ∑ ln n < ∫ ln xdx + ln N N 1 n =1 N N ( ln N − 1) + 1 < ∑ ln = n ln ( N !) < N ( ln N − 1) + 1 + ln N n =1 ln= N ! N ( ln N − 1) + O ( ln N ) d ( x ln x − x=) ln x + 1 − 1= ln x dx ∫ ln xd=x x ln x − x + C 12 分布の展開 仮定𝑡𝑡, 𝑡𝑡 − 𝑚𝑚, 𝑚𝑚 ≫ 1 t! p m qt −m , q = 1 − p Q ( m)= ( t − m )!m ! ln Q ( m ) = ln t !− ln ( t − m ) !− m !+ m ln p + ( t − m ) q ~ t ( ln t − 1) − ( t − m ) ( ln ( t − m ) − 1) − m ( ln m − 1) + m ln p + ( t − m ) ln q ~ t ln t − ( t − m ) ln ( t − m ) − m ln m + m ln p + ( t − m ) ln q 13 𝑚𝑚が平均𝑡𝑡𝑡𝑡から少しずれている範囲 1 ξ = ( m − tp ) t = m t( p +ξ ) t − m = t (1 − p − ξ ) 14 ln Q ( m ) ~ t ln t − ( t − m ) ln ( t − m ) − m ln m + m ln p + ( t − m ) ln q ~ t ln t − t (1 − p − ξ ) ln t (1 − p − ξ ) − t ( p + ξ ) ln t ( p + ξ ) + m ln p + ( t − m ) ln q ~ −t (1 − p − ξ ) ln (1 − p − ξ ) − t ( p + ξ ) ln ( p + ξ ) +t ( p + ξ ) ln p + t (1 − p − ξ ) ln q ln (1 + ξ ) =ξ − ξ2 2 ln (1 − ξ ) =−ξ − + O (ξ 3 ) ξ2 2 + O (ξ 3 ) 15 −t ( p + ξ ) ln ( p + ξ ) + t ( p + ξ ) ln p = −t ( p + ξ ) ln (1 + ξ / p ) ξ 1 ξ2 2 = −t ( p + ξ ) − + O (ξ ) 2 p 2 p −t (1 − p − ξ ) ln (1 − p − ξ ) + t (1 − p − ξ ) ln q = −t ( q − ξ ) ln (1 − ξ / q ) ξ 1 ξ2 3 =t ( q − ξ ) + + O (ξ ) 2 q 2q 16 ξ 1 ξ2 ξ 1 ξ2 3 3 −t ( p + ξ ) − + O (ξ ) + t ( q − ξ ) + + O (ξ ) 2 2 p 2 p q 2q 1 ξ2 1 ξ2 1 tξ 2 3 = − + O (ξ ) = − + tO (ξ 3 ) t − 2 p (1 − p ) 2 p 2 q ( m − tp )2 Q ( m ) ∝ exp − 2tp (1 − p ) 2 m − m = tp 2 ( −1 + t ) + tp − t 2 p= tp (1 − p ) 2 2 17 位置の分布 𝑚𝑚 = (𝑥𝑥 + 𝑡𝑡)/2を代入する 2 x+t 2 − tp x − ( 2 p − 1) t ) ( 2 = P ( x ) ∝ exp − exp − 2tp (1 − p ) 8tp (1 − p ) ( x − x )2 = exp − 2 2σ σ 2 = 4tp (1 − p ) 18 酔歩のシミュレーション 何を知りたいのか 「一つの粒子がどこに行くか」ではない 時刻とともに、粒子の存在確率がどの ように変化するか 一つの粒子を追跡するのではない 19 多数の粒子の一斉酔歩 多数の酔歩を行う粒子を準備 初期位置は同じ お互いに独立に動く 各時刻で、全粒子を酔歩 粒子の位置のヒストグラムを作る 20 「確率𝑝𝑝で○○する」をコード する double r = 乱数を生成 if ( r < p ) { ○○; } 21 一つの粒子を動かす public int walk(){ double r = Math.random(); if (r < p) {//確率p で右へ x++; } else { x--; } return x; } 22 時間 23 24 発展 2次元の酔歩 境界での振る舞い 境界で反射 境界で吸収
© Copyright 2024 ExpyDoc