SlideShare a Scribd company logo
1 of 17
Download to read offline
提出日:2014年5月10日
第一回課題
T2C_ (Twitter: @T2C_)
1
■課題内容
2 次元単体(今回は三角形)内の点の位置を探索する時、
Systematic 法と Monte Carlo 法、どちらが有利であるか。
三角形 ABC の 3 つの頂点までの距離の合計Lが最小となる点Xの探索を基に考察する。
■Systematic 法
○計算内容・概要
乱数的に求める Monte Carlo 法に比べ、こちらは線分を一定数に分割し図形内に格子を形成し、その交
点上からの各頂点への距離を順次求めてゆくアプローチを取る。
具体的には
1.まず線分 AB を n(指定した数値)等分し、n:n-i に内分する点を I とする
2.線分 IC を j(同じく指定した数値)等分し、j:j-i に内分する点を J とする
3.I、J をずらして行き JA+JB+JC を求める。最小値を保持して置き最後に出力
またこの場合であるとどうしても頂点 C に近づくにつれ点が集約され偏りが出る事が予想出来る為、今
回は一様に分布する方を実装し考察を行うこととした。
具体的には
1.上記と同じく AB を n:n-i に内分する点を I とする
2.線分 AC を j:j-i に内分する点を J とする
3.こうする事によって点 X の取りうる位置の幅が広がり、一様に格子を配置出来るので、その中で三
角形の部分を抽出する(三角形をはみ出した場合反転させるようにする)
4.上記と同じく I、J をずらして行き一定範囲内の AX+BX+CX の最小値を保持する
とする。
以下に実際に実装した実装例としてソースコードを示す。
Microsoft Office Excel 2010 上で VBA を用いてプログラミングを行った。
2
――――― 以下 ソースコード ―――――
Function Systematic()
Dim Ax, Ay, Bx, By, Cx, Cy As Double '座標
Dim Zx, Zy As Double '調べる点の座標
Dim N As Double '試行回数
Dim L, Lmin As Double '最小の距離
Dim i, j As Integer '繰り返し制御
Dim p, q, r As Double '
Dim dist1, dist2, dist3 As Double '座標間の距離
Lmin = 1000#
With Sheet1
'座標、試行回数読み込み
Ax = .Cells(4, 2)
Ay = .Cells(4, 3)
Bx = .Cells(5, 2)
By = .Cells(5, 3)
Cx = .Cells(6, 2)
Cy = .Cells(6, 3)
N = Sqr(Cells(4, 5))
For i = 1 To N - 1
For j = 1 To N
p = (N - i - j) / N
q = i / N
r = j / N
3
If p < 0 Then
p = -p
q = 1 - q
r = 1 - r
End If
Zx = p * Ax + q * Bx + r * Cx
Zy = p * Ay + q * By + r * Cy
dist1 = Sqr((Zx - Ax) ^ 2 + (Zy - Ay) ^ 2)
dist2 = Sqr((Zx - Bx) ^ 2 + (Zy - By) ^ 2)
dist3 = Sqr((Zx - Cx) ^ 2 + (Zy - Cy) ^ 2)
L = dist1 + dist2 + dist3
If L < Lmin Then
Lmin = L
.Cells(4, 8) = Zx
.Cells(4, 9) = Zy
End If
.Cells(5 + ((i - 1) * N) + j - 1, 11) = L
.Cells(5 + ((i - 1) * N) + j - 1, 12) = Zx
.Cells(5 + ((i - 1) * N) + j - 1, 13) = Zy
Next j
Next i
.Cells(4, 7) = Lmin
End With
End Function
――――― ソースコード 終わり ―――――
4
○実行結果
試行回数は全て 400 回(20 * 20)で行った。
・正三角形
・二等辺三角形
・直角三角形
・鋭角な三角形
・ランダムに 3 頂点を生成した三角形
(1~10 までの一様な整数の乱数 ==RANDBETWEEN(1,10) で生成 )
をサンプルとして与える。
・正三角形
・二等辺三角形
x y
A 2 0
B 0 2
C 2.7321 2.7321
頂点の座標
最小値
Lmin x y
4.9021 1.656 1.556218
座標
x y
A 0 0
B 4 0
C 2 3
頂点の座標
最小値
Lmin x y
6.4648 2 1.2
座標
5
・直角三角形
・鋭角な三角形(x 軸が長い)
・鋭角な三角形(y 軸が長い)
x y
A 0 0
B 1 0
C 0 3
頂点の座標
最小値
Lmin x y
3.8995 0.35 0.3
座標
x y
A 0 0
B 0 1
C 100 0
頂点の座標
最小値
Lmin x y
101 0 0
座標
x y
A 0 0
B 1 0
C 0 100
頂点の座標
Lmin x y
101 0 0
6
・ランダムに 3 頂点を生成した三角形 ( 1 )
・ランダムに 3 頂点を生成した三角形 ( 2 )
・ランダムに 3 頂点を生成した三角形 ( 3 )
x y
A 3 10
B 5 2
C 8 8
頂点の座標
最小値
Lmin x y
11.55 6.15 7.3
座標
x y
A 6 8
B 1 4
C 2 3
頂点の座標
最小値
Lmin x y
7.5969 1.7 3.75
座標
x y
A 3 1
B 8 6
C 7 10
頂点の座標
最小値
Lmin x y
11.224 7.65 6.15
座標
7
・ランダムに 3 頂点を生成した三角形 ( 4 )
・ランダムに 3 頂点を生成した三角形 ( 5 )
・ランダムに 3 頂点を生成した三角形 ( 6 )
x y
A 8 8
B 6 4
C 9 2
頂点の座標
最小値
Lmin x y
7.9193 6.9 4.2
座標
x y
A 7 8
B 10 8
C 8 9
頂点の座標
最小値
Lmin x y
3.6346 8.05 8.75
座標
x y
A 8 5
B 7 3
C 3 3
頂点の座標
最小値
Lmin x y
6.2382 6.9 3.2
座標
8
■Monte Carlo 法
○計算内容・概要
格子を形成し規則的に調べていく Systematic 法に比べ、こちらはランダムに図形内に点を生成し
その点からの距離を調べるアプローチを取るものである。
具体的には
1.三角形 ABC の頂点と内部の点 X の位置ベクトルの関係を利用し、乱数を用いて
三角形内にランダムに点 X を配置する
2.L = AX + BX + CX を求める
3.これまでの最小値と比較し、最小となる L、Lmin を抽出し出力する
以下に実際に実装した実装例としてソースコードを示す。
Systematic法の実装時と同様にMicrosoft Office Excel 2010でVBAを用いてプログラミングを行った。
――――― 以下 ソースコード ―――――
Function montecarlo()
Dim i, N, count As Integer '繰り返し制御
Dim Ax, Ay, Bx, By, Cx, Cy As Integer '頂点座標
Dim Zx, Zy As Double '生成した座標
Dim L, Lmin As Double '最小距離
Dim rand1, rand2, rand3, fact As Double '乱数用
Dim dist1, dist2, dist3 '距離用
Randomize
With Sheet1
Ax = .Cells(3, 2)
Ay = .Cells(3, 3)
Bx = .Cells(4, 2)
By = .Cells(4, 3)
Cx = .Cells(5, 2)
Cy = .Cells(5, 3)
N = .Cells(3, 5)
9
Lmin = 999#
For i = 1 To N
rand1 = Rnd()
rand2 = Rnd()
rand3 = Rnd()
fact = 1 / (rand1 + rand2 + rand3)
rand1 = rand1 * fact
rand2 = rand2 * fact
rand3 = rand3 * fact
Zx = rand1 * Ax + rand2 * Bx + rand3 * Cx
Zy = rand1 * Ay + rand2 * By + rand3 * Cy
dist1 = Sqr((Ax - Zx) ^ 2 + (Ay - Zy) ^ 2)
dist2 = Sqr((Bx - Zx) ^ 2 + (By - Zy) ^ 2)
dist3 = Sqr((Cx - Zx) ^ 2 + (Cy - Zy) ^ 2)
L = dist1 + dist2 + dist3
.Cells(i + 2, 11) = Zx
.Cells(i + 2, 12) = Zy
If L < Lmin Then
Lmin = L
.Cells(3, 7) = Lmin
.Cells(3, 8) = Zx
.Cells(3, 9) = Zy
End If
Next i
End With
End Function
――――― 以下 ソースコード終わり ―――――
10
○実行結果
今回は Systematic 法に合わせる形で試行回数は全て 400 回で行った。
また調べる三角形も同様に
・正三角形
・二等辺三角形
・直角三角形
・鋭角な三角形
・ランダムに 3 頂点を生成した三角形
とし、サンプルとして与える。比較のため座標も全く同様にした。
・正三角形
・二等辺三角形
x y
A 2 0
B 0 2
C 2.73 2.73
頂点の座標
最小値 座標
Lmin x y
5.092643 1.480856 1.622925
x y
A 0 0
B 4 0
C 2 3
頂点の座標
最小値 座標
Lmin x y
6.465358 2.054128 1.132372
11
・直角三角形
・鋭角な三角形(x 軸が長い)
・鋭角な三角形(y 軸が長い)
x y
A 0 0
B 1 0
C 0 3
頂点の座標
最小値 座標
Lmin x y
3.90018 0.392476 0.249627
x y
A 0 0
B 0 1
C 100 0
頂点の座標
最小値 座標
Lmin x y
100.8783 0.20888 0.404448
x y
A 0 0
B 1 0
C 0 100
頂点の座標
最小値 座標
Lmin x y
100.8741 0.406212 0.232187
12
・ランダムに 3 頂点を生成した三角形( 1 )
・ランダムに 3 頂点を生成した三角形( 2 )
・ランダムに 3 頂点を生成した三角形( 3 )
x y
A 3 10
B 5 2
C 8 8
頂点の座標
最小値 座標
Lmin x y
11.54894 6.010303 7.277972
x y
A 6 8
B 1 4
C 2 3
頂点の座標
最小値 座標
Lmin x y
7.590946 1.727644 3.793848
x y
A 3 1
B 8 6
C 7 10
頂点の座標
最小値 座標
Lmin x y
11.2357 7.614158 6.199017
13
・ランダムに 3 頂点を生成した三角形( 4 )
・ランダムに 3 頂点を生成した三角形( 5 )
・ランダムに 3 頂点を生成した三角形( 6 )
x y
A 8 8
B 6 4
C 9 2
頂点の座標
最小値 座標
Lmin x y
7.920299 6.876857 4.171129
x y
A 7 8
B 10 8
C 8 9
頂点の座標
最小値 座標
Lmin x y
3.637884 8.055263 8.704134
x y
A 8 5
B 7 3
C 3 3
頂点の座標
最小値 座標
Lmin x y
6.246738 6.828555 3.264429
14
■考察
まずは両方法における精度の高さを比較する。
今回の場合は Lmin の値が低い方がより精度が高い(○を記述)とする。
表1 Systematic と Monte Carlo の Lmin の値比較(試行回数 400 回)
上記の表からわかる通り、試行回数 400 回における差異はそこまで認められず、
また各 Lmin の値を比較してわかる通り、Lmin の値自体にも、あくまで座標の値の大きさ、
つまり三角形の大きさとの比率で見て、ではあるが、大きな差は認められなかった。
ゆえに試行回数を増やしても圧倒的にどちらが有利と言い切れる差が出るとは断定し切れない事が予測
出来る。
しかし観点別に見ると若干ながら差異が出る。
実用上の観点から見ると、例えば乱数を用いた方法、つまり Monte Carlo 法の方は、
出力したデータと同じ出力データを再び出力出来ない、つまり再現性が低く、
また数理的な証明に利用する場合にその正当性の保証が大変難しくなると言う難点が予想出来る。
またその時々によって精度の良さが左右されるので、試行回数を十分大きくしなければ
大きな偏りが出る可能性が否定出来ない所もある事を今回より実践的に理解出来たと言える。
加えて今回は Monte Carlo 法を実装するに当たって一様性を持たせられなかったので、
どうしても頂点付近の点が少なくなる、つまりその点でも偏りが出てしまったが、
これが有利に働く可能性も否定はし切れないことが考えられる。このデータの偏りは恐らく中心極限定
理に拠るものでは無いだろうか。
Systematic Monte Carlo
正三角形 ○
二等辺三角形 ○
直角三角形 ○
鋭角な三角形(x軸に長い) ○
鋭角な三角形(y軸に長い) ○
ランダムな三角形(1) ○
ランダムな三角形(2) ○
ランダムな三角形(3) ○
ランダムな三角形(4) ○
ランダムな三角形(5) ○
ランダムな三角形(6) ○
種類
方法
精度比較
15
一方で、出力手法に重みを置かずただ結果のみを採用する場合や、今回のシミュレーションにおいては
例えば大きな三角形の場合であると、Systematic 法よりも Monte Carlo 法の方が良いとも考えられる。
今回それを検証するため、x 軸に極端に長い鋭角な三角形、y 軸に極端に長い鋭角な三角形を用いて
比較を行ったが、予測通り Monte Carlo 法の方が精度が高かった。これは Systematic で大きな三角形を
格子状に分割する際、そのマス目は試行回数と反比例するように巨大化し、より効率的な箇所も飛ばし
て比較を行うためであることが考えられる。しかし予測ほど実測値に開きが出なかったので、この点に
おいては議論の余地が大幅に残されているとし要検証であるだろう。
結論として、今回の実験では Systematic、Monte Carlo、どちらの手法も大きな差異は見受けられない
が、実際に活用していく際に使い分けてゆく必要性を見つめることが出来た。
■課題・今後の展望
今回の実験では、数え切れないほど多くの課題を残し、検証も大変に不十分であった。
しかし見えてくるものも多かったのでそれらに関しても考察・記述する。
○三角形の種類の選定
今回、こういった実験に対し目測や予測の経験の無さ、不十分さを十二分に痛感した。
まずこういった場合どういう観点で枠組みを決めれば良いのかわからず、三角形の種類と、差異が出そ
うな種を幾つか挙げるに留まったが、本来であれば考え得る限りの枠組みで検証してみるべきであった
と感じた。その点で言えば x 軸のみ極端に大きい、y 軸のみ極端に大きい、などは非常に好例であったが
例えば乱数で頂点を生成するなどは不必要とまでは行かないが意義が不足している印象を受けた。
それは上述の通り乱数に拠って生成したものはその再現性やバラつきに拠って人間に取って意味を捉え
辛いという事実を背景とする。
○速度やオーダの比較
今回はプログラムのソースコードに関して強く踏み込まなかったが、実際はソースコードの検証も非常
に有意義であり十分な必要性を持つと感じた。例えばそこから効率化や高速化の糸口を見付けられれば
広い範囲において応用が利くためである。今回に限って言えばアルゴリズムや目的はわかりつつ、数学
への不慣れから上手く自分の中でイメージ化や既存の知識との結び付けが難航した。今後こういった事
態に陥った時にどの様に対処するかは常に考え続けてゆくべき課題であると強く認識した。
16
○試行回数の変更
今回は一律で試行回数を 400 としたので、その事によって見えてこなかったものも恐らくあると考えら
れる。勿論闇雲に行えば良いと言うものでも無いので上述の通りその要素の選定にも技術を培っていく
必要性を感じ、実験や成果をまとめる難しさの壁に当たった印象である。
○他の検討方法・実装不足な箇所
今回実装できたのは一様な Systematic と一様でない Monte Carlo のみであり、また角度(∠AXB 等)
の算出もわからず残ってしまった。また他の検討方法として、中心近くのみを探索する方法、それに関
連して明らかに違いそうな所を除去する方法、などが浮かんだが実装方法が浮かばず断念した経緯もあ
る。これらはあって無駄、ということは無さそうなので、今回は期限までの時間の使い方を誤ったが
今後の挑戦課題として取り組んで行く次第である。
○応用発展
今回は二次元平面上での実験であったが、応用させれば 3 次や更に高次元、複素平面上でも活用してい
けるのではと考える。更にグラフ理論、取り分け思いついたのはダイクストラ法やベルマンフォード法
や A*法などのように経路探索、最短経路問題等にも有効でありそうなことである。
どの様に繋ぎ合わせるかはまだ道筋すら見えないが、壁にぶつかるだけでなくそう言った楽しみを見出
だせる実験であった。
■結び
上述の通り種々新しい気付きもあったが、概ねは反省やそれに準ずる方向であったので、
これからの糧として行き、行く行くは取り組む研究に対する知識や技術、経験の集約に努めたい所であ
る。
それから今回は珍しく参考にする物が授業内で扱ったプリントやノートのみであったので、
ネット上でも色々と調べることを試み、より多くの道への道標としたい。
今回は時間の見積もりを誤ってしまったので慢性的な時間不足と闘いながらの作成であったが、
次回以降は十分な時間と前条件(数学など)を以て形を問わず良質な成果発表を行えるように
してゆく次第である決意の表明を以て本レポートの結びとする。

