A modular CNF-based SAT solver

  • Authors:
  • Bernardo C. Vieira;Fabrício V. Andrade;Antônio O. Fernandes

  • Affiliations:
  • Universidade Federal de Minas Gerais, Belo Horizonte, Brazil;Centro Federal de Educação Tecnológica de Minas Gerais, Belo Horizonte, Brazil;Universidade Federal de Minas Gerais, Belo Horizonte, Brazil

  • Venue:
  • SBCCI '10 Proceedings of the 23rd symposium on Integrated circuits and system design
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

The state-of-the-art SAT solvers, such as Chaff [11], zChaff [18], BerkMin [5], and Minisat [2] usually share the same core techniques, for instance: the watched literals structures conflict clause recording and non-chronological backtracking. Nevertheless, they generally differ in the elimination of learnt clauses as well as in the decision heuristic. This paper presents a modular CNF-based SAT solver that implements several techniques and heuristics such as those proposed by Goldberg and Novikov in BerkMin, and in Equivalence Checking of Dissimilar Circuits [4], and Niklas Een and Niklas Sorensson in Minisat. The latter solver, which was the starting point for the proposed solver, has been reimplemented to provide a framework in which new techniques and heuristics may be tested by a simple description in an XML file and thus easily and rapidly generating new and different SAT solvers. In order to demonstrate the effectiveness of the proposed CNF-based SAT solver, this paper also presents three distinct instances of the modular SAT solved for a complex and challenging industry problem: the Combinational Equivalence Checking problem (CEC). The first instance is a SAT solver that uses BerkMin and Dissimilar Circuits core techniques except the learnt clause elimination heuristic that has been adapted from Minisat; the second is another solver that combines BerkMin and Minisat decision heuristics at run-time; and the third is yet another SAT solver that changes the database reducing heuristic at run-time. The experiments demonstrate that the first SAT solver instance generates a faster solver than state-of-the art SAT solver BerkMin for several instances as well as for Minisat in almost every instance.