#define HASHMULTISET hash_multiset
#define INITIAL_TABLE_SIZE 100
#define CLAUSAL_ABSTRACTION_CUTOFF 0.5
-#define CLAUSAL_BUCKET_LIMIT 4
+#define CLAUSAL_BUCKET_LIMIT 3
using namespace std;
namespace BEEV {
#if defined CORE || defined CRYPTOMINISAT
MINISAT::Solver NewSolver;
#endif
+
#if defined CRYPTOMINISAT2
MINISAT::Solver NewSolver;
if(bm->UserFlags.print_cnf_flag)
{
NewSolver.needLibraryCNFFile(bm->UserFlags.cnf_dump_filename);
}
- NewSolver.dynamicRestarts = true;
+ NewSolver.dynamicRestarts = false;
#endif
+
#ifdef SIMP
MINISAT::SimpSolver NewSolver;
#endif
+
#ifdef UNSOUND
MINISAT::UnsoundSimpSolver NewSolver;
#endif
for(int count=1;it!=itend;it++, count++)
{
ClauseList *cl = (*it).second;
- // if(CLAUSAL_BUCKET_LIMIT == count)
- // {
- // sat = toSATandSolve(SatSolver,*cl, false, true);
- // }
- // else
+ if(CLAUSAL_BUCKET_LIMIT == count)
+ {
+ sat = toSATandSolve(SatSolver,*cl, false, true);
+ }
+ else
{
sat = toSATandSolve(SatSolver,*cl);
}
#endif
#if defined CRYPTOMINISAT2
- newSolver.set_gaussian_decision_until(500);
- newSolver.performReplace = true;
- newSolver.xorFinder = true;
+ newSolver.set_gaussian_decision_until(50);
+ newSolver.performReplace = false;
+ newSolver.xorFinder = false;
#endif
- // if(enable_clausal_abstraction &&
- // count++ >= input_clauselist_size*CLAUSAL_ABSTRACTION_CUTOFF)
- // {
- // //Arbitrary adding only x% of the clauses in the hopes of
- // //terminating early
- // // cout << "Percentage clauses added: "
- // // << percentage << endl;
- // bm->GetRunTimes()->stop(RunTimes::SendingToSAT);
- // bm->GetRunTimes()->start(RunTimes::Solving);
- // newSolver.solve();
- // bm->GetRunTimes()->stop(RunTimes::Solving);
- // if(!newSolver.okay())
- // {
- // return false;
- // }
- // count = 0;
- // flag = 1;
- // bm->GetRunTimes()->start(RunTimes::SendingToSAT);
- // }
+ if(enable_clausal_abstraction &&
+ count++ >= input_clauselist_size*CLAUSAL_ABSTRACTION_CUTOFF)
+ {
+ //Arbitrary adding only x% of the clauses in the hopes of
+ //terminating early
+ // cout << "Percentage clauses added: "
+ // << percentage << endl;
+ bm->GetRunTimes()->stop(RunTimes::SendingToSAT);
+ bm->GetRunTimes()->start(RunTimes::Solving);
+ newSolver.solve();
+ bm->GetRunTimes()->stop(RunTimes::Solving);
+ if(!newSolver.okay())
+ {
+ return false;
+ }
+ count = 0;
+ flag = 1;
+ bm->GetRunTimes()->start(RunTimes::SendingToSAT);
+ }
if (newSolver.okay())
{
continue;