SlideShare a Scribd company logo
1 of 10
Download to read offline
提出日:2014 年 7 月 26 日
課題 9
T2C_(Twitter: @T2C_)
1
■課題内容
3 次元のピアソン問題[ 1 ]を解くプログラムを作り、歩数と到達距離の関係を調べる。
歩数を変え到達距離 R の確率分布、平均値、標準偏差から考察する。
■ピアソン問題
○計算内容・概要
ある点(原点 O)から出発して決められた歩数(n 回)分ランダムに動いた時の到達点が
半径 r と r + dR の間(図の円と円の間の部分)である確率はどれほどであるか、という問題。
元の問題では 1 回 1 ヤードとしているが簡単のため単位は省略した。
図 1 半径 r と r+dR の範囲
これは 2 次元上であるが、今回の課題では 3 次元上でのシミュレーションを行う。
(図は描画が難しいので割愛)
3 次元上で動かす為に、X 方向、Y 方向、Z 方向の 3 成分を持つ単位ベクトル(一歩分)を生成する。
まず一様乱数ξ1,2,3 を発生させ、3 つの変数(u,v,w とする)にそれぞれ
u = 2 *ξ1 - 1 , v = 2 *ξ2 -1 , w = ξ3
を代入し、u,v,w それぞれ 2 乗したものの和が 1 を下回った場合に
cosθ1 = 2 * u * w / d , cosθ2 = 2 * v * w / d , cosθ3 = (w2 -u2-v2) / d
とする事で、単位ベクトルの 3 成分が生成される。
これを用いて、距離を歩数を最大値としてビン数で割った分に分割し、確率密度を調べる。
dR
半径 r
2
以上を踏まえて VBA(Excel2010 上)でプログラミングを行った。
――――― 以下 ソースコード ―――――
Const Nbin As Integer = 30, _
Nbin1 As Integer = Nbin + 1, _
X0 As Double = 0#, _
Y0 As Double = 0#, _
Z0 As Double = 0#
Function Randomwalk3D()
'place
Dim R(0 To Nbin1) As Double, X As Double, Y As Double, Z As Double
Dim Nstep As Integer, Nsample As Long, i As Long, j As Long
Dim xi1 As Double, xi2 As Double, xi3 As Double, P As Double 'p = f(R)
'result of calculation(xi1,xi2,xi3) , to judge, dR = Nstep/Nbin, distance
Dim u As Double, v As Double, w As Double, _
d As Double, dist As Double, dR As Double
'element of vector & IR = Int(Z/dR)
Dim costh1 As Double, costh2 As Double, costh3 As Double, IR As Integer
Randomize
With Sheet1
Nstep = .Cells(2, 3)
Nsample = .Cells(3, 3)
dR = Nstep / Nbin
.Cells(4, 3) = dR
3
For i = 1 To Nsample
X = X0
Y = Y0
Z = Z0
For j = 1 To Nstep
Do
xi1 = Rnd()
xi2 = Rnd()
xi3 = Rnd()
u = 2 * xi1 - 1
v = 2 * xi2 - 1
w = xi3
d = u ^ 2 + v ^ 2 + w ^ 2
Loop Until d <= 1
costh1 = 2 * u * w / d
costh2 = 2 * v * w / d
costh3 = (w ^ 2 - u ^ 2 - v ^ 2) / d
X = X + costh1
Y = Y + costh2
Z = Z + costh3
Next j
dist = Sqr(X ^ 2 + Y ^ 2 + Z ^ 2)
IR = Int(dist / dR)
If IR > Nbin Then
R(Nbin1) = R(Nbin1) + 1
Else
R(IR) = R(IR) + 1
End If
Next i
4
For IR = 0 To Nbin1
P = R(IR) / Nsample
.Cells(IR + 9, 2) = IR * dR
.Cells(IR + 9, 3) = R(IR)
.Cells(IR + 9, 4) = P
.Cells(IR + 9, 5) = P * dR
Next IR
End With
End Function
――――― ソースコード 終わり ―――――
○実行結果
ここで、R の確率分布はソースコード上で算出しているが、
平均値、誤差、分散、標準誤差は Excel 上の関数(以下に列挙)を用いて算出した。
・平均 =AVERAGE( 範囲 )
・誤差 =STDEV.P( 範囲 ) / SQRT( COUNT( 同範囲 ) )
・分散 =VAR.P( 範囲 )
・標準偏差 =STDEV.P(範囲)
また実行結果は以下の様になった。
表 1 歩数 3、標本数 10 万、Nbin50 での結果(平均など)
歩数 3 Rの平均値 1.55
標本 100000 R平均値の誤差 0.003397
dR 0.1 Rの分散 0.000369
Nbin 50 Rの標準偏差 0.019215
5
表 2 歩数 3、標本数 10 万、Nbin50 での結果(度数、確率分布) 図 2 表 2 のグラフ化
ここで、歩数を超えた距離 R(表 2 で言えば 3.1)は Overflow であるとする。
■考察
今回は 3 次元上でのピアソン問題を試行するプログラムを作成した。
実験結果の項で記した結果を鑑みるに、概ね正規分布の様な形を取っている様に思える。
しかし 1 試行だけでは特徴が見えて来ないので幾つかのパターンを試みる。
距離R 度数 f( R ) f(R ) * dR
0 7 0.00007 0.000007
0.1 77 0.00077 0.000077
0.2 186 0.00186 0.000186
0.3 392 0.00392 0.000392
0.4 632 0.00632 0.000632
0.5 1032 0.01032 0.001032
0.6 1501 0.01501 0.001501
0.7 1879 0.01879 0.001879
0.8 2635 0.02635 0.002635
0.9 3431 0.03431 0.003431
1 3886 0.03886 0.003886
1.1 4100 0.041 0.0041
1.2 4318 0.04318 0.004318
1.3 4740 0.0474 0.00474
1.4 4651 0.04651 0.004651
1.5 4825 0.04825 0.004825
1.6 5105 0.05105 0.005105
1.7 5142 0.05142 0.005142
1.8 4935 0.04935 0.004935
1.9 5160 0.0516 0.00516
2 5222 0.05222 0.005222
2.1 5103 0.05103 0.005103
2.2 5066 0.05066 0.005066
2.3 4831 0.04831 0.004831
2.4 4623 0.04623 0.004623
2.5 4514 0.04514 0.004514
2.6 4001 0.04001 0.004001
2.7 3444 0.03444 0.003444
2.8 2889 0.02889 0.002889
2.9 1673 0.01673 0.001673
3 0 0 0
3.1 0 0 0
6
図 3 歩数 5 での結果 図 4 歩数 10 での結果
歩数 5 になると少しずつなだらかに、10 になると中央に少しずつ集まっている事がわかる。
しかし図 3 での平均値は 5.166666667 であり、明らかに平均とはズレている事がわかる。
図 5 歩数 30 での結果 図 6 歩数 100 での結果
歩数 5 以降はなだらかでなく勾配が急になっていくので歩数 3~5 の辺りは少し特異な例である事が
推測出来る。また、歩数が増える毎に明らかに最小値 0、最大値 100 に近い所の度数は減っており、
また度数の高い中心部は完全に平均値から外れ、概ね最大値(歩数)の 3 分の 1 程度の値の所に
収束しているのが見て取れる。つまり到達距離は歩数 / 3 に近い所を中心に正規分布すると見れる。
これは原点からスタートした時、戻る方向も加味した時に成分(次元)が 3 つなので、相殺して収束す
るのがおよそ次元分の1の所だからでは無いだろうか。
しかしそれであれば1次元の時1に収束する事になり、多少なり直感とズレがあるので何処かしら修整
する余地はあるだろう。2次元の時は2分の1、つまり歩数 / 2 に収束する事が直感的に想像出来るので
良いかもしれない。また授業で教わった問題の様に壁があるとまた違った分布になることが推察出来る。
7
次に、歩数が少なかったり多かったりすると変なバイアスがかかる可能性があるので、
歩数は 30 で固定し標本数の違いについて考察する。
図 7 歩数 30、標本数 10000 での結果 図 8 歩数 30、標本数 1000 での結果
分布を見てわかるように、歩数 30 においては標本数を 10000(図 7)、1000(図 8)にしても
大きな差は見られない事がわかる。標本数 100(図 9)でようやく明らかな差が出るが、標本数 100 は直
感的に考えても明らかに少ないので実際に試行する回数としての考慮からは外すべきだろう。
また標本数を 1000000(図 8)にしても分布に大きな差は見られない(比較は後述)。
結論として、この問題の歩数 30 の結果から見る限りでは、標本数は 1000 で十分であり、
時間が大幅に短縮出来る可能性が見込める。
図 9 歩数 30、標本数 100 での結果 図 10 歩数 30、標本数 1000000 での結果
8
実際に標本数 1000 と 1000000 の結果を比較すると、
表 3 標本数 1000 の結果1 表4 標本数 1000000 の結果1
と、誤差、分散、標準偏差に大きな違いが見られない事がわかる。実際の値を見ても、
表 5 標本数 1000 の結果 2 表 6 標本数 1000000 の結果 2
と大きなズレはない事がわかる。
歩数 30 Rの平均値 15.5
標本 1000000 R平均値の誤差 0.007684
dR 1 Rの分散 0.00189
Nbin 50 Rの標準偏差 0.043468
距離R 度数 f( R ) f(R ) * dR
0 98 0.000098 0.000098
1 915 0.000915 0.000915
2 2983 0.002983 0.002983
3 7635 0.007635 0.007635
4 16162 0.016162 0.016162
5 29575 0.029575 0.029575
6 48908 0.048908 0.048908
7 72326 0.072326 0.072326
8 95762 0.095762 0.095762
9 116272 0.116272 0.116272
10 127157 0.127157 0.127157
11 127029 0.127029 0.127029
12 113466 0.113466 0.113466
13 90608 0.090608 0.090608
14 65588 0.065588 0.065588
15 42092 0.042092 0.042092
16 23761 0.023761 0.023761
17 11811 0.011811 0.011811
18 5145 0.005145 0.005145
19 1944 0.001944 0.001944
20 573 0.000573 0.000573
21 143 0.000143 0.000143
22 43 0.000043 0.000043
23 4 0.000004 0.000004
24 0 0 0
25 0 0 0
26 0 0 0
27 0 0 0
28 0 0 0
29 0 0 0
30 0 0 0
31 0 0 0
歩数 30 Rの平均値 15.5
標本 1000 R平均値の誤差 0.007637
dR 1 Rの分散 0.001867
Nbin 50 Rの標準偏差 0.043203
距離R 度数 f( R ) f(R ) * dR
0 0 0 0
1 1 0.001 0.001
2 2 0.002 0.002
3 11 0.011 0.011
4 25 0.025 0.025
5 28 0.028 0.028
6 46 0.046 0.046
7 74 0.074 0.074
8 103 0.103 0.103
9 115 0.115 0.115
10 124 0.124 0.124
11 124 0.124 0.124
12 118 0.118 0.118
13 84 0.084 0.084
14 64 0.064 0.064
15 37 0.037 0.037
16 27 0.027 0.027
17 7 0.007 0.007
18 6 0.006 0.006
19 2 0.002 0.002
20 1 0.001 0.001
21 1 0.001 0.001
22 0 0 0
23 0 0 0
24 0 0 0
25 0 0 0
26 0 0 0
27 0 0 0
28 0 0 0
29 0 0 0
30 0 0 0
31 0 0 0
9
■課題・今後の展望
○別の次元との比較
1 次元や 2 次元、それから可能であれば 4 次元以上を比較出来ると良い。
これを n 次元に拡張出来れば何かに応用が利くのではないだろうか。
○様々な歩数と標本数での比較
今回はどちらか一つを固定して考察を行ったが、両方をフレキシブルに変更し様々な検討を
行う事にも面白味がありそうであるし、実際の研究などでは必須事項であろうと思う。
○数式での比較
恐らく分布と歩数の関係については数学的な式を立てる事が可能である事はわかるのだが、
そういった場合どの様に考えて行けば良いのかわからず、手詰まりであった。
例えば参考文献で示した論文[ 1 ]では、
の様な数式を示しているが(二次元上?の分布の範囲?)こういった数式の立て方が
わからなかったので、今後の課題としたい。
○応用方法の検討
今回においても何か別の分野に応用が出来るのではと考えたが、なかなか浮かばなかったため
知識不足感が顕著で否めない所であった。
■結び
今回は一~二世紀前とは言え学者達が悩んだ問題に実際に自ら挑戦する様な課題であった。
しかし自らが考えうる範囲の考察は幅が非常に狭く、実際の論文などを読むと如何に高レベルに
検討が行われているかについて大変驚いた次第である。しかし格が違うとは言え考え方によっては
過去の研究者たちと肩を並べて作業をしているような感覚に陥り大変昂揚したので、実際に自分が研究
を行う時などもこういった昂揚感を忘れず取り組みたい。として、本レポートの結びとする。
■参考文献
[ 1 ] Chris H. Rycroft (and Martin Z. Bazant) 2005 .
“Lecture 1: Introduction to Random Walks and Diffusion”
http://ocw.mit.edu/courses/mathematics/18-366-random-walks-and-diffusion-fall-2006/lecture-notes/l
ec01.pdf

