From f5c85ffcc95875ddc496ab1e20db0bb510c5cbf8 Mon Sep 17 00:00:00 2001 From: Tiago Gomes Date: Mon, 12 Nov 2012 15:20:42 +0000 Subject: [PATCH] shatter agains the query in lifted knowledge compilation --- packages/CLPBN/horus/LiftedKc.cpp | 10 ++++++++-- packages/CLPBN/horus/LiftedKc.h | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/CLPBN/horus/LiftedKc.cpp b/packages/CLPBN/horus/LiftedKc.cpp index fb036df33..ee7f56bfe 100644 --- a/packages/CLPBN/horus/LiftedKc.cpp +++ b/packages/CLPBN/horus/LiftedKc.cpp @@ -1,20 +1,22 @@ #include "LiftedKc.h" #include "LiftedWCNF.h" #include "LiftedCircuit.h" +#include "LiftedOperations.h" #include "Indexer.h" LiftedKc::LiftedKc (const ParfactorList& pfList) : pfList_(pfList) { - lwcnf_ = new LiftedWCNF (pfList); - circuit_ = new LiftedCircuit (lwcnf_); + } LiftedKc::~LiftedKc (void) { + delete lwcnf_; + delete circuit_; } @@ -22,6 +24,9 @@ LiftedKc::~LiftedKc (void) Params LiftedKc::solveQuery (const Grounds& query) { + LiftedOperations::shatterAgainstQuery (pfList_, query); + lwcnf_ = new LiftedWCNF (pfList_); + circuit_ = new LiftedCircuit (lwcnf_); vector groups; Ranges ranges; for (size_t i = 0; i < query.size(); i++) { @@ -36,6 +41,7 @@ LiftedKc::solveQuery (const Grounds& query) ++ it; } } + assert (groups.size() == query.size()); cout << "groups: " << groups << endl; cout << "ranges: " << ranges << endl; Params params; diff --git a/packages/CLPBN/horus/LiftedKc.h b/packages/CLPBN/horus/LiftedKc.h index eb0074213..4b3065c1d 100644 --- a/packages/CLPBN/horus/LiftedKc.h +++ b/packages/CLPBN/horus/LiftedKc.h @@ -21,7 +21,7 @@ class LiftedKc LiftedWCNF* lwcnf_; LiftedCircuit* circuit_; - const ParfactorList& pfList_; + ParfactorList pfList_; }; #endif // HORUS_LIFTEDKC_H