summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Joris Mooij [Wed, 8 Oct 2008 14:10:05 +0000 (16:10 +0200)]
Improved documentation of bipgraph.h and added example_bipgraph.cpp
Joris Mooij [Wed, 8 Oct 2008 09:02:18 +0000 (11:02 +0200)]
Cleanups of matlab, BP; small improvement of utils/fginfo
Joris Mooij [Wed, 1 Oct 2008 12:41:18 +0000 (14:41 +0200)]
Fixed some little typos in v0.2.2
Joris Mooij [Tue, 30 Sep 2008 20:29:50 +0000 (22:29 +0200)]
Significant improvement of documentation
Joris Mooij [Tue, 30 Sep 2008 07:45:51 +0000 (09:45 +0200)]
Misc changes
Joris Mooij [Tue, 30 Sep 2008 06:40:52 +0000 (08:40 +0200)]
Updated copyrights
Joris Mooij [Mon, 29 Sep 2008 19:00:35 +0000 (21:00 +0200)]
Generalized VarSet to "template<typename T> small_set<T>"
Joris Mooij [Mon, 29 Sep 2008 16:49:33 +0000 (18:49 +0200)]
Added max-product version of BP
Joris Mooij [Mon, 29 Sep 2008 16:12:48 +0000 (18:12 +0200)]
Removed x2x
Joris Mooij [Mon, 29 Sep 2008 15:48:14 +0000 (17:48 +0200)]
Replaced all "protected:" by "private:" or "public:"
Joris Mooij [Mon, 29 Sep 2008 14:33:55 +0000 (16:33 +0200)]
Replaced sub_nb class in mr.h by boost::dynamic_bitset
Joris Mooij [Mon, 29 Sep 2008 09:50:40 +0000 (11:50 +0200)]
Merged SVN head ...
- Everything from SVN head is now merged (apart from files which
are only in SVN head, and some stuff described in STATUS)
- Added old history to ChangeLog
- Added Iterations() to each method and to output of tests/test
- Added damping to various algorithms
- Cleaned up headers of algorithms
Joris Mooij [Sat, 27 Sep 2008 15:57:28 +0000 (17:57 +0200)]
Merged jtree.h and jtree.cpp from SVN head
Joris Mooij [Fri, 26 Sep 2008 17:12:49 +0000 (19:12 +0200)]
Merged bp.h and bp.cpp from SVN head
Joris Mooij [Fri, 26 Sep 2008 14:16:41 +0000 (16:16 +0200)]
Merged mf.* from SVN head (which implements damping)...
...and renamed the create() methods to construct() to avoid confusion
with the virtual constructor which is also called create()
Joris Mooij [Fri, 26 Sep 2008 11:24:07 +0000 (13:24 +0200)]
Merged tests/*, matlab/*, utils/* from SVN head...
...and:
- removed LC::Properties::CavityType::PAIRINT and PAIRCUM
- added LDPC method to tests/test
Joris Mooij [Fri, 26 Sep 2008 09:44:29 +0000 (11:44 +0200)]
Merged regiongraph.* and daialg.* from SVN head,
and did some small fixes here and there
Joris Mooij [Fri, 26 Sep 2008 07:53:29 +0000 (09:53 +0200)]
Fixed previous partial commit which left everything broken
Joris Mooij [Fri, 26 Sep 2008 05:31:48 +0000 (07:31 +0200)]
Merged prob.h, factorgraph.h, factograph.cpp from SVN head (broken!)
Joris Mooij [Wed, 24 Sep 2008 13:24:40 +0000 (15:24 +0200)]
Merged factor.h from SVN head
Joris Mooij [Wed, 24 Sep 2008 12:54:22 +0000 (14:54 +0200)]
Merge branch 'master' of git@git.tuebingen.mpg.de:libdai
Joris Mooij [Wed, 24 Sep 2008 12:54:06 +0000 (14:54 +0200)]
Small changes
Joris Mooij [Wed, 24 Sep 2008 08:23:28 +0000 (10:23 +0200)]
- Solved the proliferation of type checks for different DAI_ENUM's in properties.cpp
The most elegant solution would be to adapt boost::any such that it can
stream a held object to an output stream if the object is streamable.
However, this would require surgery in boost::any (see
http://lists.boost.org/MailArchives/boost/msg78317.php for a discussion
of how to do this), which I consider to be an important disadvantage.
Another possible solution would be to replace boost::any by some class
hierarchy and to store properties as pointers to the base property
class, using inheritance based polymorphism to allow different types of
properties. The main disadvantage of this solution is that a lot of
boiler-plate code has to be written.
The current solution is the addition of a printProperties() method to
each class, which outputs its Props to a std::string. This is used by
the identify() method. The main disadvantage of this method is, that it
requires yet another explicit enumeration of all properties in the code,
which makes maintenance yet more costly. However, this solution is
consistent with the approach of using individual Props structures
instead of a PropertySet object.
Joris Mooij [Tue, 23 Sep 2008 10:41:06 +0000 (12:41 +0200)]
Added ExactInf class for doing brute force exact inference...
... and:
- Cleaned up and synched Makefiles
- Improved example
- Added --marginals option to tests/test
Joris Mooij [Tue, 23 Sep 2008 06:25:27 +0000 (08:25 +0200)]
Removed remove_short_loops functionality.
Joris Mooij [Tue, 23 Sep 2008 06:04:12 +0000 (08:04 +0200)]
Replaced ENUM2,ENUM3,ENUM4,ENUM5,ENUM6 by single DAI_ENUM macro.
Joris Mooij [Mon, 22 Sep 2008 06:35:48 +0000 (08:35 +0200)]
Small doc changes
Joris Mooij [Sun, 21 Sep 2008 07:35:08 +0000 (09:35 +0200)]
Merge branch 'master' of git@git.tuebingen.mpg.de:libdai
Conflicts:
include/dai/lc.h
include/dai/mr.h
src/alldai.cpp
src/lc.cpp
tests/test.cpp
Joris Mooij [Sun, 21 Sep 2008 07:28:02 +0000 (09:28 +0200)]
Removed stuff from InfAlg, moved it to individual inference algorithms
- Renamed Properties -> PropertySet
- Removed Properties framework from InfAlg and added properties,
encapsulated in a struct called Properties, to each inference algorithm
- Moved maxdiff functionality from InfAlg to individual inference algorithms
Joris Mooij [Fri, 19 Sep 2008 12:24:19 +0000 (14:24 +0200)]
Several small changes
- Added BipGraph::addEdge(...)
- Removed *::updatedFactor(...)
- Removed FactorGraph::_normtype and FactorGraph::NormType()
Joris Mooij [Fri, 19 Sep 2008 11:23:20 +0000 (13:23 +0200)]
Replaced complex numbers by real numbers
Joris Mooij [Fri, 19 Sep 2008 10:58:32 +0000 (12:58 +0200)]
Replaced some FactorGraph functionality in InfAlg by a function
that returns a reference to a FactorGraph.
Joris Mooij [Fri, 19 Sep 2008 09:59:51 +0000 (11:59 +0200)]
Added Exceptions framework (and more)
- Updated ChangeLog and STATUS
- Added exceptions.h/cpp from SVN head
- Removed all remaining NANs
- Added --report-time option to tests/test,
which allows for simplifications in tests/testregression.
Joris Mooij [Thu, 18 Sep 2008 14:58:45 +0000 (16:58 +0200)]
Fixed NAN related bugs for Visual C++.
Joris Mooij [Thu, 18 Sep 2008 08:40:52 +0000 (10:40 +0200)]
Now compiles also with Visual Studio 2008 under Windows (still buggy!)
- Merged utils/createfg from SVN head
- Added Makefile.win for Visual Studio and fixed some bugs;
HAK doesn't work yet, because of problems with NANs.
Joris Mooij [Mon, 15 Sep 2008 10:20:12 +0000 (12:20 +0200)]
Fixed nasty bug in BipartiteGraph::erase1 and erase2
- Fixed bug in example.cpp (logdomain option was missing)
- Moved some code from the BipartiteGraph header to a
new source file src/bipgraph.cpp
- Added some consistency checks to BipartiteGraph
Joris Mooij [Sat, 13 Sep 2008 17:00:16 +0000 (19:00 +0200)]
Two small bugfixes
Joris Mooij [Sat, 13 Sep 2008 16:49:18 +0000 (18:49 +0200)]
Merged var.h and varset.h from SVN head
- Merged var.h from SVN head
- Merged varset.h from SVN head, which uses vector<Var> as implementation
for a VarSet instead of a set<Var>, which yields a 30% speed improvement
for testregression
Joris Mooij [Thu, 11 Sep 2008 08:46:34 +0000 (10:46 +0200)]
Improved BipartiteGraph doxygen documentation.
Joris Mooij [Thu, 11 Sep 2008 07:36:23 +0000 (09:36 +0200)]
Improved ClusterGraph implementation and MaxSpanningTreePrims implementation.
- Added several methods to BipartiteGraph
- Improved ClusterGraph implementation (taken from SVN head)
- Improved MaxSpanningTree algorithm (using boost::graph library, taken from SVN head)
Joris Mooij [Tue, 9 Sep 2008 14:18:07 +0000 (16:18 +0200)]
Miscellaneous changes:
- Improved compatibility with Windows platform
- Merged util.h/util.cpp from SVN head.
- Updated doxygen.conf and fixed remaining doxygen warnings.
Joris Mooij [Tue, 9 Sep 2008 09:42:19 +0000 (11:42 +0200)]
Added "logdomain" property to BP.
This is a boolean that controls whether calculations are done in the
log-domain or in the linear domain; doing calculations in the log-domain
may help if the numerical range of a double is too small.
Joris Mooij [Mon, 8 Sep 2008 17:36:10 +0000 (19:36 +0200)]
Improved index.h (merged from SVN head), which yields a 25% speedup.
Also, added some copyrights for Martijn Leisink.
Joris Mooij [Mon, 8 Sep 2008 16:49:46 +0000 (18:49 +0200)]
Small misc changes
- Renamed VarSet::stateSpace() -> VarSet::states()
- Renamed *::Regenerate() -> *::create()
- Optimized Diffs (merged version from SVN head)
Joris Mooij [Mon, 8 Sep 2008 14:18:16 +0000 (16:18 +0200)]
Merge branch 'no-edges2'
Joris Mooij [Mon, 8 Sep 2008 14:14:10 +0000 (16:14 +0200)]
Pervasive change of BipartiteGraph implementation
- Added conditional compilation of inference methods
- New implementation of BipartiteGraph: it does not store the
node properties anymore, and nor does it store an adjacency
matrix. Instead, it stores lists of neighbors. An easy way
of iterating over neighbors is to use boost::foreach.
- Interface changes in FactorGraph:
* delta(const Var &) -> delta(size_t)
* Delta(const Var &) -> Delta(size_t)
* makeCavity(const Var &) -> makeCavity(size_t)
* removed MakeFactorCavity(size_t)
* removed ExactMarginal(const VarSet &)
* removed ExactlogZ()
* removed isConnected() (moved to BipartiteGraph)
* vars() -> vars
* factors() -> factors
- Interface changes in RegionGraph:
* nr_ORs() -> nrORs()
* nr_IRs() -> nrIRs()
* ORs() -> ORs
* IRs() -> IRs
- Fixed typo in utils/fg2dot.cpp
Joris Mooij [Fri, 5 Sep 2008 15:25:33 +0000 (17:25 +0200)]
Fixed little bug in fg2dot.cpp
Joris Mooij [Wed, 3 Sep 2008 15:49:42 +0000 (17:49 +0200)]
* Contributions by Giuseppe Passino in dai::TProb.
- removed copy constructor and assignment operators (redundant)
- implementation of some methods via STL algorithms
- added methods takeExp, takeLog, takeLog0 for transformation in-place
- explicit constructor (prevents implicit conversion from size_t to TProb)
- added operator+,+=,-,-=, with argument T (for calculations in log-scale)
Joris Mooij [Wed, 3 Sep 2008 13:25:26 +0000 (15:25 +0200)]
Misc small changes:
* Renamed DEBUG to DAI_DEBUG to avoid conflicts
* Renamed variable _N in mr.* for compatibility with g++ under cygwin
Joris Mooij [Mon, 25 Aug 2008 21:03:30 +0000 (23:03 +0200)]
Partial adoption of contributions by Giuseppe:
* removed "using namespace std;" from header files - bad practice
* moved header files in include/dai and sources in src
* changed #ifndefs in headers to GNU style
* added extra warning checks (-W -Wextra) and fixed resulting warnings
Joris Mooij [Mon, 25 Aug 2008 09:25:48 +0000 (11:25 +0200)]
Adopted contributions by Christian.
* Contributions by Christian, resulting in vast speed and memory improvements
for large factor graphs:
- Sparse implementation of nodes->edge conversion table _E12ind in bipgraph.h
- New FactorGraph constructor that constructs from given ranges of factors
and variables
- Optimization of FactorGraph constructors
* FactorGraph constructors no longer check for short loops and for
negative entries. Also, the normtype is now Prob::NORMPROB by default.
* Moved everything into namespace "dai"
Joris Mooij [Sat, 23 Aug 2008 10:52:23 +0000 (12:52 +0200)]
Initial commit of libDAI-0.2.1
Joris Mooij [Wed, 20 Aug 2008 12:32:40 +0000 (14:32 +0200)]
Third test commit.
Joris Mooij [Wed, 20 Aug 2008 10:53:25 +0000 (12:53 +0200)]
Second test commit
Joris Mooij [Mon, 19 May 2008 09:26:58 +0000 (11:26 +0200)]
Initial commit (just a test)