80d335ed77 
								
							
								 
							
						 
						
							
							
								
								added saveGraph function to BayesTree which writes out a dot file which can be visualized using graphviz dot command  
							
							
							
						 
						
							2010-01-22 23:52:56 +00:00  
				
					
						
							
							
								 
						
							
							
								5367e5a157 
								
							
								 
							
						 
						
							
							
								
								All std::map<Symbol,T> are now SymbolMap<T>, which is just a thin wrapper around std::map.  at(Key) is used instead of first checking with find when an exception should be thrown for non-existent keys.  This does not change any behavior or timing currently.  This check-in also includes some functions in BayesTree for gathering clique statistics.  
							
							
							
						 
						
							2010-01-22 04:41:40 +00:00  
				
					
						
							
							
								 
						
							
							
								41a6e64bbb 
								
							
								 
							
						 
						
							
							
								
								Fixed insert to use IndexTable, a new class  
							
							
							
						 
						
							2010-01-22 02:27:26 +00:00  
				
					
						
							
							
								 
						
							
							
								188561d925 
								
							
								 
							
						 
						
							
							
								
								removeTop/Path now returns a BayesNet to avoid converting the conditionals to a factor graph  
							
							
							
						 
						
							2010-01-21 00:38:22 +00:00  
				
					
						
							
							
								 
						
							
							
								19dc8bf4b1 
								
							
								 
							
						 
						
							
							
								
								Fixed size() crash when BayesTree empty, added clear() function to BayesTree, added and removed #includes to fix link errors  
							
							
							
						 
						
							2010-01-20 04:23:35 +00:00  
				
					
						
							
							
								 
						
							
							
								ecde508318 
								
							
								 
							
						 
						
							
							
								
								incremental nonlinear working  
							
							
							
						 
						
							2010-01-20 01:52:40 +00:00  
				
					
						
							
							
								 
						
							
							
								d2291a38d1 
								
							
								 
							
						 
						
							
							
								
								bug fixes after COLAMD activiation: BayesTree::insert was wrong, BayesTree::removeTop/Path fixed and simplified  
							
							
							
						 
						
							2010-01-20 01:24:32 +00:00  
				
					
						
							
							
								 
						
							
							
								0e6607d160 
								
							
								 
							
						 
						
							
							
								
								relinearization working, but currently applied to all variables  
							
							
							
						 
						
							2010-01-18 22:37:44 +00:00  
				
					
						
							
							
								 
						
							
							
								aef0b42562 
								
							
								 
							
						 
						
							
							
								
								Refactoring to use a new Symbol key instead of strings in Bayes*, Gaussian*, Ordering, Symbolic*, VectorConfig.  Renamed existing type-checking key Symbol<C,T> to TypedSymbol<C,T>  
							
							
							
						 
						
							2010-01-17 19:34:57 +00:00  
				
					
						
							
							
								 
						
							
							
								b4e65e9631 
								
							
								 
							
						 
						
							
							
								
								progress in ISAM2, but unit test still disabled  
							
							
							
						 
						
							2009-12-31 05:35:08 +00:00  
				
					
						
							
							
								 
						
							
							
								5dfd1921e1 
								
							
								 
							
						 
						
							
							
								
								template nightmare resolved, all tests working  
							
							
							
						 
						
							2009-12-27 23:15:36 +00:00  
				
					
						
							
							
								 
						
							
							
								4403b51fcd 
								
							
								 
							
						 
						
							
							
								
								isam functionality separated into ISAM class, still within BayesTree  
							
							
							
						 
						
							2009-12-26 04:44:13 +00:00  
				
					
						
							
							
								 
						
							
							
								2270c7d787 
								
							
								 
							
						 
						
							
							
								
								BayesTree animation  
							
							
							
						 
						
							2009-12-14 06:01:15 +00:00  
				
					
						
							
							
								 
						
							
							
								9bbea6dcbd 
								
							
								 
							
						 
						
							
							
								
								some additional includes needed with newer compiler  
							
							
							
						 
						
							2009-12-08 21:40:09 +00:00  
				
					
						
							
							
								 
						
							
							
								4951a25453 
								
							
								 
							
						 
						
							
							
								
								More efficient removeTop  
							
							
							
						 
						
							2009-11-23 00:02:06 +00:00  
				
					
						
							
							
								 
						
							
							
								35af122e83 
								
							
								 
							
						 
						
							
							
								
								Added a new version of removeTop and simplified update  
							
							
							
						 
						
							2009-11-22 23:50:01 +00:00  
				
					
						
							
							
								 
						
							
							
								7d384488e3 
								
							
								 
							
						 
						
							
							
								
								BayesTree::update generalized and moved from testIncremental to BayesTree; testIncremental removed  
							
							
							
						 
						
							2009-11-22 23:35:13 +00:00  
				
					
						
							
							
								 
						
							
							
								64a43b0492 
								
							
								 
							
						 
						
							
							
								
								removeTop now does not bomb when a clique does not exist: it just does nothing  
							
							
							
						 
						
							2009-11-22 22:59:56 +00:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								45292f7bd6 
								
							
								 
							
						 
						
							
							
								
								Cliques implemented; unit test on orphans for removePath; bug fix in removePath/orphans  
							
							
							
						 
						
							2009-11-22 17:40:24 +00:00  
				
					
						
							
							
								 
						
							
							
								53754ccbb8 
								
							
								 
							
						 
						
							
							
								
								removeTop with one factor implemented and one test works (orphans not yet checked)  
							
							
							
						 
						
							2009-11-22 17:34:59 +00:00  
				
					
						
							
							
								 
						
							
							
								6f11c0803b 
								
							
								 
							
						 
						
							
							
								
								Cliques class  
							
							
							
						 
						
							2009-11-22 16:46:29 +00:00  
				
					
						
							
							
								 
						
							
							
								7ce62f1626 
								
							
								 
							
						 
						
							
							
								
								Some template magic and boost:tie cleared up the compile issues in removePath  
							
							
							
						 
						
							2009-11-22 16:04:51 +00:00  
				
					
						
							
							
								 
						
							
							
								4449cfd30c 
								
							
								 
							
						 
						
							
							
								
								remove_path now also returns list of orphaned subtree roots; compile problem...  
							
							
							
						 
						
							2009-11-21 23:41:43 +00:00  
				
					
						
							
							
								 
						
							
							
								072846a70f 
								
							
								 
							
						 
						
							
							
								
								moved addClique and removeClique implementations to inl.h,  
							
							... 
							
							
							
							removePath takes clique argument now 
							
						 
						
							2009-11-21 06:07:46 +00:00  
				
					
						
							
							
								 
						
							
							
								0286bc27eb 
								
							
								 
							
						 
						
							
							
								
								removePath mostly working  
							
							
							
						 
						
							2009-11-21 03:38:13 +00:00  
				
					
						
							
							
								 
						
							
							
								f40182518a 
								
							
								 
							
						 
						
							
							
								
								size() now returns correct nr. of cliques, not number of keys  
							
							
							
						 
						
							2009-11-18 18:05:12 +00:00  
				
					
						
							
							
								 
						
							
							
								c7b86cec97 
								
							
								 
							
						 
						
							
							
								
								Renamed ConditionalGaussian -> GaussianConditional  
							
							
							
						 
						
							2009-11-12 16:41:18 +00:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								cc22e82ca6 
								
							
								 
							
						 
						
							
							
								
								Joint densities (covariances) now done. Was exceedingly easy :-)  
							
							
							
						 
						
							2009-11-09 00:13:44 +00:00  
				
					
						
							
							
								 
						
							
							
								86173b66af 
								
							
								 
							
						 
						
							
							
								
								Clique marginal and dramatically simplified single variable marginal.  
							
							
							
						 
						
							2009-11-08 22:51:12 +00:00  
				
					
						
							
							
								 
						
							
							
								58007a8167 
								
							
								 
							
						 
						
							
							
								
								Working recursive (but not cached) shortcut.  
							
							
							
						 
						
							2009-11-08 04:41:01 +00:00  
				
					
						
							
							
								 
						
							
							
								f5d186522e 
								
							
								 
							
						 
						
							
							
								
								Standardized on new shared_ptr naming convention  
							
							
							
						 
						
							2009-11-07 17:24:05 +00:00  
				
					
						
							
							
								 
						
							
							
								6339b5d19d 
								
							
								 
							
						 
						
							
							
								
								Made Node public  
							
							
							
						 
						
							2009-11-07 15:58:45 +00:00  
				
					
						
							
							
								 
						
							
							
								cd313e2f82 
								
							
								 
							
						 
						
							
							
								
								operator[] to retrieve clique  
							
							
							
						 
						
							2009-11-06 05:55:29 +00:00  
				
					
						
							
							
								 
						
							
							
								cabcda5a96 
								
							
								 
							
						 
						
							
							
								
								marginal compiles and runs for frontal node in clique  
							
							
							
						 
						
							2009-11-05 06:30:50 +00:00  
				
					
						
							
							
								 
						
							
							
								11fcd5a69d 
								
							
								 
							
						 
						
							
							
								
								KISS: just a map of pointers in BayesTree now  
							
							
							
						 
						
							2009-11-05 05:29:47 +00:00  
				
					
						
							
							
								 
						
							
							
								4865edb883 
								
							
								 
							
						 
						
							
							
								
								Removed debug code, added marginal function  
							
							
							
						 
						
							2009-11-04 03:22:29 +00:00  
				
					
						
							
							
								 
						
							
							
								eab038651e 
								
							
								 
							
						 
						
							
							
								
								Renamed BayesNet::insert -> push_back. BayesTree now uses Bayes nets as nodes.  
							
							
							
						 
						
							2009-11-02 05:17:44 +00:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								e1f14b34c3 
								
							
								 
							
						 
						
							
							
								
								Implemented [equals] using binary predicate and STL's equal  
							
							
							
						 
						
							2009-10-31 14:12:41 +00:00  
				
					
						
							
							
								 
						
							
							
								53890c4ba6 
								
							
								 
							
						 
						
							
							
								
								Symbolic Bayes Tree successfully constructed  
							
							
							
						 
						
							2009-10-31 05:12:39 +00:00  
				
					
						
							
							
								 
						
							
							
								cefeca149b 
								
							
								 
							
						 
						
							
							
								
								Moved template definitions to BayesTree-inl.h  
							
							
							
						 
						
							2009-10-30 13:03:38 +00:00  
				
					
						
							
							
								 
						
							
							
								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