libdai.git
10 years agoRemoved all the virtual default constructors *::create(), as they are not used.
Joris Mooij [Mon, 20 Jul 2009 14:37:05 +0000 (16:37 +0200)]
Removed all the virtual default constructors *::create(), as they are not used.

10 years agoAdded BipartiteGraph::eraseEdge and some small cleanup
Joris Mooij [Mon, 20 Jul 2009 13:23:35 +0000 (15:23 +0200)]
Added BipartiteGraph::eraseEdge and some small cleanup

10 years agoCleaned up part of BP code
Joris Mooij [Fri, 17 Jul 2009 19:57:43 +0000 (21:57 +0200)]
Cleaned up part of BP code

10 years agoImprovements of TFactor<T>
Joris Mooij [Fri, 17 Jul 2009 16:55:48 +0000 (18:55 +0200)]
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)

11 years agoAdded workaround for bug in Boost Graph Library
Joris Mooij [Mon, 4 May 2009 15:14:27 +0000 (17:14 +0200)]
Added workaround for bug in Boost Graph Library

11 years agoSmall improvement to testdai warning message of previous commit.
Joris Mooij [Wed, 11 Mar 2009 09:19:35 +0000 (10:19 +0100)]
Small improvement to testdai warning message of previous commit.

11 years ago[Frederik Eaton] Change testdai help message to warn if the user is running a debuggi...
Joris Mooij [Wed, 11 Mar 2009 09:18:28 +0000 (10:18 +0100)]
[Frederik Eaton] Change testdai help message to warn if the user is running a debugging build

11 years agoTwo tiny improvements
Joris Mooij [Mon, 9 Mar 2009 20:04:40 +0000 (21:04 +0100)]
Two tiny improvements

11 years agoImproved build system by separating local config from the rest
Joris Mooij [Tue, 3 Mar 2009 13:40:59 +0000 (14:40 +0100)]
Improved build system by separating local config from the rest

11 years ago[Patrick Pletscher] Fixed typo in TProb::abs()
Joris Mooij [Tue, 3 Mar 2009 11:42:56 +0000 (12:42 +0100)]
[Patrick Pletscher] Fixed typo in TProb::abs()

11 years ago[Frederik Eaton] Improvements of Gibbs class
Joris Mooij [Tue, 3 Mar 2009 10:43:42 +0000 (11:43 +0100)]
[Frederik Eaton] Improvements of Gibbs class

* [Frederik Eaton] Added Gibbs::state() accessors/mutators
* [Frederik Eaton] Fixed Gibbs::getVarDist(size_t) to return uniform
  distribution if no state is allowed

11 years agoMerge branch 'eaton'
Joris Mooij [Tue, 3 Mar 2009 10:08:07 +0000 (11:08 +0100)]
Merge branch 'eaton'

Conflicts:

Makefile
src/bp.cpp
tests/testdai.cpp

Summary of changes done in branch 'eaton':
* [Frederik Eaton] Improved parsing code in tests/testdai to allow recursive
  alias substitutions
* Interface changes:
    TProb<T>::minVal()     -> TProb<T>::min()
    TFactor<T>::minVal()   -> TFactor<T>::min()
    TProb<T>::maxVal()     -> TProb<T>::max()
    TFactor<T>::maxVal()   -> TFactor<T>::max()
    TProb<T>::totalSum()   -> TProb<T>sum()
    TFactor<T>::totalSum() -> TFactor<T>::sum()
* [Frederik Eaton] Added methods setUniform (), sumAbs(), argmax() to TProb<T>
* [Frederik Eaton] Added TAGS, lib targets to Makefile
* [Frederik Eaton] Add useful aliases to aliases.conf

11 years ago[Frederik Eaton] Removed unnecessary copy constructors and assignment operators
Joris Mooij [Tue, 3 Mar 2009 09:40:37 +0000 (10:40 +0100)]
[Frederik Eaton] Removed unnecessary copy constructors and assignment operators

