問題タブ [montecarlo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++ 入門とモンテカルロ法
だから私はプログラミングを始めたばかりで、これは私がこれまでにやった中で最もやりがいがありながらイライラすることだと言わざるを得ません. 私は難易度の高いプロジェクトに取り組んでいます。最近のプロジェクトでは、モンテカルロ法と多くのループが使用されています。これまでに完成したコードは次のとおりです。
したがって、私の主な質問は、「シミュレーションの実行」の下に for ループを設定することに関する壁にぶつかっていることだと思います。最初の for ループを設定して、内部の for ループを 10 回実行する必要があります。ランダム値のクエリからの許容可能な結果の範囲の乱数を考え出す内部 for ループの。アイデアはモンテカルロ法を使用することであると言われました。
そのため、プログラムは流入に対してランダムな値を作成します。内部 for ループは、0 から始まるリザーバーの fill_level が、reservoir_capacity に達するまで実行し続けるという考え方です。何年 (1 年を表す内部 for ループの各反復) をシミュレートするプロセスは、fill_level シミュレーション for ループの親 for ループによって 10 回繰り返されます。
ここに表示されているようにプログラムを実行しようとすると、「シミュレーションの実行」までずっと進み、それ以上進みません。私よりも経験豊富な人は、私が言っていることを理解し、何が起こっているのかを知っていますか?
video - 高度なビデオ分析-それを噛む方法は?
次のようなアプリケーションを実行する必要があります。
- ビデオカメラからビデオデータをキャプチャし、
- いくつかの処理(モンテカルロ法、マルコフのフィールドとチェーンなど)を実行します。
- データをビデオファイルとして保存し、処理に関する情報を含む上面を強化します(たとえば、見つかったオブジェクトにマークが付けられます)。
- 将来の統計管理のために、すべて(ビデオ自体ではなくオブジェクトの位置など)をデータベースに保存します。
これらはすべて、リアルタイムで継続的に実行する必要があります。
私はデータベースプログラマー(C#、Java、Python)なので、私にとっては新しいものです...実行する必要のある処理についてはよく知っていると言われていますが、理論的には、どの言語を選択して開始するかを知っています。手順、計算...必要なのはツールだけです。
montecarlo - 球体のモンテカルロ シミュレーション: 偏りのないランダム ステップ
球体上の粒子を使用して Metropolis モンテカルロ シミュレーションを行っていますが、特定の時間ステップでのランダムな動きについて質問があります。
そもそも球上のランダムな点の均一な分布を取得するには、単純な最も単純な方法 (一定の R で球座標を使用し、ランダムな角度のシータとファイを選択する) を使用するだけでは不十分であることを理解していますが、たとえば使用する必要があります。これらの方法のいずれか: http://mathworld.wolfram.com/SpherePointPicking.html
球体上のモンテカルロの別のコードを見ると、ランダムな動きを生成するかなり複雑な方法がわかります。ランダムな粒子を選択し、それを北極に移動する回転行列を計算し、特定の長さ未満のランダムなデカルト ベクトルを見つけて移動します。それを北極に合わせ、デカルト ベクトルを正規化し、元の粒子位置の近くまで回転させます。
これはすべて、偏りのない新しいランダムな位置を取得するためです。細かいバランスに繋がっているのではないかと思いますが、完全には理解できません。しかし、これを行うためのより簡単な (つまり、より高速な) 方法があるはずだと私は感じています。実際、私は直感的に、この場合、2 つの小さなランダムな角度 theta と phi を見つけて、それらを粒子の位置に追加しても問題ないと感じています。それとも、これは間違いでしょうか?
ruby - Rubyでのブラックジャックシミュレーションは奇妙な確率をもたらします
以下は、単純なブラックジャックゲームのシミュレーションのコードです。プレイヤーとディーラー(家)は2枚のカードを引きます。その後、プレーヤーは17に達するまでヒットします。その後、ディーラー(ハウス)は、プレーヤーと一緒にドローするか、バストになるまでヒットします。プレーヤーが最初にプレーすることを考えると、どの戦略でも、プレーヤーが勝つ確率は50%未満である必要があります。しかし、どういうわけかシミュレーションを繰り返すと、プレイヤーが50%以上勝っているようです。この結果を与える私のコードにいくつかのエラーがあるはずです。
simulation - 未知の空間プロセスからサンプルを生成する方法は?
正方形には未知の空間プロセスがいくつかあります。ポイント間の平均距離の分布しかない場合、正方形上のポイントのランダムサンプルを生成する方法-一般的なモデルまたは単純なアイデア?そのようなプロセスの実現の距離行列が約500の観測値を持っている場合、それは有用でしょうか(プロセスの実現からのポイント間の距離の行列)?
ここでは時間ディメンションは使用できません。プロセスに関する時間データはありません。
montecarlo - .netでのモンテカルロシミュレーション用の信頼性が高く高速な疑似乱数ジェネレーター(PRNG)
疑似乱数ジェネレーター(PRNG)を使用して、モンテカルロがキューイングタイプのシステムをシミュレートします。System.Randomを使用します。これは高速であるためですが、後続の描画間に奇妙な相関関係があり、結果に干渉することがわかりました(十分にランダムではありません)。
現在、私はMersenne Twister(http://takel.jp/mt/MersenneTwister.cs)を使用しています。これは、(これまで)私の目的には十分にランダムであることが証明されています。それは50%遅いですが、それは信頼できる結果を得るために私が喜んで支払う代償です。
モンテカルロシミュレーションに最適な.netのPRNGはどれですか?遅すぎない信頼性の高いPRNGを探しています。
c++ - モンテカルロC++の標準偏差のジェネリック関数
いくつかのモンテカルロシミュレーションで標準偏差関数を計算することになっています。式は次のとおりです。
私の結果は、本来あるべき姿から大きく外れていると思います。私の関数はBoostライブラリのタプルを使用しており、次のようになります。
- 誰かがここで間違いを見ることができますか?
- また、STLライブラリには「accumulate」関数があります-accumulate squared(コンテナのメンバー)は存在しますか?
python - Python のモンテカルロ法
Python を使用して、モンテカルロ法で使用する多数のポイントを生成し、Pi の推定値を計算できるスクリプトを作成しようとしています。私がこれまでに持っているスクリプトはこれです:
ここまでで、必要なすべてのポイントを生成できましたが、取得したいのは、後の計算で使用するためにスクリプトを実行したときに生成されるポイントの数です。信じられないほど正確な結果を求めているわけではありません。十分な見積もりです。どんな提案でも大歓迎です。
c - Code::blocksの最大反復回数
重複の可能性:
Cでの最大配列サイズ
私の質問は次のとおりです。Code::blocksにはループの最大反復回数がありますか?
私はモンテカルロを実行していますが、forループを介して100万個のパーティクルを実行したいと思います。しかし、クラッシュせずに行くように見える最大値は110000です。
ありがとう!
いくつかの詳細:
時間によってシードされた乱数ジェネレーターを使用しています:
次に、100万個のパーティクルを作成します(ランダム)
ここで、M = Num / 10(N 1000000を#defineしたい)
これは私が考えることができる唯一のことであり、問題を引き起こしていますか?
これは機能しないサンプルコードです。
これは、Code ::blocksの設定が原因である可能性がありますか?
r - Rのネストされたループでモンテカルロシミュレーションを高速化
以下のDEA推定のモンテカルロシミュレーションを高速化したいと思います
Aが大きくなると、シミュレーションはフリーズします。私はオンライン調査から、apply関数がそのようなコードを急速に高速化することを知っていますが、上記の手順でそれを使用する方法がわかりません。
ヘルプ/指示をいただければ幸いです
バリー