GRASP—A New Search Algorithm for Satisfiability

GRASP—A New Search Algorithm for Satisfiability

GRASP—A New Search Algorithm for Satisfiability João P. Marques Silva Karem A. Sakallah Cadence European Laboratories Department of EECS IST/INESC University of Michigan 1000 Lisboa, Portugal Ann Arbor, Michigan 48109-2122 Abstract use of preprocessing or relaxation techniques. Common to This paper introduces GRASP (Generic seaRch Algorithm all these approaches, however, is the chronological nature of for the Satisfiability Problem), an integrated algorithmic frame- backtracking. Nevertheless, non-chronological backtracking work for SAT that unifies several previously proposed search- techniques have been extensively studied and applied to dif- pruning techniques and facilitates identification of additional ferent areas of Artificial Intelligence, particularly Truth ones. GRASP is premised on the inevitability of conflicts during Maintenance Systems (TMS), Constraint Satisfaction Prob- search and its most distinguishing feature is the augmentation of lems (CSP) and Automated Deduction, in some cases with basic backtracking search with a powerful conflict analysis pro- very promising experimental results. (Bibliographic refer- cedure. Analyzing conflicts to determine their causes enables ences to the work in these areas can be found in [15].) GRASP to backtrack non-chronologically to earlier levels in the Interest in the direct application of SAT algorithms to search tree, potentially pruning large portions of the search space. electronic design automation (EDA) problems has been on In addition, by “recording” the causes of conflicts, GRASP can recognize and preempt the occurrence of similar conflicts later on the rise recently [2, 10, 17]. In addition, improvements to in the search. Finally, straightforward bookkeeping of the causal- the traditional structural (path sensitization) algorithms for ity chains leading up to conflicts allows GRASP to identify some EDA problems, such as ATPG, include search-pruning assignments that are necessary for a solution to be found. Experi- techniques that are also applicable to SAT algorithms in gen- mental results obtained from a large number of benchmarks, eral [8, 9, 13]. The main purpose of this paper is to intro- including many from the field of test pattern generation, indi- duce a procedure for the analysis of conflicts in search cate that application of the proposed conflict analysis techniques algorithms for SAT. Even though the conflict analysis proce- to SAT algorithms can be extremely effective for a large number dure is described in the context of SAT, it can be naturally of representative classes of SAT instances. extended to EDA-specific algorithms, thus complementing 1 Introduction other well-known search-pruning techniques [2, 9]. The proposed conflict analysis procedure has been The Boolean satisfiability problem (SAT) appears in incorporated in GRASP (Generic seaRch Algorithm for the many contexts in the field of computer-aided design of inte- Satisfiability Problem), an integrated algorithmic framework grated circuits including automatic test pattern generation for SAT. Several features distinguish the conflict analysis pro- (ATPG), timing analysis, delay fault testing, and logic verifi- cedure in GRASP from others used in TMSs and CSPs. cation, to name just a few. Though well-researched and First, conflict analysis in GRASP is tightly coupled with BCP widely investigated, it remains the focus of continuing inter- and the causes of conflicts need not necessarily correspond to est because efficient techniques for its solution can have great decision assignments. Second, clauses can be added to the impact. SAT belongs to the class of NP-complete problems original set of clauses, and the number and size of added whose algorithmic solutions are currently believed to have clauses is user-controlled. This is in explicit contrast with exponential worst case complexity [6]. Over the years, many nogood recording techniques developed for TMSs and CSPs. algorithmic solutions have been proposed for SAT, the most Third, GRASP employs techniques to prune the search by well known being the different variations of the Davis-Put- analyzing the implication structure generated by BCP. nam procedure [3]. The best known version of this proce- Exploiting the “anatomy” of conflicts in this manner has no dure is based on a backtracking search algorithm that, at equivalent in other areas. each node in the search tree, elects an assignment and prunes Some of the proposed techniques have also been applied subsequent search by iteratively applying the unit clause and in several structural ATPG algorithms [8, 16], among others. the pure literal rules [18]. Iterated application of the unit The GRASP framework, however, permits a unified repre- clause rule is commonly referred to as Boolean Constraint sentation of all known search-pruning methods and potenti- Propagation (BCP) or as derivation of implications in the elec- ates the identification of additional ones. The basic SAT tronic CAD literature [1]. algorithm in GRASP is also customizable to take advantage Most of the recently proposed improvements to the of application-specific characteristics to achieve additional basic Davis-Putnam procedure [5, 10, 17, 18] can be distin- efficiencies [13]. Finally, the framework is organized to allow guished based on their decision making heuristics or their easy adaptation of other algorithmic techniques, such as Thi d d i h F M k 4 0 4 those in [2, 9], whose operation is orthogonal to those and refer to A as a satisfying assignment; ϕ = 0 in which A described here. case ϕ is unsatisfied and A is referred to as an unsatisfying The remainder of this paper is organized in four sec- assignment; and ϕ = X indicating that the value of ϕ A tions. In Section 2, we introduce the basics of backtracking cannot be resolved by the assignment. This last case can only search, particularly our implementation of BCP, and describe happen when A is a partial assignment. An assignment parti- the overall architecture of GRASP. This is followed, in Sec- tions the clauses of ϕ into three sets: satisfied clauses (evalu- tion 3, by a detailed discussion of the procedures for conflict ating to 1); unsatisfied clauses (evaluating to 0); and analysis and how they are implemented. Extensive experi- unresolved clauses (evaluating to X). The unassigned literals mental results on a wide range of benchmarks, including of a clause are referred to as its free literals. A clause is said to many from the field of ATPG, are presented and analyzed in be unit if the number of its free literals is one. Section 4. In particular, GRASP is shown to outperform two recent state-of-the-art SAT algorithms [5, 17] on most, but 2.2 Formula Satisfiability not all, benchmarks. The paper concludes in Section 5 with Formula satisfiability is concerned with determining if a some suggestions for further research. given formula ϕ is satisfiable and with identifying a satisfy- ing assignment for it. Starting from an empty truth assign- 2 Definitions ment, a backtrack search algorithm traverses the space of truth assignments implicitly and organizes the search for a 2.1 Basic Definitions and Notation satisfying assignment by maintaining a decision tree. Each A conjunctive normal form (CNF) formula ϕ on n node in the decision tree specifies an elective assignment to ,,… binary variables x1 x is the conjunction (AND) of m an unassigned variable; such assignments are referred to as ω,,…ω n clauses 1 m each of which is the disjunction (OR) of decision assignments. A decision level is associated with each one or more literals, where a literal is the occurrence of a decision assignment to denote its depth in the decision tree; variable or its complement. A formula ϕ denotes a unique the first decision assignment at the root of the tree is at deci- (),,… n-variable Boolean function fx1 xn and each of its sion level 1. The search process iterates through the steps of: clauses corresponds to an implicate of f. Clearly, a function f 1. Extending the current assignment by making a decision can be represented by many equivalent CNF formulas. A for- assignment to an unassigned variable. This decision process mula is complete if it consists of the entire set of prime is the basic mechanism for exploring new regions of the implicates for the corresponding function. In general, a com- search space. The search terminates successfully if all plete formula will have an exponential number of clauses. clauses become satisfied; it terminates unsuccessfully if We will refer to a CNF formula as a clause database and use some clauses remain unsatisfied and all possible “formula,” “CNF formula,” and “clause database” inter- assignments have been exhausted. changeably. The satisfiability problem (SAT) is concerned 2. Extending the current assignment by following the logical with finding an assignment to the arguments of consequences of the assignments made thus far. The (),,… additional assignments derived by this deduction process fx1xn that makes the function equal to 1 or proving that the function is equal to the constant 0. are referred to as implication assignments or, more simply, A backtracking search algorithm for SAT is imple- implications. The deduction process may also lead to the identification of one or more unsatisfied clauses implying mented by a search process that implicitly traverses the space n that the current assignment is not a satisfying assignment. 2 of possible binary assignments to the problem variables. Such an occurrence is referred to as a conflict and the During the search, a variable whose binary value has already associated unsatisfying assignments, called conflicting been determined is considered to be assigned; otherwise it is assignments. unassigned with an implicit value of X≡{}01, . A truth 3. Undoing the current assignment, if it is conflicting, so that assignment for a formula ϕ is a set of assigned variables and another assignment can be tried. This backtracking process their corresponding binary values. It will be convenient to is the basic mechanism for retreating from regions of the represent such assignments as sets of variable/value pairs; for search space that do not correspond to satisfying {}(),,,(),(), assignments.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us