1行定義
モンテカルロ法とは、乱数を使った試行(シミュレーション)を多数くり返し、その結果の平均や割合から答えを近似的に求める方法のことです。
くわしく
モンテカルロ法は、乱数を使った試行をたくさんくり返し、その結果から答えを近似的に求める方法の総称です。1940年代に、スタニスワフ・ウラムやジョン・フォン・ノイマンらが物理の計算に使ったことで広まりました。名前は、カジノで有名なモナコのモンテカルロ地区にちなみます。
基本の考え方
身近な例は、円周率の推定です。1辺1の正方形の中に点をでたらめに打ち、半径1の四分円に入った割合を数えます。この割合は面積の比であるπ/4に近づくので、4倍すればπのおよその値が得られます。試行を増やすほど、推定は安定して正確になります。式で直接は解きにくい問題でも、試行をくり返せば近い値を出せるのが強みです。
ゲームAIでの使い方
G検定の探索・推論の文脈では、ゲームの手を選ぶ方法として登場します。ある候補手を指した後、終局まで双方がランダムに手を進める試行をプレイアウトと呼びます。候補手ごとにプレイアウトを多数行い、勝った割合が高い手を選びます。
この方法は、局面の有利さを数値にする評価関数を人間が作らなくても使えます。囲碁は局面の数が非常に多く、良い評価関数を作るのが難しいゲームでした。そこで、有望な手ほど多く試行して探索木を広げるモンテカルロ木探索が2000年代後半から使われ、囲碁AIは大きく強くなりました。2016年にトップ棋士に勝ち越したアルファ碁も、深層ニューラルネットワークとモンテカルロ木探索を組み合わせています。
注意点
結果は確率にもとづく推定なので、試行回数が少ないとばらつきます。また、すべての手順を調べ尽くすブルートフォースとは違い、理論上の最善手を必ず見つける保証はありません。
覚え方
「たくさん試して、割合で見積もる」と覚えます。
G検定での出題
出題のされ方
ゲームAIで、終局までランダムに手を進めるプレイアウトをくり返して手の良し悪しを見積もる方法として問われます。評価関数が不要な点や、囲碁AIとの関係も問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| モンテカルロ法このページの用語 | 乱数を使った試行(シミュレーション)を多数くり返し、その結果の平均や割合から答えを近似的に求める方法 |
| ブルートフォース | 考えられるすべての候補や手順を、絞り込みの工夫をせずに1つずつ調べ尽くして答えを見つける方法 |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
1辺1の正方形の中にランダムに点を打ち、半径1の四分円に入った点の割合からπを推定する方法は、モンテカルロ法の一例である。
答えを見る
答え ◯ 正しい
正方形に対する四分円の面積の比はπ/4です。点の数を増やすほど、割合を4倍した値はπに近づきます。
-
モンテカルロ法という名前は、この方法を最初に考案した研究者の名前に由来する。
答えを見る
答え × 誤り
カジノで知られるモナコのモンテカルロ地区にちなむ名前で、偶然(乱数)を使う方法であることを表しています。
-
モンテカルロ木探索は、有望そうな手ほど多くの試行を割り当てながら探索木を少しずつ広げる方法で、囲碁AIの性能を大きく高めた。
答えを見る
答え ◯ 正しい
すべての候補手に均等に試行を配る方法を改良したものです。2000年代後半から囲碁AIで使われ、アルファ碁も採用しました。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目3 探索・推論)
- Nicholas Metropolis, S. Ulam, The Monte Carlo Method, Journal of the American Statistical Association 44(247) (1949)
- Cameron B. Browne et al., A Survey of Monte Carlo Tree Search Methods, IEEE Transactions on Computational Intelligence and AI in Games 4(1) (2012)
- David Silver et al., Mastering the game of Go with deep neural networks and tree search, Nature 529 (2016)