From b599b45bc66b6c8e6ed416086e9d7714637029c3 Mon Sep 17 00:00:00 2001 From: Tiago Gomes Date: Tue, 6 Nov 2012 23:56:52 +0000 Subject: [PATCH] AC: only allow one counting node per branch --- packages/CLPBN/horus/LiftedCircuit.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/CLPBN/horus/LiftedCircuit.cpp b/packages/CLPBN/horus/LiftedCircuit.cpp index 01847dc26..eb1dec42e 100644 --- a/packages/CLPBN/horus/LiftedCircuit.cpp +++ b/packages/CLPBN/horus/LiftedCircuit.cpp @@ -526,6 +526,13 @@ LiftedCircuit::tryAtomCounting ( CircuitNode** follow, Clauses& clauses) { + for (size_t i = 0; i < clauses.size(); i++) { + if (clauses[i].nrPositiveCountedLogVars() > 0 + || clauses[i].nrNegativeCountedLogVars() > 0) { + // only allow one atom counting node per branch + return false; + } + } for (size_t i = 0; i < clauses.size(); i++) { Literals literals = clauses[i].literals(); for (size_t j = 0; j < literals.size(); j++) {