问题标签 [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 图形。我们谈论的是Hattrick 之类的游戏。


我建议你首先有一系列的行动记录。

$minutes = 数组(1, 3, 4, 7, 11, 13, ..., 90, 92);

对于这些分钟中的每一分钟,您都可以模拟一次攻击。

攻击队由之前的骰子决定: $attacking = mt_rand(1, 2);

所以对我来说最重要的部分是攻击功能。

请编辑我的方法或将其用作示例。你能帮我改进一下吗?该函数应该是复杂的,以便结果尽可能真实。但是您需要在高可预测性和过于随机的结果之间找到一些东西。我只想改进这个功能。

我的做法:

应该对随机性产生影响的战术设置:

  • 调整(1=防守,2=中立,3=进攻):数值越高,防守越弱,进攻越强
  • speed of play (1=slow, 2=medium, 3=fast):数值越高,机会越大,但获得快速反击的风险越高
  • 传球距离(1=短,2=中,3=长):值越高,获得的机会越少,但越位机会越多
  • 创造变化(1=安全,2=中等,3=有风险):价值越高,您的机会就越大,但获得快速反击的风险越高
  • 防守压力(1=低,2=中,3=高):数值越高,反击越快
  • 侵略性(1=低,2=中,3=高):值越高,你会被犯规阻止的攻击越多

战术设置的整合:

所有战术设置都有一个值,可以是“1”、“2”或“3”。“2”总是中性/中等。所以我将这些值除以 2。我得到的比率是 0.5 或 1 或 1.5。我想我可以很容易地乘以这个机会,以整合战术影响力。但是出现了一个问题:如果我将一个机会乘以 2 个或更多战术值,它可能会高于 100%(例如 60 x 1.5 x 1.5)。所以我不能这样整合战术。我还可以做些什么?


非常感谢你!

更新(2014 年):几年后,我现在在 GitHub 上以开源形式发布了游戏的完整代码库。如果有人感兴趣,您将在此文件中找到此模拟的具体实现。

0 投票
4 回答
6361 浏览

parallel-processing - VTK到底有多好?

我从开发人员那里听到了一些对 Visualization ToolKit (VTK) 的好评。但它究竟有多强大?例如,它能否处理具有数十亿网格点的整个油藏(在模拟器中)的可视化?大多数工业油藏模拟器在并行处理器上运行。我知道 VTK 支持并行处理,但是在运行油藏模拟之类的东西时,使用并行处理器的稳定性如何?有人在如此大规模的项目中使用过VTK吗?

Mathematica 支持一些简单的油藏模拟,但我认为它使用 Java Swing 库。那么,有没有人知道 VTK 被用于除 3DSplice 之外的强大可视化吗?另外,任何人都可以谈谈使用 VTK 的开发时间吗?

0 投票
4 回答
6181 浏览

php - 改进足球模拟算法

在另一个问题中,您帮助我构建了一个足球模拟算法。我在那里得到了一些很好的答案。再次感谢!

现在我已经编写了这个算法。我想改进它并找出其中可能存在的小错误。我不想讨论如何解决它——就像我们在上一个问题中所做的那样。现在我只想改进它。你能再帮我一次吗?

  1. 有没有错误?
  2. 嵌套 if 子句的结构是否正常?可以改进吗?
  3. 战术是否按照我的描述正确整合?

应该对随机性产生影响的战术设置:

  • $tactics[x][0] 调整(1=防守,2=中立,3=进攻):数值越高防守越弱,进攻越强
  • $tactics x speed of play (1=slow, 2=medium, 3=fast):数值越高,机会越大,但获得快速反击的风险越高
  • $tactics x传球距离(1=短,2=中,3=长):数值越高,你获得的机会越少但越位越好,越位越位
  • $tactics x创建变更(1=安全,2=中等,3=有风险):值越高,您的机会就越好,但获得快速反击的风险越高
  • $tactics[x][4] 防守压力(1=低,2=中,3=高):数值越高,反击越快
  • $tactics[x][5] aggressivity (1=low, 2=medium, 3=high):数值越高,越多的攻击你会被犯规阻止

注意: 策略 0 和策略 4 部分集成在引擎的其余部分中,在此功能中不需要。

当前算法:

更新(2014 年):几年后,我现在在 GitHub 上以开源形式发布了游戏的完整代码库。如果有人感兴趣,您将在此文件中找到此模拟的具体实现。

0 投票
8 回答
1258 浏览

python - 如何构建一个小程序互喂数据的迷你网络?

我正在尝试模拟一个实时网络,其中节点是不同速率的消费者和生产者。我将如何使用 Python 快速实现一个示例?我想象我会为每个节点编写一个简单的程序,但我不确定如何将它们相互连接。

0 投票
3 回答
1135 浏览

c# - 线程 - 模拟执行时间

我有两个辅助线程,它们执行如下所述的方法 WriteX:

( 1 ) 我怎样才能找到“startOne”和“startTwo”完成任务所花费的时间(以毫秒为单位)?

(2)我启动了线程(Start())。我不需要在成功执行后停止线程还是将由主线程(在这种情况下为 Main())处理?

(3) 如何打印消息说 startOne 正在执行 WriteX() 方法而 startTwo 正在执行 WriteX() 方法?

0 投票
5 回答
3401 浏览

python - python中的随机微积分库

我正在寻找一个 python 库,它可以让我计算随机微积分的东西,比如我定义扩散的随机过程的(条件)期望。我看了一下 simpy (simpy.sourceforge.net),但它似乎不能满足我的需求。

这是为了快速原型设计和实验。在 java 中,我成功地使用了(现在不活动的)http://martingale.berlios.de/Martingale.html库。

这个问题本身并不难,但是有很多不平凡的样板工作要做(有效的内存使用,变量减少技术等)。

理想情况下,我可以写出这样的东西(只是说明性的):

例如,除了在 numpy 中重新实现它之外,还有其他人知道吗?

0 投票
23 回答
378086 浏览

terminology - 模拟器还是模拟器?有什么不同?

虽然我了解模拟和仿真的一般含义,但我几乎总是对它们感到困惑。假设我创建了一个模仿现有硬件/软件的软件,我应该怎么称呼它?模拟器还是模拟器?

谁能解释一下编程方面的区别?

奖励:这两个术语在英语中有什么区别?(对不起,我不是母语人士:))

0 投票
5 回答
3303 浏览

java - Hadoop 适合运行我的模拟吗?

用 Java 编写了一个随机模拟,它从磁盘上的几个 CSV 文件(总共约 100MB)加载数据并将结果写入另一个输出文件(数据不多,只是一个布尔值和几个数字)。还有一个参数文件,对于不同的参数,模拟输出的分布预计会发生变化。为了确定正确/最佳的输入参数,我需要跨多个输入参数配置运行多个模拟,并查看每组中输出的分布。每个模拟需要 0.1-10 分钟,具体取决于参数和随机性。

我一直在阅读有关 Hadoop 的文章,想知道它是否可以帮助我运行大量模拟;在不久的将来,我可能可以访问大约 8 台联网的台式机。如果我理解正确,map 函数可以运行我的模拟并吐出结果,reducer 可能就是身份。

我担心的是 HDFS,它似乎适用于大文件,而不是一小部分 CSV 文件(没有一个大到足以构成 64MB 的最小推荐块大小)。此外,每个模拟只需要每个 CSV 文件的相同副本。

Hadoop 对我来说是错误的工具吗?