11 years ago[Frederik Eaton] Change cout to cerr in warnings and error messages
Joris Mooij [Tue, 3 Mar 2009 08:52:11 +0000 (09:52 +0100)]
[Frederik Eaton] Change cout to cerr in warnings and error messages

11 years agoMerge branch 'master' of git@git.tuebingen.mpg.de:libdai
Joris Mooij [Tue, 3 Mar 2009 08:42:22 +0000 (09:42 +0100)]
Merge branch 'master' of git@git.tuebingen.mpg.de:libdai

11 years ago[Giuseppe Passino] Optimised maximum-residual BP...
Joris Mooij [Tue, 3 Mar 2009 08:02:48 +0000 (09:02 +0100)]
[Giuseppe Passino] Optimised maximum-residual BP...

...by using a reversed ordered set instead of the linear search (which can
yield enormous speedups - a factor 500 has been measured on a binary Ising grid
with 128x128 variables!)

11 years agoMerge branch 'joris'
Joris Mooij [Mon, 2 Mar 2009 19:51:34 +0000 (20:51 +0100)]
Merge branch 'joris'

Conflicts:
example.cpp
include/dai/factor.h
include/dai/var.h
src/bp.cpp

11 years agoSeveral changes by Giuseppe Passino
Joris Mooij [Mon, 2 Mar 2009 19:35:36 +0000 (20:35 +0100)]
Several changes by Giuseppe Passino

- [Giuseppe Passino] Added BP::findMaximum(), which constructs a
  global state with maximum probability after running max-product
- [Giuseppe Passino] Added iterator interfaces to TProb, TFactor,
  and FactorGraph
- [Giuseppe Passino] Added prefix iterator to State
- [Joris Mooij] Added debug assertions to Var which check for
  inconsistent dimensions of variables with the same labels

11 years agoSmall update of README for Mac OS X
Joris Mooij [Tue, 17 Feb 2009 13:33:24 +0000 (14:33 +0100)]
Small update of README for Mac OS X

11 years agoAdded Quickstart for MacOSX to README and improved some exception handling code
Joris Mooij [Tue, 10 Feb 2009 11:05:33 +0000 (12:05 +0100)]
Added Quickstart for MacOSX to README and improved some exception handling code

11 years agoFixed exception handling in tests/testdai
Joris Mooij [Mon, 9 Feb 2009 17:12:02 +0000 (18:12 +0100)]
Fixed exception handling in tests/testdai

11 years agoUpdated ChangeLog
Joris Mooij [Mon, 9 Feb 2009 10:37:57 +0000 (11:37 +0100)]
Updated ChangeLog

11 years agoAdded simple factorgraph illustrating the clamping bug which has now been fixed.
Joris Mooij [Fri, 6 Feb 2009 09:54:31 +0000 (10:54 +0100)]
Added simple factorgraph illustrating the clamping bug which has now been fixed.

11 years agoAdded sprinkler example
Joris Mooij [Fri, 6 Feb 2009 09:05:53 +0000 (10:05 +0100)]
Added sprinkler example

11 years agoMiscellaneuos changes thanks to Dan Preston
Joris Mooij [Thu, 5 Feb 2009 08:48:36 +0000 (09:48 +0100)]
Miscellaneuos changes thanks to Dan Preston
* Improved Makefile (libDAI now also builds out-of-the-box on MacOSX,
  thanks to Dan Preston; merged Makefile.win and Makefile.shared into Makefile)
* Fixed bug in calcMarginal, calcPairBeliefs, calcPairBeliefsNew where
  states with zero probability mass were clamped, leading to NaNs or assertion
  errors (thanks to Dan Preston for reporting this)
* toc() now returns POSIX system time with maximum accuracy of microseconds
* Exception objects now remember their error code

11 years ago[Peter Gober] libDAI now compiles out-of-the-box under Cygwin
Joris Mooij [Wed, 24 Dec 2008 12:42:20 +0000 (13:42 +0100)]
[Peter Gober] libDAI now compiles out-of-the-box under Cygwin

