Assume that the stochastic distribution of the execution time while fixing discrete variables corresponds to a Gaussian Process. More...
#include <BayesianClusterSearch.h>
Public Member Functions | |
BayesianClusterSearch (const InteractionTypeOption &interactionType, const std::set< ContainerOption > &allowedContainerOptions=ContainerOption::getAllOptions(), const NumberSet< double > &allowedCellSizeFactors=NumberInterval< double >(1., 2.), const std::set< TraversalOption > &allowedTraversalOptions=TraversalOption::getAllOptions(), const std::set< LoadEstimatorOption > &allowedLoadEstimatorOptions=LoadEstimatorOption::getAllOptions(), const std::set< DataLayoutOption > &allowedDataLayoutOptions=DataLayoutOption::getAllOptions(), const std::set< Newton3Option > &allowedNewton3Options=Newton3Option::getAllOptions(), size_t maxEvidence=10, AcquisitionFunctionOption predAcqFunction=AcquisitionFunctionOption::upperConfidenceBound, const std::string &outputSuffix="", size_t predNumLHSamples=50, unsigned long seed=std::random_device()()) | |
Constructor. | |
TuningStrategyOption | getOptionType () const override |
Get this object's associated TuningStrategyOption type. | |
void | addEvidence (const Configuration &configuration, const Evidence &evidence) override |
Notifies the strategy about empirically collected information for the given configuration. | |
bool | reset (size_t iteration, size_t tuningPhase, std::vector< Configuration > &configQueue, const autopas::EvidenceCollection &evidenceCollection) override |
Reset all internal parameters to the beginning of a new tuning phase. | |
bool | optimizeSuggestions (std::vector< Configuration > &configQueue, const EvidenceCollection &evidenceCollection) override |
Optimizes the queue of configurations to process. | |
void | rejectConfiguration (const Configuration &configuration, bool indefinitely) override |
Notify the strategy about a configuration that is (currently) invalid and thus can potentially be dropped from some internal storage. | |
bool | searchSpaceIsEmpty () const |
Indicate if the search space is empty. | |
bool | needsSmoothedHomogeneityAndMaxDensity () const override |
Indicate whether the strategy needs smoothed values of homogeneity and max density. | |
![]() | |
virtual TuningStrategyOption | getOptionType () const =0 |
Get this object's associated TuningStrategyOption type. | |
virtual void | addEvidence (const Configuration &configuration, const Evidence &evidence) |
Notifies the strategy about empirically collected information for the given configuration. | |
virtual bool | optimizeSuggestions (std::vector< Configuration > &configQueue, const EvidenceCollection &evidenceCollection)=0 |
Optimizes the queue of configurations to process. | |
virtual bool | reset (size_t iteration, size_t tuningPhase, std::vector< Configuration > &configQueue, const autopas::EvidenceCollection &evidenceCollection)=0 |
Reset all internal parameters to the beginning of a new tuning phase. | |
virtual bool | needsLiveInfo () const |
Returns whether this tuning strategy wants to get a LiveInfo object passed before a new tuning phase. | |
virtual void | receiveLiveInfo (const LiveInfo &info) |
Virtual method that subclasses can override to receive the LiveInfo object before a tuning phase if they return true in needsLiveInfo(). | |
virtual void | rejectConfiguration (const Configuration &configuration, bool indefinitely) |
Notify the strategy about a configuration that is (currently) invalid and thus can potentially be dropped from some internal storage. | |
virtual bool | needsSmoothedHomogeneityAndMaxDensity () const |
Indicate whether the strategy needs smoothed values of homogeneity and max density. | |
virtual void | receiveSmoothedHomogeneityAndMaxDensity (double homogeneity, double maxDensity) |
Method to pass smoothed homogeneity and the maximal density to the tuning strategy. | |
Assume that the stochastic distribution of the execution time while fixing discrete variables corresponds to a Gaussian Process.
This allows to estimate the 'gain' of testing a given feature next.
|
explicit |
Constructor.
interactionType | |
allowedContainerOptions | |
allowedCellSizeFactors | |
allowedTraversalOptions | |
allowedLoadEstimatorOptions | |
allowedDataLayoutOptions | |
allowedNewton3Options | |
maxEvidence | Stop tuning after given number of evidence provided. |
predAcqFunction | Acquisition function used for prediction while tuning. |
outputSuffix | Suffix for output logger. |
predNumLHSamples | Number of latin-hypercube-samples used to find a evidence with high predicted acquisition |
seed | Seed of random number generator (should only be used for tests) |
|
overridevirtual |
Notifies the strategy about empirically collected information for the given configuration.
All evidence is stored centrally in the AutoTuner and its EvidenceCollection is passed to the tuning strategies during optimization.
Implementing this function is only necessary if the tuning strategy processes evidence differently than EvidenceCollection.
configuration | Configuration used to obtain the evidence. |
evidence | Measurement and when it was taken. |
Reimplemented from autopas::TuningStrategyInterface.
|
overridevirtual |
Get this object's associated TuningStrategyOption type.
Implements autopas::TuningStrategyInterface.
|
inlineoverridevirtual |
Indicate whether the strategy needs smoothed values of homogeneity and max density.
Reimplemented from autopas::TuningStrategyInterface.
|
overridevirtual |
Optimizes the queue of configurations to process.
This function is called once before each iteration in a tuning phase so all tuning strategies can give their input on which configuration to try next. This is done by reordering configQueue so that the next configuration to try is at the end (FIFO).
configQueue | Queue of configurations to be tested. The tuning strategy should edit this queue. |
evidenceCollection | All collected evidence until now. |
Implements autopas::TuningStrategyInterface.
|
overridevirtual |
Notify the strategy about a configuration that is (currently) invalid and thus can potentially be dropped from some internal storage.
configuration | |
indefinitely | Whether the given configuration will never be valid |
Reimplemented from autopas::TuningStrategyInterface.
|
overridevirtual |
Reset all internal parameters to the beginning of a new tuning phase.
This can also mean to reorder the configQueue to some initially expected state.
iteration | Gives the current iteration to the tuning strategy. |
tuningPhase | Gives the current tuning phase to the tuning strategy. |
configQueue | Queue of configurations to be tested. The tuning strategy should edit this queue. |
evidenceCollection | All collected evidence until now. |
Implements autopas::TuningStrategyInterface.
bool autopas::BayesianClusterSearch::searchSpaceIsEmpty | ( | ) | const |
Indicate if the search space is empty.