• Stars
    star
    713
  • Rank 62,939 (Top 2 %)
  • Language
    Julia
  • License
    MIT License
  • Created almost 6 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Agent-based modeling framework in Julia

Agents.jl

CI codecov Package Downloads

Agents.jl is a pure Julia framework for agent-based modeling (ABM): a computational simulation methodology where autonomous agents react to their environment (including other agents) given a predefined set of rules. Some major highlights of Agents.jl are:

  1. It is fast (faster than MASON, NetLogo, or Mesa)
  2. It is simple: has a very short learning curve and requires writing minimal code
  3. Has an extensive interface of thousands of out-of-the box possible agent actions
  4. Straightforwardly allows simulations on Open Street Maps

The simplicity of Agents.jl is due to the intuitive space-agnostic modelling approach we have implemented: agent actions are specified using generically named functions (such as "move agent" or "find nearby agents") that do not depend on the actual space the agents exist in, nor on the properties of the agents themselves. Overall this leads to ultra fast model prototyping where even changing the space the agents live in is matter of only a couple of lines of code.

More information and an extensive list of features can be found in the documentation, which you can either find online or build locally by running the docs/make.jl file.

Citation

If you use this package in a publication, or simply want to refer to it, please cite the paper below:

@article{Agents.jl,
  doi = {10.1177/00375497211068820},
  url = {https://doi.org/10.1177/00375497211068820},
  year = {2022},
  month = jan,
  publisher = {{SAGE} Publications},
  pages = {003754972110688},
  author = {George Datseris and Ali R. Vahdati and Timothy C. DuBois},
  title = {Agents.jl: a performant and feature-full agent-based modeling software of minimal code complexity},
  journal = {{SIMULATION}},
  volume = {0},
  number = {0},
}

More Repositories

1

DrWatson.jl

The perfect sidekick to your scientific inquiries
Julia
749
star
2

DynamicalSystems.jl

Award winning software library for nonlinear dynamics and nonlinear timeseries analysis
Julia
743
star
3

GoodScientificCodeWorkshop

A workshop on writing good scientific code.
Julia
183
star
4

ChaosTools.jl

Tools for the exploration of chaos and nonlinear dynamics
Julia
183
star
5

ConcurrentSim.jl

A discrete event process oriented simulation framework written in Julia. Formerly named SimJulia!
Julia
174
star
6

NonlinearDynamicsTextbook

Nonlinear Dynamics: A concise introduction interlaced with code
Julia
167
star
7

InteractiveDynamics.jl

Fast, general-purpose interactive applications for complex systems
Julia
167
star
8

ResumableFunctions.jl

C# style generators a.k.a. semi-coroutines for Julia.
Julia
156
star
9

CausalityTools.jl

Algorithms for detecting associations, dynamical influences and causal inference from data.
Julia
124
star
10

NetworkDynamics.jl

Julia package for simulating Dynamics on Networks
Julia
122
star
11

TimeseriesPrediction.jl

Prediction of timeseries using methods of nonlinear dynamics and timeseries analysis
Julia
101
star
12

DynamicalBilliards.jl

An easy-to-use, modular, extendable and absurdly fast Julia package for dynamical billiards in two dimensions.
Julia
98
star
13

JuliaDynamics

Website for JuliaDynamics and various resources, like notebooks, videos, etc.
Jupyter Notebook
61
star
14

DiscreteEvents.jl

Discrete event generation and simulation in Julia
Julia
54
star
15

DynamicalSystemsBase.jl

Definition of dynamical systems and integrators for DynamicalSystems.jl
Julia
51
star
16

ARFIMA.jl

Simulate stochastic timeseries that follow ARFIMA, ARMA, ARIMA, AR, etc. processes
Julia
47
star
17

TimeseriesSurrogates.jl

A Julia package for generating timeseries surrogates
Julia
43
star
18

RecurrenceAnalysis.jl

Recurrence Quantification Analysis in Julia
Julia
43
star
19

ComplexityMeasures.jl

Estimators for probabilities, entropies, and other complexity measures derived from observations in the context of nonlinear dynamics and complex systems
Julia
39
star
20

SignalDecomposition.jl

Decompose a signal/timeseries into structure and noise or seasonal and residual components
Julia
33
star
21

DynamicSumTypes.jl

Easy-to-use sum types in Julia
Julia
27
star
22

NonlinearDynamicsComplexSystemsCourse

Material for a full course on applied nonlinear dynamics, nonlinear timeseries analysis, and complex systems, in Julia
Jupyter Notebook
24
star
23

DelayEmbeddings.jl

Delay coordinates embeddings and optimizing them
Julia
23
star
24

StreamSampling.jl

Sampling methods for data streams
Julia
20
star
25

ChaosThroughBilliards

Code repository for an educational video on deterministic chaos
Julia
19
star
26

Attractors.jl

Find attractors of dynamical systems, their basins, and continue them across parameters. Also tipping points for analytic systems.
Julia
19
star
27

CriticalTransitions.jl

A Julia package for critical transitions in dynamical systems with time-dependent forcing
Julia
18
star
28

TransferEntropy.jl

Transfer entropy (conditional mutual information) estimators for the Julia language
Julia
10
star
29

HardSphereDynamics.jl

Dynamics of elastic hard balls in arbitrary number of dimensions in Julia
Julia
9
star
30

PredefinedDynamicalSystems.jl

Collection of predefined dynamical systems for DynamicalSystems.jl
Julia
9
star
31

RigorousInvariantMeasures.jl

Package for the Rigorous Computation of Invariant Measures
Julia
8
star
32

AgentsExampleZoo.jl

Examples written with Agents.jl
Julia
8
star
33

FractalDimensions.jl

Estimating the fractal dimension of timeseries or multidimensional datasets
Julia
7
star
34

ABM_Framework_Comparisons

Benchmarks and comparisons of leading ABM frameworks with Agents.jl
NetLogo
6
star
35

TransitionsInTimeseries.jl

Transition Indicators / Early Warning Signals / Regime Shifts / Change Point Detection
Julia
6
star
36

SpatioTemporalSystems.jl

Simulations of spatio temporal dynamical systems
Julia
5
star
37

AgentsPlots.jl

Plotting functionality for Agents.jl - Agent-Based Modelling in Julia
Julia
5
star
38

PerronFrobenius.jl

Estimating the transfer operator (Perron Frobenius operator) and invariant measures from time series.
Julia
4
star
39

CaosDB.jl

CaosDB interface for Julia
Julia
4
star
40

ExercisesRepo

wip
Julia
4
star
41

LagrangianDescriptors.jl

Painting the phase portrait of random and deterministic systems
Julia
4
star
42

doctheme

Documentation theme for the packages of JuliaDynamics
SCSS
3
star
43

StateSpaceReconstruction.jl

State space reconstruction (SSR) for the study of dynamical system from time series.
Julia
3
star
44

CausalityToolsBase.jl

Base functionality used throughout the CausalityTools ecosystem
Julia
2
star
45

CrossMappings.jl

A Julia package for computing cross mapping causality measures between time series.
Julia
2
star
46

StateSpaceSets.jl

The `StateSpaceSet` interface for packages of JuliaDynamics
Julia
2
star
47

Simplices.jl

Compute exact simplex intersections in N dimensions.
Julia
1
star