Accurate modeling of continuous-time SAT solvers in SPICE

Yuriy V. Pershin,Dyk Chung Nguyen
2024-12-19
Abstract:Recently, there has been an increasing interest in employing dynamical systems as solvers of NP-complete problems. In this paper, we present accurate implementations of two continuous-time dynamical solvers, known in the literature as analog SAT and digital memcomputing, using advanced numerical integration algorithms of SPICE circuit simulators. For this purpose, we have developed Python scripts that convert Boolean satisfiability (SAT) problems into electronic circuits representing the analog SAT and digital memcomputing dynamical systems. Our Python scripts process conjunctive normal form (CNF) files and create netlists that can be directly imported into LTspice. We explore the SPICE implementations of analog SAT and digital memcomputing solvers by applying these to a selected set of problems and present some interesting and potentially useful findings related to digital memcomputing and analog SAT.
Emerging Technologies,Chaotic Dynamics
What problem does this paper attempt to address?
The problem that this paper attempts to solve is to develop an accurate modeling method for implementing continuous - time SAT (Boolean Satisfiability) solvers in the SPICE circuit simulation environment. Specifically, the author focuses on two continuous - time dynamic system solvers: Analog SAT and Digital Memcomputing. These solvers aim to solve NP - complete problems, especially the 3 - SAT problem. ### Main problems: 1. **Accurate Modeling**: How to accurately implement these two solvers in SPICE using advanced numerical integration algorithms. 2. **Conversion Tools**: Develop Python scripts to convert Boolean Satisfiability (SAT) problems into equivalent electronic circuits for simulation in the SPICE environment. 3. **Performance Evaluation**: Verify the effectiveness and limitations of these solvers through a series of experiments, especially their performance in solving 3 - SAT problems of different difficulty levels. 4. **Improvement and Extension**: Explore modifications to existing solvers and construct networks composed of multiple SAT solvers to solve larger - scale or more complex problems. ### Specific Objectives: - **Implementation of Analog SAT and Digital Memcomputing**: Ensure that these solvers can run stably in SPICE and can effectively find solutions to 3 - SAT problems. - **Handling Complex Problems**: Study the behavior of solvers when facing simple, difficult, and very difficult 3 - SAT instances, especially their convergence characteristics. - **Improving Solver Design**: Explore new improvement methods by modifying the dynamic equations of solvers, such as removing restrictions on voltage variables. - **Network Applications**: Explore the application potential of networks composed of multiple SAT solvers, including potential uses in artificial neural network architectures or reservoir computing. ### Key Points of the Solution: - **Python Scripts**: Used to convert CNF files into circuit netlists that can be directly imported in LTspice. - **SPICE Simulation**: Utilize SPICE's powerful numerical integration algorithms to simulate the dynamic behavior of solvers. - **Experimental Verification**: Evaluate the performance of solvers by simulating 3 - SAT problems of different difficulties and analyze their convergence characteristics. ### Main Contributions of the Paper: - Provide an accurate SPICE modeling method for implementing continuous - time SAT solvers. - Prove through experiments the effectiveness and limitations of Analog SAT and Digital Memcomputing solvers in solving 3 - SAT problems. - Explore new methods for improving solver design and demonstrate the feasibility of constructing SAT solver networks. Through these works, the author hopes to promote the development of the non - traditional computing field, especially in using physical systems to solve complex computing problems.