More Related Content

Viewers also liked (16)

Prova no planejamento 08 04-13- dra. fabiana
Prova no planejamento 08 04-13- dra. fabianaProva no planejamento 08 04-13- dra. fabiana
Prova no planejamento 08 04-13- dra. fabiana
 
Kaspersky sin llaves
Kaspersky sin llavesKaspersky sin llaves
Kaspersky sin llaves
 
Iprincipinutritivi 121212123144-phpapp01
Iprincipinutritivi 121212123144-phpapp01Iprincipinutritivi 121212123144-phpapp01
Iprincipinutritivi 121212123144-phpapp01
 
Aula dr. fabricio 16-10-14
Aula dr. fabricio   16-10-14Aula dr. fabricio   16-10-14
Aula dr. fabricio 16-10-14
 
第1回勉強会
第1回勉強会第1回勉強会
第1回勉強会
 
Ta krisen i mobilen
Ta krisen i mobilenTa krisen i mobilen
Ta krisen i mobilen
 
Flemming Koch hos Aalborg Universitet
Flemming Koch hos Aalborg UniversitetFlemming Koch hos Aalborg Universitet
Flemming Koch hos Aalborg Universitet
 
μουσικη
μουσικημουσικη
μουσικη
 
IQ Test
IQ Test IQ Test
IQ Test
 
