aGrUM is a C++ library designed for easily building applications using graphical models such as Bayesian networks, influence diagrams, decision trees, GAI networks or Markov decision processes.
aGrUM is written to provide the basic building blocks to perform the following tasks :
- designing graphical models,
- learning graphical models,
- elicitation of graphical models,
- inference within graphical models,
|Potential||Multi-dimensional array||tensorial algebra|
|Bayesian Network||Input/Output||bif/bifxml/dsl/net formats (read/write)|
| Exact Inference
with Relevant Reasonning
| Variable Elimination
|Approximated Inference||Gibbs Sampling
Loopy Belief Propagation
|Parameter Learning|| Pure maxLikelihood,
|Structural Learning|| Local search with Tabu List
Greedy Hill Climbing
constraints : mandatory/forbidden arcs,etc.
|Miscellenaous|| Exact and approximated distance/divergence between BNs (KL, Bhattacharya, Hellinger)
Mutual information, entropy,
Simulation (generation of csv files),
|Probabilistic Relational Model||Input/output||O3PRM language parser|
|Exact inference||Structured Variable Elimination (SVE)|
|Credal Networks||Approximated inference|| GL2U
|multi-valued Decision Diagram||SPUnDD|
- Mandatory algorithms before 1.0.0
- specific algorithms in aGrUM
Documentation & supports¶
- Minimal project using cmake in the online documentation
People & Applications¶
The contribution agreement can be found here.
aGrUM is released under the Gnu Public License, which means it can be freely copied and distributed, and costs nothing to use in open-source applications. Especially, aGrUM can be used freely for research project.
If you wish to use aGrUM in a closed-source product, please contact C.Gonzales or P-H.Wuillemin in order to get appropriate licenses.