More Related Content

What's hot

代数トポロジー入門
代数トポロジー入門代数トポロジー入門
代数トポロジー入門Tatsuki SHIMIZU
 
第33回数学カフェ予習会#1 線形空間・射影空間の定義
第33回数学カフェ予習会#1 線形空間・射影空間の定義第33回数学カフェ予習会#1 線形空間・射影空間の定義
第33回数学カフェ予習会#1 線形空間・射影空間の定義MathCafe
 
VBAで数値計算 10 逆行列と疑似逆行列
VBAで数値計算 10 逆行列と疑似逆行列VBAで数値計算 10 逆行列と疑似逆行列
VBAで数値計算 10 逆行列と疑似逆行列Katsuhiro Morishita
 
Magnitude ~ extend the Euler Characteristics via Möbius Inversion ~
Magnitude ~ extend the Euler Characteristics via  Möbius Inversion ~Magnitude ~ extend the Euler Characteristics via  Möbius Inversion ~
Magnitude ~ extend the Euler Characteristics via Möbius Inversion ~Tatsuki SHIMIZU
 
双曲平面のモデルと初等幾何
双曲平面のモデルと初等幾何双曲平面のモデルと初等幾何
双曲平面のモデルと初等幾何matsumoring
 
Angle-Based Outlier Detection周辺の論文紹介
Angle-Based Outlier Detection周辺の論文紹介Angle-Based Outlier Detection周辺の論文紹介
Angle-Based Outlier Detection周辺の論文紹介Naotaka Yamada
 
