Merge branch 'master' of git@git.tuebingen.mpg.de:libdai
[libdai.git] / ChangeLog
1 libDAI-0.2.2 (2008-??-??)
2 -------------------------
3
4 * Now compiles also under Visual C++.
5 * Added Exceptions framework.
6 * Added more features to utils/createfg for creating factor graphs.
7 * Pervasive change of BipartiteGraph implementation (based on an idea by
8 Giuseppe Passino). BipartiteGraph no longer stores the node properties
9 (former _V1 and _V2), nor does it store a dense adjacency matrix anymore,
10 nor an edge list. Instead, it stores the graph structure as lists of
11 neighboring nodes. This yields a significant memory/speed improvement for
12 large factor graphs, and is more elegant as well. Iterating over neighbors is
13 made easy by using boost::foreach.
14 * Improved index.h (merged from SVN head):
15 - Renamed Index -> IndexFor
16 - Added some .reserve()'s to IndexFor methods which yields a
17 25% speedup of testregression
18 - Replaced multind by Permute
19 - Added MultiFor
20 - Added State
21 * Moved everything into namespace "dai"
22 * Renamed DEBUG to DAI_DEBUG to avoid conflicts
23 * Added conditional compilation of inference methods
24 * Contributions by Peter Gober:
25 - Renamed variable _N in mr.* for compatibility with g++ under cygwin
26 * Contributions by Giuseppe Passino:
27 - removed "using namespace std;" from header files - bad practice
28 - moved header files in include/dai and sources in src
29 - changed #ifndefs to GNU style
30 - added extra warning checks (-W -Wextra) and fixed resulting warnings
31 - dai::TProb:
32 o removed copy constructor and assignment operators (redundant)
33 o implementation of some methods via STL algorithms
34 o added methods takeExp, takeLog, takeLog0 for transformation in-place
35 o explicit constructor (prevents implicit conversion from size_t to TProb)
36 o added operator+,+=,-,-=, with argument T (for calculations in log-scale)
37 - Added "logdomain" property to BP, a boolean that controls whether
38 calculations are done in the log-domain or in the linear domain;
39 doing calculations in the log-domain may help if the numerical range
40 of a double is too small.
41 * Contributions by Christian Wojek:
42 - New FactorGraph constructor that constructs from given ranges of factors
43 and variables
44 - Optimization of FactorGraph constructors using tr1::unordered_map.
45 * FactorGraph constructors no longer check for short loops (huge speed
46 increase for large factor graphs), nor for negative entries. Also, the
47 normtype is now Prob::NORMPROB by default.
48 * VarSet is now implemented using a std::vector<Var> instead of a
49 std::set<Var>, which yields a significant speed improvement.
50 * Improved MaxSpanningTreePrims algorithm (uses boost::graph)
51 * Small optimization in Diffs
52 * Improved ClusterGraph implementation, yielding significant speedups
53 for the JunctionTree algorithm on large factorgraphs.
54 * Improved documetation
55 * Interface changes:
56 - VarSet::
57 stateSpace() -> states()
58 VarSet( const std::set<Var> ) -> VarSet( begin, end, sizeHint=0 )
59 VarSet( const std::vector<Var> ) -> VarSet( begin, end, sizeHint=0 )
60 removed bool operator||
61 operator&&(const VarSet&) -> intersects(const VarSet&)
62 operator&&(const Var&) -> contains(const Var&)
63 - FactorGraph::
64 delta(const Var &) -> delta(size_t)
65 Delta(const Var &) -> Delta(size_t)
66 makeCavity(const Var &) -> makeCavity(size_t)
67 vars() -> vars
68 factors() -> factors
69 removed MakeFactorCavity(size_t)
70 removed ExactMarginal(const VarSet &)
71 removed ExactlogZ()
72 moved isConnected() to BipartiteGraph
73 - RegionGraph::
74 nr_ORs() -> nrORs()
75 nr_IRs() -> nrIRs()
76 ORs() -> ORs
77 IRs() -> IRs
78 - *::Regenerate() -> *::create()
79 - Renamed Index -> IndexFor
80 - Diffs:
81 max() -> maxDiff()
82 max_size() -> maxSize()
83 - Prob::max() -> Prob::maxVal()
84 - Factor::max() -> Factor::maxVal()
85 - toc() in util.h now returns seconds as a double
86 - VarSet::operator&&
87
88
89 libDAI-0.2.1 (2008-05-26)
90 -------------------------
91
92 Bugfix release.
93 * added missing cstdio header in util.h
94 * fixed Properties in MR_CLAMPING_* and MR_EXACT_*
95 * added description of the factor graph fileformat
96 * improved Makefile
97
98
99 libDAI-0.2.0 (2006-11-30)
100 -------------------------
101
102 First public release.