11 years agoUpdated ChangeLog, README and some copyrights
Joris Mooij [Thu, 4 Dec 2008 15:24:31 +0000 (16:24 +0100)]
Updated ChangeLog, README and some copyrights

11 years agoFinished integrating Gibbs sampler by Frederik Eaton into libDAI
Joris Mooij [Wed, 19 Nov 2008 10:27:29 +0000 (11:27 +0100)]
Finished integrating Gibbs sampler by Frederik Eaton into libDAI

11 years agoRemoved cache because it's not always a performance improvement
Joris Mooij [Sun, 16 Nov 2008 14:37:55 +0000 (15:37 +0100)]
Removed cache because it's not always a performance improvement

11 years agoMade state a member variable of Gibbs, and added a cache for factor entries.
Joris Mooij [Sun, 16 Nov 2008 14:02:41 +0000 (15:02 +0100)]
Made state a member variable of Gibbs, and added a cache for factor entries.

11 years agoMerge branch 'master' into gibbs
Joris Mooij [Fri, 14 Nov 2008 16:03:12 +0000 (17:03 +0100)]
Merge branch 'master' into gibbs

11 years agoAdded Gibbs code provided by Frederik Eaton
Joris Mooij [Fri, 14 Nov 2008 15:55:13 +0000 (16:55 +0100)]
Added Gibbs code provided by Frederik Eaton

11 years agoSome small changes
Joris Mooij [Fri, 14 Nov 2008 15:52:50 +0000 (16:52 +0100)]
Some small changes

- Improved constructors of TProb and TFactor to use iterators instead of pointers
- Added TProb::draw() function, which draws a random index
- Fixed whitespace in tests/testdai.cpp

11 years agoChanged regression test so that it also works under Windows
Joris Mooij [Wed, 15 Oct 2008 11:32:26 +0000 (13:32 +0200)]
Changed regression test so that it also works under Windows

11 years agoMerged TODO and FILEFORMAT into doxygen documentation, switched Makefile.win to GNU...
Joris Mooij [Fri, 10 Oct 2008 19:37:18 +0000 (21:37 +0200)]
Merged TODO and FILEFORMAT into doxygen documentation, switched Makefile.win to GNU Make syntax

11 years agoImproved documentation of factor.h, ...
Joris Mooij [Fri, 10 Oct 2008 09:03:03 +0000 (11:03 +0200)]
Improved documentation of factor.h, ...

... and:
- updated ChangeLog
- Removed TFactor<T>::divided_by, use operator/ instead
- Removed TFactor<T>::divide, use operator/= instead
- Removed TFactor<T>::partSum(const VarSet&), use marginal(const VarSet&,true) instead

11 years agoFixed regression in TFactor::partSum
Joris Mooij [Thu, 9 Oct 2008 19:41:49 +0000 (21:41 +0200)]
Fixed regression in TFactor::partSum

11 years agoImproved documentation of include/dai/enum.h and include/dai/factor.h
Joris Mooij [Thu, 9 Oct 2008 19:35:05 +0000 (21:35 +0200)]
Improved documentation of include/dai/enum.h and include/dai/factor.h

11 years agoImproved documentation...
Joris Mooij [Thu, 9 Oct 2008 14:01:30 +0000 (16:01 +0200)]
Improved documentation...

... of examples/example.cpp, examples/example_bipgraph.cpp,
include/dai/prob.h, include/dai/smallset.h, include/dai/var.h,
include/dai/varset.h

Some small additional changes:
- Replaced TProb<T>::log0() by TProb<T>::log(true)
  and TProb<T>::takeLog0() by TProb<T>::takeLog(true)
- Replaced TFactor<T>::log0() by TFactor<T>::log(true)
- Removed TProb<T>::hasNonPositives()
- Added examples/example_varset.cpp
- Renamed smallSet<T> to SmallSet<T>
- Changed operator<< for Var and VarSet

