This paper presents a report on a new approach for solving satisfiability problems (SAT), i.e., creating a specialized logic circuit to solve each problem instance on Field Programmable Gate Arrays (FP-GAs). Recently, due to advances in FPGA technologies, users can now create their own reconfigurable logic circuits. Furthermore, by using current automatic logic synthesis technologies, users are able to design logic circuits automatically using a high level hardware description language (HDL). The combination of these two technologies have enabled users to rapidly create logic circuits specialized for solving individual problem instances. Satisfiability problems (SAT) were chosen because they make up an important subclass of NP-hard problems. We have developed a new algorithm called parallel-checking, which is suitable for this approach. In the algorithm, all variable values are assigned simultaneously, and all constraints are checked concurrently. Simulation results show that the order of the search tree size in this algorithm is approximately the same as that in the Davis-Putnam procedure. Then, we show how the parallel-checking algorithm can be implemented on FPGAs.
[1]
Kiyoshi Oguri,et al.
High-Level Synthesis Design at NTT Systems Labs (Special Issue on Synthesis and Verification of Hardware Design)
,
1993
.
[2]
J. Freeman.
Improvements to propositional satisfiability search algorithms
,
1995
.
[3]
Wayne Wolf,et al.
High-Level VLSI Synthesis
,
1991
.
[4]
Alan K. Mackworth.
Constraint Satisfaction
,
1985
.
[5]
Stephen A. Cook,et al.
The complexity of theorem-proving procedures
,
1971,
STOC.
[6]
Hector J. Levesque,et al.
Hard and Easy Distributions of SAT Problems
,
1992,
AAAI.
[7]
Hilary Putnam,et al.
A Computing Procedure for Quantification Theory
,
1960,
JACM.
[8]
James M. Crawford,et al.
Experimental Results on the Crossover Point inSatis ability
,
1993
.
[9]
Stuart C. Shapiro,et al.
Encyclopedia of artificial intelligence, vols. 1 and 2 (2nd ed.)
,
1992
.