CHANGELOG.md 6.75 KB
Newer Older
Lionel's avatar
Lionel committed
1
# aGrUM Changelog
2

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
## Changelog for 0.12.0
* API
  * new class EssentialGraph
  * new class MarkovBlanket
  * improved targets in MarginalTargetInference
* pyAgrum
  * update notebooks
  * new swig-based documentation framework
  * transparent background for dot grphs
  * more windows-compliant agrum.lib.bn2csv
* aGrUM
  * PRM bug fixes
  * improved CI in gitlab
  * improved exception message in BN learning and O3PRM
  * improving act

19 20 21 22 23 24 25 26 27 28 29 30 31 32
## Changelog for 0.11.2
* aGrUM
  * a lot of internal changes for CI in gitlab (especially for future automatic generation of wheels)
  * learning: correct identification of string labels beginning with digits
  * learning: labels from CSV are now alphabetically sorted
  * fix an issue with sql.h
* pyAgrum
  * notebooks as tests (now in wrappers/pyAgrum/notebooks)
  * updating requirements
  * some improvements in doc
  * pyagrum.lib.ipython: emulation of 'pyagrum.lin.notebook' for ipython graphical console (within spyder for instance)
  * pyagrum.lib.bn2csv: csv file with labels of variables instead of index (parameter with_labels:boolean)
  * pyagrum.lib.bn2roc: use a csv with labels by default (parameter with_labels:boolean)

33 34 35
## Changelog for 0.11.1
* 2 typos found in pyAgrum.lib.notebook

36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
## Changelog for 0.11.0
* internal
  * working on continuous integration with gitlab
  * aGrUM/pyAgrum to be compilable with g++-4.8
  * aGrUM/pyAgrum to be compilable with win32
  * pyAgrum wheels generation using act for 'pip' tool
* aGrUM
  * removing some unused datastructure (AVLTree)
  * fixing bug in localSearchWithTabuList learning class
  * Remove wrong parallel estimations for learning (now correct but sequential)
  * working on docs
  * API change : add BayesNet::minimalCondSet(NodeSet&,NodeSet&) (migration from pyAgrum to aGrUM)
  * API change : add JointTargettedInference::evidenceJointImpact()
* pyAgrum
  * API changes : pyAgrum.lib.bn2graph (BN2dot, BNinference2dot, proba2histo)
  * API changes : pyAgrum.lib.pretty_print (bn2txt, cpt2txt)
  * API changes : pyAgrum.lib.notebook : uniformizing parameters evs (first) and targets (second) order.
  * API changes : pyAgrum.lib.notebook : showEntropy->showInformation
  * updating sphinx help generation
  * fix CNMonteCarloSampling not recognized as ApproximationScheme
  * enhancing showInformation with Mutual Information on arcs
  * API change : adding BayesNet.minimalCondSet(set of targets,set of evs) (as wrapper)
  * API change : adding LazyInference.evidenceJointImpact(set of targets,set of evs)

60 61 62 63 64 65 66 67 68
## Changelog for 0.10.4
* Add new approximated inference : LBP (aGrUM and pyAgrum)
* Fix bugs in LazyPropagation and Shafer-Shenoy inference
* Refresh some codes in Learning module
* Update (and simplify) CMakeLists.txt for new swig 3.0.11
* Add some project files (including this CHANGELOG.md)
* Refresh pyAgrum notebooks with matplotlib2


Lionel's avatar
Lionel committed
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
## Changelog for 0.10.3
* Only bug fixes in tests

## Changelog for 0.10.2
* New method for BayesNet : minimalCondSet
* New method for all inference : evidenceImpact
* Potential has a (single) value even if no dimension.
* Bug fix for lazyPropagation
* Typos for Visual C++ compiler
* Many internal changes

## Changelog for 0.10.1
* aGrUM
  * Fix GCC compilation
  * ParamEstimator::setMaxThread new method
* pyAgrum
  * VariableElimination and ShaferShenoy inference
  * new addJointTarget and jointPosterior methods for exact inference
  * pyAgrum.getPosterior now uses VariableElimination
  * Fix pyAgrum.lib.notebook error for python2
  * pyAgrum now linked with static library aGrUM
  * pyAgrum.so (linux) size significantly reduced

## Changelog for 0.10.0
* aGrUM
  * Improvements in inference : New target/evidence-driven incremental inference scheme using relevant reasoning used by Lazy/Shafer-Shenoy/Variable Elimination algorithms. Relevant reasoning leads to a major improvement of the inference (see http://www-desir.lip6.fr/~phw/aGrUM/officiel/notebooks/RelevanceReasoning.html).
* pyAgrum
  * LazyPropagation API follow the new inference scheme (add/removeTarget, add/remove/chgEvidence)
97
* Installers using pip or anaconda.
Lionel's avatar
Lionel committed
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139

## Changelog for 0.9.3
Tag 0.9.3 has not been properly announced. Still, many changes in this release :

* Many bug fixes and API glitch/improvement
  * Many internal reorganisations (compilation, test, jenkins, etc.)
  * Many change in the C++ code in order to be more c++11/14
  * Bug fix in learning
  * Many Doxygen improvements
  * Many refactors and bug fix in PRM
* Improvements
  * dynamic BN in pyAgrum
  * nanodbc support for pyAgrUM
  * O3PRMBNReader in pyAgrum (read a prm to a BN)
  * PRMExplorer in pyAgrum
  * UAI reader/writer for BayesNet
  * Algebra of potentials (operators on Potential)
  * pyAgrum.lib.notebook refactored and simplified
  * updating lrs version for credal networks
* Windows
  * aGrUM/pyAgrum compilation on windows using Visual Studio 2015

## Changelog for 0.9.2
* aGrUM
  * Improvements in Inference
    * old LazyPropagation renamed JunctionTreeInference,
    * Improved LazyPropagation ~30% faster,
    * Bug fix and other improvements for relevance reasoning features.
  * Improvements for Probabilistic Relational Models
    * model refinements : e.g. parameterized classes, specification of CPTs using formula, etc.
    * bug fixes and other improvements in dedicated inference algorithms,
    * improving and fixing documentations
    * new file format for Bayesian network : o3prmBNReader (reading a BN by grounding a system)
  * Learning API still improved
    * BNLearner templatized
    * new feature for BNLearner : using a BN to specicfy variables and their modalities,
    * bug fixes and improvement for parameter learning.
  * other bug fixes and improvements in aGrUM architecture
    * aGrUM g++5.1-ready
    * etc.
* pyAgrum
  * small bugs fixed and reorganisation
140

Lionel's avatar
Lionel committed
141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
##Changelog for 0.9.1
* aGrUM
  * Improvement in learning algorithms
  * learning from databases with fewer rows than there are processors
  * method to BNLearner to learn parameters from a BN's DAG
  * static lib compilation for aGrUM
  * bug fixes and other improvements
* pyAgrum
  * Compiled for Python 3 or Python 2 (default is python3, python2 if no python3.). New option for act to choose which python : --python={2|3}.
  * gumLib has moved and changed its name (in the pyAgrum package) : pyAgrum.lib
  * Improving API for learning (changeLabel/parameter learning/ etc.)
  * Improving graphs manipulation
  * bug fixes and other improvements

## Changelog for 0.9.0
Aside from many bug fixes and general improvements such as performance optimizations in various areas, some changes are especially noteworthy:

* Functionality : Structural and parameter learning for Bayesian networks
* Model : Credal Networks, FMDP using Multi-Valued Decision Diagrams
* Language : migration to modern C++(11/14)
* Core : Improvements and optimization of basic data structures in aGrUM/core