SATfeatPy – A Python-based Feature Extraction System for Satisfiability

04/29/2022
by   Benjamin Provan-Bessell, et al.
0

Feature extraction is a fundamental task in the application of machine learning methods to SAT solving. It is used in algorithm selection and configuration for solver portfolios and satisfiability classification. Many approaches have been proposed to extract meaningful attributes from CNF instances. Most of them lack a working/updated implementation, and the limited descriptions lack clarity affecting the reproducibility. Furthermore, the literature misses a comparison among the features. This paper introduces SATfeatPy, a library that offers feature extraction techniques for SAT problems in the CNF form. This package offers the implementation of all the structural and statistical features from there major papers in the field. The library is provided in an up-to-date, easy-to-use Python package alongside a detailed feature description. We show the high accuracy of SAT/UNSAT and problem category classification, using five sets of features generated using our library from a dataset of 3000 SAT and UNSAT instances, over ten different classes of problems. Finally, we compare the usefulness of the features and importance for predicting a SAT instance's original structure in an ablation study.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/04/2019

Verifying the DPLL Algorithm in Dafny

Modern high-performance SAT solvers quickly solve large satisfiability i...
research
06/05/2013

LLAMA: Leveraging Learning to Automatically Manage Algorithms

Algorithm portfolio and selection approaches have achieved remarkable im...
research
01/10/2014

Transformation-based Feature Computation for Algorithm Portfolios

Instance-specific algorithm configuration and algorithm portfolios have ...
research
12/15/2017

Solving satisfiability using inclusion-exclusion

Using Maple, we implement a SAT solver based on the principle of inclusi...
research
05/18/2020

Surfboard: Audio Feature Extraction for Modern Machine Learning

We introduce Surfboard, an open-source Python library for extracting aud...
research
09/18/2015

Backdoors into Heterogeneous Classes of SAT and CSP

In this paper we extend the classical notion of strong and weak backdoor...

Please sign up or login with your details

Forgot password? Click here to reset