Agent based modelling is a simulation method in which autonomous agents interact with their environment and one another, given a predefined set of rules. It is an integral method for modelling and simulating complex systems, such as socio-economic problems. Since agent based models are not described by simple and concise mathematical equations, code that generates them is typically complicated, large, and slow. Here we present Agents.jl, a Julia-based software that provides an ABM analysis platform with minimal code complexity. We compare our software with some of the most popular ABM software in other programming languages. We find that Agents.jl is not only the most performant, but also the least complicated software, providing the same (and sometimes more) features as the competitors with less input required from the user. Agents.jl also integrates excellently with the entire Julia ecosystem, including interactive applications, differential equations, parameter optimization, and more. This removes any ``extensions library'' requirement from Agents.jl, which is paramount in many other tools.
翻译:基于代理的建模是一种模拟方法,自主代理商在其中与环境和彼此之间互动,并给其预先确定的一套规则。这是一种建模和模拟复杂系统(例如社会经济问题)的综合方法。由于基于代理商的模型没有用简单简洁的数学方程式描述,因此生成这些模型的代码通常非常复杂、大而慢。这里我们展示了Agress.jl, 以Julia为基础的软件, 提供了极低代码复杂性的反弹道导弹分析平台。我们用其他编程语言比较了我们的软件和一些最受欢迎的反弹道导弹软件。我们发现 Agress.jl不仅是最有性能的软件,而且是最不复杂的软件,提供了与竞争者相同(有时更多)的特性,而要求用户提供的投入较少。 代理商.jl 也出色地将整个Julia生态系统整合在一起, 包括交互式应用程序、差异方程式、参数优化等等。这从代理商.jl中删除了“extensions”图书馆在许多其他工具中至关重要的任何要求。jl。