Scripts, benchmarks, and data related to the following paper, submitted to the Artificial Intelligence journal in April 2020 and accepted on 4 December 2021:
benchmarks
: ProbLog files of the example problems used in our experiments;modified-code
: code from earlier projects that we have modified for this one;examples
: scripts with minimal working examples of the three SCMD solving pipelines described in our paper;configuration
: parameter files, scripts and scenario files we used for configuration experiments;results
: experimental results as presented in the paper, and some extra results for which there was no room;LICENSES
: the different licenses for the datasets we use, and for the code in this repository.
You need the following pieces of software for building and running the code in this repository:
- SC-ProbLog
- dd with CUDD binding
- SCMD solver 1.3
- Gecode
- Gurobi
- SMAC
The content of this repository is research code and primarily for the purpose of documentation. We provide example scripts to help future researchers build on our work, but a significant part of the code is not cleaned up or extensively tested.
Please contact us if you are looking for the following files:
-
scripts for generating OBDDs from ProbLog programs, including alternative minimisation techniques;
-
scripts for the preprocessing required for the alternative branching heuristics;
-
scripts for running our initial experiments;
-
scripts for running our configuration experiments.
Or if you have any other questions about the contents of this repository or the paper mentioned above.
We build on the propagation algorithm for Stochastic Constraints on Monotonic Distributions (SCMD) in ./SCMD-propagator/src/main/scala/ licensed under MIT, and an earlier configurable version of this algorithm, licensed under MIT. We have also adapted code from SC-ProbLog, licensed under Apache v2.0. We make the resulting code available under MIT. Finally, we present benchmark problems with their own licenses.
The code in this repository was written by
- Anna Latour (@latower)
- Behrouz Babaki (@Behrouz-Babaki)
- Siegfried Nijssen (@siegfriednijssen)
- Daniël Fokkinga (@danielbfokkinga)