Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
您如何解释Netlogo中的宏行为?_Netlogo_Agent Based Modeling - Fatal编程技术网

您如何解释Netlogo中的宏行为?

您如何解释Netlogo中的宏行为?,netlogo,agent-based-modeling,Netlogo,Agent Based Modeling,我很想知道人们用什么样的策略从模型的结果(从观察到的紧急行为)反向工作,试图回答这样一个问题:个体海龟是什么导致了这种宏观行为的?你是在问,“你怎么能猜到什么规则支配着代理[海龟],给定宏观级别的行为?”?或者你会问,“既然你有了源代码,你怎么知道生成宏级行为的源代码是什么?” 回答第一个问题通常很难。我没有什么建议 回答第二个问题也很难 一种策略是用不同的初始配置进行实验,或者在代理[海龟]中用不同的规则进行实验。如果你不知道该改变什么,那就先做出任意的选择,直到你开始猜测,甚至是模糊的直觉。

我很想知道人们用什么样的策略从模型的结果(从观察到的紧急行为)反向工作,试图回答这样一个问题:个体海龟是什么导致了这种宏观行为的?

你是在问,“你怎么能猜到什么规则支配着代理[海龟],给定宏观级别的行为?”?或者你会问,“既然你有了源代码,你怎么知道生成宏级行为的源代码是什么?”

回答第一个问题通常很难。我没有什么建议

回答第二个问题也很难

一种策略是用不同的初始配置进行实验,或者在代理[海龟]中用不同的规则进行实验。如果你不知道该改变什么,那就先做出任意的选择,直到你开始猜测,甚至是模糊的直觉。然后改变代码,探索猜测是否正确,并改进猜测。这种策略并不总是有效的

如果您希望生成宏级别的行为,那么尝试思考如何生成宏级别的行为可能会很有用。你可能不知道答案是什么——这相当于回答了上面的第一个问题——但如果你知道,可能会导致猜测,你可以使用前面的策略

你是在问,“考虑到宏观层面的行为,你怎么能猜出管理代理[海龟]的规则是什么?”?或者你会问,“既然你有了源代码,你怎么知道生成宏级行为的源代码是什么?”

回答第一个问题通常很难。我没有什么建议

回答第二个问题也很难

一种策略是用不同的初始配置进行实验,或者在代理[海龟]中用不同的规则进行实验。如果你不知道该改变什么,那就先做出任意的选择,直到你开始猜测,甚至是模糊的直觉。然后改变代码,探索猜测是否正确,并改进猜测。这种策略并不总是有效的


如果您希望生成宏级别的行为,那么尝试思考如何生成宏级别的行为可能会很有用。你可能不知道答案是什么——这相当于回答了上面的第一个问题——但如果你知道,可能会导致猜测,你可以使用前面的策略

我在调试时会这样做,因为有时会出现意外的宏行为,我需要确定它是真实的还是错误的。通常我要做的是设置随机种子,然后查看哪些代理参与了该行为以及何时(NetLogo中的勾号)发生。然后,我会重新运行模型,并提前几次停止它,检查我知道将参与行为的代理,看看他们或他们的环境是否有异常。宏观行为通常是由于代理、环境和事件的交互作用而发生的,因此我试图确定这些元素是什么,然后再试图解释它们如何组合来创建行为。一旦完成,我通常可以跟踪代码(放入打印语句并检查相关代理)以了解它是如何发生的。

我在调试时会这样做,因为有时会出现意外的宏行为,我需要确定它是真实的还是错误。通常我要做的是设置随机种子,然后查看哪些代理参与了该行为以及何时(NetLogo中的勾号)发生。然后,我会重新运行模型,并提前几次停止它,检查我知道将参与行为的代理,看看他们或他们的环境是否有异常。宏观行为通常是由于代理、环境和事件的交互作用而发生的,因此我试图确定这些元素是什么,然后再试图解释它们如何组合来创建行为。完成后,我通常可以跟踪代码(放入打印语句并检查相关代理),以了解代码是如何发生的。

根据我在ABM的经验,代理的行为是我们明确知道的。我们设计的。紧急情况是鲜为人知的。这是一篇文章吗?这是一个很好的问题,但它可能会因为堆栈溢出而被关闭。您可能需要询问它。(如果问题在这里结束,您也可以询问Programmers.SE。)顺便说一下,这是一个关于基于代理的建模的一般性问题。根据我在ABM的经验,代理的行为是我们明确知道的。我们设计的。紧急情况是鲜为人知的。这是一篇文章吗?这是一个很好的问题,但它可能会因为堆栈溢出而被关闭。您可能需要询问它。(如果问题在这里结束,您也可以询问Programmers.SE。)顺便说一下,这是一个关于基于代理的建模的一般性问题。它不是NetLogo特有的。