AutoPas  3.0.0
Loading...
Searching...
No Matches
OutputMapper.h
Go to the documentation of this file.
1
7#pragma once
8
9#include <map>
10#include <memory>
11#include <string>
12
13#include "autopas/tuning/tuningStrategy/ruleBasedTuning/RuleBasedProgramTree.h"
14
15namespace autopas::FuzzyLogic {
16
22 public:
28 OutputMapper(std::string outputDomain, std::vector<std::pair<double, std::vector<ConfigurationPattern>>> mappings);
29
33 explicit operator std::string() const;
34
40 [[nodiscard]] std::vector<ConfigurationPattern> getClosestConfigurationPatterns(double value);
41
46 [[nodiscard]] const std::string &getOutputDomain();
47
52 [[nodiscard]] const std::vector<std::pair<double, std::vector<ConfigurationPattern>>> &getMappings() const {
53 return _mappings;
54 }
55
56 private:
60 std::string _outputDomain;
61
65 std::vector<std::pair<double, std::vector<ConfigurationPattern>>> _mappings;
66};
67
68} // namespace autopas::FuzzyLogic
Used to store the mapping information to transform the result of the fuzzy controller into a configur...
Definition: OutputMapper.h:21
std::vector< ConfigurationPattern > getClosestConfigurationPatterns(double value)
Returns the closest configuration patterns to the given value.
Definition: OutputMapper.cpp:15
const std::vector< std::pair< double, std::vector< ConfigurationPattern > > > & getMappings() const
Getter for the mappings.
Definition: OutputMapper.h:52
const std::string & getOutputDomain()
Getter for the output domain.
Definition: OutputMapper.cpp:29
Namespace that contains the fuzzy logic framework used by the FuzzyTuning-strategy.
Definition: namespaces.h:112