12907
1290712907
12907
 
Grupo B
Grupo BGrupo B
Grupo B
 
medioambiente_jesusmartinpuebla
medioambiente_jesusmartinpueblamedioambiente_jesusmartinpuebla
medioambiente_jesusmartinpuebla
 
Aviso Oportuno
Aviso OportunoAviso Oportuno
Aviso Oportuno
 
Kriptografi - Advanced Encryption Standard
Kriptografi - Advanced Encryption StandardKriptografi - Advanced Encryption Standard
Kriptografi - Advanced Encryption Standard
 
Identikit de un sitio
Identikit de un sitioIdentikit de un sitio
Identikit de un sitio
 
New Doc_1
New Doc_1New Doc_1
New Doc_1
 

Similar to Simulation_assignment9

独立成分分析とPerfume
独立成分分析とPerfume独立成分分析とPerfume
独立成分分析とPerfumeYurie Oka
 
Scis2017 2007-01-27-02
Scis2017 2007-01-27-02Scis2017 2007-01-27-02
Scis2017 2007-01-27-02Ruo Ando
 
九九の表についての研究
九九の表についての研究九九の表についての研究
九九の表についての研究Tomoyoshi HIRATA
 
Usd20180225
Usd20180225Usd20180225
Usd20180225TomoyaF
 
