Probabilistic Relational Agent-based Models (PRAMs) is a modeling and simulation framework that puts agent-based models (ABMs) on a sound probabilistic foundation. When compared to equivalent ABMs, PRAMs are:
- More space- and time-efficient (due to the way it encodes agent population)
- More sound (due to being probabilistic)
- More expressive (due to being relational)
For more information see documentation.
This software is in the pre-release stage.
Dependencies - Core Library (src/pram)
- Python 3
- altair
- altair-saver
- attrs
- cloudpickle
- dotmap
- iteround
- matplotlib
- NetworkX
- numpy
- psutil
- psycopg2
- pybind11 (for
PyRQA) - PyOpenCL (for
PyRQA) - PyRQA
- ray
- scipy
- sortedcontainers
- tqdm
- xxhash
- selenium (for saving
altairgraphs) - Gecko Driver or Chrome Driver and a recent version of either of the respective Web browser (i.e., Firefox or Chrome; for saving
altairgraphs)
Dependencies - Simulation Library (src/sim)
None
Dependencies - The Web App (src/web)
Backend:
Front-end:
You can install PyPRAM like so:
pip install git+https://github.com/momacs/pram.git
To install all extra dependencies instead, do:
pip install git+https://github.com/momacs/pram.git#egg=pram[all]
Remember to activate your venv of choice unless you want to go system-level.
To create a new venv and install PyPRAM inside of it, use the momacs command-line utility like so:
momacs app-pram setup
The setup-ubuntu.sh script is the preferred method of deploying the package and all its dependencies (including the system-level ones) onto a fresh installation of the Ubuntu Server/Desktop (tested with 18.04 LTS). This is ideal for initializing virtual machine images. The do_env variable controls whether the package and its dependencies are installed inside a Python venv (yes by default). The setup script can be downloaded and executed like so:
sh -c "$(wget https://raw.githubusercontent.com/momacs/pram/master/script/setup-ubuntu.sh -O -)"
Cohen, P.R. & Loboda, T.D. (2019) Probabilistic Relational Agent-Based Models. International Conference on Social Computing, Behavioral-Cultural Modeling & Prediction and Behavior Representation in Modeling and Simulation (BRiMS), Washington, DC, USA. PDF
Loboda, T.D. (2019) Milestone 3 Report.
Loboda, T.D. & Cohen, P.R. (2019) Probabilistic Relational Agent-Based Models. Poster presented at the International Conference on Social Computing, Behavioral-Cultural Modeling & Prediction and Behavior Representation in Modeling and Simulation (BRiMS), Washington, DC, USA. PDF
This project is licensed under the BSD License.