Skip to content
Jason Rhinelander edited this page Sep 21, 2013 · 3 revisions

Eris - agent-based economic modelling library

Description

Eris is a C++ library designed for simulating “economies“ consisting of agents who follow programmable rules, with the intention of deriving complex macro-level behaviour that is an emergent property of agent interaction.

This project was motivated by the inadequacy of mathematical models, which often impose severe constraints on agents in the name of tractability.

At its core, this library imposes few constraints on the behaviour of agents. Individuals agents can, for instance, be programmed to be ultra-rational, or can be “dumb” in the sense of following only simple rules of thumb.

Beyond the core, the library offers many specialized implementations that may be used as appropriate, but can equally well be replaced with alternative implementations.

Requirements

Eris requires a modern C++ compiler and c++ library with C++11 support. Currently that includes GCC 4.8+ and Clang 3.3+, both of which are supported compilers of Eris (that is, any part of eris not working with one or the other should be considered a bug). It is highly unlikely that the library will work with Microsoft Visual Studio anytime soon, as even the latest (2013 RC) appears not to support large swaths of C++11, and the author does not use Microsoft operating systems for development work.

cmake is required to build eris. The quick build version: mkdir build; cd build; cmake ... If you want to not use your default compiler, you can use something like: mkdir build; cd build; CC=clang CXX=clang++ CXXFLAGS="-march=native -O3" cmake ..

doxygen is required for generating the API documentation.

Licence

Eris is free software, available under the terms of the GNU General Public License (GPL) v3 or later.

Source code

The current development version of Eris is available here on GitHub. There are, as yet, no releases.

API

The API is available via the api build target (e.g. make api). A pre-generated version of the API (which may be out of date) is at http://imaginary.ca/eris/api

Origin of the name

The library name, Eris, is the name of the Greek goddess of chaos. The Eris logo is of the Greek mythological Golden Apple of Discord, created by Eris inscribed with the words "to the fairest," which caused strife among the Gods and eventually led to the Trojan war. The image currently in use for the project is this Apple as depicted by Jacob Jordaens.