Simulation_assignment2
Simulation_assignment2Simulation_assignment2
Simulation_assignment2T2C_
 
評価とその研究方法について
評価とその研究方法について評価とその研究方法について
評価とその研究方法についてSato Yoshiharu
 
219651800 viga-metodo-de-cross
219651800 viga-metodo-de-cross219651800 viga-metodo-de-cross
219651800 viga-metodo-de-crossMichel Rodriguez
 
97131896 diseno-de-una-viga-x-metodo-de-cross
97131896 diseno-de-una-viga-x-metodo-de-cross97131896 diseno-de-una-viga-x-metodo-de-cross
97131896 diseno-de-una-viga-x-metodo-de-crossMichel Rodriguez
 
Arquitectura final beatriz martinez
Arquitectura final beatriz martinezArquitectura final beatriz martinez
Arquitectura final beatriz martinezROXANABRAEZ
 
文献紹介:CutDepth: Edge-aware Data Augmentation in Depth Estimation
文献紹介:CutDepth: Edge-aware Data Augmentation in Depth Estimation文献紹介:CutDepth: Edge-aware Data Augmentation in Depth Estimation
文献紹介:CutDepth: Edge-aware Data Augmentation in Depth EstimationToru Tamaki
 
[db tech showcase Tokyo 2015] A14:Amazon Redshiftの元となったスケールアウト型カラムナーDB徹底解説 その...
[db tech showcase Tokyo 2015] A14:Amazon Redshiftの元となったスケールアウト型カラムナーDB徹底解説 その...[db tech showcase Tokyo 2015] A14:Amazon Redshiftの元となったスケールアウト型カラムナーDB徹底解説 その...
[db tech showcase Tokyo 2015] A14:Amazon Redshiftの元となったスケールアウト型カラムナーDB徹底解説 その...Insight Technology, Inc.
 

Similar to Simulation_assignment9 (20)

独立成分分析とPerfume
独立成分分析とPerfume独立成分分析とPerfume
独立成分分析とPerfume
 
Scis2017 2007-01-27-02
Scis2017 2007-01-27-02Scis2017 2007-01-27-02
Scis2017 2007-01-27-02
 
九九の表についての研究
九九の表についての研究九九の表についての研究
九九の表についての研究
 
Usd20180225
Usd20180225Usd20180225
Usd20180225
 
Report 131211
Report 131211Report 131211
Report 131211
 
Report 131211
Report 131211Report 131211
Report 131211
 
Report 131211
Report 131211Report 131211
Report 131211
 
Report 131211
Report 131211Report 131211
Report 131211
 
Report lmsd 131210
Report lmsd 131210Report lmsd 131210
Report lmsd 131210
 
論理回路2017 no.6
論理回路2017 no.6論理回路2017 no.6
論理回路2017 no.6
 
Simulation_assignment2
Simulation_assignment2Simulation_assignment2
Simulation_assignment2
 
AHC
AHCAHC
AHC
 
評価とその研究方法について
評価とその研究方法について評価とその研究方法について
評価とその研究方法について
 
