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
altair
graphs) - Gecko Driver or Chrome Driver and a recent version of either of the respective Web browser (i.e., Firefox or Chrome; for saving
altair
graphs)
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.