33 static std::shared_ptr<FuzzySet>
makeFuzzySet(
const std::string &linguisticTerm,
const std::string &functionName,
34 const std::vector<double> ¶ms);
43 static std::function<double(
double)> triangleFunction(
double min,
double peak,
double max);
54 static std::function<double(
double)> trapezoidFunction(
double min,
double leftPeak,
double rightPeak,
double max);
61 static std::function<double(
double)> gaussianFunction(
double mean,
double sigma);
73 static std::function<double(
double)> sigmoidFunction(
double center,
double slope);
86 static std::function<double(
double)> sigmoidFiniteFunction(
double lower,
double center,
double upper);
95 static void throwInvalidNumberOfArguments(
const std::string &linguisticTerm,
const std::string &functionName,
96 size_t expected,
size_t actual);
145 constexpr operator Value()
const {
return _value; }
A factory class that creates FuzzySets based on the given activation function.
Definition: FuzzySetFactory.h:19
FuzzySetFactory()=delete
Deleted constructor to prevent instantiation of this class.
static std::shared_ptr< FuzzySet > makeFuzzySet(const std::string &linguisticTerm, const std::string &functionName, const std::vector< double > ¶ms)
Constructs a FuzzySet with the given linguistic term, based on the given activation function.
Definition: FuzzySetFactory.cpp:16
Class representing the choices for the membership functions.
Definition: FuzzySetFactory.h:102
constexpr MembershipFunctionOption(Value option)
Constructor from value.
Definition: FuzzySetFactory.h:139
Value
Enum for the different defuzzification methods.
Definition: FuzzySetFactory.h:107
@ Gaussian
Gaussian function.
Definition: FuzzySetFactory.h:119
@ Sigmoid
Sigmoid function.
Definition: FuzzySetFactory.h:123
@ SigmoidFinite
SigmoidFinite function.
Definition: FuzzySetFactory.h:127
@ Trapezoid
Trapezoid function.
Definition: FuzzySetFactory.h:115
@ Triangle
Triangle function.
Definition: FuzzySetFactory.h:111
static std::map< MembershipFunctionOption, std::string > getOptionNames()
Provides a way to iterate over the possible choices of DefuzzificationMethod.
Definition: FuzzySetFactory.h:151
MembershipFunctionOption()=default
Constructor.
Namespace that contains the fuzzy logic framework used by the FuzzyTuning-strategy.
Definition: namespaces.h:112