1 1
1 11 1
1 1
 
計算機理論入門05
計算機理論入門05計算機理論入門05
計算機理論入門05
 
219651800 viga-metodo-de-cross
219651800 viga-metodo-de-cross219651800 viga-metodo-de-cross
219651800 viga-metodo-de-cross
 
97131896 diseno-de-una-viga-x-metodo-de-cross
97131896 diseno-de-una-viga-x-metodo-de-cross97131896 diseno-de-una-viga-x-metodo-de-cross
97131896 diseno-de-una-viga-x-metodo-de-cross
 
Arquitectura final beatriz martinez
Arquitectura final beatriz martinezArquitectura final beatriz martinez
Arquitectura final beatriz martinez
 
文献紹介:CutDepth: Edge-aware Data Augmentation in Depth Estimation
文献紹介:CutDepth: Edge-aware Data Augmentation in Depth Estimation文献紹介:CutDepth: Edge-aware Data Augmentation in Depth Estimation
文献紹介:CutDepth: Edge-aware Data Augmentation in Depth Estimation
 
[db tech showcase Tokyo 2015] A14:Amazon Redshiftの元となったスケールアウト型カラムナーDB徹底解説 その...
[db tech showcase Tokyo 2015] A14:Amazon Redshiftの元となったスケールアウト型カラムナーDB徹底解説 その...[db tech showcase Tokyo 2015] A14:Amazon Redshiftの元となったスケールアウト型カラムナーDB徹底解説 その...
[db tech showcase Tokyo 2015] A14:Amazon Redshiftの元となったスケールアウト型カラムナーDB徹底解説 その...
 

More from T2C_

Back propagation
Back propagationBack propagation
Back propagationT2C_
 
単純パーセプトロン
単純パーセプトロン単純パーセプトロン
単純パーセプトロンT2C_
 
インターンシップ成果報告会 発表資料
インターンシップ成果報告会 発表資料インターンシップ成果報告会 発表資料
インターンシップ成果報告会 発表資料T2C_
 
インターンシップ成果報告(修正前)
インターンシップ成果報告(修正前)インターンシップ成果報告(修正前)
インターンシップ成果報告(修正前)T2C_
 
Should Japanese Education Be Vocational Training School?
Should Japanese Education Be Vocational Training School?Should Japanese Education Be Vocational Training School?
Should Japanese Education Be Vocational Training School?T2C_
 
Hello deeplearning!
Hello deeplearning!Hello deeplearning!
Hello deeplearning!T2C_
 
就活活動ゼミ プレゼンテーション2
就活活動ゼミ プレゼンテーション2就活活動ゼミ プレゼンテーション2
就活活動ゼミ プレゼンテーション2T2C_
 
就職活動ゼミ プレゼンテーション1
就職活動ゼミ プレゼンテーション1就職活動ゼミ プレゼンテーション1
就職活動ゼミ プレゼンテーション1T2C_
 
Parallel Computation Foundation's assignment 2
Parallel Computation Foundation's assignment 2Parallel Computation Foundation's assignment 2
Parallel Computation Foundation's assignment 2T2C_
 
Parallel Computation Foundation's assignment 1
Parallel Computation Foundation's assignment 1Parallel Computation Foundation's assignment 1
Parallel Computation Foundation's assignment 1T2C_
 
Simulation_Report1
Simulation_Report1Simulation_Report1
Simulation_Report1T2C_
 
論文読解:クイズ王ワトソン
論文読解:クイズ王ワトソン論文読解:クイズ王ワトソン
論文読解:クイズ王ワトソンT2C_
 
Spmv9forpublic
Spmv9forpublicSpmv9forpublic
Spmv9forpublicT2C_
 

More from T2C_ (13)

Back propagation
Back propagationBack propagation
Back propagation
 
単純パーセプトロン
単純パーセプトロン単純パーセプトロン
単純パーセプトロン
 
インターンシップ成果報告会 発表資料
インターンシップ成果報告会 発表資料インターンシップ成果報告会 発表資料
インターンシップ成果報告会 発表資料
 
インターンシップ成果報告(修正前)
インターンシップ成果報告(修正前)インターンシップ成果報告(修正前)
インターンシップ成果報告(修正前)
 
Should Japanese Education Be Vocational Training School?
Should Japanese Education Be Vocational Training School?Should Japanese Education Be Vocational Training School?
Should Japanese Education Be Vocational Training School?
 
Hello deeplearning!
Hello deeplearning!Hello deeplearning!
Hello deeplearning!
 
就活活動ゼミ プレゼンテーション2
就活活動ゼミ プレゼンテーション2就活活動ゼミ プレゼンテーション2
就活活動ゼミ プレゼンテーション2
 
