Commit Graph

46 Commits (10a8ac34eceabbe44a608d091714e07c043cb217)

Author SHA1 Message Date
Michael Kaess 10a8ac34ec iSAM smoother test 2009-11-23 01:16:58 +00:00
Frank Dellaert 4951a25453 More efficient removeTop 2009-11-23 00:02:06 +00:00
Frank Dellaert 35af122e83 Added a new version of removeTop and simplified update 2009-11-22 23:50:01 +00:00
Michael Kaess 7d384488e3 BayesTree::update generalized and moved from testIncremental to BayesTree; testIncremental removed 2009-11-22 23:35:13 +00:00
Frank Dellaert 64a43b0492 removeTop now does not bomb when a clique does not exist: it just does nothing 2009-11-22 22:59:56 +00:00
Frank Dellaert 952798e751 fixed orphans bug 2009-11-22 18:22:17 +00:00
Frank Dellaert 9da2f16f4d Removed copy/paste in unit tests 2009-11-22 18:12:29 +00:00
Frank Dellaert d4aaa5d114 Added two more removePath tests and fixed bug in removeTop. But orphan list is still incorrect. 2009-11-22 18:06:28 +00:00
Michael Kaess 45292f7bd6 Cliques implemented; unit test on orphans for removePath; bug fix in removePath/orphans 2009-11-22 17:40:24 +00:00
Frank Dellaert 53754ccbb8 removeTop with one factor implemented and one test works (orphans not yet checked) 2009-11-22 17:34:59 +00:00
Frank Dellaert 6f11c0803b Cliques class 2009-11-22 16:46:29 +00:00
Frank Dellaert 7ce62f1626 Some template magic and boost:tie cleared up the compile issues in removePath 2009-11-22 16:04:51 +00:00
Michael Kaess 4449cfd30c remove_path now also returns list of orphaned subtree roots; compile problem... 2009-11-21 23:41:43 +00:00
Frank Dellaert 00b5b25591 Awesome recursive version of removePath 2009-11-21 06:14:53 +00:00
Frank Dellaert 072846a70f moved addClique and removeClique implementations to inl.h,
removePath takes clique argument now
2009-11-21 06:07:46 +00:00
Frank Dellaert b113194e58 While watching TV :-) added some constructors for more readable tests. 2009-11-21 04:59:50 +00:00
Michael Kaess 0286bc27eb removePath mostly working 2009-11-21 03:38:13 +00:00
Frank Dellaert f40182518a size() now returns correct nr. of cliques, not number of keys 2009-11-18 18:05:12 +00:00
Frank Dellaert 03f865d4b1 Used typedefs with similar naming convention. 2009-11-12 18:33:14 +00:00
Alex Cunningham c7b86cec97 Renamed ConditionalGaussian -> GaussianConditional 2009-11-12 16:41:18 +00:00
Alex Cunningham 77a1754b69 Renamed LinearFactor -> GaussianFactor, LinearFactorGraph -> GaussianFactorGraph 2009-11-12 16:16:32 +00:00
Frank Dellaert 1ae6bb4030 Added push_fron convenience method to add ConditionalGaussians into a Bayes net with much less clutter. Modernized some very old tests in the process. 2009-11-12 06:09:03 +00:00
Frank Dellaert f677341108 Moved inference methods to new compilation unit. Added [factor], and [marginalize] now returns a factor graph. 2009-11-12 04:56:30 +00:00
Frank Dellaert a3de1964d7 BIG CHANGE:
1) eliminate methods no longer return a shared pointer. Shared pointers are good for Factors and Conditionals (which are also non-copyable), because these are often passed around under the hood. However, a BayesNet is simple a list of shared pointers and hence does not cost a lot to return as an object (which is compiler-optimized anyway: there is no copy). So, the signature of all eliminate methods changed to simply return a BayesNet<> object (not a shared pointer).

2) GaussianBayesNet::optimize is now replaced by optimize(GaussianBayesNet) and returns a VectorConfig and not a shared pointer

