Learning SAT Encodings for Constraint Satisfaction Problems
Why this work is in the frame
A frame that forgets how it found something cannot be audited. These are the routes that admitted this work.
Bibliographic record
Abstract
Constraint programming addresses many interesting and challenging problems in \nour world, including recent applications to contexts as diverse as allocating \nrefugee relief funds, short-term mine planning and hardware circuit design. \n \nUsers define their problems in high-level modelling languages which include \ndescriptive global constraints. One of the most effective ways to solve \nconstraint satisfaction problems (CSPs) is by translating them into instances \nof the Boolean Satisfiability Problem (SAT). For some global constraints in \nCSPs there exist many algorithms which encode the constraint into SAT; \nchoosing an appropriate SAT encoding can alter the ultimate solving time \ndramatically. \n \nWe investigate the problem of selecting the best SAT encoding for \npseudo-Boolean and linear integer constraints. Many machine learning \ntechniques are explored, applied and evaluated to aid this selection. The \nresult is a significant improvement in performance compared to the default \nchoice and to the single best choice from a training set. The approach is \nsuccessful even for previously unseen problem classes and it greatly \noutperforms a sophisticated general algorithm selection and configuration \ntool. \n \nThis work provides a thorough empirical study and detailed analysis of each \nstage in the machine learning process as applied to choosing SAT encodings. \nIt does this in three phases: firstly by using generic CSP instance features \nto select an encoding per constraint type for each instance, then by \nintroducing new features which focus on the constraint types in question, and \nfinally by learning to select encodings for individual constraints. \n \nWe find that even generic instance features can produce good predictions, but \nthat the specialised features introduced give more robust performance \nespecially when predicting for unseen problem classes. Training to predict \nper constraint shows potential and leads to better performance for some \nproblem classes, but per-instance selection is still competitive across the \ncorpus of problems as a whole.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
Full frame distilled prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. Learned from the 10,348 direct Codex labels and 10,348 direct Gemma labels. Candidate is the union of thresholded teacher heads; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels or direct frontier model labels.
Codex and Gemma teacher scores by category
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.001 | 0.000 |
| Meta-epidemiology (narrow) | 0.000 | 0.000 |
| Meta-epidemiology (broad) | 0.001 | 0.001 |
| Bibliometrics | 0.001 | 0.001 |
| Science and technology studies | 0.001 | 0.001 |
| Scholarly communication | 0.000 | 0.001 |
| Open science | 0.001 | 0.000 |
| Research integrity | 0.001 | 0.001 |
| Insufficient payload (model declined to judge) | 0.000 | 0.000 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from it