就職活動ゼミ プレゼンテーション1
就職活動ゼミ プレゼンテーション1就職活動ゼミ プレゼンテーション1
就職活動ゼミ プレゼンテーション1
 
Parallel Computation Foundation's assignment 2
Parallel Computation Foundation's assignment 2Parallel Computation Foundation's assignment 2
Parallel Computation Foundation's assignment 2
 
Parallel Computation Foundation's assignment 1
Parallel Computation Foundation's assignment 1Parallel Computation Foundation's assignment 1
Parallel Computation Foundation's assignment 1
 
Simulation_Report1
Simulation_Report1Simulation_Report1
Simulation_Report1
 
論文読解:クイズ王ワトソン
論文読解:クイズ王ワトソン論文読解:クイズ王ワトソン
論文読解:クイズ王ワトソン
 
Spmv9forpublic
Spmv9forpublicSpmv9forpublic
Spmv9forpublic
 

Simulation_assignment9

  • 1. 提出日:2014 年 7 月 26 日 課題 9 T2C_(Twitter: @T2C_)
  • 2. 1 ■課題内容 3 次元のピアソン問題[ 1 ]を解くプログラムを作り、歩数と到達距離の関係を調べる。 歩数を変え到達距離 R の確率分布、平均値、標準偏差から考察する。 ■ピアソン問題 ○計算内容・概要 ある点(原点 O)から出発して決められた歩数(n 回)分ランダムに動いた時の到達点が 半径 r と r + dR の間(図の円と円の間の部分)である確率はどれほどであるか、という問題。 元の問題では 1 回 1 ヤードとしているが簡単のため単位は省略した。 図 1 半径 r と r+dR の範囲 これは 2 次元上であるが、今回の課題では 3 次元上でのシミュレーションを行う。 (図は描画が難しいので割愛) 3 次元上で動かす為に、X 方向、Y 方向、Z 方向の 3 成分を持つ単位ベクトル(一歩分)を生成する。 まず一様乱数ξ1,2,3 を発生させ、3 つの変数(u,v,w とする)にそれぞれ u = 2 *ξ1 - 1 , v = 2 *ξ2 -1 , w = ξ3 を代入し、u,v,w それぞれ 2 乗したものの和が 1 を下回った場合に cosθ1 = 2 * u * w / d , cosθ2 = 2 * v * w / d , cosθ3 = (w2 -u2-v2) / d とする事で、単位ベクトルの 3 成分が生成される。 これを用いて、距離を歩数を最大値としてビン数で割った分に分割し、確率密度を調べる。 dR 半径 r
  • 3. 2 以上を踏まえて VBA(Excel2010 上)でプログラミングを行った。 ――――― 以下 ソースコード ――――― Const Nbin As Integer = 30, _ Nbin1 As Integer = Nbin + 1, _ X0 As Double = 0#, _ Y0 As Double = 0#, _ Z0 As Double = 0# Function Randomwalk3D() 'place Dim R(0 To Nbin1) As Double, X As Double, Y As Double, Z As Double Dim Nstep As Integer, Nsample As Long, i As Long, j As Long Dim xi1 As Double, xi2 As Double, xi3 As Double, P As Double 'p = f(R) 'result of calculation(xi1,xi2,xi3) , to judge, dR = Nstep/Nbin, distance Dim u As Double, v As Double, w As Double, _ d As Double, dist As Double, dR As Double 'element of vector & IR = Int(Z/dR) Dim costh1 As Double, costh2 As Double, costh3 As Double, IR As Integer Randomize With Sheet1 Nstep = .Cells(2, 3) Nsample = .Cells(3, 3) dR = Nstep / Nbin .Cells(4, 3) = dR
  • 4. 3 For i = 1 To Nsample X = X0 Y = Y0 Z = Z0 For j = 1 To Nstep Do xi1 = Rnd() xi2 = Rnd() xi3 = Rnd() u = 2 * xi1 - 1 v = 2 * xi2 - 1 w = xi3 d = u ^ 2 + v ^ 2 + w ^ 2 Loop Until d <= 1 costh1 = 2 * u * w / d costh2 = 2 * v * w / d costh3 = (w ^ 2 - u ^ 2 - v ^ 2) / d X = X + costh1 Y = Y + costh2 Z = Z + costh3 Next j dist = Sqr(X ^ 2 + Y ^ 2 + Z ^ 2) IR = Int(dist / dR) If IR > Nbin Then R(Nbin1) = R(Nbin1) + 1 Else R(IR) = R(IR) + 1 End If Next i
  • 5. 4 For IR = 0 To Nbin1 P = R(IR) / Nsample .Cells(IR + 9, 2) = IR * dR .Cells(IR + 9, 3) = R(IR) .Cells(IR + 9, 4) = P .Cells(IR + 9, 5) = P * dR Next IR End With End Function ――――― ソースコード 終わり ――――― ○実行結果 ここで、R の確率分布はソースコード上で算出しているが、 平均値、誤差、分散、標準誤差は Excel 上の関数(以下に列挙)を用いて算出した。 ・平均 =AVERAGE( 範囲 ) ・誤差 =STDEV.P( 範囲 ) / SQRT( COUNT( 同範囲 ) ) ・分散 =VAR.P( 範囲 ) ・標準偏差 =STDEV.P(範囲) また実行結果は以下の様になった。 表 1 歩数 3、標本数 10 万、Nbin50 での結果(平均など) 歩数 3 Rの平均値 1.55 標本 100000 R平均値の誤差 0.003397 dR 0.1 Rの分散 0.000369 Nbin 50 Rの標準偏差 0.019215
  • 6. 5 表 2 歩数 3、標本数 10 万、Nbin50 での結果(度数、確率分布) 図 2 表 2 のグラフ化 ここで、歩数を超えた距離 R(表 2 で言えば 3.1)は Overflow であるとする。 ■考察 今回は 3 次元上でのピアソン問題を試行するプログラムを作成した。 実験結果の項で記した結果を鑑みるに、概ね正規分布の様な形を取っている様に思える。 しかし 1 試行だけでは特徴が見えて来ないので幾つかのパターンを試みる。 距離R 度数 f( R ) f(R ) * dR 0 7 0.00007 0.000007 0.1 77 0.00077 0.000077 0.2 186 0.00186 0.000186 0.3 392 0.00392 0.000392 0.4 632 0.00632 0.000632 0.5 1032 0.01032 0.001032 0.6 1501 0.01501 0.001501 0.7 1879 0.01879 0.001879 0.8 2635 0.02635 0.002635 0.9 3431 0.03431 0.003431 1 3886 0.03886 0.003886 1.1 4100 0.041 0.0041 1.2 4318 0.04318 0.004318 1.3 4740 0.0474 0.00474 1.4 4651 0.04651 0.004651 1.5 4825 0.04825 0.004825 1.6 5105 0.05105 0.005105 1.7 5142 0.05142 0.005142 1.8 4935 0.04935 0.004935 1.9 5160 0.0516 0.00516 2 5222 0.05222 0.005222 2.1 5103 0.05103 0.005103 2.2 5066 0.05066 0.005066 2.3 4831 0.04831 0.004831 2.4 4623 0.04623 0.004623 2.5 4514 0.04514 0.004514 2.6 4001 0.04001 0.004001 2.7 3444 0.03444 0.003444 2.8 2889 0.02889 0.002889 2.9 1673 0.01673 0.001673 3 0 0 0 3.1 0 0 0
  • 7. 6 図 3 歩数 5 での結果 図 4 歩数 10 での結果 歩数 5 になると少しずつなだらかに、10 になると中央に少しずつ集まっている事がわかる。 しかし図 3 での平均値は 5.166666667 であり、明らかに平均とはズレている事がわかる。 図 5 歩数 30 での結果 図 6 歩数 100 での結果 歩数 5 以降はなだらかでなく勾配が急になっていくので歩数 3~5 の辺りは少し特異な例である事が 推測出来る。また、歩数が増える毎に明らかに最小値 0、最大値 100 に近い所の度数は減っており、 また度数の高い中心部は完全に平均値から外れ、概ね最大値(歩数)の 3 分の 1 程度の値の所に 収束しているのが見て取れる。つまり到達距離は歩数 / 3 に近い所を中心に正規分布すると見れる。 これは原点からスタートした時、戻る方向も加味した時に成分(次元)が 3 つなので、相殺して収束す るのがおよそ次元分の1の所だからでは無いだろうか。 しかしそれであれば1次元の時1に収束する事になり、多少なり直感とズレがあるので何処かしら修整 する余地はあるだろう。2次元の時は2分の1、つまり歩数 / 2 に収束する事が直感的に想像出来るので 良いかもしれない。また授業で教わった問題の様に壁があるとまた違った分布になることが推察出来る。
  • 8. 7 次に、歩数が少なかったり多かったりすると変なバイアスがかかる可能性があるので、 歩数は 30 で固定し標本数の違いについて考察する。 図 7 歩数 30、標本数 10000 での結果 図 8 歩数 30、標本数 1000 での結果 分布を見てわかるように、歩数 30 においては標本数を 10000(図 7)、1000(図 8)にしても 大きな差は見られない事がわかる。標本数 100(図 9)でようやく明らかな差が出るが、標本数 100 は直 感的に考えても明らかに少ないので実際に試行する回数としての考慮からは外すべきだろう。 また標本数を 1000000(図 8)にしても分布に大きな差は見られない(比較は後述)。 結論として、この問題の歩数 30 の結果から見る限りでは、標本数は 1000 で十分であり、 時間が大幅に短縮出来る可能性が見込める。 図 9 歩数 30、標本数 100 での結果 図 10 歩数 30、標本数 1000000 での結果
  • 9. 8 実際に標本数 1000 と 1000000 の結果を比較すると、 表 3 標本数 1000 の結果1 表4 標本数 1000000 の結果1 と、誤差、分散、標準偏差に大きな違いが見られない事がわかる。実際の値を見ても、 表 5 標本数 1000 の結果 2 表 6 標本数 1000000 の結果 2 と大きなズレはない事がわかる。 歩数 30 Rの平均値 15.5 標本 1000000 R平均値の誤差 0.007684 dR 1 Rの分散 0.00189 Nbin 50 Rの標準偏差 0.043468 距離R 度数 f( R ) f(R ) * dR 0 98 0.000098 0.000098 1 915 0.000915 0.000915 2 2983 0.002983 0.002983 3 7635 0.007635 0.007635 4 16162 0.016162 0.016162 5 29575 0.029575 0.029575 6 48908 0.048908 0.048908 7 72326 0.072326 0.072326 8 95762 0.095762 0.095762 9 116272 0.116272 0.116272 10 127157 0.127157 0.127157 11 127029 0.127029 0.127029 12 113466 0.113466 0.113466 13 90608 0.090608 0.090608 14 65588 0.065588 0.065588 15 42092 0.042092 0.042092 16 23761 0.023761 0.023761 17 11811 0.011811 0.011811 18 5145 0.005145 0.005145 19 1944 0.001944 0.001944 20 573 0.000573 0.000573 21 143 0.000143 0.000143 22 43 0.000043 0.000043 23 4 0.000004 0.000004 24 0 0 0 25 0 0 0 26 0 0 0 27 0 0 0 28 0 0 0 29 0 0 0 30 0 0 0 31 0 0 0 歩数 30 Rの平均値 15.5 標本 1000 R平均値の誤差 0.007637 dR 1 Rの分散 0.001867 Nbin 50 Rの標準偏差 0.043203 距離R 度数 f( R ) f(R ) * dR 0 0 0 0 1 1 0.001 0.001 2 2 0.002 0.002 3 11 0.011 0.011 4 25 0.025 0.025 5 28 0.028 0.028 6 46 0.046 0.046 7 74 0.074 0.074 8 103 0.103 0.103 9 115 0.115 0.115 10 124 0.124 0.124 11 124 0.124 0.124 12 118 0.118 0.118 13 84 0.084 0.084 14 64 0.064 0.064 15 37 0.037 0.037 16 27 0.027 0.027 17 7 0.007 0.007 18 6 0.006 0.006 19 2 0.002 0.002 20 1 0.001 0.001 21 1 0.001 0.001 22 0 0 0 23 0 0 0 24 0 0 0 25 0 0 0 26 0 0 0 27 0 0 0 28 0 0 0 29 0 0 0 30 0 0 0 31 0 0 0
  • 10. 9 ■課題・今後の展望 ○別の次元との比較 1 次元や 2 次元、それから可能であれば 4 次元以上を比較出来ると良い。 これを n 次元に拡張出来れば何かに応用が利くのではないだろうか。 ○様々な歩数と標本数での比較 今回はどちらか一つを固定して考察を行ったが、両方をフレキシブルに変更し様々な検討を 行う事にも面白味がありそうであるし、実際の研究などでは必須事項であろうと思う。 ○数式での比較 恐らく分布と歩数の関係については数学的な式を立てる事が可能である事はわかるのだが、 そういった場合どの様に考えて行けば良いのかわからず、手詰まりであった。 例えば参考文献で示した論文[ 1 ]では、 の様な数式を示しているが(二次元上?の分布の範囲?)こういった数式の立て方が わからなかったので、今後の課題としたい。 ○応用方法の検討 今回においても何か別の分野に応用が出来るのではと考えたが、なかなか浮かばなかったため 知識不足感が顕著で否めない所であった。 ■結び 今回は一~二世紀前とは言え学者達が悩んだ問題に実際に自ら挑戦する様な課題であった。 しかし自らが考えうる範囲の考察は幅が非常に狭く、実際の論文などを読むと如何に高レベルに 検討が行われているかについて大変驚いた次第である。しかし格が違うとは言え考え方によっては 過去の研究者たちと肩を並べて作業をしているような感覚に陥り大変昂揚したので、実際に自分が研究 を行う時などもこういった昂揚感を忘れず取り組みたい。として、本レポートの結びとする。 ■参考文献 [ 1 ] Chris H. Rycroft (and Martin Z. Bazant) 2005 . “Lecture 1: Introduction to Random Walks and Diffusion” http://ocw.mit.edu/courses/mathematics/18-366-random-walks-and-diffusion-fall-2006/lecture-notes/l ec01.pdf