103 explicit FuzzyTuning(std::string fuzzyRuleFileName);
105 [[nodiscard]] TuningStrategyOption
getOptionType()
const override;
113 bool reset(
size_t iteration,
size_t tuningPhase, std::vector<Configuration> &configQueue,
135 [[nodiscard]]
const std::map<std::string, std::shared_ptr<OutputMapper>> &
getOutputMappings()
const;
143 [[nodiscard]]
static std::tuple<
144 std::shared_ptr<FuzzyControlSettings>, std::vector<std::shared_ptr<LinguisticVariable>>,
145 std::map<std::string, std::shared_ptr<OutputMapper>>, std::map<std::string, std::shared_ptr<FuzzyControlSystem>>>
146 parse(
const std::string &fuzzyRuleFilename);
178 void updateQueueInterpretOutputAsIndividualSystems(std::vector<Configuration> &configQueue);
206 void updateQueueInterpretOutputAsSuitability(std::vector<Configuration> &configQueue);
211 std::string _fuzzyRuleFileName;
216 std::map<std::string, double> _currentLiveInfo;
221 std::shared_ptr<FuzzyControlSettings> _fuzzyControlSettings;
226 std::map<std::string, std::shared_ptr<FuzzyControlSystem>> _fuzzyControlSystems;
231 std::map<std::string, std::shared_ptr<OutputMapper>> _outputMappings;
Class containing multiple options that form an algorithm configuration for the pairwise iteration.
Definition: Configuration.h:24
Class to manage all evidence.
Definition: EvidenceCollection.h:21
Helper class that associates a measurement with the iteration when it was taken.
Definition: Evidence.h:15
A tuning strategy that uses fuzzy logic to make predictions about the performance of configurations.
Definition: FuzzyTuning.h:97
bool needsLiveInfo() const override
Returns whether this tuning strategy wants to get a LiveInfo object passed before a new tuning phase.
Definition: FuzzyTuning.cpp:80
const std::map< std::string, std::shared_ptr< OutputMapper > > & getOutputMappings() const
Getter for the output mappings.
void addEvidence(const Configuration &configuration, const Evidence &evidence) override
Notifies the strategy about empirically collected information for the given configuration.
Definition: FuzzyTuning.cpp:100
bool optimizeSuggestions(std::vector< Configuration > &configQueue, const EvidenceCollection &evidenceCollection) override
Optimizes the queue of configurations to process.
Definition: FuzzyTuning.cpp:129
const std::map< std::string, std::shared_ptr< FuzzyControlSystem > > & getFuzzyControlSystems() const
Getter for the fuzzy control systems.
TuningStrategyOption getOptionType() const override
Get this object's associated TuningStrategyOption type.
Definition: FuzzyTuning.cpp:138
std::shared_ptr< FuzzyControlSettings > getFuzzyControlSettings() const
Getter for the fuzzy control settings.
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.
Definition: FuzzyTuning.cpp:102
void receiveLiveInfo(const LiveInfo &value) override
Virtual method that subclasses can override to receive the LiveInfo object before a tuning phase if t...
Definition: FuzzyTuning.cpp:82
This class is able to gather and store important information for a tuning phase from a container and ...
Definition: LiveInfo.h:31
Interface for tuning strategies for the auto tuner.
Definition: TuningStrategyInterface.h:23
Namespace that contains the fuzzy logic framework used by the FuzzyTuning-strategy.
Definition: namespaces.h:112
This is the main namespace of AutoPas.
Definition: AutoPasDecl.h:32