質問
モンテカルロ法をいつ使用する必要がありますか?
たとえば、ジョエルがモンテカルロ法を使用することを決定したのはなぜですか 証拠に基づいたスケジューリング 過去1年間、すべてのユーザーデータを系統的に処理する代わりに?
解決
関心のある量を推定すると仮定します。ジョエルの「出荷日」の例では、推定するものがあります。ほとんどのそのような状況では、推定に影響を与えるランダムな要因があります。
ランダム数量がある場合、通常、適切なアクションを実行できるように、その平均と標準偏差を知りたいと考えています。簡単な状況では、平均と標準偏差に対して分析式が存在する標準分布(例、正規分布)として数量をモデル化できます。ただし、分析式が存在しない多くの状況が存在します。このような状況では、平均と標準偏差の分析ソリューションの代わりに、シミュレーションに頼ります。アイデアは次のとおりです。
ステップ1:適切な分布を使用して関心のある量に影響を与える要因を生成します
ステップ2:関心のある量を計算します
手順1と2を何度も繰り返し、知りたいことの経験的平均と標準偏差を計算します。
上記は、モンテカルロアプリケーションの典型的なアプリケーションです。 Jarrodが提供するWikipediaリンクは、そのようなアプリケーションと、固有のランダム性がない(PIの推定)がない興味深いアプリケーションのいくつかの例を参照してください。
他のヒント
モンテカルロ法が一般的に使用されています 問題の次元が従来のスキームには高すぎる場合. 。 a 素晴らしい 主題に関する入門論文はpersi diaconisです マルコフチェーンモンテカルロ革命.
ウィキペディア モンテカルロシミュレーション方法に関する良い記事があります。私はモンテカルロを数回使用しました - 一言で言えば、MCメソッドは、かなりランダムなサンプルセットを使用して結果を投影しようとするときに正確な回答を与える傾向があり、通常は直感を使用してトレンドを推測しようとします。残念ながら、MCメソッドを説明しようとするのはかなり難しいので、記事をチェックしてください。
プログラミングタスクをスケジュールする際には、通常、推定値はかなり広く分散されているため、統計的に扱う方が理にかなっています。
100のタスクを取るプロジェクトを取得すると、推定値のエラーが均等になり、プロジェクトの完了が範囲としての可能性を示す分布になります。
また、タスクバッファリングや学生症候群が結果をさらにゆがめるなど、いくつかの深刻な問題を回避します。
すべてのオプションをチェックすることは、単に禁止される場合があります。