null

酔歩
モデリングとシミュレーション
2016年度
©只木進一(佐賀大学)
2
確率過程 (Stochastic Process)
系の時間発展が非決定的なもの
確率的に時間発展する
酔歩
確率過程の標準モデル
一次元格子
各時刻で、確率𝑝 で右に、1 − 𝑝 で左に移
動
©只木進一(佐賀大学)
3
酔歩:イメージ
確率𝑝
時間
確率𝑝
確率1 − 𝑝
©只木進一(佐賀大学)
4
理論的解析
原点から出発した粒子の位置𝑥
時刻𝑡 で位置𝑥 に至るためには𝑚 =
(𝑡 + 𝑥)/2回右に移動
左右の移動順序の可能な組み合わせの数
に注意
時刻𝑡 で位置𝑥 に至る確率:二項分布
 t 
P  x    t  x  p t  x  /2 q t  x  /2 , q  1  p


 2 
©只木進一(佐賀大学)
5
確率母関数を使う
𝑥に対する確率から𝑚に対する確率へ
P  x  : x  2m  t , m   0, t 

Q m : m 
xt
, m   0, t 
2
対応する確率母関数
t
G  z   Q  m  z m
©只木進一(佐賀大学)
m 0
6
確率母関数:一般論:復習
t
G 1   Q  m   1
m 0
t
G '  z    mQ  m  z m 1
m 1
t
G ' 1   mQ  m   m
x 0
t
G ''  z    m  m  1 Q  m  z m  2
m2
t
G '' 1   m  m  1 Q  m   m 2  m
©只木進一(佐賀大学)
m 0
7
 t  m t m
Q  m    p q
m
二項分布
に対して:復習
 t  m t m m
t
G  z      p q z   zp  q 
m 0  m 
G 1  1
t
G '  z   tp  zp  q 
t 1
G ' 1  tp
m  tp
x  2m  t  2tp  t  t  2 p  1
©只木進一(佐賀大学)
8
G ''  z   t  t  1 p
G '' 1  m 2 
 zp  q 
m  t  t  1 p 2
t 2
2
  x  x  4m  4mt  t  x
2
2
2

2
2

2
 4 m  m  4 m 1  t   t  x
2
2
 4G " 1  4 m 1  t   t  x
2
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の公式
 ln n  ln N
 ln n

N
N
n 1
n 1

N
1
N
1
ln xdx   ln n
N
N
N
n 1
 ln n  ln N  
ln xdx
1
n 1
N
©只木進一(佐賀大学)

N
1
N
ln xdx
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 xdx  x ln x  x  C
12
分布の展開
仮定𝑡, 𝑡 − 𝑚, 𝑚 ≫ 1
t!
Q  m 
p m qt m , q  1  p
 t  m  !m !
ln Q  m   ln t ! ln  t  m ! ln 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 
 t 

 O     
 tO  3 
2 p 1  p 
 2 p 2 q

  m  tp 2 
Q  m   exp  

 2tp 1  p  


m  m
2
©只木進一(佐賀大学)
2
 tp 2  1  t   tp  t 2 p 2  tp 1  p 
17
位置の分布
𝑚 = (𝑥 + 𝑡)/2を代入する
2
  xt
 
2
 tp  
 


x

2
p

1
t




2
   exp  

P  x   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 {//確率1-p で左へ
x--;
}
return x;
}
©只木進一(佐賀大学)
酔歩シミュレーションイメージ
22
時間
©只木進一(佐賀大学)
23
©只木進一(佐賀大学)
24
発展
2次元の酔歩
境界での振る舞い
境界で反射
境界で吸収
©只木進一(佐賀大学)