3) GaussianBayesNet and SymbolicBayesNet are now simply typedefs, not derived classes. This is desirable because the BayesTree class uses templated methods that return BayesNet<Conditional>, not a specific BayesNet derived class.
2009-11-09 07:04:26 +00:00
Frank Dellaert dd1b023ca9 Fixed special case for root 2009-11-09 04:45:38 +00:00
Frank Dellaert cc22e82ca6 Joint densities (covariances) now done. Was exceedingly easy :-) 2009-11-09 00:13:44 +00:00
Frank Dellaert 86173b66af Clique marginal and dramatically simplified single variable marginal. 2009-11-08 22:51:12 +00:00
Frank Dellaert 58007a8167 Working recursive (but not cached) shortcut. 2009-11-08 04:41:01 +00:00
Frank Dellaert f5d186522e Standardized on new shared_ptr naming convention 2009-11-07 17:24:05 +00:00
Frank Dellaert d9289d14b3 marginals on any scalar now work 2009-11-05 08:06:32 +00:00
Frank Dellaert e87c19ed7a ConditionalGaussian now stores sigmas 2009-11-05 06:59:59 +00:00
Frank Dellaert cabcda5a96 marginal compiles and runs for frontal node in clique 2009-11-05 06:30:50 +00:00
Frank Dellaert 11fcd5a69d KISS: just a map of pointers in BayesTree now 2009-11-05 05:29:47 +00:00
Frank Dellaert 4865edb883 Removed debug code, added marginal function 2009-11-04 03:22:29 +00:00
Frank Dellaert e9d942f81e BayesNet is now list-based for fast bi-directional access
SLOW O(n) random access operator[key] provided 
(should maybe be called [at] as it does bounds checking)
I also fixed a bug in equals.
2009-11-03 06:29:56 +00:00
Frank Dellaert eab038651e Renamed BayesNet::insert -> push_back. BayesTree now uses Bayes nets as nodes. 2009-11-02 05:17:44 +00:00
Frank Dellaert a8d267c4ca Small change necessitating lots of edits: Conditionals now include key of random variable
This simplifies Bayes nets quite a bit. Also created a Conditional base class, derived classes ConditionalGaussian and SymbolicConditional
Finally, some changes were needed because I moved some headers to .cpp
2009-11-02 03:50:30 +00:00
Frank Dellaert 943b692a6b BIG CHANGE: I got rid of the BayesChain/ChordalBayesNet classes and we now simply have a BayesNet class. It will just happen to be chordal when it is the result of an elimination. This will simplify a lot of things.
The main renaming that happened is

BayesChain -> BayesNet
ChordalBayesNet -> GaussianBayesNet == BayesNet<ConditionalGaussian>
SymbolicBayesChain -> SymbolicBayesNet == BayesNet<SymbolicConditional>
2009-10-31 19:53:20 +00:00
Frank Dellaert c046fed37c Bayes tree constructor implemented and tested with ASIA, as well as smoother example from frankcvs meeting 2009-10-31 16:57:36 +00:00
Frank Dellaert fd5f43092f Ordering is now a list and Testable 2009-10-31 15:24:22 +00:00
Frank Dellaert e1f14b34c3 Implemented [equals] using binary predicate and STL's equal 2009-10-31 14:12:41 +00:00
Frank Dellaert 53890c4ba6 Symbolic Bayes Tree successfully constructed 2009-10-31 05:12:39 +00:00
Frank Dellaert cefeca149b Moved template definitions to BayesTree-inl.h 2009-10-30 13:03:38 +00:00
Frank Dellaert 83e5286710 ChordalBayesNet is now derived from BayesChain
Explicit template instantiations
2009-10-30 04:54:11 +00:00
Frank Dellaert 1f792a53ea Made some progress on symbolic analysis 2009-10-28 02:57:38 +00:00
Frank Dellaert bb15697cf9 Prototype framework for Bayes chain (new name for Chordal Bayes net) and Bayes tree class hierarchy 2009-10-27 20:23:19 +00:00