Agent based modelling is a simulation method in which autonomous agents react to their environment, 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 packages 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, 一种基于朱丽亚的软件,它提供了极低代码复杂性的反弹道导弹分析平台。我们用其他编程语言比较了我们的软件和一些最受欢迎的反弹道导弹软件包。我们发现 Agress.jl不仅是最出色的,而且是最不复杂的软件,它提供了与竞争者相同(有时更多)的功能,而要求用户提供的投入较少。 Agents.jl 也出色地融合了整个Julia生态系统,包括交互式应用、差异方程式、参数优化等等。这从Agress.jl中排除了任何“扩展图书馆”的要求,这对于许多其他工具至关重要。