260 likes | 395 Vues
SATzilla, developed by Lin Xu, Frank Hutter, Holger H. Hoos, and Kevin Leyton-Brown at the University of British Columbia, is a pioneering portfolio-based algorithm selection framework for solving SAT problems. Building on empirical hardness models, SATzilla predicts solver performance using regression and classification techniques, leading to superior results in competitive settings. SATzilla has achieved multiple gold and silver medals across various SAT competitions, establishing itself as a critical tool in advancing research for effective SAT solver methodologies.
E N D
SATzilla: Portfolio-based Algorithm Selection for SAT Lin Xu, Frank Hutter, Holger H. Hoos, and Kevin Leyton-Brown Department of Computer Science University of British Columbia Mainly based on [Xu, Hutter, Hoos, Leyton-Brown, JAIR, 2008]
SATzilla • Excellent performance in SAT competitions [http://www.satcompetition.org/] • 2 second places, one third place in 2003 SAT competition [Leyton-Brown, Nudelman, Andrew, McFadden & Shoham, 2003] • 3 Gold, 1 Silver, 1 Bronze in 2007 SAT competition [Xu, Hutter, Hoos, & Leyton-Brown, 2007] • 3 Gold, 2 Silver in 2009 SAT competition [Xu, Hutter, Hoos & Leyton-Brown, 2009] • One gold in every category: Industrial/Handmade/Random • Domain independent • MIPzilla, CSP, Planning … Feature extractor Algorithm selector Instance Solvers Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
Impact on the SAT community Encouraged research on portfolio-based solvers for SAT Final 2011 SAT competition results [http://www.satcompetition.org/] Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
Outline • Introduction • Related Work: • Algorithm selection • SATzilla overview: • Building SATzilla • Running SATzilla • SATzilla07 and beyond • Results • SATzilla since 2008 • Conclusion Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
Related work: algorithm selection Select the best solver for each instance [Rice, 76] • Regression-based • Linear regression (SATzilla) [Leyton-Brown, Nudelman, Andrew, McFadden & Shoham, 2003; Xu, Hutter, Hoos, Leyton-Brown, 2007+] • Matchbox [Stern et al., 2010] • Classification-based • Logistic regression [Samulowitz & Memisevic, 2007] • K-NN [O’Mahony & Hebrard, 2008] • Decision tree [Guerri & Milano, 2004] Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
What is SATzilla? • Portfolio-based algorithm selection based on empirical hardness models [Leyton-Brown et al., 2002;2009] • Use regression models to predict each algorithm’s performance • Select the predicted best • Many new techniques for improving robustness • Pre-solvers • Backup solver • Solver subset selection Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
SATzilla: prerequisites Identify a target distribution of instances Select a set of candidate solvers, and measure runtime on a training set Identify a set of features based on domain knowledge and collect feature values • Cheap to compute • Informative for prediction Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
SATzilla core: predictive models Goal:accurately predict solver performance based on cheaply computable features Supervised machine learning: learn function f: features → performance • Input: <features, performance> pairs • Output: f fw() = wT Algorithm selector • 23.34 • 7.21 • … • … Features () Performance(y) Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
SATzilla: selection based on models • Predict each solver’s performance • Pick solver based on predictions Instance Instance Feature extractor Algorithm selector Run on selected solver Compute features Make prediction Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
Improving robustness Feature extractor Algorithm selector Algorithm selector • Solver subset selection • More candidate solvers can hurt • select subset of solvers that achieves best overall performance • Pre-solvers • Solve some instances quickly without need for feature computation • Increase model robustness • Backup solver • In case something goes wrong Dealing with imperfect predictions: Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
Time to run SATzilla! Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
Step 1: pre-solving Run pre-solvers for a fixed short amount of time • If solved, done Feature extractor Algorithm selector Instance Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
Step 2: compute features Feature extractor Algorithm selector Instance Run feature extractor to get a set of feature values • If solved, done • If anything fails, simply run backup solver Xu, Hutter, Hoos, and Leyton-Brown: SATzilla 13
Step 3: performance prediction Feature extractor Algorithm selector Predict performance of solvers and order them according to runtime predictions Xu, Hutter, Hoos, and Leyton-Brown: SATzilla 14
Step 4: run top-ranked solver Feature extractor Algorithm selector Instance Run the top-ranked solver. If a run fails, run the next-ranked solver. Xu, Hutter, Hoos, and Leyton-Brown: SATzilla 15
SATzilla07: construction Pre-solvers: manually selected Backup solver: overall best Model building: • Predict runtime • Hierarchical hardness models [Xu, Hoos, Leyton-Brown, 2007] • Models handle “censored data” [Schmee & Hahn, 1979] Solver subset selection: exhaustive search Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
Feature extractor Algorithm selector Improving SATzilla07 (1.) Problem:manual pre-solver selection is not ideal Solution: auto pre-solver selection based on validation Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
Improving SATzilla07 (2.-5.) Problem: overall best solver best backup solver Solution: choose the best solver for instances not solved by pre-solvers and with problematic features Problem: objective is not always runtime Solution: predict and optimize true objective directly also enables cleaner use of incomplete solvers Problem: exhaustive search for solver subset selection is infeasible for large portfolios Solution: local search for solver subset selection Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
SATzilla vs candidate solvers HANDMADE Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
SATzilla vs candidate solvers Oracle HANDMADE Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
SATzilla vs candidate solvers Oracle HANDMADE SATzilla07 Feat. Comp. Pre-solving Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
SATzilla vs candidate solvers SATzilla07 (improved) Oracle HANDMADE SATzilla07 Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
Feature extractor Algorithm selector SATzilla09 [Xu et al., 2009] New techniques • New features: clause learning, … • Prediction of feature computation cost Instance Feature time predictor Minimal cost feature extractor • Results:3 Gold, 2 Silver in 2009 SAT competition • - Gold for Industrial (SAT) category • - Gold for Handmade (UNSAT) category • - Gold for Random (SAT+UNSAT) category Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
New Results: Cost sensitive classification Goal: directly optimize the objective [Xu et al., 2011] • Cost sensitive classification for every pair of candidates • Vote to decide the order of candidates Improved performance over regression models, particularly with heterogeneous data sets New SATzilla on SAT competition 2011 Random Handmade Industrial Oracle 33% Gap closed: 80% 55% Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
Recent work: Combining algorithm selection and algorithm configuration Problem: what if you only have one strong solver but it ishighlyparameterized? “Hydra”: combine algorithm selection and algorithm configuration [Xu et al., 2010; 2011] • Automatically find strong, uncorrelated parameter settings • Construct portfolio from these Results: clear improvement for both SAT and MIP • 2 × to 31 × faster for MIP • 1.2 × to 73 × faster for SAT Xu, Hutter, Hoos, and Leyton-Brown: SATzilla
Conclusion • Portfolio-based algorithm selection can improve performance and robustness • SATzilla-like portfolio approaches are the state of the art for many problems • New directions since our JAIR paper: • better predictive models • automatic portfolio construction (“Hydra”) Xu, Hutter, Hoos, and Leyton-Brown: SATzilla