Solving satisfiability problems using field programmable gate arrays: First results
This paper presents an initial report on an innovative approach for solving satisfiability problems (SAT), i.e., creating a logic circuit that is specialized to solve each problem instance on Field Programmable Gate Arrays (FPGAs). Until quite recently, this approach was unrealistic since creating special-purpose hardware was very expensive and time consuming. However, recent advances in FPGA technologies and automatic logic synthesis technologies have enabled users to rapidly create special-purpose hardware by themselves.
This approach brings a new dimension to SAT algorithms, since all constraints (clauses) can be checked simultaneously using a logic circuit. We develop a new algorithm called parallel-checking, which assigns all variable values simultaneously, and checks all constraints 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. Currently, actual implementation is under way. We get promising initial results which indicate that we can implement a hard random 3-SAT problem with 300 variables, and run the logic circuit at clock rates of about 1MHz, i.e., it can check one million states per second.
Unable to display preview. Download preview PDF.
- 1.Brown, S. D., Francis, R. J., Rose, J., and Vranesic, Z. G.: Field-Programmable Gate Arrays, Kluwer Academic Publishers (1992)Google Scholar
- 2.Camposano, R. and Wolf, W.: High-level VLSI synthesis, Kluwer Academic Publishers (1991).Google Scholar
- 3.Cook, S.: The complexity of theorem proving procedures, Proceedings of the 3rd Annual ACM Symposium on the Theory of Computation (1971) 151–158Google Scholar
- 4.Crawford, J. M. and Auton, L. D.: Experimental results on the crossover point in satisfiability problems, Proceedings of the Eleventh National Conference on Artificial Intelligence (1993) 21–27Google Scholar
- 5.Davis, M. and Putnam, H.: A computing procedure for quantification theory, Journal of the ACM, Vol. 7, (1960) 201–215Google Scholar
- 6.Dubois, O., Andre, P., Boufkhad, Y., and Carlier, J.: SAT versus UNSAT, in Johnson, D. S. and Trick, M. A. eds., Proceedings of the Second DIMACS Implementation Challenge, DIMACS Series in Discrete Mathematics and Theoretical Computer Science (1993)Google Scholar
- 7.Freeman, J. W.: Improvements to propositional satisfiability search algorithms, PhD thesis, the University of Pennsylvania (1995)Google Scholar
- 8.Haralick, R. and Elliot, G. L.: Increasing tree search efficiency for constraint satisfaction problems, Artificial Intelligence, Vol. 14, (1980) 263–313Google Scholar
- 9.Mackworth, A. K.: Constraint satisfaction, in Shapiro, S. C. ed., Encyclopedia of Artificial Intelligence, Wiley-Interscience Publication, New York (1992) 285–293, second editionGoogle Scholar
- 10.Mitchell, D., Selman, B., and Levesque, H.: Hard and easy distributions of SAT problem, Proceedings of the Tenth National Conference on Artificial Intelligence (1992) 459–465Google Scholar
- 11.Nakamura, Y., Oguri, K., Nagoya A., Yukishita M., and Nomura R.: High-level synthesis design at NTT Systems Labs, IEICE Trans. Inf & Syst., Vol. E76-D, No.9, pp. 1047–1054 (1993).Google Scholar
- 12.Morris, P.: The breakout method for escaping from local minima, Proceedings of the Eleventh National Conference on Artificial Intelligence (1993) 40–45Google Scholar
- 13.Reiter, R.: A theory of diagnosis from first principles, Artificial Intelligence, Vol. 32, No. 1, (1987) 57–95Google Scholar
- 14.Reiter, R. and Mackworth, A.: A logical framework for depiction and image interpretation, Artificial Intelligence, Vol. 41, No. 2, (1989) 125–155Google Scholar
- 15.Selman, B., Levesque, H., and Mitchell, D.: A new method for solving hard satisfiability problems, Proceedings of the Tenth National Conference on Artificial Intelligence (1992) 440–446Google Scholar
- 16.Zycad Corp.: Paradigm RP Concept Silicon User's Guide, Hardware Reference Manual, Software Reference Manual (1994).Google Scholar