ランダム・ウォークの到達確率と平均到 達時間の計算 - 数理情報学科

ランダム・ウォークの到達確率と平均到
達時間の計算
龍谷大学理工学部数理情報学科
飯田晋司研究室
T970100 連 昭雄
目次 1.
2.
3.
4.
5.
確率モデルとは?
ランダム・ウォーク
コンピュータ・シミュレーション
結果のまとめ
おわりに
確率モデルとは?
• 例えば、液体の浸透・森林火災の広がり・
伝染病の伝播のような、様々な自然現象
に確率的ルールを定め単純なモデルに置
き換えてこれらの様子を研究する。
このようにモデル化されたものが確率モデ
ルである。
ランダム・ウォーク
• 数直線上の原点に粒子を置き、左右それぞ
れ1動く確率を1/2とする。これを1ステッ
プとしnステップ後にはxの場所に存在する
確率を導くことのできるモデルである。
ランダム・ウォーク(吸収壁)の
メインソースⅠ
void main(void){
(略)
for(k_start =1; k_start < N+1;k_start++){
粒子の発射点設定
printf(" k_start %d ¥n",k_start);
for(i =0; i< N_walker;i++) x[i] = k_start;
設定した出発点に粒子を置く
N_goal = 0;
N_s = N_walker ;
t = 0;
prob[0] =0.;
while( (N_s > 0) && (t < t_max ) ){
ループ条件(ゴールしてない粒子
が0になるまでかつ時間がMAXまで)
i = 0;
while(i < N_s ){
u = urand();
if (u < p) x[i] = x[i] + 1;
確率pの時に右に1移動
ランダム・ウォーク(吸収壁)の
メインソースⅡ
確率qの時に左に1移動
else if(u < p + q) x[i] = x[i]-1;
if(x[i]==0){
0に到達したらゴールした粒子
を+1としゴールしていない粒
for(j=i+1;j<N_s;j++) x[j-1] = x[j];
子を−1とする N_s = N_s -1;
N_goal = N_goal +1;
t_av = t_av + t +1;
i = i-1;
}
else if(x[i]==N) {
吸収壁の条件でNに到達
したらゴールしていない粒
子を−1とする for(j=i+1;j<N_s;j++) x[j-1] = x[j];
N_s = N_s -1;
i = i-1;
}
i = i+1;
}
t = t+1;
コンピュータ・シミュレーション
試行方法
• 1次元の場合、移動確率をp、q、sとし数直線は0
∼20でステップ数は1000とする。
• 2次元の場合、移動確率をpU、pD、pR、pLとしxy
平面は無限でステップ数は9000とする。
•
上のグラフはp=0.6、q=0.4で出発点を
3次元の場合、移動確率をpN、pS、pE、pW、pD、
10とした場合の到達確率のグラフ
pUとしxyz平面は無限でステップ数は9000とす
る。
ランダム・ウォーク(吸収壁)
到達確率のグラフ
p=0.5,q=0.5
p=0.4,q=0.6
p=0.6,q=0.4
■ p=0.3,q=0.4,s=0.3
■ p=0.4,q=0.3,s=0.3
■ p=0.1,q=0.1,s=0.8
ランダム・ウォーク(吸収壁)
平均到達時間のグラフ
p=0.5,q=0.5
p=0.4,q=0.6
p=0.6,q=0.4
■ p=0.3,q=0.4,s=0.3
■ p=0.4,q=0.3,s=0.3
■ p=0.1,q=0.1,s=0.8
ランダム・ウォーク(反射壁)
到達確率のグラフ
出発点が20に近く
出発点が20に近く
なるにつれ減少
なるにつれ減少
p=0.5,q=0.5
p=0.6,q=0.4
p=0.4,q=0.6
p=0.6,q=0.4
■ p=0.3,q=0.4,s=0.3
■ p=0.4,q=0.3,s=0.3
■ p=0.1,q=0.1,s=0.8
ランダム・ウォーク(反射壁)
平均到達時間のグラフ
理論値とはずいぶん
理論値とはずいぶん
違う
違う
p=0.5,q=0.5
p=0.4,q=0.6
■ p=0.3,q=0.4,s=0.3
■ p=0.4,q=0.3,s=0.3
■ p=0.1,q=0.1,s=0.8
p=0.6,q=0.4p=0.6,q=0.4
2次元ランダム・ウォーク
再帰確率、平均再帰時間のグラフ
再帰確率のグラフ
pU=pD=pR
=pL=0.25
平均再帰時間のグラフ
■pU=0.2,pD=0.2,pR=0.3,pL=0.3
■pU=0.1,pD=0.1,pR=0.4,pL=0.4
■pU=0.3,pD=0.3,pR=0.2,pL=0.2
■pU=0.2,pD=0.2,pR=0.3,pL=0.3
■pU=0.1,pD=0.1,pR=0.4,pL=0.4
■pU=0.3,pD=0.3,pR=0.2,pL=0.2
■pU=0.2,pD=0.2,pR=0.3,pL=0.3
上下確率が小さい程
上下確率が小さい程
pU=pD=pR
■pU=0.1,pD=0.1,pR=0.4,pL=0.4
再帰確率は大きい
=pL=0.25
再帰確率は大きい
■pU=0.3,pD=0.3,pR=0.2,pL=0.2
3次元ランダム・ウォーク
再帰確率、平均再帰時間のグラフ
再帰確率のグラフ
pU=pD=pN
=pW=pS=pE
■ pUの増加=0.1
■ pUの増加=-0.1
平均再帰時間のグラフ
pU=pD=pN
=pW=pS=pE
■ pUの増加=0.1
■ pUの増加=-0.1
結果のまとめ
• 反射壁の場合、移動確率がp>qだと右へ
動こうとするので結果的に長い時間0に到
達しない。
• 2次元の場合、上下への移動確率が小さ
いほど再帰確率が大きい。また理論値に
上のグラフはp=0.6、q=0.4で出発点を
10とした場合の到達確率のグラフ(横軸は
近ずけるには、もっと大きな試行が必要で
時間で縦軸は到達確率) ある。
• 3次元の場合、再帰確率はおそらく1より
小さいと分かった。また2次元の場合同様
もっと大きな試行が必要である。
おわりに
• コンピュータ・シミュレーションの結果は一
部を除きかなり理論値に近い値が示され
た。
• ランダム・ウォークを実用レベルにまでもっ
てくるにはさらに条件を付け加え工夫をし
より複雑なシミュレーションにする必要があ
るだろう。