すべてのシミュレーション方法は、モンテカルロ形式ですか?


35

モンテカルロではないシミュレーション方法はありますか?すべてのシミュレーション手法では、関数に乱数を代入して、関数の値の範囲を見つけます。それでは、すべてのシミュレーション手法は本質的にモンテカルロ法ですか?


2
「スタン」はウラムのファーストネームであり、他の人の姓ではないと思います。
ニックコックス14

スタンは、実際にはスタニスラスの略です。Andrew Gelmanが新しいシミュレーション言語にSTANを選んだのはそのためです。
西安14

小さな、おそらく境界線自明の組み合わせ問題を考えると、徹底的な検索はまだ「モンテカルロ」でしょうか?
ニックT 14

3
ランダム化されたアルゴリズムの講義で私が覚えているのは、確率論的な実行時間を持っているが正しい結果を持つラスベガスの方法とは対照的に、モンテカルロ法は既知の実行時間で確率的な結果を持っているということです。私の引き出しの中にある5歳の手書きのスクリプトを除いて、これに関する言及はありません。編集:上のウィキペディアのページモンテカルロラスベガスはこれに同意するように見えます。
バイエルジ14

徹底的な検索は、おそらくブルートフォース計算になります。モンテカルロ法は、サンプル空間から取得します。このサンプルは通常、結果の宇宙の小さなサブセットであり、統計分析を扱いやすくしています。
アレックスレイノルズ14

回答:


41

モンテカルロではないシミュレーションがあります。基本的に、すべてのモンテカルロ法は大きな数の(弱い)法則を使用します。平均は期待に収束します。

次に、準モンテカルロ法があります。これらは、より高速な収束を実現するために、乱数と等間隔のグリッドの妥協によってシミュレートされます。

モンテカルロではないシミュレーションは、例えば、計算流体力学で使用されます。流体の単一部分の「マイクロスケール」で流体力学をモデル化するのは簡単です。これらの部分には初期速度、圧力、サイズがあり、隣接する部分からの力または固体の影響を受けます。シミュレーションは、すべての部分とそれらの相互作用を計算することにより、流体の全体の動作を計算します。これを効率的に行うと、これが科学になります。乱数は必要ありません。

気象学または気候研究では、物事は同様に行われます。しかし、現在、初期値は正確にはわかっていません。気象データは、測定されたいくつかのポイントでしか得られません。多くのデータを推測する必要があります。

これらの複雑な問題は多くの場合、入力データで連続的ではないため、異なる推測でシミュレーションを実行します。最終結果は、最も頻度の高い結果の中から選択されます。これは実際に、いくつかの天気予報が原則としてシミュレートされる方法です。


5
わずかな修正:モンテカルロシミュレーションでは、ランダムでない計算を使用できます。初期条件が変化する場合、シミュレーションを「モンテカルロ」と呼び、そこから非ランダムな計算を適用することは有効です。多くのCFD状況では、境界条件が統計的に定義されているため、モンテカルロが必要です。
コートアンモン14

14

モンテカルロ法は、統計問題にコンピューターシミュレーションを使用する最初のアプローチでした。第二次世界大戦中にマンハッタンプロジェクトに取り組んでいたロスアラモス研究所のジョンフォンノイマン、スタニスワフウラム、ニコラスメトロポリスチームによって開発されました。これは1949年にMetropolis&Ulamによって最初に記述され、名前が初めて印刷物に登場しました。それを発見した科学者たちは、彼らが取り組んでいた最初のコンピューターの1つを使用することもできたので、それは可能でした。彼らの仕事では、物理問題のシミュレーションにモンテカルロ法を使用し、アイデアは、このプロセスのいくつかの例をサンプリングすることで複雑な問題をシミュレートできるというものでした。モンテカルロの歴史に関する興味深い記事が複数あります。例えばメトロポリス自身、または最近の、たとえばRobert&Casellaなど

したがって、「モンテカルロ」は、統計的な問題を解決するためのコンピューターシミュレーションを目的として記述された最初の方法の名前でした。その後、この名前はシミュレーション手法のファミリー全体の一般的な名前になり、この方法で一般的に使用されています。

非モンテカルロと見なされるシミュレーション方法がありますが、モンテカルロはコンピューターシミュレーションの最初の使用でしたが、「コンピューターシミュレーション」と「モンテカルロ」は互換的に使用されるのが一般的です。

「シミュレーション」とは異なる定義があります。つまり、

Merriam-Webster辞書:

3 a:別のシステムまたはプロセスの機能による1つのシステムまたはプロセスの機能の模倣表現b:シミュレーションデバイスによる直接的な実験の対象にならないことが多い問題の調査

ケンブリッジ辞書:

本物のように振る舞う、または見えるが本物ではない何かをする、または作る

ウィキペディア

長期にわたる実世界のプロセスまたはシステムの操作の模倣

シミュレーションが機能するために必要なのは、何らかのシステムまたはプロセスを模倣する能力です。これにはランダムな関係は必要ありません(モンテカルロの場合のように)が、すべての可能性が試される場合、手順はかなり網羅的な検索または一般的な最適化の問題です。ランダム要素が関与し、コンピューターを使用して何らかのモデルのシミュレーションを実行する場合、このシミュレーションは初期のモンテカルロ法の精神に似ています(たとえば、Metropolis&Ulam、1949)。シミュレーションの重要な部分としてのランダム要素は、たとえば、Ross(2006、Simulation。エルゼビア)。ただし、質問に対する答えは、想定するシミュレーションの定義に大きく依存します。たとえば、最適化または網羅的検索を使用する決定論的アルゴリズムが実際にシミュレーションであると想定する場合、さまざまなアルゴリズムをシミュレーションと見なす必要があり、これによりシミュレーション自体の定義が非常に不明瞭になります。