11 years agoOops, correct previous partial commit.
Joris Mooij [Wed, 8 Oct 2008 14:11:13 +0000 (16:11 +0200)]
Oops, correct previous partial commit.

11 years agoImproved documentation of bipgraph.h and added example_bipgraph.cpp
Joris Mooij [Wed, 8 Oct 2008 14:10:05 +0000 (16:10 +0200)]
Improved documentation of bipgraph.h and added example_bipgraph.cpp

11 years agoCleanups of matlab, BP; small improvement of utils/fginfo
Joris Mooij [Wed, 8 Oct 2008 09:02:18 +0000 (11:02 +0200)]
Cleanups of matlab, BP; small improvement of utils/fginfo

11 years agoFixed some little typos in v0.2.2
Joris Mooij [Wed, 1 Oct 2008 12:41:18 +0000 (14:41 +0200)]
Fixed some little typos in v0.2.2

11 years agoSignificant improvement of documentation
Joris Mooij [Tue, 30 Sep 2008 20:29:50 +0000 (22:29 +0200)]
Significant improvement of documentation

11 years agoMisc changes
Joris Mooij [Tue, 30 Sep 2008 07:45:51 +0000 (09:45 +0200)]
Misc changes

11 years agoUpdated copyrights
Joris Mooij [Tue, 30 Sep 2008 06:40:52 +0000 (08:40 +0200)]
Updated copyrights

11 years agoGeneralized VarSet to "template<typename T> small_set<T>"
Joris Mooij [Mon, 29 Sep 2008 19:00:35 +0000 (21:00 +0200)]
Generalized VarSet to "template<typename T> small_set<T>"

11 years agoAdded max-product version of BP
Joris Mooij [Mon, 29 Sep 2008 16:49:33 +0000 (18:49 +0200)]
Added max-product version of BP

11 years agoRemoved x2x
Joris Mooij [Mon, 29 Sep 2008 16:12:48 +0000 (18:12 +0200)]
Removed x2x

11 years agoReplaced all "protected:" by "private:" or "public:"
Joris Mooij [Mon, 29 Sep 2008 15:48:14 +0000 (17:48 +0200)]
Replaced all "protected:" by "private:" or "public:"

11 years agoReplaced sub_nb class in mr.h by boost::dynamic_bitset
Joris Mooij [Mon, 29 Sep 2008 14:33:55 +0000 (16:33 +0200)]
Replaced sub_nb class in mr.h by boost::dynamic_bitset

11 years agoMerged SVN head ...
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

11 years agoMerged jtree.h and jtree.cpp from SVN head
Joris Mooij [Sat, 27 Sep 2008 15:57:28 +0000 (17:57 +0200)]
Merged jtree.h and jtree.cpp from SVN head

11 years agoMerged bp.h and bp.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

11 years agoMerged mf.* from SVN head (which implements damping)...
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()

