summaryrefslogtreecommitdiffstats
path: root/src/sat
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2011-11-12 17:50:41 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2011-11-12 17:50:41 -0800
commitdf3e23ae3a20d0f6b8a1d3512e322b98057eb136 (patch)
tree5ee7c1c6a2618fad81211dd4312dfa9b9a923bb2 /src/sat
parentfa96b8d7988da75e38d45b719d21a64e5ecbdb9c (diff)
downloadabc-df3e23ae3a20d0f6b8a1d3512e322b98057eb136.tar.gz
abc-df3e23ae3a20d0f6b8a1d3512e322b98057eb136.tar.bz2
abc-df3e23ae3a20d0f6b8a1d3512e322b98057eb136.zip
Enabled skipping random decisions in PBA, which are performed by default.
Diffstat (limited to 'src/sat')
-rw-r--r--src/sat/bsat/satSolver.c2
-rw-r--r--src/sat/bsat/satSolver.h8
2 files changed, 9 insertions, 1 deletions
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