From df3e23ae3a20d0f6b8a1d3512e322b98057eb136 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sat, 12 Nov 2011 17:50:41 -0800 Subject: Enabled skipping random decisions in PBA, which are performed by default. --- src/sat/bsat/satSolver.c | 2 +- src/sat/bsat/satSolver.h | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'src/sat') diff --git a/src/sat/bsat/satSolver.c b/src/sat/bsat/satSolver.c index ac2202dc..d4726b81 100644 --- a/src/sat/bsat/satSolver.c +++ b/src/sat/bsat/satSolver.c @@ -967,7 +967,7 @@ static lbool sat_solver_search(sat_solver* s, ABC_INT64_T nof_conflicts, ABC_INT int* levels = s->levels; double var_decay = 0.95; double clause_decay = 0.999; - double random_var_freq = 0.02; + double random_var_freq = s->fNotUseRandom ? 0.0 : 0.02; ABC_INT64_T conflictC = 0; veci learnt_clause; diff --git a/src/sat/bsat/satSolver.h b/src/sat/bsat/satSolver.h index a33c7240..a67e829a 100644 --- a/src/sat/bsat/satSolver.h +++ b/src/sat/bsat/satSolver.h @@ -175,6 +175,7 @@ struct sat_solver_t Sat_MmStep_t * pMem; int fSkipSimplify; // set to one to skip simplification of the clause database + int fNotUseRandom; // do not allow random decisions with a fixed probability int * pGlobalVars; // for experiments with global vars during interpolation // clause store @@ -228,6 +229,13 @@ static int sat_solver_set_runtime_limit(sat_solver* s, int Limit) return nRuntimeLimit; } +static int sat_solver_set_random(sat_solver* s, int fNotUseRandom) +{ + int fNotUseRandomOld = s->fNotUseRandom; + s->fNotUseRandom = fNotUseRandom; + return fNotUseRandomOld; +} + ABC_NAMESPACE_HEADER_END #endif -- cgit v1.2.3