latent class models for algorithm portfolio methods · algorithm portfolios: what and why de nition...

31
Latent Class Models for Algorithm Portfolio Methods Bryan Silverthorn and Risto Miikkulainen Department of Computer Science The University of Texas at Austin 13 July 2010

Upload: others

Post on 14-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Latent Class Models for Algorithm Portfolio Methods

Bryan Silverthorn and Risto Miikkulainen

Department of Computer ScienceThe University of Texas at Austin

13 July 2010

Page 2: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Our setting: hard computational problems

Many important computational questions, such as satisfiability (SAT),are intractable in the worst case.

Definition (SAT)

Does a truth assignment exist that makes a given Boolean expression true?

But heuristics often work: enormous problem instances can be solved.

SAT solvers are now in routine use for applications such ashardware verification... with up to a million variables.

(Kautz and Selman, 2007)

2 / 17

Page 3: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Which solver do you choose? (2009 SAT competition)

mar

chhi

hybr

idG

M3

gnov

elty

+2M

iniS

at-2

.1cl

asp

ag2w

sat0

9++

SA

pper

loT

mar

chK

SS

ATzi

lla09

Rpr

ecos

atTN

Mgl

ucos

eiP

AWS

adap

tg2w

sat+

MX

Cgn

ovel

ty+

gnov

elty

+-T

SAT

zilla

09C

SAT

zilla

07C

SAT

zilla

09I

kwR

sat

min

isat

Circ

Us

LyS

AT-i

IUT

BM

BS

ATLy

SAT

-cM

iniS

AT-0

9zVA

RS

AT-I

Man

ySAT

1.1

min

isat

cum

rrs

atpi

cosa

tS

ATzi

lla07

R

0

20

40

60

80

100

120

Inst

ance

sw

here

solv

erw

asbe

st

3 / 17

Page 4: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Algorithm portfolios: what and why

Definition

An algorithm portfolio is

a pool of algorithms (“solvers”) and

a method for scheduling their execution.

Portfolios can

reduce effort by choosing solvers automatically, and

improve performance by allocating resources more effectively.

Existing portfolios, such as SATzilla (Xu et al. 2008), often use classifierstrained on feature information to predict solver performance.

4 / 17

Page 5: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

How should we predict solver performance?

Research Questions

What predictions can we make with minimal information?

What assumptions are needed to make useful predictions?

Do they hold sufficiently well in practice?

To explore these questions, we will build unifying generative models ofsolver behavior and evaluate them in the SAT domain.

5 / 17

Page 6: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Assumptions that make modeling easier

Outcomes of runs are discrete, few, and fixed.

Utilities of outcomes are known.

Durations of runs are discrete, few, and fixed.

Learning is offline, but action is online.

Tasks are drawn IID from some distribution.

Information is obtained from outcomes alone.

6 / 17

Page 7: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Architecture of a model-based portfolio

TrainingOutcomes

TrainingTasks

ModelPredictedOutcomes

ActionSelection

TestOutcomes

TestTasks

Solvers

7 / 17

Page 8: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Architecture of a model-based portfolio

TrainingOutcomes

TrainingTasks

Model

PredictedOutcomes

ActionSelection

TestOutcomes

TestTasks

Solvers

7 / 17

Page 9: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Architecture of a model-based portfolio

TrainingOutcomes

TrainingTasks

ModelPredictedOutcomes

ActionSelection

TestOutcomes

TestTasks

Solvers

7 / 17

Page 10: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Architecture of a model-based portfolio

TrainingOutcomes

TrainingTasks

ModelPredictedOutcomes

ActionSelection

TestOutcomes

TestTasks

Solvers

7 / 17

Page 11: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Architecture of a model-based portfolio

TrainingOutcomes

TrainingTasks

ModelPredictedOutcomes

ActionSelection

TestOutcomes

TestTasks

Solvers

7 / 17

Page 12: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Basic structure in solver behavior

Inter-algorithm correlations: solvers can be (dis)similar.

Example

“If solver X yielded outcome A on this task, solver Y likely will as well.”

Inter-task correlations: tasks can be (dis)similar.

Example

“If solver X yielded outcome A on task 1, it likely will on task 2 as well.”

Inter-duration correlations: runs can have (dis)similar outcomes.

Example

“If solver X did not quickly yield outcome A on this task, it never will.”

8 / 17

Page 13: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Conditional independence in solver behavior

The outcome of a solver run is a function of only three inputs:

the task on which it is executed,

the duration of the run, and

the seed of any internal pseudorandom sequence.

This strong local independence suggests a possible model:

take actions to be solver-duration pairs, and

assume that tasks cluster into classes.

Classes then capture the basic three aspects of solver behavior.

