<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Series</journal-title>
      </journal-title-group>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Reinforcement Learning for Automatic Online Algorithm Selection - an Empirical Study</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Hans Degroote</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bernd Bischl</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lars Kotthoff</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Patrick De Causmaecker</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Bernd Bischl, Department of Statistics, LMU Munich</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>KU Leuven, Department of Computer Science, CODeS &amp; iMinds-ITEC</institution>
          ,
          <country country="BE">Belgium</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>KU Leuven, Department of Computer Science, CODeS &amp; iMinds-ITEC</institution>
          ,
          <country>Belgium ❤❛♥s✳❞❡❣r♦♦t❡❅❦✉❧❡✉✈❡♥✳❜❡</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>University of British Columbia, Department of Computer Science</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2016</year>
      </pub-date>
      <volume>1649</volume>
      <fpage>93</fpage>
      <lpage>101</lpage>
      <abstract>
        <p>In this paper a reinforcement learning methodology for automatic online algorithm selection is introduced and empirically tested. It is applicable to automatic algorithm selection methods that predict the performance of each available algorithm and then pick the best one. The experiments confirm the usefulness of the methodology: using online data results in better performance. As in many online learning settings an exploration vs. exploitation trade-off, synonymously learning vs. earning trade-off, is incurred. Empirically investigating the quality of classic solution strategies for handling this trade-off in the automatic online algorithm selection setting is the secondary goal of this paper. The automatic online algorithm selection problem can be modelled as a contextual multi-armed bandit problem. Two classic strategies for solving this problem are tested in the context of automatic online algorithm selection: ε-greedy and lower confidence bound. The experiments show that a simple purely exploitative greedy strategy outperforms strategies explicitly performing exploration.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        The problem considered in this paper is automatic
algorithm selection. The field of algorithm selection is
motivated by the observation that a unique best algorithm
rarely exists for many problems. Which algorithm is best
depends on the specific problem instance being solved.
This can be illustrated by looking at the results of past
SAT-competitions1. There are always problem instances
that are not solved by the winning algorithm (the overall
best) but that other algorithms manage to solve [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ].
      </p>
      <p>
        The complementarities between different algorithms
