モンテカルロ法と円周率の近似計算
モンテカルロ法の具体例として,円周率の近似値を計算する方法,およびその精度について考察します。
モンテカルロ法とは
モンテカルロ法とは
乱数を用いて何らかの値を見積もる方法をモンテカルロ法と言います。
乱数を用いるため「解を正しく出力することもあれば,大きく外れることもある」というランダムなアルゴリズムになります。
そのため「どれくらいの確率でどのくらいの精度で計算できるのか」という精度の評価が重要です。そこで確率論が活躍します。
円周率の近似値を計算する方法
円周率の近似値を計算する方法
精度の評価
精度の評価
試行回数 を大きくすれば,円周率の近似の精度が上がりそうです。以下では数学を使ってもう少し定量的に評価します。
目標は 試行回数を◯◯回くらいにすれば,十分高い確率で,円周率として見積もった値の誤差が△△以下であるという主張を得ることです。
Chernoffの不等式という飛び道具を使って解析します! を と書きます。
Chernoffの不等式(※)より,
(期待値より大きく外れる確率は十分小さいという意味)
つまり,
以上の確率で,
例えば, %以上の確率で,誤差約 %()以内にしたい場合, ならよいので, 回くらい必要になります。
誤差 %におさえるために10万個も点を打つなんてやってられないですね。
※Chernoffの不等式については,Chernoff bounds, and some applicationsが詳しいです。ここでは,上記の文献の Corollary 5 を使いました。
「多分うまくいくけど失敗する可能性もあるよ〜」というアルゴリズムで納得しないといけないのは少し気持ち悪いですが,そのぶん応用範囲が広いです。