在 Netlogo 模拟中将抽象值量化/转换为标准单位

Mil*_*ler 0 netlogo unit-conversion

我正在 NetLogo 中从事一个模拟项目,并遇到了有关某些值的量化的挑战。具体来说,我试图了解如何有效地将抽象模拟测量转换为现实世界的单位。以下是我的主要担忧:

时间转换:在 NetLogo 中,时间通常以“刻度”表示,但我不确定如何将其转换为现实世界的单位,如秒或小时。这种转换是否有标准方法或公式,或者它完全取决于模拟的上下文吗?

物理量:另一个方面是将模拟中“肌肉质量”等属性的抽象测量值转换为千克或克等现实单位。由于 NetLogo 本身并不定义这些单位,因此我不确定如何使这些转换有意义且准确。

我的问题是:

  • NetLogo 中是否有将这些抽象量转换为现实世界单位的指南?
  • 我应该为这些单位分配任意值,还是有更系统的方法来确保模拟的一致性和真实性?

您在 NetLogo 或其他模拟环境中进行类似转换的经验中有什么见解或示例吗?

Mat*_*teo 6

答案很简单:不,如果没有您有意的定义,NetLogo 中的数字并不代表任何特定的东西;此外,您对单位的有意定义是数字获得现实世界意义所需的一切。

不可能有其他方式。否则,这将限制应用:如果滴答声是秒,那么几乎不可能对行星的重力进行建模。如果某个变量是千克(但是……什么变量?你是变量的创造者!),就不可能对化学过程进行建模。

您为变量提供对模型范围有意义的单位,模型的范围是唯一的指导原则。如果您确定刻度是天,那么在go程序的单次迭代中发生的任何事情都必须与现实中一天内发生的情况一致(根据惯例,假设迭代go等于 1 )。tick保持这种一致性并透明地进行是唯一的规则。

您可能想要遵循的唯一好的标准涉及通过ODD 协议记录模型的概述、设计概念和详细信息(或 ODD+D 以获得有关模型中代理决策的更好文档;或 ODD+2D 用于关于使用数据进行参数化的更好的文档)。应该足以提供足够的参考来更好地理解到底是怎么回事。

  • 很好的答案,我只想补充一点,这还取决于您首先可以在模型中实现的详细程度。例如,狼-羊-草模型过于简单化,以至于“滴答声”的持续时间完全超出了模型试图阐述的要点。 (2认同)