9 / 17

Page 14: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Multinomial latent class model of search

S

TRs,t

K

ξ

β

k

o

θ

α

Model

β ∼ Dir(ξ)kt ∼ Mult(β) t ∈ 1 . . .T

θs,k ∼ Dir(αs) s ∈ 1 . . . Sk ∈ 1 . . .K

ot,s,r ∼ Mult(θs,kt ) t ∈ 1 . . .Ts ∈ 1 . . . Sr ∈ 1 . . .Rs,t

Key

ξ class prior

α outcome priorβ class distr. θ outcome distr.k class o outcomeT tasks S actionsK classes R runs

10 / 17

Page 15: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Multinomial latent class model of search

S

TRs,t

K

ξ

β

k

o

θ

α

Model

β ∼ Dir(ξ)

kt ∼ Mult(β) t ∈ 1 . . .Tθs,k ∼ Dir(αs) s ∈ 1 . . . S

k ∈ 1 . . .Kot,s,r ∼ Mult(θs,kt ) t ∈ 1 . . .T

s ∈ 1 . . . Sr ∈ 1 . . .Rs,t

Key

ξ class prior

α outcome prior

β class distr.

θ outcome distr.k class o outcomeT tasks S actionsK classes R runs

10 / 17

Page 16: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Multinomial latent class model of search

S

T

Rs,t

K

ξ

β

k

o

θ

α

Model

β ∼ Dir(ξ)kt ∼ Mult(β) t ∈ 1 . . .T

θs,k ∼ Dir(αs) s ∈ 1 . . . Sk ∈ 1 . . .K

ot,s,r ∼ Mult(θs,kt ) t ∈ 1 . . .Ts ∈ 1 . . . Sr ∈ 1 . . .Rs,t

Key

ξ class prior

α outcome prior

β class distr.

θ outcome distr.

k class

o outcome

T tasks

S actionsK classes R runs

10 / 17

Page 17: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Multinomial latent class model of search

S

T

Rs,t

K

ξ

β

k

o

θ

α

Model

β ∼ Dir(ξ)kt ∼ Mult(β) t ∈ 1 . . .T

θs,k ∼ Dir(αs) s ∈ 1 . . . Sk ∈ 1 . . .K

ot,s,r ∼ Mult(θs,kt ) t ∈ 1 . . .Ts ∈ 1 . . . Sr ∈ 1 . . .Rs,t

Key

ξ class prior α outcome priorβ class distr.

θ outcome distr.

k class

o outcome

T tasks S actions

K classes R runs

10 / 17

Page 18: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Multinomial latent class model of search

S

T

Rs,t

K

ξ

β

k

o

θ

α

Model

β ∼ Dir(ξ)kt ∼ Mult(β) t ∈ 1 . . .T

θs,k ∼ Dir(αs) s ∈ 1 . . . Sk ∈ 1 . . .K

ot,s,r ∼ Mult(θs,kt ) t ∈ 1 . . .Ts ∈ 1 . . . Sr ∈ 1 . . .Rs,t

Key

ξ class prior α outcome priorβ class distr. θ outcome distr.k class

o outcome

T tasks S actionsK classes

R runs

10 / 17

Page 19: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Multinomial latent class model of search

S

TRs,t

K

ξ

β

k

o

θ

α

Model

β ∼ Dir(ξ)kt ∼ Mult(β) t ∈ 1 . . .T

θs,k ∼ Dir(αs) s ∈ 1 . . . Sk ∈ 1 . . .K

ot,s,r ∼ Mult(θs,kt ) t ∈ 1 . . .Ts ∈ 1 . . . Sr ∈ 1 . . .Rs,t

Key

ξ class prior α outcome priorβ class distr. θ outcome distr.k class o outcomeT tasks S actionsK classes R runs

10 / 17

Page 20: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Burstiness: another important aspect of solver behavior

Definition

Burstiness is the tendency of some random events to recur.

Solver outcomes recur—for some solvers more than others.

Example

“If solver X yields outcome A on this task, it will again; not so for Y.”

Deterministic solvers are entirely bursty. Randomized solvers are less so.

Burstiness also appears in text data. The Dirichlet compoundmultinomial (DCM) distribution has modeled it well in that domain.(Madsen et al., 2005)

11 / 17

Page 21: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Multinomial latent class model of search

S

TRs,t

K

ξ

β

k

o

θ

α

Model

β ∼ Dir(ξ)kt ∼ Mult(β) t ∈ 1 . . .T

θs,k ∼ Dir(αs) s ∈ 1 . . . Sk ∈ 1 . . .K

ot,s,r ∼ Mult(θs,kt ) t ∈ 1 . . .Ts ∈ 1 . . . Sr ∈ 1 . . .Rs,t