yukicoder : No.195 フィボナッチ数列の理解(2)
yukicoder : No.195 フィボナッチ数列の理解(2)yukicoder : No.195 フィボナッチ数列の理解(2)
yukicoder : No.195 フィボナッチ数列の理解(2)kmjp
 
Examples of Deflection of Beam
Examples of Deflection of BeamExamples of Deflection of Beam
Examples of Deflection of BeamKazuhiro Suga
 
Magical
MagicalMagical
Magicaloupc
 
行列補完を用いた無線マルチキャスト符号構成アルゴリズム
行列補完を用いた無線マルチキャスト符号構成アルゴリズム行列補完を用いた無線マルチキャスト符号構成アルゴリズム
行列補完を用いた無線マルチキャスト符号構成アルゴリズムTasuku Soma
 
kagami_comput2016_08
kagami_comput2016_08kagami_comput2016_08
kagami_comput2016_08swkagami
 
OpenGLと行列
OpenGLと行列OpenGLと行列
OpenGLと行列miyosuda
 
20150522_つながり方・まがり方・大きさ
20150522_つながり方・まがり方・大きさ20150522_つながり方・まがり方・大きさ
20150522_つながり方・まがり方・大きさmatsumoring
 
introductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysisintroductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysisTatsuki SHIMIZU
 