can be leveraged through algorithm portfolios [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
Instead of using a single algorithm to solve a set of
problems, several algorithms are combined in a portfolio and
a method of selecting the most appropriate algorithm for
each problem instance at hand is used. This selection
process is called automatic algorithm selection.
      </p>
      <p>State of the art approaches for automatic offline
algorithm selection use machine learning techniques to create
a predictive model based on large amounts of training data.
The predictive model predicts for each instance which
algorithm is likely to be best. The model is created based on
characteristics of the problem under consideration. These
characteristics are called problem features. The idea is that
their value should be correlated with how hard a problem
is for a certain algorithm.</p>
      <p>Automatic algorithm selection methods are
metaheuristics in the sense that they are general problem-independent
strategies with a different implementation depending on
the specific problem being considered. The difference in
implementation manifests itself in the choice of features,
which are distinct for every problem. For example, the
ratio of the amount of clauses over the amount of variables
is relevant for satisfiability problems but makes no sense
for graph colouring or scheduling problems.</p>
      <p>After the training phase the decision model remains
fixed in automatic offline algorithm selection. To decide
which algorithm to use to solve a new instance with, its
features are calculated and input into the decision model
which in turn returns an algorithm. This algorithm is then
used to solve the instance with.</p>
      <p>The observation motivating this research is that new
performance data keeps being generated after the training
phase every time the predictive model is used to predict
the best algorithm for a new instance. This data is freely
available yet not used by automatic offline algorithm
selection methods. The main research question of this paper is:
“Can online performance data be used to improve the
predictive model underlying automatic algorithm selection?".</p>
      <p>An interesting challenge faced in automatic online
algorithm selection is finding a balance between learning a
good predictive model and making good predictions.
Selecting a predicted non-best algorithm might be better in
the long run because the information thus obtained results
in a better model and more accurate predictions for
future instances, but it negatively affects the expected
performance on the current instance. This challenge is an
example of the exploration vs. exploitation trade-off
often faced in reinforcement learning. It is also called the
learning vs. earning trade-off.</p>
      <p>The automatic online algorithm selection problem can
be modelled as a multi-armed bandit problem, more
specifically as a multi-armed bandit problem with
covariates, also known as the contextual multi-armed bandit
problem, as for each problem instance the values of a
number of problem characteristics are known. Two basic
classic strategies for solving the contextual multi-armed
bandit problem that incorporate explicit exploration are tested
and compared to the purely exploitative approach.</p>
      <p>The remainder of this paper is structured as follows. In
section 2 the automatic online algorithm selection problem
is defined. First the classic automatic offline algorithm
selection problem is discussed, then the methodology for
automatic online algorithm selection is presented after which
the contextual multi-armed bandit problem is introduced
and is shown how automatic online algorithm selection
can be modelled as a contextual multi-armed bandit
problem. In section 3 related work is discussed. The
experimental setting and results are presented in section 4. In
section 5 some remarks about the introduced
methodology are made and the experimental results are discussed.
Future work is also discussed in section 5. The paper
concludes in section 6
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Automatic Online Algorithm Selection</title>
      <sec id="sec-2-1">
        <title>Automatic Algorithm Selection</title>
        <p>
          Rice’s paper "The algorithm selection problem" [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ]
formally introduced the algorithm selection problem. The
fundamental characteristics of the problem remain
unchanged up to now. In the most basic scenario identified
by Rice the problem is characterised by a set of instances,
a set of algorithms and a (set of) performance measure(s)
and by two mappings between these sets: a selection
mapping and a performance mapping. The selection mapping
maps instances to algorithms and the performance
mapping maps algorithm-instance pairs to their
performancemeasure(s). A typical formulation of the objective of
automatic algorithm selection is to find the selection mapping
that results in the best average performance.
        </p>
        <p>
          It is up to the user to identify a sensible performance
measure. In this paper only single-objective problems are
considered. See [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] for a more formal description of what
characterises an acceptable performance measure for the
research in this paper. Each performance measure with
totally ordered values is definitely acceptable.
        </p>
        <p>Rice acknowledges the need for a set of features in
practical applications and extends his model with this set. The
full model is visualised in figure 1. Note that the selection
mapping now maps values from the feature space instead
of directly from the instance space.</p>
        <p>To formalise the problem statement, let Q be a
probability distribution on the instance set I . Let f be the
feature mapping (mapping an instance to a feature
vector), s the selection mapping (mapping a feature vector to
an algorithm) and p the performance mapping (mapping
an instance-algorithm combination to a performance
measure). The average performance of a selection mapping
can now be defined as:</p>
        <p>EQ[(p(s( f (i)), i)]
The aim is to find the feature mapping and selection
mapping that optimise the average performance. The
features of an instance are given, so the only leeway there is
which features to consider. Limitations on the possible
selection mappings can be imposed by the method used to
create it.</p>
        <p>
          Identifying descriptive features is a time consuming
process. Luckily large amounts of features have already
been proposed in literature for many interesting problems.
For example in [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] an overview is given of features for
the satisfiability problem and in [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ] for the multi-mode
resource-constrained project scheduling problem.
        </p>
        <p>The automatic in automatic algorithm selection refers to
the way decision models are made: automatically.
Supervised learning techniques are typically used.</p>
        <p>
          Two broad classes of techniques can be identified. In
the first fall classification-based techniques: the decision
model directly predicts which algorithm will be best for
an instance based on its features. No information about
the actual quality of the algorithm is communicated. Note
that in general this is not a binary but a multi-class
classification problem, as each instance is classified as being
best-solved by one of an arbitrary amount of algorithms.
In [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] for example, the k-nearest-neighbours method is
used. Another example of the use of k-nearest-neighbours
can be found in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], where the more complicated problem
of ranking algorithms (as opposed to only predicting the
best) is considered. Another option is to use decision trees
or their more powerful relative random forest, as in the
latest version of Satzilla [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ], an algorithm selector for the
satisfiability problem.
        </p>
        <p>
          Misclassification is cost-sensitive in automatic
algorithm selection: classifying an instance incorrectly as
being best solved by a horrendous algorithms is worse than
classifying it as being best solved by an algorithm only
marginally worse than the best one. A classification-based
automatic algorithm selection technique should take this
cost-sensitivity into account, as argued in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
        </p>
        <p>
          The second class of automatic algorithm selection
techniques consists of regression-based techniques. A
regression model is created for each algorithm, predicting its
performance in function of the problem features. The
algorithm with the best predicted performance is selected
to solve a new instance with. An overview of such
techniques can be found in [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. A recent approach is
described in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ].
        </p>
        <p>Note that algorithm selection itself is a cost-sensitive
classification problem: the goal is to classify instances
as belonging to the algorithm that best solves them. The
distinction between classification and regression methods
refers to how this classification problem is solved behind
the scenes.</p>
        <p>
          A thorough overview of algorithm selection
methodology can be found in [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] and more recently in [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ].
        </p>
        <p>Both classes of automatic algorithm selection methods
use the same kind of input to initialise their decision
models: performance data of all algorithms on a set of
training instances. For the classification-based techniques it is
strictly necessary for the performance of all algorithms to
be available for each instance. Otherwise it is not
possible to say which algorithm is best for the instance. This is
not the case for regression-based techniques. As long as
each algorithm’s model has access to datapoints it can be
initialised, it is not necessary to know the performance of
each algorithm on each training instance.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Solution Strategy for Automatic Online</title>
      </sec>
      <sec id="sec-2-3">
        <title>Algorithm Selection</title>
        <p>During the online phase performance data is generated
every time a new instance is solved. This performance
data consists of the performance of the selected algorithm
on the new instance. The performance data of the other
algorithms on the new instance is not available. Since
this type of data can only be processed by the
regressionbased methods, the proposed methodology will be limited
to regression-based techniques.</p>
        <p>The methodology for automatic online algorithm
selection is the following. During the offline training phase an
initial regression model is trained for each algorithm ,
using training data consisting of algorithm performance on
instances described by feature values. During the online
phase the algorithm to solve the first online instance with
is selected based on the models created during the training
phase. The model of the selected algorithm is retrained
with the new datapoint. The performance of all other
algorithms on the instance remains unknown. The algorithm
to solve the second online instance with is selected based
on the models created after having solved the first instance,
thus one of the models has been updated to incorporate the
performance information about the first online instance.
Selection for the third online instance is influenced by the
two previous etc. As more instances are solved, more
datapoints are gathered and the models are expected to
improve, which in turn is expected to result in better
algorithm selection.
2.3</p>
      </sec>
      <sec id="sec-2-4">
        <title>Automatic Online Algorithm Selection Problem</title>
      </sec>
      <sec id="sec-2-5">
        <title>Statement</title>
        <p>As discussed in section 2.1, the goal of automatic
algorithm selection is to find the feature mapping and selection
mapping that optimise the average performance as defined
in equation 1.</p>
        <p>In the setting of this paper the instance set is defined
by a fixed set of benchmark instances and the distribution
is uniform. The feature mapping is defined by
considering all features available for the benchmark instances.
The problem of selecting the most informative features is
not considered: the feature mapping is fixed. A selection
mapping is defined by considering a regression model for
each algorithm and selecting an algorithm in function of
these predicted values. The most straightforward selection
mapping is to select the algorithm with the predicted best
performance. This and other options are discussed in
section 2.4. The performance mapping used is discussed in
section 4.1.</p>
        <p>In the offline setting the selection mapping remains
fixed. However, in the online setting it changes over time
as more instances are solved. The selection at each point in
time depends explicitly on earlier selections. For this
reason equation 1 cannot be used directly to formally define a
general problem statement for automatic online algorithm
selection.</p>
        <p>In the empirical setting of this paper the quality of a
solution to the automatic online algorithm selection problem
is measured as its average performance on a time-ordered
set of instances, as presented during the online phase. The
empirical performance measurement process is explained
in more detail in section 4 where the experimental setting
and results are described.
2.4</p>
      </sec>
      <sec id="sec-2-6">
        <title>Contextual Multi-armed Bandits</title>
        <p>In the standard multi-armed bandit a gambler has access
to a set of slot machines (bandits) and must decide on a
strategy in which order to pull their arms. His goal is
to realise as much profit as possible. Each time an arm
is pulled the gambler receives a random reward sampled
from a distribution belonging to the selected arm. Initially
all distributions are unknown, but as the gambler gambles
on he obtains more information about the distributions of
the available arms and can make more informed choices.</p>
        <p>The central dilemma faced by the gambler is whether
to keep pulling the arm proven to be best so far or to try
another arm about which little is known and that might
be better. If the other arm turns out to be more profitable
never having explored its potential further would have lost
the gambler a lot of money.</p>
        <p>
          See [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] for a formal definition of the multi-armed
bandit problem. In this paper a number of policies for pulling
arms are analysed in terms of how fast the total profit
diverges from the maximal profit in function of the total
amount of pulls.
        </p>
        <p>The contextual multi-armed bandit problem generalises
the multi-armed bandit problem. To stay within the
metaphor: before pulling an arm the gambler sees a
context vector. This context vector contains values for
predefined properties that describe the current situation. In
the contextual multi-armed bandit problem the reward of
each arm depends on the context. As in the classic
multiarmed bandit problem the gambler’s goal is to maximize
his profit, but in order to do so he has to learn how the
context vector relates to the rewards.</p>
        <p>The automatic online algorithm selection problem is a
contextual multi-armed bandit problem. Each algorithm is
an arm and pulling an arm is the equivalent of selecting
an algorithm. When selecting an algorithm for an instance
its feature values are known, which is the equivalent of
having shown a context vector. Maximizing profit in this
context boils down to minimizing the performance
difference between the selected algorithm and the actual best
algorithm.</p>
        <p>
          A number of solution strategies for the contextual
bandit have been introduced and analysed in literature, such
as LinUCB [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] where the reward is assumed to linearly
depend on the feature vector. However, for the
preliminary research presented in this paper three straightforward
and simple strategies have been implemented.
        </p>
        <p>The first strategy that is considered is the greedy
strategy. The greedy strategy does not perform any explicit
exploration: it always selects the algorithm that is predicted
to be best.</p>
        <p>The second strategy that is considered is the ε-greedy
strategy, which is parametrised by a value ε between 0
and 1. The strategy is equivalent with the simple greedy
strategy with probability (1 − ε) and selects a random
algorithm with probability ε.</p>
        <p>The third strategy is the is the UCB strategy, short for
upper confidence bound. It is parametrised by parameter λ
(with λ ≥ 0). The UCB strategy consists of calculating for
each algorithm its predicted performance p and the
standard error on this prediction e. The algorithm with highest
value for p + e ∗ λ is selected. Since algorithms for which
few datapoints exist typically have high variance on their
predictions, an algorithm with predicted poor performance
might be preferred over an algorithm with decent
performance, depending on the performance difference, variance
sizes and the value of λ . A higher λ -value results in more
exploration.</p>
        <p>The equivalent of the UCB strategy for minimisation
problems is the LCB strategy, short for lower confidence
bound. Its selection rule is: p − e ∗ λ .</p>
        <p>Unlike the two previous strategies, which only rely on a
predicted value, the LCB strategy also relies on a notion of
variance. Hence it can be applied only to regression
methods for which the variance on a prediction is calculable.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Related work</title>
      <p>Reinforcement learning and multi-armed bandit
methodology have been applied to some related topics in
automatic algorithm selection literature. However, the authors
believe the setting considered in this paper, applying
reinforcement learning to the standard automatic algorithm
selection problem where one has to select one algorithm
from a limited pre-defined set of algorithms to solve an
instance with, has not yet been investigated. In the
remainder of this section some related research is discussed and
is mentioned how it differs from this work.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] multi-armed bandit methodology is applied to
the online learning of dynamic algorithm portfolios. Their
goal differs from this paper’s. They want to learn for each
instance a separate algorithm portfolio while the goal here
is to predict one algorithm to solve the instance with. In
an algorithm portfolio a bunch of algorithms are run
simultaneously. The dynamic goal is to learn the optimal
assignment of time slices to algorithms while the portfolio
is in use. This paper’s setting is not dynamic in this sense.
Once an algorithm has been selected to solve an instance
with this decision will not be come back on, even if the
algorithm appears to perform poorly on the instance.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] a new multi-armed bandit model is proposed and
applied to search heuristic selection, a kind of algorithm
selection. However, their objective differs from this
paper’s. In terms of algorithm selection they have access to a
number of stochastic algorithms and a budget of N trials.
The goal is to find an as good as possible solution for one
instance within the budget of N trials, whereas this paper’s
goal is to find an as good as possible solution on average
over many instances, each with a budget of one trial. Their
stochasticity is caused by the algorithms but the instance
remains fixed. In this paper stochasticity is also caused
by the instances as at each point in time a new random
instance is solved.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] a notion of online algorithm selection is
introduced for decision problems. They focus on the problem
of deciding how to distribute time shares over the set of
available algorithms and make this decision on an instance
per instance basis. They model the problem on two levels.
On the upper level they use bandit methodology to decide
which time allocator to use (choosing from a uniform
allocator and various dynamic allocators) and on the lower
level the algorithms are run in parallel (or simulated to run
in parallel) according to the time shares predicted by the
allocator selected on the higher level. Thus the arms of
their bandit problem are ’time allocators’ and not
algorithms.
4
4.1
      </p>
    </sec>
    <sec id="sec-4">
      <title>Experiments</title>
      <sec id="sec-4-1">
        <title>Experimental Setting</title>
        <p>
          A standard database with automatic algorithm selection
