Satisfiability as a Classification Problem David Devlin and Barry O’Sullivan Cork Constraint Computation Centre Department of Computer Science, University College Cork, Ireland {d.devlin|b.osullivan}@4c.ucc.ie Abstract. Given a Boolean formula, the classic satisfiability problem is to decide whether there is a truth assignment to its variables such that the formula evaluates to true. The satisfiability problem was the first de- cision problem proven to be NP-Complete. Therefore, it is very unlikely that there exists an algorithm for solving the satisfiability problem that has good worst-case performance. However, the satisfiability problem is ubiquitous in artificial intelligence. In this paper, we view the satisfiabil- ity problem as a classification task. Based on easy to compute structural features of instances of large satisfiability problems we use a variety of standard classifier learners to classify previously unseen instances of the satisfiability problem as either satisfiable or unsatisfiable. We show that standard learning techniques can very reliably perform this task, with accuracy in excess of 99% for hard 3-SAT problems, and usually in ex- cess of 90% for large industrial benchmarks. These results are surprising, and suggest that machine learning techniques can be very effective at revealing the significant structural characteristics that are important in satisfiability testing. 1 Introduction The satisfiability problem (Sat) is, informally, defined as: given a Boolean for- mula, decide whether there is a truth assignment to each of its variables such that the formula evaluates to true. For example, consider the Boolean function And over variables A and B: φ And (A, B)= A.B This formula evaluates to true if both A and B are assigned true. We say that this formula is, therefore, satisfiable. Sat is important from both theoretical and practical perspectives. Sat was the first problem proved to be NP-Complete. The proof, Cook’s Theorem, was published in a 1971 paper by Stephen A. Cook [3]. That was a breakthrough result in computational complexity. Leonid Levin independently discovered the proof of Sat’s NP-Completeness, although he did not formally publish it until 1973. For this reason the proof is usually referred to as the Cook-Levin Theorem. This work was supported by Science Foundation Ireland (Grant No. 05/IN/I886).