問題タブ [simulation]

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.

0 投票する
4 に答える
6320 参照

r - モンテカルロシミュレーションを高速化するための最良のトリックは何ですか?

S-Plusで大規模なモンテカルロシミュレーションを実行するときはいつでも、それが完了するのを待つ間、私はいつもあごひげを生やしてしまいます。

Rでモンテカルロシミュレーションを実行するための最良のトリックは何ですか?分散方式でプロセスを実行する良い例はありますか?

0 投票する
2 に答える
3441 参照

c# - さまざまな分布の乱数を生成するためのC#用のオープンソース統計ライブラリ?

これはシミュレーション用です。特に、私は自然な響きの単語と名前を生成しようとしていますが、Randomクラスの一様分布はそれをカットしません。

同様の質問がC#乱数ジェネレーターを探していなかったため、これは重複した質問ではありません。

0 投票する
4 に答える
20078 参照

php - ゲームのサッカーシミュレーション

サッカー(連想サッカー)の試合をシミュレートできるシミュレーションエンジンを構築したいと思います。あなたが私を助けてくれたら素晴らしいと思います。私にとって重要なのは、どのアクションが発生するかを決定することです。各アクションのイベントリスナーは、後で簡単に実装できます。この関数は、ゲームの結果と発生したアクションへのコメントのみをシミュレートする必要があります。2D/3Dグラフィックスは必要ありません。私たちはハットトリックのようなゲームについて話している。


私はあなたが最初に行動を伴う一連の議事録を持っていることを提案します。

$ minutes = array(1、3、4、7、11、13、...、90、92);

これらの分ごとに、攻撃をシミュレートできます。

攻撃側のチームは、前にサイコロで決定されます。$ Attacking = mt_rand(1、2);

ですから、私にとって最も重要なのは攻撃機能です。

私のアプローチを編集するか、サンプルとして使用してください。これを改善するのを手伝ってもらえますか?結果が可能な限り現実的になるように、関数は複雑である必要があります。しかし、高い予測可能性とあまりにもランダムな結果の間で何かを見つける必要があります。この機能を改善したいだけです。

私のアプローチ:

ランダム性に影響を与えるはずの戦術設定:

  • 調整(1 =防御、2 =中立、3 =攻撃):値が高いほど防御は弱く、攻撃は強くなります
  • プレイの速度(1 =遅い、2 =中、3 =速い):値が高いほどチャンスは高くなりますが、迅速なカウンター攻撃を受けるリスクは高くなります
  • パスの距離(1 =短い、2 =中、3 =長い):値が高いほど、得られる機会は少なくなりますが、より良い機会が得られ、オフサイドになることが多くなります。
  • 変更の作成(1 =安全、2 =中、3 =危険):値が高いほどチャンスは高くなりますが、迅速な反撃を受けるリスクは高くなります
  • 防御のプレッシャー(1 =低、2 =中、3 =高):値が高いほど、カウンター攻撃が速くなります
  • 攻撃性(1 =低、2 =中、3 =高):値が高いほど、ファウルによって阻止される攻撃が多くなります。

戦術設定の統合:

すべての戦術設定には、「1」、「2」、または「3」の値があります。「2」は常にニュートラル/ミディアムです。したがって、値を2で割ります。0.5または1または1.5の比率が得られます。そうすれば、戦術的な影響力を統合するために、チャンスを簡単に増やすことができると思いました。しかし、1つの問題が発生しました。チャンスに2つ以上の戦術値を掛けると、100%より高くなる可能性があります(たとえば、60 x 1.5 x 1.5)。だから私はこのように戦術を統合することはできません。他に何ができますか?


どうもありがとうございます!

アップデート(2014):数年後、GitHubでゲームの完全なコードベースをオープンソースとしてリリースしました。興味のある方は、このファイルでこのシミュレーションの特定の実装を見つけることができます。

0 投票する
4 に答える
6361 参照

parallel-processing - VTKはどれだけ良いですか?

Visualization ToolKit(VTK)の良いレビューを開発者から聞いたことがあります。しかし、それは正確にどれほど強力ですか?たとえば、数十億のグリッドポイントを持つ(シミュレーターでの)石油貯留層全体の視覚化を処理できますか?ほとんどの産業用貯水池シミュレーターは、並列プロセッサーで実行されます。VTKが並列処理をサポートしていることは知っていますが、リザーバーシミュレーションのようなものを実行するときに、並列プロセッサを利用することでどれほど安定できるでしょうか?このような大規模なプロジェクトでVTKを使用した人はいますか?

Mathematicaはいくつかの簡単な貯水池シミュレーションをサポートしていますが、JavaSwingライブラリを使用していると思います。では、3DSplice以外の強力な視覚化にVTKが使用されているという考えを持っている人はいますか?また、VTKを使った開発時間について誰かが何か言うことができますか?