data, called ASLIB [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], is used. This database consists of
17 problems, each with a number of algorithms (2-30) and
instances (500-2500). The value of one or more
performance measures is available for each algorithm-instance
pair. Using this database it is possible to simulate
different algorithm selection strategies without having to waste
time on calculating the performance of algorithms and
instances.
        </p>
        <p>Information about the feature values for each instance is
stored as well. The amount of features ranges from 22 to
155.</p>
        <p>In all experiments performed performance is measured
as how fast an algorithm solves an instance. To
differentiate between solving an instance just within the time-limit
and failing to solve an instance, time-outs are penalised
by multiplying them with a fixed factor. A penalty factor
commonly used in literature is 10. resulting in the PAR10
criterion (with PAR an abbreviation for penalised average
runtime). Suppose the time-out limit is 1 hour. An
unsolved instance will have a PAR score of 10 hours. In
terms of the problem definition of automatic algorithm
selection (equation 1): all results in this paper are presented
with as performance mapping applying the PAR10
criterion to the stored runtime.</p>
        <p>Since for all problems being considered performance is
measured as time taken until a solution is found, they are
all minimisation problems. This implies specifically that
the lower confidence bound method (LCB) will be used
instead of the upper confidence bound method (UCB).</p>
        <p>
          As content management system for the experiments and
