SMLP: Symbolic Machine Learning Prover (User Manual)
This tool addresses the need for reliable optimization in domains like hardware design, though it appears incremental as it integrates existing methods.
SMLP is an open-source tool that tackles the problem of exploring and optimizing systems represented by machine learning models under verification and stability constraints, using symbolic reasoning and solvers, and has been applied at Intel for hardware design analysis.
SMLP: Symbolic Machine Learning Prover an open source tool for exploration and optimization of systems represented by machine learning models. SMLP uses symbolic reasoning for ML model exploration and optimization under verification and stability constraints, based on SMT, constraint and NN solvers. In addition its exploration methods are guided by probabilistic and statistical methods. SMLP is a general purpose tool that requires only data suitable for ML modelling in the csv format (usually samples of the system's input/output). SMLP has been applied at Intel for analyzing and optimizing hardware designs at the analog level. Currently SMLP supports NNs, polynomial and tree models, and uses SMT solvers for reasoning and optimization at the backend, integration of specialized NN solvers is in progress.