Key

ξ class prior α outcome priorβ class distr. θ outcome distr.k class o outcomeT tasks S actionsK classes R runs

12 / 17

Page 22: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

DCM (bursty) latent class model of search

S

T

Rs,t

K

ξ

β

k

o

θ

α

Model

β ∼ Dir(ξ)kt ∼ Mult(β) t ∈ 1 . . .T

θt,s ∼ Dir(αs,kt ) s ∈ 1 . . . St ∈ 1 . . .T

ot,s,r ∼ Mult(θt,s) t ∈ 1 . . .Ts ∈ 1 . . . Sr ∈ 1 . . .Rs,t

Key

ξ class prior α outcome rootβ class distr. θ outcome distr.k class o outcomeT tasks S actionsK classes R runs

13 / 17

Page 23: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Greedy, discounted selection

One efficient approach is to choose the next action according toimmediate expected utility without regard to later actions.

This approach gives us

a hard policy that chooses the expected-best action, and

a soft policy that draws actions proportional to expected utility.

Actions are solver-duration pairs: they have wildly different costs.

An obvious response is to reduce an action’s expected utility by its cost,discounting by γc for a c-second run and factor γ.

14 / 17

Page 24: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Experimental procedure

In our experiments, we use

every individual solver from the latest SAT competition, and

every problem instance from its three benchmark collections;

in repeated trials, we

run the solvers on a randomly-drawn training set,

fit a model to that training data, and then

run a portfolio using that model on the remaining test set.

Empirical Questions

For each combination of model and action selection policy,

how does its performance compare to its subsolvers?

how does its performance compare to that of other portfolios?

15 / 17

Page 25: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Portfolio performance (on the random collection)

0 5 10 15 20 25 30 35 40 45 50 55 60 65Number of latent classes (K)

340

360

380

400

420

440

460

SA

T inst

ance

s so

lved

DCMMultinomialBest SingleSATzilla

16 / 17

Page 26: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Recapitulation

These results suggest that

models can capture useful patterns given little information, and

these latent class models can be applied to a portfolio in practice.

Research in progress aims to

extend these models to capture dynamic information, and

improve action planning to better exploit their predictions.

020406080

100120

0200400600800

10001200

17 / 17

Page 27: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

Thanks!—Questions?

18 / 17

Page 28: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

References I

Matteo Gagliolo and Jurgen Schmidhuber.Learning Restart Strategies.IJCAI 2007.

Carla Gomes and Bart Selman.Algorithm Portfolio Design: Theory vs. Practice.UAI 1997.

Eric Horvitz, Ruan Yongshao, Carla Gomes, Henry Kautz, BartSelman, and David Chickering.A Bayesian Approach to Tackling Hard Computational Problems.UAI 2001.

Bernardo Huberman, Rajan Lukose, and Tad Hogg.An Economics Approach to Hard Computational Problems.Science, 275(5296), 1997.

19 / 17

Page 29: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

References II

Frank Hutter, Domagoj Babic, Holger H. Hoos, and Alan J. Hu.Boosting Verification by Automatic Tuning of Decision Procedures.FMCAD 2007.

Frank Hutter, Holger H. Hoos, Kevin Leyton-Brown, and ThomasStutzle.ParamILS: An Automatic Algorithm Configuration Framework.Journal of Artificial Intelligence Research, 2009.

Henry Kautz and Bart Selman.The state of SAT.Discrete Applied Mathematics, 12, 2007.

Ashiqur KhudaBukhsh, Lin Xu, Holger H. Hoos, Kevin Leyton-Brown.SATenstein: Automatically Building Local Search SAT Solvers FromComponents.IJCAI 2009.

20 / 17

Page 30: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

References III

Rasmus Madsen, David Kauchak, and Charles Elkan.Modeling Word Burstiness Using the Dirichlet Distribution.ICML 2005.

David Mimno and Andrew McCallum.Topic Models Conditioned on Arbitrary Features withDirichlet-multinomial Regression.UAI 2008.

Mladen Nikolic, Filip Maric, and Predrag Janicic.Instance-Based Selection of Policies for SAT Solvers.SAT 2009.

Eugene Nudelman, Kevin Leyton-Brown, Holger H. Hoos, AlexDevkar, and Yoav Shoham.Understanding Random SAT: Beyond the Clauses-to-Variables Ratio.CP 2004.

21 / 17

Page 31: Latent Class Models for Algorithm Portfolio Methods · Algorithm portfolios: what and why De nition Analgorithm portfoliois a pool of algorithms (\solvers") and a method for scheduling

References IV

J. R. Rice.The Algorithm Selection Problem.Advances in Computers, 15, 1976.

22 / 17