3.モンテカルロ法の適用事例 [4]
それではさっそく、具体的な計算例について説明していきます。ここでは技術者にもなじみの深い円周率πの数値計算を扱います。πの計算はスーパーコンピュータの典型的なベンチマーク問題ですが(2020年現在の記録は31兆桁)、高度な数式と複雑なプログラムと膨大な計算機リソースが必要です。これに対してMC法ならば、実用上必要な精度(例えば誤差1%程度)の近似値をPCとExcelで簡単に計算できるというメリットがあります。
MC法のおおまかな流れは
- 数値モデルの作成
- 乱数の生成
- 数値解の推定
という3ステップに分けられます。
3.1 数値モデルの作成
最初に辺の長さが1の正方形とそれに内接する四半分の円を考えます(図3-1)。四半分の円の面積Sは式3-1で求められます。
S = (π×1^2)/ 4 = π/4 (式3-1)
正方形における四半分の円の面積比Rは、正方形の面積は1なので式3-2で求められます。
R = S/1 = π/4 (式3-2)
そこで、この正方形の中にランダムにn個のサンプル点を落とし、そのうちm個が四半分の円の中に落ちたとすれば式3-3が成立します。
m/n ≒ R = π/4 (式3-3)
よって、式3-4により、πの値が推定できます。
π ≒ 4 m/n (式3-4)
図3-1:πの数値モデル
3.2 乱数の生成
次に乱数の生成について説明します。今回は技術者に馴染みの深いExcelを用いているので、0~1の一様乱数を発生する組み込み関数RAND( )を使ってn組のサンプル点(x,y)を生成して、原点0との距離rを式3-5で計算します。
r^2 = x^2 + y^2 (式3-5)
ここで、式3-6が成立しているとき、その点(x,y)は円の内部に落ちていることになりますので、これにより円内に落下したサンプル数m個を決定できます。
r^2 = x^2 + y^2 ≦ 1 (式3-6)
3.3 数値解の推定
図3-2にランダムに100個のサンプル点を発生させた場合のシミュレーション結果の一例を示します。この場合、円内の点は75個だったのでπの推定値とその相対誤差はそれぞれ、式3-7、式3-8で計算できます。
π ≒ 4×75/100=3.00 (式3-7)
相対誤差 = (3.00-3.14)/3.14 = -4.46(%) (式3-8)
図3-2:モンテカルロ法によるπの推定事例(サンプル点100個のうち、75個が円内に落下)
3.4 数値解の精度評価
上記3.3と同様の操作を20回試行した場合の推定値の推移を図3-3(青線:推定値、赤線:真値)に、その相対誤差の推移を図3-4に示します。πの推定値は試行のたびに大きく変動しており、その相対誤差は最大15%以上にもなっています。もっと精度が必要な場合(例えば相対誤差を1%以下)には、どうすれば良いでしょうか。
MC法の誤差Errは、統計理論の「中心極限定理」*)より、サンプル数nの平方根に反比例することが分かっています。
Err ∝ 1/√n (式3-9)
従って、誤差を1/10以下にするためには、サンプル数nを100倍以上に増やす必要があり、上記の例題ではn=100個×100倍=10,000個以上になります。もしこのようにサンプル数を増やすのが困難な場合(Excelで10,000個のサンプル点を発生させるのはかなり大変です)、上記の「中心極限定理」に基づく統計処理により精度向上が可能になります。具体的には図3-3の20回の試行結果のπの推定値を平均すると、π≒3.148(相対誤差0.204%)と大幅に精度が向上します。この統計処理は既に計算済みの結果を用いるので、実質のサンプル数2,000個(100個×試行回数20回)で10,000個と同等以上の成果(効率にして10,000/2,000=5倍)が得られることになり非常に有効な手法ですので、ぜひ覚えておいてください。
*)中心極限定理[5]:平均μ、標準偏差σの分布の中から取り出されたn個の標本の平均値は、もとの分布がどんな分布であっても、nが大きくなるに従って平均μ、標準偏差σ/√nの正規分布に近づくという非常に強力な統計学の定理です。
図3-3:πの推定値の推移(ランダム点100個、試行回数20回)
図3-4:πの相対誤差の推移(ランダム点100個、試行回数20回)
4.モンテカルロ法の今後の展開 [6]
一般にMC法の適用領域は、①決定論的問題と②確率論的問題に分類されますが、第3章のπの推定は①の事例です。①は解析的に解くことができるが、式が複雑で計算量が多い場合、あるいは式そのものを立てるのが困難な際、確率モデルに置き換えて近似値を計算する手法です。それに対して②は現象そのものが確率的で、その発生確率を規定(あるいは仮定)することで解を求める手法といえます。
最近はMC法を②確率論的問題に適用する事例の研究が盛んになっており、特に人工知能(AI:Artificial Intelligence)の分野で、強化学習やマルコフ連鎖モンテカルロ法(MCMC:Markov Chain Monte Carlo)においてMC法を適用する事例が数多く紹介されています。このようにMC法は計算機パワーの発達とともに、今後ますます複雑な現象の解明に不可欠のツールになっていくと思います。
5.まとめ
本稿ではMC法について、ものづくり技術者向けに解説しました。最初にMC法の概要として、その歴史と従来の適用分野について説明しました。次にMC法の具体例としてπの推定問題を取り上げ、計算手順と計算結果および精度向上手法について解説しました。最後にMC法の今後の展開、特にAI分野におけるMC法の適用範囲の拡大について述べました。本稿がものづくり業務の参考になれば幸いです。
【参考文献】
[4] 大村:「シミュレーションのはなし」,日科技連(1991).
[5] 矢野ほか:「モノグラフ 公式集 5訂版」,科学新興新社(1996).
[6] 大森:「マルコフ連鎖モンテカルロ法の最近の展開」,日本統計学会誌 31(3), 305-344(2001).