0 投票する
4 に答える
6181 参照

php - サッカーシミュレーションアルゴリズムの改善

別の質問では、サッカーのシミュレーション アルゴリズムの構築を手伝ってくれました。私はそこにいくつかの非常に良い答えを得ました. 再度、感謝します!

これで、このアルゴリズムをコーディングしました。私はそれを改善し、そこにある可能性のある小さな間違いを見つけたいと思っています. 前回の質問で行ったように、解決方法については議論したくありません。今はそれを改善したいだけです。もう一度私を助けてもらえますか?

  1. 間違いはありますか?
  2. ネストされた if 節の構造は大丈夫ですか? 改善できますか?
  3. 私の説明に従って、戦術は正しく統合されていますか?

ランダム性に影響を与える戦術設定:

  • $tactics[x][0] 調整 (1=防御、2=中立、3=攻撃): 値が高いほど防御が弱く、攻撃が強い
  • $tactics xプレーの速さ (1=遅い、2=中程度、3=速い): 値が高いほど機会は多くなりますが、素早い反撃を受けるリスクが高くなります。
  • $tactics xパスの距離 (1 = ショート、2 = ミディアム、3 = ロング): 値が大きいほどチャンスは少なくなりますが、オフサイドになる頻度が高くなります。
  • $tactics x変更の作成 (1 = 安全、2 = 中、3 = 危険): 値が高いほどチャンスは多くなりますが、迅速な反撃を受けるリスクが高くなります。
  • $tactics[x][4] 防御におけるプレッシャー (1=低、2=中、3=高): 値が高いほど、カウンター攻撃が速くなります。
  • $tactics[x][5] 攻撃性 (1=低、2=中、3=高): 値が高いほど、ファウルによって阻止される攻撃が多くなります

注: 戦術 0 と戦術 4 は、エンジンの残りの部分に部分的に統合されており、この機能では必要ありません。

現在のアルゴリズム:

更新 (2014 年):数年後、ゲームの完全なコード ベースをGitHub でオープン ソースとしてリリースしました。興味のある方は、このファイルにこのシミュレーションの具体的な実装を見つけることができます。

0 投票する
8 に答える
1258 参照

python - 互いにデータを供給する小さなプログラムのミニネットワークを構築する方法は?

ノードが異なるレートの消費者と生産者であるリアルタイムネットワークをシミュレートしようとしています。このサンプルを Python ですばやく実装するにはどうすればよいでしょうか? ノードごとに簡単なプログラムを書くことを想像していましたが、それらを相互に接続する方法がわかりません。

0 投票する
3 に答える
1135 参照

c# - スレッド-実行時間のシミュレーション

以下に説明するように、WriteXメソッドを実行する2つのセカンダリスレッドがあります。

(1)「startOne」と「startTwo」がタスクを完了するのにかかる時間(ミリ秒単位)を確認するにはどうすればよいですか?

(2)スレッドを開始しました(Start())。実行が成功したときにスレッドを停止する必要はありませんか、それともプライマリスレッド(この場合はMain())によって処理されますか?

(3)startOneがWriteX()メソッドを実行し、startTwoがWriteX()メソッドを実行しているというメッセージを出力するにはどうすればよいですか?

0 投票する
5 に答える
3303 参照

java - Hadoopはシミュレーションを実行するのに適していますか?

はJavaで確率シミュレーションを作成しました。これは、ディスク上のいくつかのCSVファイル(合計約100MB)からデータをロードし、結果を別の出力ファイル(多くのデータではなく、ブール値といくつかの数値)に書き込みます。パラメータファイルもあり、さまざまなパラメータについて、シミュレーション出力の分布が変化すると予想されます。正しい/最適な入力パラメーターを決定するには、複数の入力パラメーター構成にわたって複数のシミュレーションを実行し、各グループの出力の分布を確認する必要があります。各シミュレーションは、パラメーターとランダム性に応じて0.1〜10分かかります。

私はHadoopについて読んでいて、それが多くのシミュレーションの実行に役立つかどうか疑問に思っています。近い将来、約8台のネットワーク化されたデスクトップマシンにアクセスできるようになるかもしれません。私が正しく理解していれば、map関数がシミュレーションを実行して結果を吐き出す可能性があり、レデューサーがIDである可能性があります。

私が心配しているのはHDFSです。これは、小さなCSVファイルの断片ではなく、巨大なファイルを対象としているようです(64MBの最小推奨ブロックサイズを構成するのに十分な大きさではありません)。さらに、各シミュレーションには、各CSVファイルの同一のコピーのみが必要です。

Hadoopは私にとって間違ったツールですか?