問題タブ [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)
こんにちは、私は、「粗い」モンテカルロ サンプリング手法を使用して、1 次元、2 次元、および 3 次元の積分を正常に近似するコードを作成しました。「重要度サンプリング」を使用してこれを改善したいと思います。明らかに分散を減らすことができるからです。これについていくつかの Web ページを読みましたが、特に明確なものはありません。このようなものをどのように実装しますか?どうもありがとう。ジャック
c++ - 部分和を格納する二分木: 名前と既存の実装
n 個の正の実数列 ( a i ) とその部分和列 ( s i )を考えます。数値x ∊ (0, s n ]が与えられた場合、 s i −1 < x ≤ <em>s iとなるようなiを見つけなければなりません。すべての部分和を更新. a iは葉ノードの値として、非葉ノードの値はそれぞれの子の値の合計です。nが既知で固定されている場合、ツリーは自己平衡である必要はなく、線形配列に効率的に格納できます。さらに、nが 2 の累乗の場合、必要な配列要素は 2 n-1 だけです。ブルーら、Phys.アプリケーションについては、 Rev. E 51 (1995), pp. R867–R868。問題の一般性と解決策の単純さを考えると、このデータ構造に特定の名前があるかどうか、および既存の実装 (できれば C++) があるかどうか疑問に思います。私はすでにそれを自分で実装していますが、データ構造をゼロから作成することは、常に車輪の再発明のように思えます。
perl - Perl で財務データのモンテカルロ シミュレーションを開始するにはどうすればよいですか?
いくつかの金融取引のためにモンテカルロ シミュレータを作成する必要があります。入力は次のようになります。
- 最終的に収益を上げたトランザクションの平均パーセント
- トランザクションあたりの平均利益
- 期間ごとのトランザクション数
Math::Random::MT::Auto Perl モジュールを見てきましたが、シミュレーターへの入力を定式化する方法がわかりません。
私が取り組んでいるインプットを踏まえて、始めるにあたって誰かアドバイスをいただけますか?
c++ - C ++を使用して実装された、意図したとおりに機能しない、紙からの確率密度関数
だから私はヒューリスティックアルゴリズムを実装しています、そして私はこの関数に出くわしました。
私は1からnの配列を持っています(Cでは0からn-1、w / e)。別の配列にコピーする要素の数を選択したいと思います。パラメータy(0 <y <= 1)が与えられた場合、平均が(y * n)である数の分布が必要です。つまり、この関数を呼び出すと、0からnまでの数値が返され、これらの数値の平均はy*nになります。
著者によると、「l」は乱数です:0<l<n。私のテストコードでは、現在生成されている0 <= l<=nです。そして、私は正しいコードを持っていました、しかし私は今何時間もこれをいじっています、そして私はそれを元に戻すのが面倒です。
そこで、関数の最初の部分をコーディングしました。y<= 0.5の場合、yを0.2に設定し、nを100に設定しました。つまり、0から99までの数値、平均20を返す必要がありました。結果はその間にありません。 0とnですが、一部は変動します。そして、nが大きいほど、このフロートは小さくなります。
これはCテストコードです。「x」は「l」パラメータです。
そして、ここにいくつかの結果があります(小数点以下5桁が切り捨てられます):
記事は次のとおりです。
http://www.scribd.com/doc/3097936/cAS-The-Cunning-Ant-System
6ページと7ページ。
またはグーグルで「cAS:狡猾なアリシステム」を検索してください。
だから私は何が間違っているのですか?これと同じ機能を説明している論文が5つ以上あるので、著者が間違っているとは思いません。
私を助けてくれる人への私のすべてのインターネット。これは私の仕事にとって重要です。
ありがとう :)
perl - Bernoullli確率変数の合計を効率的にモデル化するにはどうすればよいですか?
私はPerlを使用して、それぞれが異なる成功確率( )を持つY
約15〜40kの独立したベルヌーイ確率変数()の合計である確率変数()をモデル化しています。正式には、どこで。X_i
p_i
Y=Sum{X_i}
Pr(X_i=1)=p_i
Pr(X_i=0)=1-p_i
Pr(Y<=k)
(どこにあるか)などの質問にすばやく答えることに興味がありk
ます。
現在、私はそのような質問に答えるためにランダムシミュレーションを使用しています。X_i
それぞれをそのに従ってランダムに描画し、すべての値をp_i
合計してを取得します。このプロセスを数千回繰り返し、数分の1を返します。X_i
Y'
Pr(Y'<=k)
明らかに、これは完全に正確ではありませんが、使用するシミュレーションの数が増えると精度が大幅に向上します。
正確な確率を取得するための合理的な方法を考えられますか?
c - プログラムの実行時間をCで制限する(モンテカルロ法)
私はC言語を使用して解決するための決定されたアルゴリズムがないプロジェクトに取り組んでいます。私はその問題を解決するためにモンテカルロ法を使用しています。そして、ユーザーが指定した実行時間に制限したいランダムな推測の数。これは、ユーザーが(コマンドライン引数として)定義した実行時間制限を最大限に活用して、できるだけ多くのランダムな反復を実行したいことを意味します。これまでに経過した実行時間をループ状態で確認できますか?
もしそうなら、どうすればいいですか?または、他の方法もあれば大歓迎です。ありがとうございました。
PS私はコーディングとGNUコンパイラにコードブロック10.05を使用しています。
c++ - c++ マルチスレッドの最適化
私のコードでは、モンテカルロ シミュレーションを実行する 2/4 スレッドがあります。それぞれが多数の実験を実行し、すべての結果を stl ベクトルに収集します。私の質問は次のとおりです。各スレッドが 1000 の実験を順番に実行するとします。結果を一度に 1 つずつ共有ベクトルに保存するのと、時々保存するのとではどちらがよいでしょうか? 一貫した量のデータが得られるまで待つと、ベクターへの書き込みに時間がかかるため、2 番目のソリューションが必ずしも最初のソリューションよりも優れているかどうかはわかりません。
PS 各実験は数値計算であるため、IO 操作はありません。
ありがとう
finance - 金融相場のための無料のモンテカルロシミュレーター?
私は prolog で書いているアプリケーションを試しています。さまざまなランダムに生成されたシナリオの価格を出力するモンテカルロ シミュレーターを使用する必要があります。無料でこれを行うものを探す場所を知っている人はいますか? (私は QuantLib のような使用するライブラリを探していません)
ありがとう
c# - C# モンテカルロ シミュレーション パッケージが必要
私はC#に比較的慣れておらず、モンテカルロシミュレーションを使用してプロジェクトを行っています。基本的に私の質問は次のとおりです。
2 つの不確実な変数入力 A と B があり、それらはモデルを通過して C を出力します。つまり、C = f(A,B) です。A の確率分布 (Triangular) と B の確率分布 (Discrete) を知っています。C の確率分布を求めるにはどうすればよいですか?
これで、A の三角分布と B の離散分布に基づいて乱数を生成できるようになりました。ランダムに生成された A と B の各ペアは、結果の C を与えます。このモデルを 1000 回実行したので、C の 1000 の可能な値を取得できます。難しいのは、C の各値の対応する確率を取得することです。明らかに、1/ ではありません。 C が均一に分布していない場合は 1000。使用できるモンテカルロ シミュレーション パッケージ/ライブラリはありますか?
math - 疑似乱数ジェネレーター (PRNG) が十分にランダムでなかったことはありませんか?
使用した (疑似) 乱数の品質が原因で問題が発生したシミュレーションやランダム化アルゴリズムを作成したことがありますか?
何が起こっていたのですか?
prng が問題であることをどのように検出/認識しましたか?
PRNG を切り替えるだけで問題は解決しましたか?それとも真のランダム性のソースに切り替える必要がありましたか?
私は、ランダム性のソースの品質について心配する必要があるアプリケーションの種類と、これが問題になったときにどのように気付くかを理解しようとしています。