This is an implementation of the algorithm described in the paper /doc/arxiv2205.01616.pdf which allows Markov chain Monte Carlo sampling from the posterior distribution of an agent-based model given agent behaviour, a prior distribution over the boundary conditions and a set of observations.
The code assumes that the model trajectory is act-Fermionic. See the paper for more details.
The code uses the boost libraries and the gnuplot executable, so make sure these are installed. On Ubuntu this can be done with the command
sudo apt-get install libboost-filesystem-dev libboost-serialization1.65-dev libboost-iostreams1.65.1 gnuplot
changing the version numbers as appropriate.
To build the executable type make
in the src/build
directory. This should make an executable called abmcmc
. Uncomment the various sections in main.cpp
in order to re-calculate the results, generate timings or test the software.