as interface to the remote cluster the R-package
BatchExperiments was used [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
        </p>
        <p>As described in section 2.2 a regression model is trained
for each algorithm during a training phase and these
models are subsequently updated during an online phase. To
evaluate how well each strategy has managed to learn
models, the final model quality at the end of the online
phase is evaluated during a verification phase. During the
verification phase each strategy’s resulting model quality
is evaluated by using the models to make predictions. Note
that during this verification phase models are no longer
updated and no explicit exploration is performed. For each
strategy the basic greedy selection criterion is used.</p>
        <p>The set of available instances is split into three subsets
to represent three experimental phases: a set of training
instances, a set of online instances and a set of verification
instances.</p>
        <p>
          As regression model ’regression forest’ is used. The
implementation from R-package randomForest [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] with
the standard parameter values is used. The
randomForest method is interfaced through the R-package MLR [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
Note that the prediction variance reported by random
forest is calculated using a bootstrap methodology. See [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]
for a description of this method.
        </p>
        <p>Even though a database of performance data is used,
running the experiments still proved too time-consuming
for most ASLIB-scenarios. Most time is spent on
retraining models. Therefore an optimisation was introduced:
retraining the model of an algorithm is postponed until a
minimal amount of new datapoints is available.</p>
        <p>All results have been normalised on an per-instance
basis before the average PAR10 performances (averaged over
all repeats of the experiment) are calculated. A value of 0
is the best possible (recall that minimisation problems are
considered, so a lower value is a better value). This score
is achieved by the so-called virtual best solver. The
virtual best solver selects for each instance the best possible
algorithm. It is defined only for instances for which
performance data is available for all algorithms. Note that
the PAR-score of the virtual best solver itself is not 0, it is
simply normalised to 0.</p>
        <p>
          The virtual best solver is artificial because it requires
calculating the performance of each algorithm before
selecting one, hence it cannot be used in practice. However,
it is easy to define for an ASLIB scenario and is commonly
used to evaluate the quality of an algorithm selection
approach, for example in [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ] and [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. A score of 1 equals
the score of the single best solver. The single best solver
corresponds to the classical notion of ’best algorithm’: it
is the best solver on average over the entire dataset. Any
algorithm selection strategy should improve on the single
best solver to be considered useful, but the score of 1 does
not provide a strict upper bound and it is possible to obtain
scores higher than 1. An algorithm selection method with
a score higher than 1 performs worse than the single best
solver.
        </p>
        <p>
          To enable comparison with the current state of the art
in automatic offline algorithm selection, the performance
of regression random forest as reported on the ASLIB
website2 is shown as a horizontal red line on each plot.
LLAMA is an R-package for algorithm selection
interfacing a number of machine learning algorithms [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. On the
website the performance of some popular machine
learning algorithms applied to ASLIB algorithm selection
scenarios is reported. Since regression random forest is also
used in this paper’s experiments this allows comparison
with a current state of the art automatic offline algorithm
selection method.
        </p>
        <p>The results are presented using box plots. The hinges
correspond to the first and third quartiles. The whiskers
extend to the highest value within a 1.5 inter-quartile range
from the hinges. The remaining points are outliers.</p>
        <p>Several parameters must be defined to run the
experiments. They are kept at a fixed value for all experiments
reported in this paper.</p>
        <p>• LCB λ : 1
• ε-greedy ε: 0.05
• Proportion of training instances: 0.1
• Proportion of online instances: 0.8
• Proportion of verification instances: 0.1
• Minimal amount of instances before retraining: 16
• Amount of repitions per experiment: 10</p>
        <p>For the exploration methods standard parameters were
chosen. The proportions of training and online instances
were chosen ad hoc. The proportion of 0.1 for verification
instances was chosen more consciously because it is
standard practice to evaluate models on 10% of the data. The
other parameters were also chosen ad hoc. For follow-up
studies a parameter study can be useful.</p>
        <p>2http://coseal.github.io/aslib-r/scenario-pages/QBF2011/llama.html
Only results for the QBF-2011 scenario are reported in
this paper. Results for other scenarios are qualitatively
similar with regards to the two research questions
considered3. The QBF-2011 scenario contains performance data
obtained from the quantified Boolean formula competition
of 2011. The QBF-2011 scenario contains 5 algorithms,
46 features and 1368 instances, of which 1054 were solved
by at least one algorithm. There are 136 training instances,
1094 online instances and 136 verification instances.</p>
        <p>The PAR10 score of the virtual best solver fluctuates
around 8400 and that of the single best solver around
15300, depending on the specific split in training, online
and verification instance set. Recall that the virtual best
solver’s score is normalised to 0 and the single best’s to 1.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2 Is Automatic Online Algorithm Selection Useful for the Greedy Approach?</title>
        <p>Adding additional data to the regression models is
expected to result in better performance. To validate this
hypothesis the performance of the most basic learning
strategy (greedy) is compared with that of a strategy that does
not learn.</p>
        <p>The greedy strategy picks the algorithm predicted to be
best.</p>
        <p>The strategy that does not learn is called the
greedy-nolearning strategy and is abbreviated as greedyNL in the
plots. It is equivalent to the simply greedy strategy but
it does not do any learning: it keeps using the models it
learned during the training phase, never adding new
datapoints. This strategy is the strategy used by offline
algorithm selection approaches.</p>
        <p>The greedy-no-learning strategy uses its models to
predict the best algorithm for all online instances and its
PAR10-score is calculated on these online instances. The
learning strategy does the same, but updates its models
with the data it gathers during the online phase.</p>
        <p>A third strategy is considered as well: the
greedy-fullinformation strategy, abbreviated as greedyFI.
Greedyfull-information is an artificial strategy that has access to
the online information of each algorithm on all handled
instances. Thus not only the result of the selected algorithm
is used to update the models, but also the results of all other
algorithms, hence the full-information. It does not have to
explore as it has access to all information regardless, hence
its greedy selection criterion.</p>
        <p>The Greedy-full-information strategy is introduced to
serve as a sort of upper bound on the performance of any
selection strategy. It always makes the best decision given
the current information (pure exploitation) and it has
access to the maximal amount of information (performance
of all algorithms on all handled instances). Each actual
selection strategy will have access to only a part of the
information and might at times make suboptimal decisions
if it explores.</p>
        <p>3Plots for all performed experiments are available on
http://www.kuleuven-kulak.be/~u0075355/Plots_ITAT_2016</p>
        <p>Note that the Greedy-full-information strategy does not
provide a real upper bound: it is possible to perform better
than this strategy as more information is not guaranteed to
always result in better predictions.</p>
        <p>The plot with the results of the online phase is presented
in figure 2. Online learning appears to be useful as the
greedy strategy outperforms the greedy-no-learning
strategy. The good performance of the greedy-full-information
strategy shows the value of having access to more
information.</p>
        <p>The performance reported in figure 2 is the average
performance over all online instances. For the first online
instance the performance of the greedy-no-learning strategy
is equal to that of the greedy strategy that does learn, but
for the last online instance the performance of the greedy
strategy that does learn is expected to be better because
it has access to more data. The performance reported in
figure 2 is the average of these (most likely) increasing
performances.</p>
        <p>To quantify how much the greedy strategy has learned
during the online phase, the quality of its predictions is
tested on a set of verification instances. During the
verification phase the models are no longer updated. The
difference in PAR10-score between the greedy strategy and the
greedy-no-learning strategy is a measure for how much
using the online data improves the quality of the selection.</p>
        <p>The plot with the results of the verification phase is
presented in figure 3. Note that the performance of the
greedy-full-information strategy is similar to the
performance of llama. This is expected because the
benchmark performance was calculated using a 10-fold
crossvalidation where performance of models trained on 90%
of the data is measured on the remaining 10%. The
models of the greedy-full-information strategy have also been
trained on 90% of the data: 10% training data and 80%
online data.</p>
        <p>To answer the question titling this section: automatic
online algorithm selection appears to be useful for the
greedy approach.
When performing reinforcement learning one is typically
faced with an exploration vs. exploitation trade-off. When
no online learning is performed the predicted best
algorithm is always selected because the only reason for
selecting an algorithm is solving the next instance as well
as possible. In an online learning setting a second reason
for selecting an algorithm surfaces: additional
information will be obtained and this information will increase the
quality of future decisions.</p>
        <p>Two exploration-incorporating strategies are compared
to the simple greedy approach: ε-greedy (epsGreedy on
the plots) and lower confidence bound (LCB on the plots).
See section 2.4 for a description of these two strategies.</p>
        <p>A first test is to compare each strategy’s performance
during the online phase. This measures their ability to
solve the exploration vs. exploitation trade-off: do they
manage to benefit from exploring more by obtaining a
better average performance?</p>
        <p>The plot with the results of the online phase is presented
in figure 4. The answer appears to be negative: explicit
exploration does not result in a better average performance
than greedy and the ε-greedy strategy even drops down to
the level of the greedy-no-learning strategy.</p>
        <p>A second test is to check whether the exploration
strategies managed to learn better models than the greedy
strategy by comparing their performance on the verification
data. If the exploration strategies managed to learn better
models they have merit as they traded off some
exploitation in favour of useful exploration. If this is not the case
the exploration was not useful and simply resulted in
picking inferior algorithms without any noticeable gain.</p>
        <p>The plot with the results of the verification phase is
presented in figure 5. Exploration does not appear to
have been useful as the models learned by the ε-greedy
and lower confidence bound strategy do not outperform
the model learned by the greedy strategy. Note however
that the additional information obtained during the
online phase does result in better models than the
greedyno-learning strategy for all learning strategies.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Discussion and future work</title>
      <p>
        The automatic online algorithm selection method
presented in section 2.2 is inefficient. Every time a new
datapoint is collected for an algorithm, the corresponding
regression model is retrained from scratch using all
previous data and the newly obtained datapoint. If the
fitting of a model takes a long time this approach can
become prohibitively expensive, especially if its complexity
is influenced heavily by the amount of instances, as for
each online instance a new model is trained and the
models are trained based on an ever increasing amount of
instances. Identifying and implementing more efficient
updating strategies is future work. Mondrian forests [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] for
example are an online version of random forests that could
be useful in this context.
      </p>
      <p>There might be a theoretical problem with the proposed
automatic online algorithm selection method. During the
online phase an algorithm’s regression model is extended
only with datapoints for which the algorithm was predicted
to be best. Hence the new datapoints are all clustered in
the same region(s) of the problem domain. Note also that
the region(s) where an algorithm is best is likely to change
slightly every time a new instance is handled, as with the
changing of an algorithm’s regression model all points in
the domain where the algorithm’s predicted performance
was better than that of another algorithm’s are likely to
move slightly. Then again, in a sense the property that
datapoints are mostly collected in the area where an
algorithm is expected to be best is desirable. Knowing with
high accuracy how poorly an algorithm performs on
instances where it is bad is useless in this context whereas
accurate predictions on instances for which the algorithm
is likely to be one of the best are very relevant. However,
note that predicting performance accurately is not the goal
itself. What is important is that the actual best algorithm
is the algorithm with predicted best score. The selection
mapping does not change if a fixed value is added to each
performance prediction.</p>
      <p>At the start of this project it was thought that the explicit
exploration would be useful. Current and future work is
investigating why this does not appear to be the case. There
are two main hypotheses.</p>
      <p>The first hypothesis is that the amount of exploration
data collected during the online phase is negligible
compared to the data gathered during the training phase, thus
the influence of the exploration cannot be observed. A
training set of 100 instances for 5 algorithms can be seen
as a combination of 100 greedy choices and 400
explorative choices. The epsilon greedy strategy will explore
5% of the time, resulting in on average 50 new explorative
datapoints during an online phase of 1000 instances. This
hypothesis is currently being investigated</p>
      <p>The second hypothesis is that exploration is already
implicitly performed by the greedy strategy, rendering
additional explicit exploration unnecessary. The greedy
method is greedy in the sense that it always selects the
best algorithm, but which the best algorithm is depends
from instance to instance, thus over time performance
datapoints for all algorithms are collected. In this way the
greedy strategy implicitly explores. Investigating this
hypothesis is future work.</p>
      <p>In order to better quantify the improvements realised
during the online phase, future work is to investigate the
way in which the selection model improves in detail, by
not only evaluating the overall models before and after the
online phase, but also at several points during the online
phase and by also dropping down a level and investigating
how the individual regression models (one for each
algorithm) evolve over time.</p>
      <p>In future work the overhead of retraining the models
should be explicitly considered and quantified in order to
be able to quantify the net improvement of using the
online data. In the experiments here reported this overhead
is ignored.</p>
      <p>An interesting path for future work is te develop an
algorithm that learns how to perform automatic online
algorithm selection form scratch, without any training data
whatsoever. A straightforward initial methodology would
be to perform random or round-robin selection until
sufficient samples have been collected for each algorithm to
construct a regression model. Interesting challenges would
be to include the option to add new algorithms at runtime
and even identifying which kind of instances are hard for
all algorithms, thereby inspiring the development of a new
algorithm that performs well on these instances which can
then be added to the system.</p>
      <p>
        Other future work consists of implementing
solution strategies specifically designed for the contextual
multi-armed bandit problem which are more theoretically
founded, for example LinUCB [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
6
      </p>
    </sec>
    <sec id="sec-6">
      <title>Conclusions</title>
      <p>A reinforcement learning methodology for automatic
online algorithm selection has been introduced. It is limited
to automatic algorithm selection methods based on
performance predictions for each individual algorithm. It has
been shown experimentally that the method is capable of
learning from online data and thereby improves on
automatic offline algorithm selection methods.</p>
      <p>It has been shown that automatic online algorithm
selection can be modelled as a contextual multi-armed bandit
problem.</p>
      <p>A total of three solution strategies have been
implemented and empirically tested: an approach that always
greedily selects the best algorithm and two approaches
that perform exploration: ε-greedy and lower confidence
bound. The experiments suggest that the greedy strategy
outperforms the explorative strategies.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgements</title>
      <p>Work supported by the Belgian Science Policy Office
(BELSPO) in the Interuniversity Attraction Pole COMEX.
(http://comex.ulb.ac.be).</p>
      <p>The computational resources and services used in this
work were provided by the VSC (Flemish Supercomputer
Center), funded by the Research Foundation - Flanders
(FWO) and the Flemish Government – department EWI</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>P.</given-names>
            <surname>Auer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Cesa-Bianchi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Fischer</surname>
          </string-name>
          .
          <article-title>Finite-time analysis of the multiarmed bandit problem</article-title>
          .
          <source>Machine learning</source>
          ,
          <volume>47</volume>
          (
          <issue>2-3</issue>
          ):
          <fpage>235</fpage>
          -
          <lpage>256</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>B.</given-names>
            <surname>Bernd</surname>
          </string-name>
          .
          <article-title>mlr: A new package to conduct machine learning experiments in r.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>B.</given-names>
            <surname>Bischl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Kerschke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Kotthoff</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lindauer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Malitsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Fréchette</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Leyton-Brown</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Tierney</surname>
          </string-name>
          , et al.
          <article-title>Aslib: A benchmark library for algorithm selection</article-title>
          .
          <source>arXiv preprint arXiv:1506.02465</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>B.</given-names>
            <surname>Bischl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Mersmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Rahnenführer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Weihs</surname>
          </string-name>
          .
          <article-title>BatchJobs and BatchExperiments: Abstraction mechanisms for using R in batch environments</article-title>
          .
          <source>Journal of Statistical Software</source>
          ,
          <volume>64</volume>
          (
          <issue>11</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>25</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>B.</given-names>
            <surname>Bischl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Mersmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Trautmann</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Preuss</surname>
          </string-name>
          .
          <article-title>Algorithm selection based on exploratory landscape analysis and cost-sensitive learning</article-title>
          .
          <source>In Genetic and Evolutionary Computation Conference (GECCO)</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>P. B.</given-names>
            <surname>Brazdil</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Soares</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. P. Da</given-names>
            <surname>Costa</surname>
          </string-name>
          .
          <article-title>Ranking learning algorithms: Using ibl and meta-learning on accuracy and time results</article-title>
          .
          <source>Machine Learning</source>
          ,
          <volume>50</volume>
          (
          <issue>3</issue>
          ):
          <fpage>251</fpage>
          -
          <lpage>277</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>W.</given-names>
            <surname>Chu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Reyzin</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R. E.</given-names>
            <surname>Schapire</surname>
          </string-name>
          .
          <article-title>Contextual bandits with linear payoff functions</article-title>
          .
          <source>In International Conference on Artificial Intelligence and Statistics</source>
          , pages
          <fpage>208</fpage>
          -
          <lpage>214</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>V. A.</given-names>
            <surname>Cicirello</surname>
          </string-name>
          and
          <string-name>
            <given-names>S. F.</given-names>
            <surname>Smith.</surname>
          </string-name>
          <article-title>The max k-armed bandit: A new model of exploration applied to search heuristic selection</article-title>
          .
          <source>In AAAI</source>
          , pages
          <fpage>1355</fpage>
          -
          <lpage>1361</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>H.</given-names>
            <surname>Degroote and P. De Causmaecker</surname>
          </string-name>
          .
          <article-title>Towards a knowledge base for performance data: A formal model for performance comparison</article-title>
          .
          <source>In Proceedings of the Companion Publication of the 2015 on Genetic and Evolutionary Computation Conference</source>
          , pages
          <fpage>1189</fpage>
          -
          <lpage>1192</lpage>
          . ACM,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>T.</given-names>
            <surname>Doan</surname>
          </string-name>
          and
          <string-name>
            <surname>J. Kalita.</surname>
          </string-name>
          <article-title>Selecting machine learning algorithms using regression models</article-title>
          .
          <source>In 2015 IEEE International Conference on Data Mining Workshop (ICDMW)</source>
          , pages
          <fpage>1498</fpage>
          -
          <lpage>1505</lpage>
          . IEEE,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gagliolo</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Schmidhuber</surname>
          </string-name>
          .
          <article-title>Learning dynamic algorithm portfolios</article-title>
          .
          <source>Annals of Mathematics and Artificial Intelligence</source>
          ,
          <volume>47</volume>
          (
          <issue>3-4</issue>
          ):
          <fpage>295</fpage>
          -
          <lpage>328</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gagliolo</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Schmidhuber</surname>
          </string-name>
          .
          <article-title>Algorithm selection as a bandit problem with unbounded losses</article-title>
          .
          <source>In International Conference on Learning and Intelligent Optimization</source>
          , pages
          <fpage>82</fpage>
          -
          <lpage>96</lpage>
          . Springer,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>B. A.</given-names>
            <surname>Huberman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. M.</given-names>
            <surname>Lukose</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Hogg</surname>
          </string-name>
          .
          <article-title>An Economics Approach to Hard Computational Problems</article-title>
          . Science,
          <volume>275</volume>
          (
          <issue>5296</issue>
          ):
          <fpage>51</fpage>
          -
          <lpage>54</lpage>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Leyton-Brown</surname>
          </string-name>
          .
          <article-title>Algorithm runtime prediction: Methods &amp; evaluation</article-title>
          .
          <source>Artificial Intelligence</source>
          ,
          <volume>206</volume>
          :
          <fpage>79</fpage>
          -
          <lpage>111</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>S.</given-names>
            <surname>Kadioglu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Malitsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sabharwal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Samulowitz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Sellmann</surname>
          </string-name>
          .
          <article-title>Algorithm selection and scheduling</article-title>
          .
          <source>In Principles and Practice of Constraint Programming-CP</source>
          <year>2011</year>
          , pages
          <fpage>454</fpage>
          -
          <lpage>469</lpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>L.</given-names>
            <surname>Kotthoff</surname>
          </string-name>
          .
          <article-title>Llama: leveraging learning to automatically manage algorithms</article-title>
          .
          <source>arXiv preprint arXiv:1306.1031</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>L.</given-names>
            <surname>Kotthoff</surname>
          </string-name>
          .
          <article-title>Algorithm Selection for Combinatorial Search Problems: A Survey</article-title>
          .
          <source>AI Magazine</source>
          ,
          <volume>35</volume>
          (
          <issue>3</issue>
          ):
          <fpage>48</fpage>
          -
          <lpage>60</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>B.</given-names>
            <surname>Lakshminarayanan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. M.</given-names>
            <surname>Roy</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y. W.</given-names>
            <surname>Teh</surname>
          </string-name>
          .
          <article-title>Mondrian forests: Efficient online random forests</article-title>
          .
          <source>In Advances in Neural Information Processing Systems</source>
          , pages
          <fpage>3140</fpage>
          -
          <lpage>3148</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>A.</given-names>
            <surname>Liaw</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Wiener</surname>
          </string-name>
          .
          <article-title>Classification and regression by randomforest</article-title>
          .
          <source>R news</source>
          ,
          <volume>2</volume>
          (
          <issue>3</issue>
          ):
          <fpage>18</fpage>
          -
          <lpage>22</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Malitsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sabharwal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Samulowitz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Sellmann</surname>
          </string-name>
          .
          <article-title>Non-model-based algorithm portfolios for sat</article-title>
          .
          <source>In Theory and Applications of Satisfiability Testing-SAT</source>
          <year>2011</year>
          , pages
          <fpage>369</fpage>
          -
          <lpage>370</lpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>T.</given-names>
            <surname>Messelis and P. De Causmaecker</surname>
          </string-name>
          .
          <article-title>An automatic algorithm selection approach for the multi-mode resourceconstrained project scheduling problem</article-title>
          .
          <source>European Journal of Operational Research</source>
          ,
          <volume>233</volume>
          (
          <issue>3</issue>
          ):
          <fpage>511</fpage>
          -
          <lpage>528</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>E.</given-names>
            <surname>Nudelman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Leyton-Brown</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Devkar</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Shoham</surname>
          </string-name>
          .
          <article-title>Understanding random sat: Beyond the clauses-to-variables ratio</article-title>
          .
          <source>In Principles and Practice of Constraint Programming-CP</source>
          <year>2004</year>
          , pages
          <fpage>438</fpage>
          -
          <lpage>452</lpage>
          . Springer,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Rice</surname>
          </string-name>
          .
          <article-title>The algorithm selection problem</article-title>
          .
          <source>Advances in Computers</source>
          ,
          <volume>15</volume>
          :
          <fpage>65</fpage>
          -
          <lpage>118</lpage>
          ,
          <year>1976</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>K. A.</given-names>
            <surname>Smith-Miles</surname>
          </string-name>
          .
          <article-title>Cross-disciplinary perspectives on meta-learning for algorithm selection</article-title>
          .
          <source>ACM Computing Surveys (CSUR)</source>
          ,
          <volume>41</volume>
          (
          <issue>1</issue>
          ):
          <fpage>6</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>L.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Leyton-Brown</surname>
          </string-name>
          .
          <article-title>Evaluating component solver contributions to portfolio-based algorithm selectors</article-title>
          .
          <source>In Theory and Applications of Satisfiability Testing-SAT</source>
          <year>2012</year>
          , pages
          <fpage>228</fpage>
          -
          <lpage>241</lpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>L.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Shen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          K. LeytonBrown. Satzilla2012:
          <article-title>Improved algorithm selection based on cost-sensitive classification models</article-title>
          .
          <source>Proceedings of SAT Challenge</source>
          , pages
          <fpage>57</fpage>
          -
          <lpage>58</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>