1

过去,现在间歇性地,我使用过Easy Java SimulationsNetLogo等模拟工具。

它们是对各种数学/comp-sci 概念进行可视化建模的绝佳工具,因为“您所要做的就是编写模拟循环——图形等已为您处理。

然而,我注意到的一件事是,使用这些工具提高执行时间/建模速度是极其困难的,因为实现的核心隐藏在表面之下。

一般来说,有关于如何使用模拟器工具的很好的文档,但我没有找到任何关于提高执行时间的东西。

例如,假设您正在实施牛顿法来求根。这是一个简单的算法,但取决于

  • 您使用的图形附件类型,或
  • 选择了各种其他杂项选项

模拟将以不同的速度运行。

有没有办法确定模拟数据的“最佳”显示?

在使用这种工具教授有关建模/科学编程的课程的情况下,我正在考虑这一点。

4

3 回答 3

3

您可以尝试使用Repast Symphony代理模拟工具包。它是一个成熟的、免费的、开源的编程环境,具有许多有用的功能。您可以将 Repast 与具有分析器插件的 Eclipse 集成。

于 2008-12-02T14:56:52.910 回答
2

通过 Netlogo,您可以使用 Profiler 扩展

    扩展 [分析器]

请参阅netlogo 主页上的分析器文档

于 2012-10-18T13:13:46.073 回答
1

如果一切都失败了,您可以结合使用这两种方法:

  • 对环境进行二次猜测:问问自己你将如何实现它的功能,然后推断出哪个功能可能需要最少的计算工作。
  • 反复试验:只需通过测试来比较不同的方法。如果环境有一些工具来为你的代码计时,例如一个(准确地)告诉你现在时间的函数,那将是一个很大的帮助。

不要忘记内存缓存和优化等效果。如果您尝试在特定上下文中使用特定功能,它的运行方式可能与您之前的体验不同。

于 2008-11-28T10:59:12.560 回答