Joris Mooij [Thu, 5 Aug 2010 12:58:18 +0000 (14:58 +0200)]
Made members Neighbor, Neighbors and Edge of Graph, BipartiteGraph and DAG global
Joris Mooij [Thu, 5 Aug 2010 10:53:22 +0000 (12:53 +0200)]
Added functionality for reading files in the UAI approximate inference challenge format
Joris Mooij [Thu, 5 Aug 2010 09:58:54 +0000 (11:58 +0200)]
Improved tokenizeString
Joris Mooij [Thu, 5 Aug 2010 07:40:50 +0000 (09:40 +0200)]
Removed "optimized" code from ClusterGraph
Joris Mooij [Wed, 4 Aug 2010 15:10:07 +0000 (17:10 +0200)]
Fixed a bug (introduced in commit
64db6bc3...) and another one in Factors2mx
Joris Mooij [Wed, 4 Aug 2010 12:51:21 +0000 (14:51 +0200)]
Some small documentation updates
Joris Mooij [Wed, 4 Aug 2010 12:16:01 +0000 (14:16 +0200)]
Added source code for one of the winning solvers of the UAI 2010 Approximate Inference Challenge
Joris Mooij [Wed, 4 Aug 2010 12:13:04 +0000 (14:13 +0200)]
Improved VarSet and the GIBBS alias
Joris Mooij [Wed, 4 Aug 2010 09:21:57 +0000 (11:21 +0200)]
Fixed bug in BP (introduced in commit
b8f96214...) and added regression test for DECMAP
Joris Mooij [Wed, 4 Aug 2010 08:37:03 +0000 (10:37 +0200)]
Improved ClusterGraph and JTree (added 'maxmem' property)
Joris Mooij [Tue, 3 Aug 2010 14:38:07 +0000 (16:38 +0200)]
Improved HAK (added 'maxtime' property)
Joris Mooij [Tue, 3 Aug 2010 14:31:29 +0000 (16:31 +0200)]
Improved TreeEP (added 'maxtime' property)
Joris Mooij [Tue, 3 Aug 2010 14:29:43 +0000 (16:29 +0200)]
Improved Gibbs and added FactorGraph::logScore( const std::vector<size_t>& statevec )
Joris Mooij [Tue, 3 Aug 2010 13:41:26 +0000 (15:41 +0200)]
Improved BP (added 'maxtime' property)
Joris Mooij [Tue, 3 Aug 2010 13:23:19 +0000 (15:23 +0200)]
Added some unit tests that I forgot earlier
Joris Mooij [Tue, 3 Aug 2010 13:10:46 +0000 (15:10 +0200)]
Added fromString<>( const std::string& x )
Joris Mooij [Tue, 3 Aug 2010 12:52:30 +0000 (14:52 +0200)]
Added SmallSet::erase( const T& t )
Joris Mooij [Tue, 3 Aug 2010 12:38:15 +0000 (14:38 +0200)]
Added decimation algorithm DECMAP
Joris Mooij [Mon, 2 Aug 2010 14:47:01 +0000 (16:47 +0200)]
[Peter Rockett] Improved Makefiles for image segmentation example.
Joris Mooij [Tue, 29 Jun 2010 10:15:29 +0000 (12:15 +0200)]
Updated documentation of dai.m (suggested by Kevin Murphy)
Joris Mooij [Mon, 28 Jun 2010 12:15:10 +0000 (14:15 +0200)]
Merge branch 'master' of git@git.tuebingen.mpg.de:libdai
Joris Mooij [Mon, 28 Jun 2010 12:14:05 +0000 (14:14 +0200)]
Added backwards compatability code for example_imagesegmentation
Joris Mooij [Thu, 17 Jun 2010 15:20:38 +0000 (17:20 +0200)]
Improved performance of TreeEP constructor
Joris Mooij [Mon, 17 May 2010 18:02:54 +0000 (20:02 +0200)]
Removed deprecated interfaces
Joris Mooij [Sun, 16 May 2010 18:27:02 +0000 (20:27 +0200)]
Miscellaneous improvements in FactorGraph, Permute, HAK
* Added FactorGraph::isMaximal(size_t) and FactorGraph::maximalFactor(size_t)
* Added optional reverse argument to Permute::Permute( const std::vector<Var>& )
constructor
* Added Permute::ranges() accessor
* Added Permute::inverse() method
* Optimized region graph construction for HAK/GBP with clusters=BETHE
Joris Mooij [Thu, 13 May 2010 17:29:07 +0000 (19:29 +0200)]
Merge branch 'master' of git.tuebingen.mpg.de:libdai
Joris Mooij [Thu, 13 May 2010 17:28:42 +0000 (19:28 +0200)]
Fixed three minor issues
Joris Mooij [Wed, 12 May 2010 09:49:28 +0000 (11:49 +0200)]
Fixed two problems related to g++ 4.0.0 on Darwin 9.8.0
- Moved isnan() into dai namespace
- Added workaround for standard library implementations that
cannot compare const_reverse_iterator and reverse_iterator
Joris Mooij [Sun, 9 May 2010 14:49:35 +0000 (16:49 +0200)]
Fixed wrong version number in documentation and README
Joris Mooij [Sun, 9 May 2010 13:40:50 +0000 (15:40 +0200)]
Finished a new release: libDAI 0.2.5
Joris Mooij [Wed, 5 May 2010 09:17:55 +0000 (11:17 +0200)]
Added DAG class and various minor improvements
Joris Mooij [Tue, 4 May 2010 10:07:11 +0000 (12:07 +0200)]
Hopefully the final change to make the regression test reproducible!
Joris Mooij [Tue, 4 May 2010 09:50:39 +0000 (11:50 +0200)]
Improved regression test (again) to make it reproducible
Joris Mooij [Tue, 4 May 2010 07:21:01 +0000 (09:21 +0200)]
Improved regression test
Joris Mooij [Mon, 3 May 2010 10:36:46 +0000 (12:36 +0200)]
Build process now continues if compilation of example_imagesegmentation is not succesful
Joris Mooij [Sun, 2 May 2010 19:08:44 +0000 (21:08 +0200)]
Cleaned up example_imagesegmentation
Joris Mooij [Fri, 30 Apr 2010 16:55:36 +0000 (18:55 +0200)]
Changed to newer CImg interface and fixed two regressions
Joris Mooij [Fri, 30 Apr 2010 16:20:32 +0000 (18:20 +0200)]
Added example_imagesegmentation, BipartiteGraph::nb1Set() and nb2Set()
Joris Mooij [Wed, 28 Apr 2010 10:00:52 +0000 (12:00 +0200)]
[Ofer Meshi] Added a script to convert from FastInf fileformat to libDAI fileformat
Joris Mooij [Sun, 25 Apr 2010 13:43:05 +0000 (15:43 +0200)]
Added toString(const T&), cleaned up utils/uai2fg and added tests/twofactors.fg
Joris Mooij [Tue, 20 Apr 2010 14:10:19 +0000 (16:10 +0200)]
Fixed a small regression problem (MF is now uniformly initialized, like it used to be)
Joris Mooij [Tue, 20 Apr 2010 13:23:24 +0000 (15:23 +0200)]
Fixed a bug in TreeEP related to disconnected factor graphs
Joris Mooij [Tue, 20 Apr 2010 11:02:30 +0000 (13:02 +0200)]
Merge branch 'master' of git.tuebingen.mpg.de:libdai
Conflicts:
ChangeLog
Joris Mooij [Tue, 20 Apr 2010 11:01:07 +0000 (13:01 +0200)]
Added utils/uai2fg, ExactInf::findMaximum(), and fixed two bugs
Joris Mooij [Mon, 19 Apr 2010 16:00:34 +0000 (18:00 +0200)]
Merge branch 'master' of git@git.tuebingen.mpg.de:libdai
Conflicts:
ChangeLog
tests/testfast.out
Joris Mooij [Mon, 19 Apr 2010 15:59:27 +0000 (17:59 +0200)]
Improved mf.h/cpp by adding "init" and "updates" options
Joris Mooij [Mon, 19 Apr 2010 12:15:59 +0000 (14:15 +0200)]
utils/createfg: added 'ISINGUNIFORM' factor type, renamed 'ISING' into 'ISINGGAUSS'
Joris Mooij [Sat, 17 Apr 2010 16:01:39 +0000 (18:01 +0200)]
TreeEP now also supports disconnected factor graphs
Joris Mooij [Sat, 17 Apr 2010 14:22:05 +0000 (16:22 +0200)]
JTree now handles disconnected factor graphs
Joris Mooij [Mon, 12 Apr 2010 20:30:32 +0000 (22:30 +0200)]
Undid JunctionTree modification to handle multiple components, since it was buggy
Joris Mooij [Mon, 12 Apr 2010 20:13:29 +0000 (22:13 +0200)]
Merge branch 'master' of git.tuebingen.mpg.de:libdai
Joris Mooij [Mon, 12 Apr 2010 20:12:15 +0000 (22:12 +0200)]
Fixed some issues with prob and factor unit tests under CygWIN
Joris Mooij [Mon, 12 Apr 2010 19:27:44 +0000 (21:27 +0200)]
Merge branch 'master' of git.tuebingen.mpg.de:libdai
Joris Mooij [Mon, 12 Apr 2010 19:27:21 +0000 (21:27 +0200)]
JunctionTree now handles factor graphs with multiple connected components
Joris Mooij [Mon, 12 Apr 2010 19:16:38 +0000 (21:16 +0200)]
Merge branch 'master' of git.tuebingen.mpg.de:libdai
Joris Mooij [Mon, 12 Apr 2010 19:16:14 +0000 (21:16 +0200)]
Made some CygWIN related changes
Joris Mooij [Mon, 12 Apr 2010 19:10:22 +0000 (21:10 +0200)]
Improved floating point aspects of prob and factor unit tests
Joris Mooij [Fri, 9 Apr 2010 15:16:59 +0000 (17:16 +0200)]
Fixed a bug in Factor::Factor( const VarSet&, const std::vector<S>& ) constructor
Joris Mooij [Fri, 9 Apr 2010 14:11:06 +0000 (16:11 +0200)]
Renamed unit tests
Joris Mooij [Fri, 9 Apr 2010 13:02:17 +0000 (15:02 +0200)]
Made all "verbose" properties optional and unit tests should now also work on WINDOWS
Joris Mooij [Fri, 9 Apr 2010 10:35:29 +0000 (12:35 +0200)]
Wrote alldai.h/cpp unit tests
Joris Mooij [Fri, 9 Apr 2010 10:05:26 +0000 (12:05 +0200)]
[Stefan Pellegrini] Fixed a bug in JTree::findMaximum()
Joris Mooij [Fri, 9 Apr 2010 09:42:17 +0000 (11:42 +0200)]
Wrote daialg.h/cpp unit test
Joris Mooij [Thu, 8 Apr 2010 16:10:50 +0000 (18:10 +0200)]
Some small fixes
- Added operator<<( std::ostream&, const GraphAL& )
- Fixed a bug in FactorGraph::MarkovGraph()
- Fixed some build issues for the MatLab interface
Joris Mooij [Thu, 8 Apr 2010 10:38:39 +0000 (12:38 +0200)]
Miscellaneous improvements to regiongraph, factorgraph and bipgraph, and finished regiongraph unit tests
* Improved regiongraph.h/cpp:
- Renamed RegionGraph::calcCountingNumbers() into
RegionGraph::calcCVMCountingNumbers() and made it protected, because
exposing it to the world serves no purpose.
- Added RegionGraph::DAG() accessor which returns a reference to the
region graph DAG structure (currently implemented as a BipartiteGraph)
- Made RegionGraph::RecomputeORs(), RegionGraph::RecomputeORs( const VarSet& )
and RegionGraph::RecomputeOR( size_t ) protected and renamed them by changing
the "Recompute" into "recompute", because exposing them to the world serves no
purpose.
- RegionGraph::WriteToFile( const char* ), RegionGraph::ReadFromFile( const char * )
and RegionGraph::printDot( std::ostream& ) incorrectly called their respective
FactorGraph ancestor methods; this has been corrected by letting them throw a
NOT_IMPLEMENTED exception.
- Changed the way a RegionGraph is streamed to an std::ostream.
* Improved factorgraph.h/cpp:
- Deprecated the iterator interface:
o FactorGraph::iterator typedef
o FactorGraph::const_iterator typedef
o FactorGraph::begin() members
o FactorGraph::end() members
- Deprecated FactorGraph::factor(size_t) which offered write access to a factor
because using this functionality in the descendant RegionGraph is dangerous,
as the outer regions are not automatically recomputed.
* Improved bipgraph.h/cpp:
- Added operator<<( std::ostream&, const BipartiteGraph& )
Joris Mooij [Wed, 7 Apr 2010 19:30:08 +0000 (21:30 +0200)]
Fixed some bugs in the previous commit
Joris Mooij [Wed, 7 Apr 2010 18:40:38 +0000 (20:40 +0200)]
Some improvements to jtree and regiongraph and started work on regiongraph unit tests
* Improved jtree.h/cpp:
- changed JTree::construct( const std::vector<VarSet>&, bool ) into
JTree::construct( const FactorGraph&, const std::vector<VarSet>&, bool )
- changed JTree::GenerateJT( const std::vector<VarSet> & )
into JTree::GenerateJT( const FactorGraph &, const std::vector<VarSet> & )
* Improved regiongraph.h/cpp:
- Made (previously public) members RegionGraph::G, RegionGraph::ORs,
RegionGraph::IRs and RegionGraph::fac2OR protected.
- Removed partial constructor RegionGraph::RegionGraph( const FactorGraph& fg )
- Added some error checking code
Joris Mooij [Wed, 7 Apr 2010 10:38:43 +0000 (12:38 +0200)]
Improved clustergraph.h/cpp code and wrote unit tests
* Improved clustergraph.h/clustergraph.cpp:
- Made (previously public) members G, vars and clusters private and added
bipGraph(), vars() and clusters() methods which offer read-only access to
these members.
- Deprecated toVector()
- Added nrVars() method
- Renamed size() method into nrClusters()
- Added var( size_t ) method
- Added cluster( size_t ) method
Joris Mooij [Tue, 6 Apr 2010 15:37:28 +0000 (17:37 +0200)]
Wrote exceptions, factorgraph unit tests and several other improvements
* Wrote exceptions.h/cpp unit tests
* Wrote factorgraph.h/cpp unit tests
* Improved bipgraph.h/cpp:
- Added BipartiteGraph::operator==( const BipartiteGraph& )
- Added BipartiteGraph( size_t nr1, size_t nr2 ) constructor
* Improved graph.h/cpp:
- Added GraphAL::operator==( const GraphAL& )
* Improved smallset.h/cpp:
- Added SmallSet& insert( const T& t )
* Improved factorgraph.h/factorgraph.cpp:
- FactorGraph::clamped() now contains a delta factor for the clamped variable
- Renamed FactorGraph::Cliques() into FactorGraph::maximalFactorDomains()
- Added FactorGraph::MarkovGraph()
- Fixed bug in FactorGraph::clone()
- FactorGraph::findVars( const VarSet& ) now returns a SmallSet<size_t>
and its argument now has a const-qualifier (which fixes a small bug)
- Made previously public member G private and added the bipGraph() method,
which offers read-only access to it
Joris Mooij [Tue, 6 Apr 2010 08:53:14 +0000 (10:53 +0200)]
Improved prob.h/cpp code:
- Deprecated TProb::TProb( TIterator begin, TIterator end, size_t sizeHint=0 )
constructor: the sizeHint argument no longer defaults to 0
- Deprecated TProb::accumulate( T init, binOp op1, unOp op2 );
instead, TProb::accumulateSum( T init, unOp op ) and
TProb::accumulateMax( T init, unOp op, bool minimize ) should be used.
- Deprecated TProb::NormType and TProb::DistType;
ProbNormType and ProbDistType should be used instead.
Joris Mooij [Fri, 2 Apr 2010 15:20:06 +0000 (17:20 +0200)]
Improved factor.h/cpp code and finished corresponding unit tests
- Fixed bug in min( const TFactor<T> &, const TFactor<T> & )
- Fixed bug in max( const TFactor<T> &, const TFactor<T> & )
- Added TFactor<T>::takeAbs()
- Added TFactor<T>::takeExp()
- Added TFactor<T>::takeLog( bool )
- Added TFactor<T>::operator-() const
- Renamed TFactor<T>::states() into TFactor<T>::nrStates()
Joris Mooij [Thu, 1 Apr 2010 17:16:02 +0000 (19:16 +0200)]
Improved MatLab build process and some smaller misc changes
- Added TFactor<T>::sumAbs() const
- Added TFactor<T>::operator=( const TFactor<T> &y )
- Added TProb<T>::resize(size_t, T)
- Improved Makefile (MatLab interface builds more reliably now)
Joris Mooij [Thu, 1 Apr 2010 12:38:52 +0000 (14:38 +0200)]
Merge branch 'master' of git@git.tuebingen.mpg.de:libdai
Joris Mooij [Thu, 1 Apr 2010 12:36:48 +0000 (14:36 +0200)]
Fixed some bugs and deprecated non-const operator[] of Prob,Factor
* Fixed some bugs in the MatLab interface build system
* Fixed a bug in utils/fginfo.cpp
* Added GraphEL::GraphEL( const GraphAL& G ) constructor
* Improved factor.h/cpp:
- Added get(size_t) and set(size_t,T) operators; get() is
equivalent to "operator[](size_t) const" and set() should
be used instead of the non-const operator[], which has been deprecated
* Improved prob.h/cpp:
- Added get(size_t) and set(size_t,T) operators; get() is
equivalent to "operator[](size_t) const" and set() should
be used instead of the non-const operator[], which has been deprecated
Joris Mooij [Thu, 1 Apr 2010 08:09:26 +0000 (10:09 +0200)]
Started work on factor.h/cpp unit tests
Joris Mooij [Mon, 29 Mar 2010 15:02:32 +0000 (17:02 +0200)]
Improved prob.h/cpp code and unit tests
- TProb<T>::accumulate() now also applies op2 to init
- Fixed bug by renaming TProb<T>::operator<=() to TProb<T>::operator<()
- TProb<T>& operator/= (T x) now yields 0 when dividing by 0
- Changed format of TProb<T> when streamed to an ostream
Joris Mooij [Mon, 29 Mar 2010 09:03:56 +0000 (11:03 +0200)]
Added TProb<T>::operator==( const TProb<T> & ) and added some unit tests for prob.h/cpp
Joris Mooij [Sun, 28 Mar 2010 21:21:12 +0000 (23:21 +0200)]
Added multifor::reset() and wrote index.h/cpp unit tests
Joris Mooij [Sun, 28 Mar 2010 15:01:04 +0000 (17:01 +0200)]
Fixed bug in properties.cpp unit tests
Joris Mooij [Fri, 26 Mar 2010 15:35:19 +0000 (16:35 +0100)]
Improved properties.h/cpp and added unit tests
* Improved properties.h/cpp:
- Renamed PropertySet::Set() -> PropertySet::set()
- Renamed PropertySet::Get() -> PropertySet::get()
- Renamed PropertySet::GetAs<T>() -> PropertySet::getAs<T>()
- Renamed PropertySet::ConvertTo<T>() -> PropertySet::convertTo<T>()
- Added PropertySet::size()
- Added PropertySet::clear()
- Added PropertySet::erase()
- Fixed bug in PropertySet::setAsString<T>()
Joris Mooij [Thu, 25 Mar 2010 16:43:55 +0000 (17:43 +0100)]
Cleaned up enum and weightedgraph unit tests
Joris Mooij [Thu, 25 Mar 2010 09:12:58 +0000 (10:12 +0100)]
Fixed a bug in the Kruskal part of MinSpanningTree
Joris Mooij [Wed, 24 Mar 2010 17:12:50 +0000 (18:12 +0100)]
Improved util.h/cpp and added unit tests
- Fixed a bug in rnd_seed()
- Removed Real max( const std::vector<Real> &v )
Joris Mooij [Wed, 24 Mar 2010 13:48:12 +0000 (14:48 +0100)]
Added unit tests for Enum
Joris Mooij [Wed, 24 Mar 2010 12:41:55 +0000 (13:41 +0100)]
Improved WeightedGraph code and added unit tests
- Renamed MaxSpanningTreePrims into MaxSpanningTree
- Renamed MinSpanningTreePrims into MinSpanningTree
- Added option to MaxSpanningTree and MinSpanningTree for
choosing between Prim's algorithm and Kruskal's algorithm
- More error checking in RootedTree constructor
Joris Mooij [Tue, 23 Mar 2010 08:53:41 +0000 (09:53 +0100)]
Improved BipartiteGraph code, BipartiteGraph and Graph unit tests
- Added BipartiteGraph::hasEdge()
- Added BipartiteGraph::findNb1()
- Added BipartiteGraph::findNb2()
- BipartiteGraph::delta1() and BipartiteGraph::delta2() now
return a SmallSet<size_t> instead of a vector<size_t>
- The sizeHint argument of the iterator constructor
SmallSet::SmallSet( TIterator begin, TIterator end, size_t sizeHint=0 )
no longer has a default value in order to avoid confusion with the
SmallSet::SmallSet( const T &t1, const T &t2 )
constructor.
- Improved BipartiteGraph unit test cases
- Improved Graph unit test cases
Joris Mooij [Mon, 22 Mar 2010 20:50:04 +0000 (21:50 +0100)]
Added BipartiteGraph unit tests and fixed some bugs
- Fixed bug in BipartiteGraph::eraseNode1()
- Fixed bug in BipartiteGraph::eraseNode2()
- Fixed bug in BipartiteGraph::isTree()
- Fixed bug in GraphAL::eraseNode()
Joris Mooij [Mon, 22 Mar 2010 16:11:24 +0000 (17:11 +0100)]
Working on BipGraph unit tests
Joris Mooij [Mon, 22 Mar 2010 12:51:57 +0000 (13:51 +0100)]
Added GraphAL unit tests, fixed 6 bugs in GraphAL and added functionality:
- Fixed bug in GraphAL::nrEdges()
- Fixed bug in GraphAL::addEdge()
- Fixed bug in GraphAL::isTree()
- Fixed bug in GraphAL::printDot()
- Fixed bug in createGraphGrid3D()
- Fixed bug in createGraphRegular()
- Added GraphAL::hasEdge(size_t,size_t)
- Removed RandomDRegularGraph()
Joris Mooij [Sat, 20 Mar 2010 11:57:34 +0000 (12:57 +0100)]
Added unit tests for VarSet
Joris Mooij [Fri, 19 Mar 2010 16:39:43 +0000 (17:39 +0100)]
Compressed Makefile and added unit tests for SmallSet
Joris Mooij [Fri, 19 Mar 2010 12:38:04 +0000 (13:38 +0100)]
Added unit tests for Var
Joris Mooij [Thu, 18 Mar 2010 09:35:07 +0000 (10:35 +0100)]
Added unit testing framework
Joris Mooij [Wed, 17 Mar 2010 12:29:07 +0000 (13:29 +0100)]
Added initialization of TRWBP weights by sampling spanning trees
Joris Mooij [Mon, 1 Mar 2010 20:08:11 +0000 (21:08 +0100)]
Cleaned up MR code
Joris Mooij [Mon, 1 Mar 2010 15:21:03 +0000 (16:21 +0100)]
Rewrote implementation of response propagation in MR
Joris Mooij [Mon, 1 Mar 2010 11:55:39 +0000 (12:55 +0100)]
Fixed bug in BBPCostFunction::operator=() which prevented desired assignment from happening
Joris Mooij [Mon, 22 Feb 2010 19:22:16 +0000 (20:22 +0100)]
[Stefano Pellegrini] Fixed bug in BP[logdomain=1,inference=MAXPROD]
Joris Mooij [Thu, 11 Feb 2010 18:35:26 +0000 (19:35 +0100)]
Removed deprecated interfaces
Joris Mooij [Thu, 11 Feb 2010 11:12:10 +0000 (12:12 +0100)]
Finished release 0.2.4