データ圧縮
データ圧縮データ圧縮
データ圧縮Joe Suzuki
 
Operad and Recognition Principle
Operad and Recognition PrincipleOperad and Recognition Principle
Operad and Recognition PrincipleTatsuki SHIMIZU
 

What's hot (17)

代数トポロジー入門
代数トポロジー入門代数トポロジー入門
代数トポロジー入門
 
第33回数学カフェ予習会#1 線形空間・射影空間の定義
第33回数学カフェ予習会#1 線形空間・射影空間の定義第33回数学カフェ予習会#1 線形空間・射影空間の定義
第33回数学カフェ予習会#1 線形空間・射影空間の定義
 
VBAで数値計算 10 逆行列と疑似逆行列
VBAで数値計算 10 逆行列と疑似逆行列VBAで数値計算 10 逆行列と疑似逆行列
VBAで数値計算 10 逆行列と疑似逆行列
 
Magnitude ~ extend the Euler Characteristics via Möbius Inversion ~
Magnitude ~ extend the Euler Characteristics via  Möbius Inversion ~Magnitude ~ extend the Euler Characteristics via  Möbius Inversion ~
Magnitude ~ extend the Euler Characteristics via Möbius Inversion ~
 
双曲平面のモデルと初等幾何
双曲平面のモデルと初等幾何双曲平面のモデルと初等幾何
双曲平面のモデルと初等幾何
 
Angle-Based Outlier Detection周辺の論文紹介
Angle-Based Outlier Detection周辺の論文紹介Angle-Based Outlier Detection周辺の論文紹介
Angle-Based Outlier Detection周辺の論文紹介
 
yukicoder : No.195 フィボナッチ数列の理解(2)
yukicoder : No.195 フィボナッチ数列の理解(2)yukicoder : No.195 フィボナッチ数列の理解(2)
yukicoder : No.195 フィボナッチ数列の理解(2)
 
Examples of Deflection of Beam
Examples of Deflection of BeamExamples of Deflection of Beam
Examples of Deflection of Beam
 
Magical
MagicalMagical
Magical
 
行列補完を用いた無線マルチキャスト符号構成アルゴリズム
行列補完を用いた無線マルチキャスト符号構成アルゴリズム行列補完を用いた無線マルチキャスト符号構成アルゴリズム
行列補完を用いた無線マルチキャスト符号構成アルゴリズム
 
kagami_comput2016_08
kagami_comput2016_08kagami_comput2016_08
kagami_comput2016_08
 
OpenGLと行列
OpenGLと行列OpenGLと行列
OpenGLと行列
 
20150522_つながり方・まがり方・大きさ
20150522_つながり方・まがり方・大きさ20150522_つながり方・まがり方・大きさ
20150522_つながり方・まがり方・大きさ
 
日曜数学会 Ofdm
日曜数学会 Ofdm日曜数学会 Ofdm
日曜数学会 Ofdm
 
introductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysisintroductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysis
 
データ圧縮
データ圧縮データ圧縮
データ圧縮
 
