在Netlogo模拟方面,我还是个新手。我正在收集有关调用不同交通模拟器的信息。Netlogo是否有可能通过控制代理或通信流的库接收来自Java端的调用,或者具有能够通过某些外部逻辑处理它的扩展?
例如,相扑模拟器完全是为交通模拟而设计的,使用TraCI连接很容易控制它。是否有可能仅使用Java/Python/C++代码用NetLogo编写类似的网格模拟,或者NetLogo模拟器需要在NetLogo接口中使用清晰的Logo-semantic代码?
我的比较是因为我对使用命令行、库或API的特定解决方案的性能进行了调查。似乎NetLogo需要以Logo为灵感的代码,它用图形用户界面模拟进程。GUI在这个系统中似乎是一个相当大的减速...
由于它缺少通信接口,而且似乎是一个基于单线程GUI的模拟器,所以我认为它主要用于基本的模拟。
我的假设是正确的吗?它是不是一个受徽标启发的解释器,不能在大规模分布式系统中使用,而通常用于学生展示目的?
发布于 2021-03-25 03:38:31
您不需要使用NetLogo图形用户界面;您可以完全从命令行运行模拟,如下所示:http://ccl.northwestern.edu/netlogo/docs/behaviorspace.html#advanced-usage
实际上,研究人员这样做是很常见的,通常是为了在集群上运行实验。已经使用NetLogo作为模拟的基础发布了Hundreds of research papers。NetLogo也是一种教学工具,但将其描述为仅用于“学生展示”的目的是很不真实的。
NetLogo语言本身是单线程的,但BehaviorSpace支持并行执行多个模拟运行(在图形用户界面或命令行上,无论哪种方式)。
我不知道你所说的“缺乏沟通接口”是什么意思;我想你在这方面是误会了。NetLogo可以并且已经连接到许多其他工具和系统,并且可以通过Java进行扩展。
但是,您必须用Logo语言编写模拟吗? NetLogo语言是Logo语言的一种方言。不,你需要。NetLogo语言可以通过NetLogo扩展,但如果您想完全避免NetLogo- The -language,那么NetLogo不是一个好的选择。
发布于 2021-03-20 21:12:27
NetLogo可以与Java,R,Mathematica通信,不确定还有什么。但是NetLogo并不适合构建图形用户界面,它提供了模拟引擎。不仅仅是学生展示,我可能不会在超过50,000个代理的情况下使用它,所以不是真正用于大规模分布式系统
https://stackoverflow.com/questions/66700532
复制相似问题