Smaller contributions (bug fixes and miscellaneous smaller patches) have been made by:
Claudio Lima, Christian Wojek, Sebastian Nowozin, Stefano Pellegrini, Ofer Meshi,
Dan Preston, Peter Gober, Jiuxiang Hu, Peter Rockett, Dhruv Batra, Alexander Schwing,
-Alejandro Lage, Matt Dunham.
+Alejandro Lage, Matt Dunham, Laurens van der Maaten, Jerome Maye, Prija, Hynek Urban,
+Avneesh Saluja, Thomas Mensink.
Part of this work was part of the Interactive Collaborative Information Systems (ICIS)
project, supported by the Dutch Ministry of Economic Affairs, grant BSIK03024. The
-* [Laurens van der Maaten] src/matlab/dai.cpp now correctly handles missing logZ() and maxDiff() implementations
-* Improved dai::Exception object (it now stores more information and doesn't print to stderr by default)
+libDAI-0.3.0 (2011-07-12)
+-------------------------
+
+New license:
+* Changed license from GPL v2+ to FreeBSD (BSD 2-clause)
+
+Miscellaneous improvements:
+* Improved Exception class
+ (it now stores more information and doesn't print to stderr by default)
* Added builtinInfAlgs() and builtinInfAlgNames()
+
+Bug fixes:
+* [Laurens van der Maaten] src/matlab/dai.cpp now correctly handles missing logZ()
+ and maxDiff() implementations
* Now uses GMP big integer type to represent linear states and the number of
- states of VarSets (in some cases). This fixes a bug Jerome Maye found in the
- State() class in index.h. Unfortunately, the supplied Makefile.WINDOWS now
+ states of VarSets (in some cases). This fixes a bug Jerome Maye and Prija
+ found in the State class. Unfortunately, the supplied Makefile.WINDOWS now
no longer works out-of-the-box.
-* Changed license from GPL v2+ to FreeBSD (BSD 2-clause)
* Fixed numerical issues in MF, FBP and TRWBP (discovered in sparse branch)
-* Jerome Maye and Prija independently found a bug in the State() class in index.h;
- implemented a workaround for the moment
* Fixed bug in findMaximum(): inconsistent max-beliefs are now detected,
instead of returning a MAP state with zero joint probability
(reported by Hynek Urban)
include Makefile.conf
# Set version and date
-DAI_VERSION="git HEAD"
-DAI_DATE="July 7, 2011"
+DAI_VERSION="0.3.0"
+DAI_DATE="July 12, 2011"
# Directories of libDAI sources
# Location of libDAI headers
-------------------------------------------------------------------------------
-Version: git HEAD
-Date: July 7, 2011
+Version: 0.3.0
+Date: July 12, 2011
See also: http://www.libdai.org
-------------------------------------------------------------------------------
of this library, please cite the following paper describing libDAI:
Joris M. Mooij;
-libDAI: A free & open source C++ library for Discrete Approximate Inference in
-graphical models;
+libDAI: A free & open source C++ library for Discrete Approximate Inference in graphical models;
Journal of Machine Learning Research, 11(Aug):2169-2173, 2010.
In BiBTeX format (for your convenience):
Compatibility
The code has been developed under Debian GNU/Linux with the GCC compiler suite.
-libDAI compiles successfully with g++ versions 3.4 up to 4.4.
+libDAI compiles successfully with g++ versions 3.4 up to 4.6.
libDAI has also been successfully compiled with MS Visual Studio 2008 under
Windows (but not all build targets are supported yet) and with Cygwin under
* GNU make
* recent boost C++ libraries (at least version 1.37; however, version 1.37
shipped with Ubuntu 9.04 is known not to work)
+ * GMP library (or the Windows port called MPIR)
* doxygen (only for building the documentation)
* graphviz (only for using some of the libDAI command line utilities)
* CImg library (only for building the image segmentation example)
On Debian/Ubuntu, you can easily install the required packages with a single
command:
- apt-get install g++ make doxygen graphviz libboost-dev libboost-graph-dev libboost-program-options-dev libboost-test-dev cimg-dev
+ apt-get install g++ make doxygen graphviz libboost-dev libboost-graph-dev libboost-program-options-dev libboost-test-dev libgmp-dev cimg-dev
(root permissions needed).
MacPorts. If MacPorts is not already installed, install it according to the
instructions at http://www.macports.org/. Then, a simple
- sudo port install gmake boost doxygen graphviz
+ sudo port install gmake boost gmp doxygen graphviz
should be enough to install everything that is needed.
* A recent version of MicroSoft Visual Studio (2008 is known to work)
* recent boost C++ libraries (version 1.37 or higher)
+ * GMP or MPIR library
* GNU make (can be obtained from http://gnuwin32.sourceforge.net)
* CImg library (only for building the image segmentation example)
bjam --with-graph --with-math --with-program_options --with-test link=static runtime-link=shared
+Building GMP or MPIR under Windows
+
+Information about how to build GPR or MPIR under Windows can be found on the
+internet. The user has to update Makefile.WINDOWS in order to link with the GPR
+/MPIR libraries.
+
Building libDAI
To build the source, copy Makefile.WINDOWS to Makefile.conf. Then, edit
/** \mainpage Reference manual for libDAI - A free/open source C++ library for Discrete Approximate Inference methods
* \author Joris Mooij (with contributions of Frederik Eaton)
- * \version git HEAD
- * \date July 7, 2011
+ * \version 0.3.0
+ * \date July 12, 2011
*
* <hr size="1">
* \section about About libDAI
#define DAI_BP_FAST 1
+/// \todo Make DAI_BP_FAST a compile-time choice, as it is a memory/speed tradeoff
void BP::setProperties( const PropertySet &opts ) {