Phase Selection Heuristics for Satisfiability Solvers
📝 Abstract
In general, a SAT Solver based on conflict-driven DPLL consists of variable selection, phase selection, Boolean Constraint Propagation, conflict analysis, clause learning and its database maintenance. Optimizing any part of these components can enhance the performance of a solver. This paper focuses on optimizing phase selection. Although the ACE (Approximation of the Combined lookahead Evaluation) weight is applied to a lookahead SAT solver such as March, so far, no conflict-driven SAT solver applies successfully the ACE weight, since computing the ACE weight is time-consuming. Here we apply the ACE weight to partial phase selection of conflict-driven SAT solvers. This can be seen as an improvement of the heuristic proposed by Jeroslow-Wang (1990). We incorporate the ACE heuristic and the existing phase selection heuristics in the new solver MPhaseSAT, and select a phase heuristic in a way similar to portfolio methods. Experimental results show that adding the ACE heuristic can improve the conflict-driven solvers. Particularly on application instances, MPhaseSAT with the ACE heuristic is significantly better than MPhaseSAT without the ACE heuristic, and even can solve a few SAT instances that remain unsolvable so far.
💡 Analysis
In general, a SAT Solver based on conflict-driven DPLL consists of variable selection, phase selection, Boolean Constraint Propagation, conflict analysis, clause learning and its database maintenance. Optimizing any part of these components can enhance the performance of a solver. This paper focuses on optimizing phase selection. Although the ACE (Approximation of the Combined lookahead Evaluation) weight is applied to a lookahead SAT solver such as March, so far, no conflict-driven SAT solver applies successfully the ACE weight, since computing the ACE weight is time-consuming. Here we apply the ACE weight to partial phase selection of conflict-driven SAT solvers. This can be seen as an improvement of the heuristic proposed by Jeroslow-Wang (1990). We incorporate the ACE heuristic and the existing phase selection heuristics in the new solver MPhaseSAT, and select a phase heuristic in a way similar to portfolio methods. Experimental results show that adding the ACE heuristic can improve the conflict-driven solvers. Particularly on application instances, MPhaseSAT with the ACE heuristic is significantly better than MPhaseSAT without the ACE heuristic, and even can solve a few SAT instances that remain unsolvable so far.
📄 Content
arXiv:1106.1372v1 [cs.LO] 7 Jun 2011 Phase Selection Heuristics for Satisfiability Solvers Jingchao Chen School of Informatics, Donghua University 2999 North Renmin Road, Songjiang District, Shanghai 201620, P. R. China chen-jc@dhu.edu.cn Abstract. In general, a SAT Solver based on conflict-driven DPLL con- sists of variable selection, phase selection, Boolean Constraint Propaga- tion, conflict analysis, clause learning and its database maintenance. Op- timizing any part of these components can enhance the performance of a solver. This paper focuses on optimizing phase selection. Although the ACE (Approximation of the Combined lookahead Evaluation) weight is applied to a lookahead SAT solver such as March, so far, no conflict- driven SAT solver applies successfully the ACE weight, since computing the ACE weight is time-consuming. Here we apply the ACE weight to partial phase selection of conflict-driven SAT solvers. This can be seen as an improvement of the heuristic proposed by Jeroslow-Wang (1990). We incorporate the ACE heuristic and the existing phase selection heuris- tics in the new solver MPhaseSAT, and select a phase heuristic in a way similar to portfolio methods. Experimental results show that adding the ACE heuristic can improve the conflict-driven solvers. Particularly on ap- plication instances, MPhaseSAT with the ACE heuristic is significantly better than MPhaseSAT without the ACE heuristic, and even can solve a few SAT instances that remain unsolvable so far. Key words: SAT Solver, conflict-driven DPLL, phase selection heuris- tics, instance classifying, hard SAT instance. 1 Introduction Satisfiability (SAT) is a classic NP-complete problem, and has applications in nu- merous fields such as computer aided design, data diagnosis, EDA, logic reason- ing, cryptanalysis, planning, equivalence checking, model checking, test pattern generation etc. To address the SAT problem, numerous state-of-the-art solvers have been developed. This problem has been studied for a long time. However, large real-world SAT problems remain unsolvable yet. Most modern SAT solvers are based on conflict-driven DPLL. The most representative solver in this type of solvers is Precosat [3,4,5], which won a Gold Medal for application category at SAT 2009 competition. Generally speak- ing, this type of solvers is good at solving application instances. In this pa- per, we focus on a conflict-driven DPLL-type solver like Precosat. In general, a 2 conflict-driven DPLL-type solver consists of variable selection, phase selection, BCP (Boolean Constraint Propagation), conflict analysis, clause learning and its database maintenance. Each part has various optimizing strategies. For example, for variable selection, the corresponding optimizing strategy is VSIDS (Variable State Independent Decaying Sum) scheme [16]. To speed up BCP, two watched- literals scheme was proposed. With respect to conflict analysis, a large amount of optimizing work has been done. The research results such as firstUIP (unique implication points), conflict clause minimization, on-the-fly self-subsuming res- olution [17], learned clause minimization [18], have been achieved. To maintain effectively clause learning database, recently, Audemard et al. [19] introduced a Glucose style reduce strategy to remove less important learned clauses. Although the phase heuristic is also an important component of modern conflict-driven SAT solvers, the literature on the phase selection is rare. To our best knowledge, up to now, only two phase selection strategies were widely used in conflict-driven SAT solvers. One is the phase heuristic used in RSAT (RSAT heuristic for short) [1]. The other is Jeroslow-Wang heuristic [2]. The basic idea of the RSAT heuris- tic is to save the previous phase and assign the decision variable to the same value when it is visited once again. The basic idea of Jeroslow-Wang heuristic is to define variable polarity as a phase with the maximum weight. The value of weight of a variable depends on the number of clauses containing that variable and its size. Although PrecoSAT [5] gains the good performance by integrating the RSAT heuristic and Jeroslow-Wang heuristic, it cannot be concluded that there does not exist a better phase heuristic. The goal of this paper is to find a new phase selection heuristic that improves the existing phase selection heuristics. If we can select always correctly a phase, all satisfiable formulae will be solved in a linear number of decisions. In theory, no perfect phase selection heuristic exists unless P=NP. In practice, it is possible to develop a phase selection heuristic that significantly reduces the number of decisions in some cases. To achieve this goal, we hope to use a new phase heuris- tic, which uses some information about the structure of the problem such as the number of variables, the number of XOR clauses etc. The ACE (Approximation of the Combined lookahead Evaluation) weight has been applied successfully to a lookahead SAT so
This content is AI-processed based on ArXiv data.