Operad and Recognition Principle
Operad and Recognition PrincipleOperad and Recognition Principle
Operad and Recognition Principle
 

Similar to Simulation_Report1

Cvim tutorial2 03_06_wk77_110220-0546
Cvim tutorial2 03_06_wk77_110220-0546Cvim tutorial2 03_06_wk77_110220-0546
Cvim tutorial2 03_06_wk77_110220-0546Wataru Kishimoto
 
第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)RCCSRENKEI
 
論理と計算のしくみ 5.3 型付きλ計算 (前半)
論理と計算のしくみ 5.3 型付きλ計算 (前半)論理と計算のしくみ 5.3 型付きλ計算 (前半)
論理と計算のしくみ 5.3 型付きλ計算 (前半)Lintaro Ina
 
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析hnisiji
 
第9回スキル養成講座講義資料
第9回スキル養成講座講義資料第9回スキル養成講座講義資料
第9回スキル養成講座講義資料keiodig
 
数学教材(中間発表)
数学教材(中間発表)数学教材(中間発表)
数学教材(中間発表)Mizuguchi1205
 
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号Yuto Takei
 
3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)Toru Tamaki
 
カステラ本勉強会 第三回
カステラ本勉強会 第三回カステラ本勉強会 第三回
カステラ本勉強会 第三回ke beck
 
Coreset+SVM (論文紹介)
Coreset+SVM (論文紹介)Coreset+SVM (論文紹介)
Coreset+SVM (論文紹介)Naotaka Yamada
 
PRML輪読#3
PRML輪読#3PRML輪読#3
PRML輪読#3matsuolab
 
複素数・四元数と図形の回転
複素数・四元数と図形の回転複素数・四元数と図形の回転
複素数・四元数と図形の回転Yoshihiro Mizoguchi
 
K070k80 点推定 区間推定
K070k80 点推定 区間推定K070k80 点推定 区間推定
K070k80 点推定 区間推定t2tarumi
 
2次元/3次元幾何学変換の統一的な最適計算論文
2次元/3次元幾何学変換の統一的な最適計算論文2次元/3次元幾何学変換の統一的な最適計算論文
2次元/3次元幾何学変換の統一的な最適計算論文doboncho
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろHiroshi Yamashita
 
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.42013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4Takeshi Sakaki
 
JOIss2020 発表資料
JOIss2020 発表資料JOIss2020 発表資料
JOIss2020 発表資料mdkcpp 1015
 
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介MITSUNARI Shigeo
 
ウェーブレット木の世界
ウェーブレット木の世界ウェーブレット木の世界
ウェーブレット木の世界Preferred Networks
 

Similar to Simulation_Report1 (20)

Cvim tutorial2 03_06_wk77_110220-0546
Cvim tutorial2 03_06_wk77_110220-0546Cvim tutorial2 03_06_wk77_110220-0546
Cvim tutorial2 03_06_wk77_110220-0546
 
第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)
 
論理と計算のしくみ 5.3 型付きλ計算 (前半)
論理と計算のしくみ 5.3 型付きλ計算 (前半)論理と計算のしくみ 5.3 型付きλ計算 (前半)
論理と計算のしくみ 5.3 型付きλ計算 (前半)
 
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
 
第9回スキル養成講座講義資料
第9回スキル養成講座講義資料第9回スキル養成講座講義資料
第9回スキル養成講座講義資料
 
数学教材(中間発表)
数学教材(中間発表)数学教材(中間発表)
数学教材(中間発表)
 
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号
 
3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)
 
カステラ本勉強会 第三回
カステラ本勉強会 第三回カステラ本勉強会 第三回
カステラ本勉強会 第三回
 
Coreset+SVM (論文紹介)
Coreset+SVM (論文紹介)Coreset+SVM (論文紹介)
Coreset+SVM (論文紹介)
 
PRML輪読#3
PRML輪読#3PRML輪読#3
PRML輪読#3
 
MCMC法
MCMC法MCMC法
MCMC法
 
複素数・四元数と図形の回転
複素数・四元数と図形の回転複素数・四元数と図形の回転
複素数・四元数と図形の回転
 
K070k80 点推定 区間推定
K070k80 点推定 区間推定K070k80 点推定 区間推定
K070k80 点推定 区間推定
 
2次元/3次元幾何学変換の統一的な最適計算論文
2次元/3次元幾何学変換の統一的な最適計算論文2次元/3次元幾何学変換の統一的な最適計算論文
2次元/3次元幾何学変換の統一的な最適計算論文
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
 
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.42013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
 
JOIss2020 発表資料
JOIss2020 発表資料JOIss2020 発表資料
JOIss2020 発表資料
 
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介
 
ウェーブレット木の世界
ウェーブレット木の世界ウェーブレット木の世界
ウェーブレット木の世界
 

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_assignment9
Simulation_assignment9Simulation_assignment9
Simulation_assignment9T2C_
 
Simulation_assignment2
Simulation_assignment2Simulation_assignment2
Simulation_assignment2T2C_
 
論文読解:クイズ王ワトソン
論文読解:クイズ王ワトソン論文読解:クイズ王ワトソン
論文読解:クイズ王ワトソンT2C_
 
Spmv9forpublic
Spmv9forpublicSpmv9forpublic
Spmv9forpublicT2C_
 

More from T2C_ (14)

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_assignment9
Simulation_assignment9Simulation_assignment9
Simulation_assignment9
 
Simulation_assignment2
Simulation_assignment2Simulation_assignment2
Simulation_assignment2
 
論文読解:クイズ王ワトソン
論文読解:クイズ王ワトソン論文読解:クイズ王ワトソン
論文読解:クイズ王ワトソン
 
Spmv9forpublic
Spmv9forpublicSpmv9forpublic
Spmv9forpublic
 

