| 
									
										
										
										
											2013-02-07 17:50:02 +00:00
										 |  |  | #ifndef YAP_PACKAGES_CLPBN_HORUS_LIFTEDBP_H_
 | 
					
						
							|  |  |  | #define YAP_PACKAGES_CLPBN_HORUS_LIFTEDBP_H_
 | 
					
						
							| 
									
										
										
										
											2012-05-30 19:23:41 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-07 20:09:10 +00:00
										 |  |  | #include <vector>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-14 21:55:51 +00:00
										 |  |  | #include "LiftedSolver.h"
 | 
					
						
							| 
									
										
										
										
											2012-05-30 19:23:41 +01:00
										 |  |  | #include "ParfactorList.h"
 | 
					
						
							| 
									
										
										
										
											2013-03-04 17:58:32 +00:00
										 |  |  | #include "Indexer.h"
 | 
					
						
							| 
									
										
										
										
											2012-05-30 19:23:41 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-07 13:37:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-08 21:12:46 +00:00
										 |  |  | namespace Horus { | 
					
						
							| 
									
										
										
										
											2013-02-07 23:53:13 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-05-31 21:12:46 +01:00
										 |  |  | class FactorGraph; | 
					
						
							| 
									
										
										
										
											2012-06-12 16:29:57 +01:00
										 |  |  | class WeightedBp; | 
					
						
							| 
									
										
										
										
											2012-05-31 21:12:46 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-13 14:26:47 +00:00
										 |  |  | class LiftedBp : public LiftedSolver{ | 
					
						
							| 
									
										
										
										
											2012-05-30 19:23:41 +01:00
										 |  |  |   public: | 
					
						
							| 
									
										
										
										
											2013-02-13 14:26:47 +00:00
										 |  |  |     LiftedBp (const ParfactorList& pfList); | 
					
						
							| 
									
										
										
										
											2012-05-30 19:23:41 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-28 19:45:37 +00:00
										 |  |  |    ~LiftedBp(); | 
					
						
							| 
									
										
										
										
											2012-06-13 12:17:49 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-13 14:26:47 +00:00
										 |  |  |     Params solveQuery (const Grounds&); | 
					
						
							| 
									
										
										
										
											2012-05-30 19:23:41 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-28 19:45:37 +00:00
										 |  |  |     void printSolverFlags() const; | 
					
						
							| 
									
										
										
										
											2012-05-30 19:23:41 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |   private: | 
					
						
							| 
									
										
										
										
											2013-02-28 19:45:37 +00:00
										 |  |  |     void refineParfactors(); | 
					
						
							| 
									
										
										
										
											2012-05-31 21:12:46 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-28 19:45:37 +00:00
										 |  |  |     bool iterate(); | 
					
						
							| 
									
										
										
										
											2012-05-31 21:12:46 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-07 13:37:15 +00:00
										 |  |  |     std::vector<PrvGroup> getQueryGroups (const Grounds&); | 
					
						
							| 
									
										
										
										
											2012-05-31 21:12:46 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-28 19:45:37 +00:00
										 |  |  |     void createFactorGraph(); | 
					
						
							| 
									
										
										
										
											2012-05-31 21:12:46 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-28 19:45:37 +00:00
										 |  |  |     std::vector<std::vector<unsigned>> getWeights() const; | 
					
						
							| 
									
										
										
										
											2012-12-17 18:39:42 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-06-14 11:57:00 +01:00
										 |  |  |     unsigned rangeOfGround (const Ground&); | 
					
						
							| 
									
										
										
										
											2012-05-31 21:12:46 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-06-14 11:57:00 +01:00
										 |  |  |     Params getJointByConditioning (const ParfactorList&, const Grounds&); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ParfactorList  pfList_; | 
					
						
							|  |  |  |     WeightedBp*    solver_; | 
					
						
							| 
									
										
										
										
											2012-09-11 18:40:41 +01:00
										 |  |  |     FactorGraph*   fg_; | 
					
						
							| 
									
										
										
										
											2012-05-30 19:23:41 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-27 22:25:45 +00:00
										 |  |  |     DISALLOW_COPY_AND_ASSIGN (LiftedBp); | 
					
						
							| 
									
										
										
										
											2012-05-30 19:23:41 +01:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-08 21:12:46 +00:00
										 |  |  | }  // namespace Horus
 | 
					
						
							| 
									
										
										
										
											2013-02-07 23:53:13 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-08 00:20:01 +00:00
										 |  |  | #endif  // YAP_PACKAGES_CLPBN_HORUS_LIFTEDBP_H_
 | 
					
						
							| 
									
										
										
										
											2012-11-09 23:52:35 +00:00
										 |  |  | 
 |