Efficient Analog Circuits for Boolean Satisfiability

Efficient solutions to nonpolynomial (NP)-complete problems would significantly benefit both science and industry. However, such problems are intractable on digital computers based on the von Neumann architecture, thus creating the need for alternative solutions to tackle such problems. Recently, a deterministic, continuous-time dynamical system (CTDS) was proposed <xref ref-type="bibr" rid="ref1">[1]</xref> to solve a representative NP-complete problem, Boolean Satisfiability (SAT). This solver shows polynomial analog time-complexity on even the hardest benchmark <inline-formula> <tex-math notation="LaTeX">$k$ </tex-math></inline-formula>-SAT (<inline-formula> <tex-math notation="LaTeX">$k \geq 3$ </tex-math></inline-formula>) formulas, but at an energy cost through exponentially driven auxiliary variables. This paper presents a novel analog hardware SAT solver, <monospace>AC-SAT</monospace>, implementing the CTDS via incorporating novel, analog circuit design ideas. <monospace>AC-SAT</monospace> is intended to be used as a coprocessor and is programmable for handling different problem specifications. It is especially effective for solving hard <inline-formula> <tex-math notation="LaTeX">$k$ </tex-math></inline-formula>-SAT problem instances that are challenging for algorithms running on digital machines. Furthermore, with its modular design, <monospace>AC-SAT</monospace> can readily be extended to solve larger size problems, while the size of the circuit grows linearly with the product of the number of variables and the number of clauses. The circuit is designed and simulated based on a 32-nm CMOS technology. Simulation Program with Integrated Circuit Emphasis (SPICE) simulation results show speedup factors of ~10<sup>4</sup> on even the hardest 3-SAT problems, when compared with a state-of-the-art SAT solver on digital computers. As an example, for hard problems with <inline-formula> <tex-math notation="LaTeX">$N=50$ </tex-math></inline-formula> variables and <inline-formula> <tex-math notation="LaTeX">$M=212$ </tex-math></inline-formula> clauses, solutions are found within from a few nanoseconds to a few hundred nanoseconds.

[1]  Hava T. Siegelmann,et al.  A Theory of Complexity for Continuous Time Systems , 2002, J. Complex..

[2]  Fang Yu,et al.  Designing an Efficient Hardware Implication Accelerator for SAT Solving , 2008, SAT.

[3]  Dave Bergeron,et al.  More than Moore , 2008, CICC.

[4]  Luis Ceze,et al.  General-purpose code acceleration with limited-precision analog computation , 2014, 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA).

[5]  Michael S. Branicky,et al.  Analog computation with continuous ODEs , 1994, Proceedings Workshop on Physics and Computation. PhysComp '94.

[6]  G. Dueck New optimization heuristics , 1993 .

[7]  Zoltán Toroczkai,et al.  Optimization hardness as transient chaos in an analog approach to constraint satisfaction , 2011, ArXiv.

[8]  M. Ercsey-Ravasz,et al.  Asymmetric Continuous-Time Neural Networks without Local Traps for Solving Constraint Satisfaction Problems , 2013, PloS one.

[9]  Mária Ercsey-Ravasz,et al.  Robust optimization with transiently chaotic dynamical systems , 2014 .

[10]  Steven R. Young,et al.  A 1 TOPS/W Analog Deep Machine-Learning Engine With Floating-Gate Storage in 0.13 µm CMOS , 2014, IEEE Journal of Solid-State Circuits.

[11]  Walter Kern,et al.  An improved local search algorithm for 3-SAT , 2004, Electron. Notes Discret. Math..

[12]  Fang Yu,et al.  A practical reconfigurable hardware accelerator for boolean satisfiability solvers , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[13]  Guoqi Zhang,et al.  More than Moore: Creating High Value Micro/Nanoelectronics Systems , 2009 .

[14]  Giacomo Indiveri,et al.  An event-based architecture for solving constraint satisfaction problems , 2015, Nature Communications.

[15]  Sunil P. Khatri,et al.  Accelerating Boolean Satisfiability on a Custom IC , 2010 .

[16]  Lin-Bao Yang,et al.  Cellular neural networks: theory , 1988 .

[17]  Sharad Malik,et al.  Efficient conflict driven learning in a Boolean satisfiability solver , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[18]  Adnan Darwiche,et al.  RSat 2.0: SAT Solver Description , 2006 .

[19]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[20]  Pekka Orponen,et al.  Focused local search for random 3-satisfiability , 2005, ArXiv.

[21]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[22]  M. Mitchell Waldrop,et al.  The chips are down for Moore’s law , 2016, Nature.

[23]  Behnam Sedighi,et al.  Performance Comparison of Switched-Capacitor and Switched-Current Pipeline ADCs , 2007, 2007 IEEE International Symposium on Circuits and Systems.

[24]  Nicola Nicolici,et al.  FPGA acceleration of enhanced boolean constraint propagation for SAT solvers , 2013, 2013 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[25]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[26]  Rahul Sarpeshkar,et al.  Synthetic analog computation in living cells , 2013, Nature.

[27]  Andrew S. Cassidy,et al.  A million spiking-neuron integrated circuit with a scalable communication network and interface , 2014, Science.

[28]  Indranil Palit,et al.  TFET-based Operational Transconductance Amplifier Design for CNN Systems , 2015, ACM Great Lakes Symposium on VLSI.

[29]  Walter Kern,et al.  An improved deterministic local search algorithm for 3-SAT , 2004, Theor. Comput. Sci..

[30]  Hava T. Siegelmann,et al.  Neural networks and analog computation - beyond the Turing limit , 1999, Progress in theoretical computer science.

[31]  Yu (Kevin) Cao,et al.  What is Predictive Technology Model (PTM)? , 2009, SIGD.

[32]  Bruce J. MacLennan,et al.  The impact of analog computational error on an analog boolean satisfiability solver , 2016, 2016 IEEE International Symposium on Circuits and Systems (ISCAS).

[33]  Shih-Chii Liu,et al.  Analog VLSI: Circuits and Principles , 2002 .

[34]  Weiping Shi,et al.  Efficient, scalable hardware engine for Boolean satisfiability and unsatisfiable core extraction , 2008, IET Comput. Digit. Tech..

[35]  Joao Marques-Silva,et al.  GRASP-A new search algorithm for satisfiability , 1996, Proceedings of International Conference on Computer Aided Design.

[36]  H T Siegelmann,et al.  Dating and Context of Three Middle Stone Age Sites with Bone Points in the Upper Semliki Valley, Zaire , 2007 .

[37]  Leon O. Chua,et al.  The CNN is universal as the Turing machine , 1993 .

[38]  Bart Selman,et al.  Local search strategies for satisfiability testing , 1993, Cliques, Coloring, and Satisfiability.

[39]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[40]  Jonathan Rose,et al.  Measuring the Gap Between FPGAs and ASICs , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[41]  Zoltán Toroczkai,et al.  The Chaos Within Sudoku , 2012, Scientific Reports.