Recently uploaded

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (10)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

Simulation_Report1

  • 2. 1 ■課題内容 2 次元単体(今回は三角形)内の点の位置を探索する時、 Systematic 法と Monte Carlo 法、どちらが有利であるか。 三角形 ABC の 3 つの頂点までの距離の合計Lが最小となる点Xの探索を基に考察する。 ■Systematic 法 ○計算内容・概要 乱数的に求める Monte Carlo 法に比べ、こちらは線分を一定数に分割し図形内に格子を形成し、その交 点上からの各頂点への距離を順次求めてゆくアプローチを取る。 具体的には 1.まず線分 AB を n(指定した数値)等分し、n:n-i に内分する点を I とする 2.線分 IC を j(同じく指定した数値)等分し、j:j-i に内分する点を J とする 3.I、J をずらして行き JA+JB+JC を求める。最小値を保持して置き最後に出力 またこの場合であるとどうしても頂点 C に近づくにつれ点が集約され偏りが出る事が予想出来る為、今 回は一様に分布する方を実装し考察を行うこととした。 具体的には 1.上記と同じく AB を n:n-i に内分する点を I とする 2.線分 AC を j:j-i に内分する点を J とする 3.こうする事によって点 X の取りうる位置の幅が広がり、一様に格子を配置出来るので、その中で三 角形の部分を抽出する(三角形をはみ出した場合反転させるようにする) 4.上記と同じく I、J をずらして行き一定範囲内の AX+BX+CX の最小値を保持する とする。 以下に実際に実装した実装例としてソースコードを示す。 Microsoft Office Excel 2010 上で VBA を用いてプログラミングを行った。
  • 3. 2 ――――― 以下 ソースコード ――――― Function Systematic() Dim Ax, Ay, Bx, By, Cx, Cy As Double '座標 Dim Zx, Zy As Double '調べる点の座標 Dim N As Double '試行回数 Dim L, Lmin As Double '最小の距離 Dim i, j As Integer '繰り返し制御 Dim p, q, r As Double ' Dim dist1, dist2, dist3 As Double '座標間の距離 Lmin = 1000# With Sheet1 '座標、試行回数読み込み Ax = .Cells(4, 2) Ay = .Cells(4, 3) Bx = .Cells(5, 2) By = .Cells(5, 3) Cx = .Cells(6, 2) Cy = .Cells(6, 3) N = Sqr(Cells(4, 5)) For i = 1 To N - 1 For j = 1 To N p = (N - i - j) / N q = i / N r = j / N
  • 4. 3 If p < 0 Then p = -p q = 1 - q r = 1 - r End If Zx = p * Ax + q * Bx + r * Cx Zy = p * Ay + q * By + r * Cy dist1 = Sqr((Zx - Ax) ^ 2 + (Zy - Ay) ^ 2) dist2 = Sqr((Zx - Bx) ^ 2 + (Zy - By) ^ 2) dist3 = Sqr((Zx - Cx) ^ 2 + (Zy - Cy) ^ 2) L = dist1 + dist2 + dist3 If L < Lmin Then Lmin = L .Cells(4, 8) = Zx .Cells(4, 9) = Zy End If .Cells(5 + ((i - 1) * N) + j - 1, 11) = L .Cells(5 + ((i - 1) * N) + j - 1, 12) = Zx .Cells(5 + ((i - 1) * N) + j - 1, 13) = Zy Next j Next i .Cells(4, 7) = Lmin End With End Function ――――― ソースコード 終わり ―――――
  • 5. 4 ○実行結果 試行回数は全て 400 回(20 * 20)で行った。 ・正三角形 ・二等辺三角形 ・直角三角形 ・鋭角な三角形 ・ランダムに 3 頂点を生成した三角形 (1~10 までの一様な整数の乱数 ==RANDBETWEEN(1,10) で生成 ) をサンプルとして与える。 ・正三角形 ・二等辺三角形 x y A 2 0 B 0 2 C 2.7321 2.7321 頂点の座標 最小値 Lmin x y 4.9021 1.656 1.556218 座標 x y A 0 0 B 4 0 C 2 3 頂点の座標 最小値 Lmin x y 6.4648 2 1.2 座標
  • 6. 5 ・直角三角形 ・鋭角な三角形(x 軸が長い) ・鋭角な三角形(y 軸が長い) x y A 0 0 B 1 0 C 0 3 頂点の座標 最小値 Lmin x y 3.8995 0.35 0.3 座標 x y A 0 0 B 0 1 C 100 0 頂点の座標 最小値 Lmin x y 101 0 0 座標 x y A 0 0 B 1 0 C 0 100 頂点の座標 Lmin x y 101 0 0
  • 7. 6 ・ランダムに 3 頂点を生成した三角形 ( 1 ) ・ランダムに 3 頂点を生成した三角形 ( 2 ) ・ランダムに 3 頂点を生成した三角形 ( 3 ) x y A 3 10 B 5 2 C 8 8 頂点の座標 最小値 Lmin x y 11.55 6.15 7.3 座標 x y A 6 8 B 1 4 C 2 3 頂点の座標 最小値 Lmin x y 7.5969 1.7 3.75 座標 x y A 3 1 B 8 6 C 7 10 頂点の座標 最小値 Lmin x y 11.224 7.65 6.15 座標
  • 8. 7 ・ランダムに 3 頂点を生成した三角形 ( 4 ) ・ランダムに 3 頂点を生成した三角形 ( 5 ) ・ランダムに 3 頂点を生成した三角形 ( 6 ) x y A 8 8 B 6 4 C 9 2 頂点の座標 最小値 Lmin x y 7.9193 6.9 4.2 座標 x y A 7 8 B 10 8 C 8 9 頂点の座標 最小値 Lmin x y 3.6346 8.05 8.75 座標 x y A 8 5 B 7 3 C 3 3 頂点の座標 最小値 Lmin x y 6.2382 6.9 3.2 座標
  • 9. 8 ■Monte Carlo 法 ○計算内容・概要 格子を形成し規則的に調べていく Systematic 法に比べ、こちらはランダムに図形内に点を生成し その点からの距離を調べるアプローチを取るものである。 具体的には 1.三角形 ABC の頂点と内部の点 X の位置ベクトルの関係を利用し、乱数を用いて 三角形内にランダムに点 X を配置する 2.L = AX + BX + CX を求める 3.これまでの最小値と比較し、最小となる L、Lmin を抽出し出力する 以下に実際に実装した実装例としてソースコードを示す。 Systematic法の実装時と同様にMicrosoft Office Excel 2010でVBAを用いてプログラミングを行った。 ――――― 以下 ソースコード ――――― Function montecarlo() Dim i, N, count As Integer '繰り返し制御 Dim Ax, Ay, Bx, By, Cx, Cy As Integer '頂点座標 Dim Zx, Zy As Double '生成した座標 Dim L, Lmin As Double '最小距離 Dim rand1, rand2, rand3, fact As Double '乱数用 Dim dist1, dist2, dist3 '距離用 Randomize With Sheet1 Ax = .Cells(3, 2) Ay = .Cells(3, 3) Bx = .Cells(4, 2) By = .Cells(4, 3) Cx = .Cells(5, 2) Cy = .Cells(5, 3) N = .Cells(3, 5)
  • 10. 9 Lmin = 999# For i = 1 To N rand1 = Rnd() rand2 = Rnd() rand3 = Rnd() fact = 1 / (rand1 + rand2 + rand3) rand1 = rand1 * fact rand2 = rand2 * fact rand3 = rand3 * fact Zx = rand1 * Ax + rand2 * Bx + rand3 * Cx Zy = rand1 * Ay + rand2 * By + rand3 * Cy dist1 = Sqr((Ax - Zx) ^ 2 + (Ay - Zy) ^ 2) dist2 = Sqr((Bx - Zx) ^ 2 + (By - Zy) ^ 2) dist3 = Sqr((Cx - Zx) ^ 2 + (Cy - Zy) ^ 2) L = dist1 + dist2 + dist3 .Cells(i + 2, 11) = Zx .Cells(i + 2, 12) = Zy If L < Lmin Then Lmin = L .Cells(3, 7) = Lmin .Cells(3, 8) = Zx .Cells(3, 9) = Zy End If Next i End With End Function ――――― 以下 ソースコード終わり ―――――
  • 11. 10 ○実行結果 今回は Systematic 法に合わせる形で試行回数は全て 400 回で行った。 また調べる三角形も同様に ・正三角形 ・二等辺三角形 ・直角三角形 ・鋭角な三角形 ・ランダムに 3 頂点を生成した三角形 とし、サンプルとして与える。比較のため座標も全く同様にした。 ・正三角形 ・二等辺三角形 x y A 2 0 B 0 2 C 2.73 2.73 頂点の座標 最小値 座標 Lmin x y 5.092643 1.480856 1.622925 x y A 0 0 B 4 0 C 2 3 頂点の座標 最小値 座標 Lmin x y 6.465358 2.054128 1.132372
  • 12. 11 ・直角三角形 ・鋭角な三角形(x 軸が長い) ・鋭角な三角形(y 軸が長い) x y A 0 0 B 1 0 C 0 3 頂点の座標 最小値 座標 Lmin x y 3.90018 0.392476 0.249627 x y A 0 0 B 0 1 C 100 0 頂点の座標 最小値 座標 Lmin x y 100.8783 0.20888 0.404448 x y A 0 0 B 1 0 C 0 100 頂点の座標 最小値 座標 Lmin x y 100.8741 0.406212 0.232187
  • 13. 12 ・ランダムに 3 頂点を生成した三角形( 1 ) ・ランダムに 3 頂点を生成した三角形( 2 ) ・ランダムに 3 頂点を生成した三角形( 3 ) x y A 3 10 B 5 2 C 8 8 頂点の座標 最小値 座標 Lmin x y 11.54894 6.010303 7.277972 x y A 6 8 B 1 4 C 2 3 頂点の座標 最小値 座標 Lmin x y 7.590946 1.727644 3.793848 x y A 3 1 B 8 6 C 7 10 頂点の座標 最小値 座標 Lmin x y 11.2357 7.614158 6.199017
  • 14. 13 ・ランダムに 3 頂点を生成した三角形( 4 ) ・ランダムに 3 頂点を生成した三角形( 5 ) ・ランダムに 3 頂点を生成した三角形( 6 ) x y A 8 8 B 6 4 C 9 2 頂点の座標 最小値 座標 Lmin x y 7.920299 6.876857 4.171129 x y A 7 8 B 10 8 C 8 9 頂点の座標 最小値 座標 Lmin x y 3.637884 8.055263 8.704134 x y A 8 5 B 7 3 C 3 3 頂点の座標 最小値 座標 Lmin x y 6.246738 6.828555 3.264429
  • 15. 14 ■考察 まずは両方法における精度の高さを比較する。 今回の場合は Lmin の値が低い方がより精度が高い(○を記述)とする。 表1 Systematic と Monte Carlo の Lmin の値比較(試行回数 400 回) 上記の表からわかる通り、試行回数 400 回における差異はそこまで認められず、 また各 Lmin の値を比較してわかる通り、Lmin の値自体にも、あくまで座標の値の大きさ、 つまり三角形の大きさとの比率で見て、ではあるが、大きな差は認められなかった。 ゆえに試行回数を増やしても圧倒的にどちらが有利と言い切れる差が出るとは断定し切れない事が予測 出来る。 しかし観点別に見ると若干ながら差異が出る。 実用上の観点から見ると、例えば乱数を用いた方法、つまり Monte Carlo 法の方は、 出力したデータと同じ出力データを再び出力出来ない、つまり再現性が低く、 また数理的な証明に利用する場合にその正当性の保証が大変難しくなると言う難点が予想出来る。 またその時々によって精度の良さが左右されるので、試行回数を十分大きくしなければ 大きな偏りが出る可能性が否定出来ない所もある事を今回より実践的に理解出来たと言える。 加えて今回は Monte Carlo 法を実装するに当たって一様性を持たせられなかったので、 どうしても頂点付近の点が少なくなる、つまりその点でも偏りが出てしまったが、 これが有利に働く可能性も否定はし切れないことが考えられる。このデータの偏りは恐らく中心極限定 理に拠るものでは無いだろうか。 Systematic Monte Carlo 正三角形 ○ 二等辺三角形 ○ 直角三角形 ○ 鋭角な三角形(x軸に長い) ○ 鋭角な三角形(y軸に長い) ○ ランダムな三角形(1) ○ ランダムな三角形(2) ○ ランダムな三角形(3) ○ ランダムな三角形(4) ○ ランダムな三角形(5) ○ ランダムな三角形(6) ○ 種類 方法 精度比較
  • 16. 15 一方で、出力手法に重みを置かずただ結果のみを採用する場合や、今回のシミュレーションにおいては 例えば大きな三角形の場合であると、Systematic 法よりも Monte Carlo 法の方が良いとも考えられる。 今回それを検証するため、x 軸に極端に長い鋭角な三角形、y 軸に極端に長い鋭角な三角形を用いて 比較を行ったが、予測通り Monte Carlo 法の方が精度が高かった。これは Systematic で大きな三角形を 格子状に分割する際、そのマス目は試行回数と反比例するように巨大化し、より効率的な箇所も飛ばし て比較を行うためであることが考えられる。しかし予測ほど実測値に開きが出なかったので、この点に おいては議論の余地が大幅に残されているとし要検証であるだろう。 結論として、今回の実験では Systematic、Monte Carlo、どちらの手法も大きな差異は見受けられない が、実際に活用していく際に使い分けてゆく必要性を見つめることが出来た。 ■課題・今後の展望 今回の実験では、数え切れないほど多くの課題を残し、検証も大変に不十分であった。 しかし見えてくるものも多かったのでそれらに関しても考察・記述する。 ○三角形の種類の選定 今回、こういった実験に対し目測や予測の経験の無さ、不十分さを十二分に痛感した。 まずこういった場合どういう観点で枠組みを決めれば良いのかわからず、三角形の種類と、差異が出そ うな種を幾つか挙げるに留まったが、本来であれば考え得る限りの枠組みで検証してみるべきであった と感じた。その点で言えば x 軸のみ極端に大きい、y 軸のみ極端に大きい、などは非常に好例であったが 例えば乱数で頂点を生成するなどは不必要とまでは行かないが意義が不足している印象を受けた。 それは上述の通り乱数に拠って生成したものはその再現性やバラつきに拠って人間に取って意味を捉え 辛いという事実を背景とする。 ○速度やオーダの比較 今回はプログラムのソースコードに関して強く踏み込まなかったが、実際はソースコードの検証も非常 に有意義であり十分な必要性を持つと感じた。例えばそこから効率化や高速化の糸口を見付けられれば 広い範囲において応用が利くためである。今回に限って言えばアルゴリズムや目的はわかりつつ、数学 への不慣れから上手く自分の中でイメージ化や既存の知識との結び付けが難航した。今後こういった事 態に陥った時にどの様に対処するかは常に考え続けてゆくべき課題であると強く認識した。
  • 17. 16 ○試行回数の変更 今回は一律で試行回数を 400 としたので、その事によって見えてこなかったものも恐らくあると考えら れる。勿論闇雲に行えば良いと言うものでも無いので上述の通りその要素の選定にも技術を培っていく 必要性を感じ、実験や成果をまとめる難しさの壁に当たった印象である。 ○他の検討方法・実装不足な箇所 今回実装できたのは一様な Systematic と一様でない Monte Carlo のみであり、また角度(∠AXB 等) の算出もわからず残ってしまった。また他の検討方法として、中心近くのみを探索する方法、それに関 連して明らかに違いそうな所を除去する方法、などが浮かんだが実装方法が浮かばず断念した経緯もあ る。これらはあって無駄、ということは無さそうなので、今回は期限までの時間の使い方を誤ったが 今後の挑戦課題として取り組んで行く次第である。 ○応用発展 今回は二次元平面上での実験であったが、応用させれば 3 次や更に高次元、複素平面上でも活用してい けるのではと考える。更にグラフ理論、取り分け思いついたのはダイクストラ法やベルマンフォード法 や A*法などのように経路探索、最短経路問題等にも有効でありそうなことである。 どの様に繋ぎ合わせるかはまだ道筋すら見えないが、壁にぶつかるだけでなくそう言った楽しみを見出 だせる実験であった。 ■結び 上述の通り種々新しい気付きもあったが、概ねは反省やそれに準ずる方向であったので、 これからの糧として行き、行く行くは取り組む研究に対する知識や技術、経験の集約に努めたい所であ る。 それから今回は珍しく参考にする物が授業内で扱ったプリントやノートのみであったので、 ネット上でも色々と調べることを試み、より多くの道への道標としたい。 今回は時間の見積もりを誤ってしまったので慢性的な時間不足と闘いながらの作成であったが、 次回以降は十分な時間と前条件(数学など)を以て形を問わず良質な成果発表を行えるように してゆく次第である決意の表明を以て本レポートの結びとする。