GRASP is a new search algorithm for the Boolean satisfiability problem (SAT) that integrates various search-pruning techniques and facilitates the identification of additional ones. It is based on the inevitability of conflicts during search and enhances basic backtracking search with a powerful conflict analysis procedure. By analyzing conflicts to determine their causes, GRASP can backtrack non-chronologically to earlier levels in the search tree, potentially pruning large portions of the search space. It also records the causes of conflicts to preempt similar conflicts later. GRASP can identify necessary assignments for a solution by tracking causality chains.
GRASP is implemented with a search process that implicitly traverses the space of all possible binary assignments. It uses Boolean constraint propagation (BCP) to derive implications and manage the search. Conflict analysis in GRASP is tightly coupled with BCP and allows for non-chronological backtracking, which can significantly reduce the search space. GRASP can also add clauses to the clause database, which is user-controlled, and uses techniques to prune the search by analyzing the implication structure generated by BCP.
GRASP has been tested on various benchmarks, including those from test pattern generation, and has shown superior performance compared to other SAT algorithms. It outperforms two recent state-of-the-art SAT algorithms on most benchmarks. The algorithm is customizable and allows for the integration of other algorithmic techniques. The framework is organized to allow easy adaptation of other techniques, such as those in [2, 9], which are orthogonal to those described here.
The paper introduces a procedure for conflict analysis in SAT algorithms and describes a configurable algorithmic framework for solving SAT. Experimental results indicate that conflict analysis and its by-products, non-chronological backtracking and identification of equivalent conflicting conditions, can significantly contribute to efficiently solving a large number of SAT instances. The research also suggests future directions, including applying GRASP to different EDA applications and improving the deduction engine.GRASP is a new search algorithm for the Boolean satisfiability problem (SAT) that integrates various search-pruning techniques and facilitates the identification of additional ones. It is based on the inevitability of conflicts during search and enhances basic backtracking search with a powerful conflict analysis procedure. By analyzing conflicts to determine their causes, GRASP can backtrack non-chronologically to earlier levels in the search tree, potentially pruning large portions of the search space. It also records the causes of conflicts to preempt similar conflicts later. GRASP can identify necessary assignments for a solution by tracking causality chains.
GRASP is implemented with a search process that implicitly traverses the space of all possible binary assignments. It uses Boolean constraint propagation (BCP) to derive implications and manage the search. Conflict analysis in GRASP is tightly coupled with BCP and allows for non-chronological backtracking, which can significantly reduce the search space. GRASP can also add clauses to the clause database, which is user-controlled, and uses techniques to prune the search by analyzing the implication structure generated by BCP.
GRASP has been tested on various benchmarks, including those from test pattern generation, and has shown superior performance compared to other SAT algorithms. It outperforms two recent state-of-the-art SAT algorithms on most benchmarks. The algorithm is customizable and allows for the integration of other algorithmic techniques. The framework is organized to allow easy adaptation of other techniques, such as those in [2, 9], which are orthogonal to those described here.
The paper introduces a procedure for conflict analysis in SAT algorithms and describes a configurable algorithmic framework for solving SAT. Experimental results indicate that conflict analysis and its by-products, non-chronological backtracking and identification of equivalent conflicting conditions, can significantly contribute to efficiently solving a large number of SAT instances. The research also suggests future directions, including applying GRASP to different EDA applications and improving the deduction engine.