aGrUM
A GRaphical Universal Modeler (https://gitlab.com/agrumery/aGrUM)
aGrUMaGrUM is a C++ library for graphical models. |
pyAgrumpyAgrum is a Python wrapper for the C++ aGrUM library. |
aGrUM is a C++ (17) library and contains :
- dedicated fundamental data structures,
- light directed and undirected graphs,
- efficient and extensible multidimensional matrix,
- classical state-of-the-art algorithms Bayesian Networks but also original ones,
- no GUI,
- tools for researcher (random generation of objets, introspection, etc.),
- tools for integraters (listener, multiple format for bayes nets file, etc.).
aGrUM is (L)GPL, cross-platform (linux, windows, mac) and on gitlab (https://gitlab.com/agrumery/aGrUM)
Models/functionalities
Model | Domain | Features |
---|---|---|
Bayesian Network | Input/Output |
bif/bifxml/dsl/net/uai/o3prm formats |
Parallelized Exact Inference |
Variable Elimination, Shafer-Shenoy Inference, Lazy Propagation Marginal targets , joint targets Optimized Relevance Reasoning Incremental inference | |
Approximated Inference |
Gibbs Sampling, Weighted Sampling, Importance Sampling Loopy Belief Propagation Gibbs, Weighted, Importance LoopySampling | |
Parallelized Parameter Learning |
Pure max-Likelihood, Laplace, Dirichlet Multiple score Parametric EM for missing values. | |
Parallelized Structural Learning |
score-based learning : Greedy Hill-Climbing, local search with tabu-list, K2 information-based learning : 3off2, miic (with latent confounder variable discovery) Graphical constraints (forced arcs, forbidden arcs, initial structures, partial order, possible arcs) | |
Algorithms |
Exact and approximated distance/divergence between BNs (KL, Bhattacharya, Hellinger) Mutual information, entropy Simulation (generation of csv files) Markov Blanket, essential graph etc. | |
Markov network | Input/Output | uai |
Parallelized Inference | Shafer-Shenoy | |
Influence Diagram | Input/Output | bifxml |
Inference | Junction Trees | |
Probabilistic Relational Model | Input/output | O3PRM language parser |
Exact inference | Structured Variable Elimination (SVE) | |
Credal Networks | Parallelized Approximated inference | GL2U, MC Sampling |
FMDP | Input | |
Planning | SVI, SPUDD | |
Multi-Valued Decision Diagram | SPUnDD |
Legend: original features in aGrUM.
Installation
Documentation & supports
- Doxygen documentation of aGrUM.
- Mailing list.