11 years agoMerged tests/*, matlab/*, utils/* from SVN head...
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

11 years agoMerged regiongraph.* and daialg.* from SVN head,
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

11 years agoFixed previous partial commit which left everything broken
Joris Mooij [Fri, 26 Sep 2008 07:53:29 +0000 (09:53 +0200)]
Fixed previous partial commit which left everything broken

11 years agoMerged prob.h, factorgraph.h, factograph.cpp from SVN head (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!)

11 years agoMerged factor.h from SVN head
Joris Mooij [Wed, 24 Sep 2008 13:24:40 +0000 (15:24 +0200)]
Merged factor.h from SVN head

11 years agoMerge branch 'master' of git@git.tuebingen.mpg.de:libdai
Joris Mooij [Wed, 24 Sep 2008 12:54:22 +0000 (14:54 +0200)]
Merge branch 'master' of git@git.tuebingen.mpg.de:libdai

11 years agoSmall changes
Joris Mooij [Wed, 24 Sep 2008 12:54:06 +0000 (14:54 +0200)]
Small changes

11 years ago- Solved the proliferation of type checks for different DAI_ENUM's in properties.cpp
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.

11 years agoAdded ExactInf class for doing brute force exact inference...
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

11 years agoRemoved remove_short_loops functionality.
Joris Mooij [Tue, 23 Sep 2008 06:25:27 +0000 (08:25 +0200)]
Removed remove_short_loops functionality.

11 years agoReplaced ENUM2,ENUM3,ENUM4,ENUM5,ENUM6 by single DAI_ENUM macro.
Joris Mooij [Tue, 23 Sep 2008 06:04:12 +0000 (08:04 +0200)]
Replaced ENUM2,ENUM3,ENUM4,ENUM5,ENUM6 by single DAI_ENUM macro.

11 years agoSmall doc changes
Joris Mooij [Mon, 22 Sep 2008 06:35:48 +0000 (08:35 +0200)]
Small doc changes

11 years agoMerge branch 'master' of git@git.tuebingen.mpg.de:libdai
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

11 years agoRemoved stuff from InfAlg, moved it to individual inference algorithms
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

11 years agoSeveral small changes
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()

11 years agoReplaced complex numbers by real numbers
Joris Mooij [Fri, 19 Sep 2008 11:23:20 +0000 (13:23 +0200)]
Replaced complex numbers by real numbers

11 years agoReplaced some FactorGraph functionality in InfAlg by a function
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.

11 years agoAdded Exceptions framework (and more)
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.

11 years agoFixed NAN related bugs for Visual C++.
Joris Mooij [Thu, 18 Sep 2008 14:58:45 +0000 (16:58 +0200)]
Fixed NAN related bugs for Visual C++.

11 years agoNow compiles also with Visual Studio 2008 under Windows (still buggy!)
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.

11 years agoFixed nasty bug in BipartiteGraph::erase1 and erase2
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

11 years agoTwo small bugfixes
Joris Mooij [Sat, 13 Sep 2008 17:00:16 +0000 (19:00 +0200)]
Two small bugfixes

11 years agoMerged var.h and varset.h from SVN head
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

11 years agoImproved BipartiteGraph doxygen documentation.
Joris Mooij [Thu, 11 Sep 2008 08:46:34 +0000 (10:46 +0200)]
Improved BipartiteGraph doxygen documentation.

11 years agoImproved ClusterGraph implementation and MaxSpanningTreePrims implementation.
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)

11 years agoMiscellaneous changes:
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.

11 years agoAdded "logdomain" property to BP.
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.

11 years agoImproved index.h (merged from SVN head), which yields a 25% speedup.
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.

11 years agoSmall misc changes
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)

11 years agoMerge branch 'no-edges2'
Joris Mooij [Mon, 8 Sep 2008 14:18:16 +0000 (16:18 +0200)]
Merge branch 'no-edges2'

11 years agoPervasive change of BipartiteGraph implementation
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

11 years agoFixed little bug in fg2dot.cpp
Joris Mooij [Fri, 5 Sep 2008 15:25:33 +0000 (17:25 +0200)]
Fixed little bug in fg2dot.cpp

11 years ago* Contributions by Giuseppe Passino in dai::TProb.
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)

11 years agoMisc small changes:
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

11 years agoPartial adoption of contributions by Giuseppe:
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

11 years agoAdopted contributions by Christian.
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"

11 years agoInitial commit of libDAI-0.2.1
Joris Mooij [Sat, 23 Aug 2008 10:52:23 +0000 (12:52 +0200)]
Initial commit of libDAI-0.2.1

11 years agoThird test commit.
Joris Mooij [Wed, 20 Aug 2008 12:32:40 +0000 (14:32 +0200)]
Third test commit.

11 years agoSecond test commit
Joris Mooij [Wed, 20 Aug 2008 10:53:25 +0000 (12:53 +0200)]
Second test commit

12 years agoInitial commit (just a test)
Joris Mooij [Mon, 19 May 2008 09:26:58 +0000 (11:26 +0200)]
Initial commit (just a test)