Download as pdf or txt
Download as pdf or txt
You are on page 1of 25

Machine learning for

algorithm selection
A case study for the alldifferent constraint

Lars Kotthoff
larsko@cs.st-andrews.ac.uk

10 June 2010
Background

problem
instance

solver

configuration

solution
Background

problem solver
instance configuration

solver

solution
Background

Problem space Algorithm space Performance space

Algorithm performance
for a problem

Rice, John R. “The Algorithm Selection Problem.” Advances in Computers 15 (1976): 65-118.
alldifferent

alldifferent(x, y, z) ⇐⇒ x 6= y ∧ y 6= z ∧ x 6= z
alldifferent

{1, 2} {1, 2}

{1, 2}
alldifferent

{1, 2} {1, 2}

{1, 2}
alldifferent

{1, 2} {1, 2}

{1, 2}
alldifferent

{1, 2} {1, 2}

{1, 2}
alldifferent

{1, 2} {1, 2}

{1, 2}
alldifferent

{1, 2} {1, 2}

{1, 2}
Problem

problem

algorithm 1 ?

2 3 4 5 6 7 8 9
Motivation

speedup of best over default variant

2.0

1.8

1.6

1.4

1.2

1.0
Methodology

problems
Methodology

problems

Minion (constraint solver)


Methodology

problems

Minion (constraint solver)

_run times, problem attributes


Methodology

problems

Minion (constraint solver)

_run times, problem attributes

WEKA (machine learning toolkit)


Methodology

problems

Minion (constraint solver)

_run times, problem attributes

WEKA (machine learning toolkit)

_classifier
Instance weighting
Instance weighting
Ensemble classification

problems

Minion (constraint solver)

_run times, problem attributes

WEKA algorithm 1 WEKA algorithm 2 ... WEKA algorithm n

_classifier _classifier ... _classifier


Ensemble classification

Dietterich, Thomas G. “Ensemble Methods in Machine Learning.” In Proceedings of the First International
Workshop on Multiple Classifier Systems, 1857:115. Lecture Notes In Computer Science. Springer-Verlag, 2000.
Ensemble classification

Dietterich, Thomas G. “Ensemble Methods in Machine Learning.” In Proceedings of the First International
Workshop on Multiple Classifier Systems, 1857:115. Lecture Notes In Computer Science. Springer-Verlag, 2000.
Results

set 1 set 2
8s 0.002 s win
- 3s - 27 s attribute calculation,
classifier run
= 5s = -27 s net win

per problem instance


Questions?

You might also like