Merge branch 'eaton'
authorJoris Mooij <joris.mooij@tuebingen.mpg.de>
Tue, 4 Aug 2009 15:35:49 +0000 (17:35 +0200)
committerJoris Mooij <joris.mooij@tuebingen.mpg.de>
Tue, 4 Aug 2009 15:35:49 +0000 (17:35 +0200)
Conflicts:

ChangeLog
Makefile
include/dai/daialg.h

19 files changed:
1  2 
ChangeLog
Makefile
Makefile.CYGWIN
Makefile.LINUX
Makefile.MACOSX
Makefile.WINDOWS
README
include/dai/alldai.h
include/dai/bipgraph.h
include/dai/bp.h
include/dai/daialg.h
include/dai/doc.h
include/dai/factorgraph.h
include/dai/lc.h
include/dai/mr.h
include/dai/util.h
src/bp.cpp
src/factorgraph.cpp
tests/testdai.cpp

diff --cc ChangeLog
+++ b/ChangeLog
@@@ -1,15 -1,25 +1,33 @@@
- Branch master:
 -git b6efbfd9e4e76de65c44e4060a9b56f99543b70a (head of branch eaton before merge)
 ---------------------------------------------------------------------------------
 +* Added work-around for bug in Boost Graph Library
 +* Improvements of TFactor<T>:
 +  - Extended functionality of TFactor<T>::operators +,-,+=,-= to handle different VarSets
 +  - Added TFactor<T>::maxMarginal (similar to marginal but with max instead of sum)
 +* Added BipartiteGraph::eraseEdge
 +* Removed all the virtual default constructors *::create(), as they are not used.
 +* Fixed bug in MaxSpanningTree (it wrongly assumed that the tree was not empty).
 +* [Charlie Vaske] Added Expectation Maximization code.
 +* Added MatLab QuickStart to README.
 +* MEX file dai now also returns variable and factor beliefs.
+ * Cleanups and extra documentation of the code contributed by Frederik Eaton
+ * Removed erroneous 'inline' directives in gibbs.cpp
+ * [Frederik Eaton] Added script for automatically generating properties code (used by CBP and BBP)
+ * [Frederik Eaton] Updated doxygen.conf to version 1.5.9
+ * [Frederik Eaton] Added newInfAlgFromString to alldai.h/cpp
+ * [Frederik Eaton] Added FactorGraph::clampVar and FactorGraph::clampFactor
+ * [Frederik Eaton] Changed BP to be able to record order in which messages are sent (for use by BBP)
+ * [Frederik Eaton] Improved documentation of BipartiteGraph::Neighbor
+ * [Frederik Eaton]: Extended InfAlg interface with beliefV() and beliefF() methods;
+ * [Frederik Eaton]: Improved PropertySet class:
+   - Added default constructor
+   - Allow construction from string
+   - Added method allKeys() to produce list of keys
+   - In getStringAs(), check for typeid(ValueType) before typeid(std::string)
+     (this fixes a strange bug for empty string property)
+ * [Frederik Eaton]: Added some utility macros (DAI_PV, DAI_DMSG, DAI_ACCMUT, DAI_IFVERB)
+   and functions (concat(),rnd()) to include/dai/util.h
+ * [Frederik Eaton] Added backwards compatibility layer for edge interface to
+   BipartiteGraph and FactorGraph (which will be obsoleted soon)
+ * [Frederik Eaton] Added BP_dual, BBP and CBP algorithms
  * [Frederik Eaton] Added Gibbs::state() accessors/mutators
  * [Frederik Eaton] Fixed Gibbs::getVarDist(size_t) to return uniform 
    distribution if no state is allowed
diff --cc Makefile
+++ b/Makefile
@@@ -104,7 -109,7 +109,7 @@@ examples : examples/example$(EE) exampl
  
  matlabs : matlab/dai$(ME) matlab/dai_readfg$(ME) matlab/dai_writefg$(ME) matlab/dai_potstrength$(ME)
  
- tests : tests/testdai$(EE) tests/testem/testem$(EE)
 -tests : tests/testdai$(EE) tests/testbbp$(EE)
++tests : tests/testdai$(EE) tests/testem/testem$(EE) tests/testbbp$(EE)
  
  utils : utils/createfg$(EE) utils/fg2dot$(EE) utils/fginfo$(EE)
  
@@@ -199,9 -207,10 +213,12 @@@ examples/example_sprinkler$(EE) : examp
  
  tests/testdai$(EE) : tests/testdai.cpp $(HEADERS) $(LIB)/libdai$(LE)
        $(CC) $(CCO)tests/testdai$(EE) tests/testdai.cpp $(LIBS) $(BOOSTLIBS)
 +tests/testem/testem$(EE) : tests/testem/testem.cpp $(HEADERS) $(LIB)/libdai$(LE)
 +      $(CC) $(CCO)$@ $< $(LIBS) $(BOOSTLIBS)
  
+ tests/testbbp$(EE) : tests/testbbp.cpp $(HEADERS) $(LIB)/libdai$(LE)
+       $(CC) $(CCO)tests/testbbp$(EE) tests/testbbp.cpp $(LIBS)
  
  # MATLAB INTERFACE
  ###################
@@@ -289,8 -292,7 +306,7 @@@ clean 
        -rm *$(OE)
        -rm matlab/*$(ME)
        -rm examples/example$(EE) examples/example_bipgraph$(EE) examples/example_varset$(EE) examples/example_sprinkler$(EE)
-       -rm tests/testdai$(EE)
-       -rm tests/testem/testem$(EE)
 -      -rm tests/testdai$(EE) tests/testbbp$(EE)
++      -rm tests/testdai$(EE) tests/testem/testem$(EE) tests/testbbp$(EE)
        -rm utils/fg2dot$(EE) utils/createfg$(EE) utils/fginfo$(EE)
        -rm -R doc
        -rm -R lib
diff --cc Makefile.CYGWIN
Simple merge
diff --cc Makefile.LINUX
Simple merge
diff --cc Makefile.MACOSX
Simple merge
Simple merge
diff --cc README
--- 1/README
--- 2/README
+++ b/README
@@@ -88,11 -87,9 +88,12 @@@ Currently, libDAI supports the followin
      * Generalized Belief Propagation [YFW05];
      * Double-loop GBP [HAK03];
      * Various variants of Loop Corrected Belief Propagation [MoK07, MoR05];
-     * Gibbs sampler.
+     * Gibbs sampler;
+     * Conditioned BP [EaG09].
  
 +In addition, libDAI supports parameter learning of conditional probability
 +tables by Expectation Maximization.
 +
  
  Why C++?
  --------
Simple merge
Simple merge
Simple merge
Simple merge
   *  - Double-loop GBP [\ref HAK03];
   *  - Various variants of Loop Corrected Belief Propagation
   *    [\ref MoK07, \ref MoR05];
-  *  - Gibbs sampler.
+  *  - Gibbs sampler;
+  *  - Conditioned BP [\ref EaG09];
   *
 + *  In addition, libDAI supports parameter learning of conditional probability
 + *  tables by Expectation Maximization.
 + *
   *  \section language Why C++?
   *  Because libDAI is implemented in C++, it is very fast compared with
   *  implementations in MatLab (a factor 1000 faster is not uncommon).
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc src/bp.cpp
Simple merge
Simple merge
Simple merge