文字通り、すべての統計的手順は、何らかのモデルまたは現実の近似を採用し、「試行」および評価されます。これは、シミュレーションの辞書定義と一致しています。ただし、すべての統計がシミュレーションベースであるとは考えていません。質問と議論は、「シミュレーション」の正確な定義の欠如から生じるようです。モンテカルロはシミュレーションの典型的な(そして最初の)例のようですが、シミュレーションの非常に一般的な定義を考慮すると、多くの非モンテカルロ法が定義に含まれます。したがって、モンテカルロ以外のシミュレーションもありますが、明らかにシミュレーションベースの手法はすべて、モンテカルロの精神に似ているか、何らかの方法でそれに関連するか、それに触発されました。これが、「モンテカルロ」が「シミュレーション」の同義語としてよく使用される理由です。


3
「スタン」はウラムのファーストネームであり、他の人の姓ではないと思います。
ニックコックス14

1
スタンは、実際にはスタニスラスの略です。Andrew Gelmanが新しいシミュレーション言語にSTANを選んだのはそのためです。
西安14

小さな、おそらく境界線自明の組み合わせ問題を考えると、徹底的な検索はまだ「モンテカルロ」でしょうか?
ニックT 14

6
わかりません:これはどのように質問に答えますか?
o0 '。

1
@ Xi'anそれは「Ł」で書かれたスタニスワフです(英語では「woo」と読みます)。
ティム

13

すべてのシミュレーション手法では、関数に乱数を代入して、関数の値の範囲を見つけます。

シミュレーションのその定義について聞いたことがありません。たとえば、ウィキペディアのシミュレーションおよびコンピューターシミュレーションに関する記事ではランダム確率論などの用語について簡単に言及しています。

ランダム性を伴わない、したがって明らかにモンテカルロシミュレーションではないシミュレーションの簡単な例は、次のとおりです。

単純な振り子の振る舞いをシミュレートし、いくつかの単純化した仮定(質量のないコード、正確な質量、摩擦なし、コリオリ力のような外力なし)を行いたいです。次に、数学的振り子を取得し、その運動を記述する微分方程式を書き留めます。その後、ルンゲクッタ法などの微分方程式にソルバーを使用して、与えられた初期条件の軌道をシミュレートできます。(理論的には、さらに初期条件を考慮する必要がないと主張することもできます。)

このようにして、乱数を使用せずに実際の振り子のかなり良いシミュレーションを取得します。したがって、これはモンテカルロシミュレーションではありません。

別の例では、ロジスティックマップを考えます。これは、ランダム性のない単純な母集団モデルです。


7

いいえ。力の下での粒子のシミュレーションは、ルンゲクッタまたはモンテカルロではない他の決定論的なアルゴリズムを使用して実行できます。

モンテカルロは積分の計算に使用されます(シミュレーションと呼ぶこともできますが、最終的には推定量の数値近似を計算するだけです)。繰り返しになりますが、決定論的な方法を使用してそれを行うことができます(たとえば、台形規則)。

大まかに言えば、決定論的および非決定論的に積分を計算するアルゴリズムを分離できます。モンテカルロ法は非決定論的な方法です。準モンテカルロは別です。台形規則は決定論的なアルゴリズムです。


4

簡単な説明で突き刺してみましょう。「what-if」モデルは(決定論的な)シミュレーションです。ウィジェット処理プラントのような複雑なシステムがあるとします。コストなどのパフォーマンスパラメータを推定できるようにしたい場合。プラントの数学モデルを構築してから、モデル内の特定の要因に対してさまざまな仮定を選択します。たとえば、ウィジェットがさまざまな操作をどの程度高速で移動するか、さまざまな方向に流れる割合、処理するウィジェットの数などです。モデルはプラントのシミュレーションであり、仮定の各セットはそのパフォーマンスパラメーターの推定値を提供します。

ここで不確実性を導入します。ウィジェットの需要が来月どうなるかはわかりませんが、コストを見積もる必要があります。したがって、需要が1,000ウィジェットになると言う代わりに、需要の確率分布を推定します。次に、その分布から需要値をランダムにサンプリングし、それらを仮定に使用します。その間、他の仮定に確率分布を使用することもできます。モデルを繰り返し使用し、さまざまな確率分布からサンプリングされた仮定をプラグインします。結果は、コストの推定値の分布になります。それがモンテカルロの側面です。

モンテカルロは、シミュレーションモデルの上に階層化された「機能」または「エンジン」です。単一の推定値に対して単一の仮定セットでシミュレートする代わりに、ランダムに選択された仮定を使用してシミュレーションのコレクションを実行します。


2

特にゲーム理論では、シミュレーションでランダム性を使用するアプローチはモンテカルロ法と呼ばれます。通常、最新のプログラムでモンテカルロツリー検索(MCTS)の一部として使用されます。

(元の質問では、「モンテカルロアルゴリズム」と「モンテカルロ法」を区別していなかったため、ここでの回答のいくつかについて意見の相違が生じる可能性があります。)

たとえば、囲gameのゲーム(およびMCTSを使用していることを知っている他のすべてのゲーム)では、シミュレーションはプレイアウトと呼ばれます。ランダム再生では、最も厳しいルールセットが使用されます。軽いプレイアウトは、ランダムなプレイアウトの同義語であるか、簡単に検出されたいくつかの悪い動きを除外します。重度のプレイアウトでは、より多くのヒューリスティックを使用して、より多くの動きを除外します。(ちなみに、プレイアウトは常にゲームの最後に行くため、各プレイアウトはほぼ同じ時間かかります。)しかし、すべては「モンテカルロ」シミュレーションと呼ばれます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.