Soletta machine learning
Machine learning for IoT devices
 All Data Structures Files Functions Typedefs Enumerations Enumerator Groups Pages
Macros | Enumerations | Functions
sml_fuzzy.h File Reference
#include <sml.h>

Go to the source code of this file.

Macros

#define SML_TERM_NAME_MAX_LEN   (127)
 

Enumerations

enum  sml_fuzzy_defuzzifier {
  SML_FUZZY_DEFUZZIFIER_BISECTOR, SML_FUZZY_DEFUZZIFIER_CENTROID, SML_FUZZY_DEFUZZIFIER_LARGEST_OF_MAXIMUM, SML_FUZZY_DEFUZZIFIER_MEAN_OF_MAXIMUM,
  SML_FUZZY_DEFUZZIFIER_SMALLEST_OF_MAXIMUM, SML_FUZZY_DEFUZZIFIER_WEIGHTED_AVERAGE, SML_FUZZY_DEFUZZIFIER_WEIGHTED_SUM
}
 The types of defuzzifier. More...
 
enum  sml_fuzzy_snorm {
  SML_FUZZY_SNORM_ALGEBRAIC_SUM, SML_FUZZY_SNORM_BOUNDED_SUM, SML_FUZZY_SNORM_DRASTIC_SUM, SML_FUZZY_SNORM_EINSTEIN_SUM,
  SML_FUZZY_SNORM_HAMACHER_SUM, SML_FUZZY_SNORM_MAXIMUM, SML_FUZZY_SNORM_NILPOTENT_MAXIMUM, SML_FUZZY_SNORM_NORMALIZED_SUM
}
 SNorm rules are also known as accumulation. More...
 
enum  sml_fuzzy_tnorm {
  SML_FUZZY_TNORM_ALGEBRAIC_PRODUCT, SML_FUZZY_TNORM_BOUNDED_DIFFERENCE, SML_FUZZY_TNORM_DRASTIC_PRODUCT, SML_FUZZY_TNORM_EINSTEIN_PRODUCT,
  SML_FUZZY_TNORM_HAMACHER_PRODUCT, SML_FUZZY_TNORM_MINIMUM, SML_FUZZY_TNORM_NILPOTENT_MINIMUM
}
 TNorm rules are also known as conjunction. More...
 

Functions

bool sml_fuzzy_conjunction_set (struct sml_object *sml, enum sml_fuzzy_tnorm norm)
 Set the conjunction fuzzy rule. More...
 
struct sml_objectsml_fuzzy_new (void)
 Creates a SML fuzzy engine. More...
 
bool sml_fuzzy_output_set_accumulation (struct sml_object *sml, struct sml_variable *sml_variable, enum sml_fuzzy_snorm accumulation)
 Set the output accumulation. More...
 
bool sml_fuzzy_output_set_defuzzifier (struct sml_object *sml, struct sml_variable *sml_variable, enum sml_fuzzy_defuzzifier defuzzifier, int defuzzifier_resolution)
 Set the defuzzifier for an output variable. More...
 
bool sml_fuzzy_set_simplification_disabled (struct sml_object *sml, bool disabled)
 Disable/Enable simplification. More...
 
bool sml_fuzzy_set_variable_terms_auto_balance (struct sml_object *sml, bool variable_terms_auto_balance)
 Set terms autobalance. More...
 
bool sml_fuzzy_supported (void)
 Check if SML was built with fuzzy support. More...
 
struct sml_fuzzy_termsml_fuzzy_variable_add_term_cosine (struct sml_object *sml, struct sml_variable *variable, const char *name, float center, float width)
 Add a cosine term for a variable. More...
 
struct sml_fuzzy_termsml_fuzzy_variable_add_term_gaussian (struct sml_object *sml, struct sml_variable *variable, const char *name, float mean, float standard_deviation)
 Add a gaussian term for a variable. More...
 
struct sml_fuzzy_termsml_fuzzy_variable_add_term_ramp (struct sml_object *sml, struct sml_variable *variable, const char *name, float start, float end)
 Add a ramp term for a variable. More...
 
struct sml_fuzzy_termsml_fuzzy_variable_add_term_rectangle (struct sml_object *sml, struct sml_variable *variable, const char *name, float start, float end)
 Add a rectangle term for a variable. More...
 
struct sml_fuzzy_termsml_fuzzy_variable_add_term_triangle (struct sml_object *sml, struct sml_variable *variable, const char *name, float vertex_a, float vertex_b, float vertex_c)
 Add a triangle term for a variable. More...
 
float sml_fuzzy_variable_get_default_term_width (struct sml_object *sml, struct sml_variable *sml_variable)
 Get the default term width used by fuzzy to create terms. More...
 
bool sml_fuzzy_variable_get_is_id (struct sml_object *sml, struct sml_variable *sml_variable)
 Check if this variable is used as an id field. More...
 
bool sml_fuzzy_variable_remove_term (struct sml_object *sml, struct sml_variable *variable, struct sml_fuzzy_term *term)
 Remove a fuzzy term from the engine. More...
 
bool sml_fuzzy_variable_set_default_term_width (struct sml_object *sml, struct sml_variable *sml_variable, float width)
 Set the default term width used by fuzzy to create terms. More...
 
bool sml_fuzzy_variable_set_is_id (struct sml_object *sml, struct sml_variable *sml_variable, bool is_id)
 Check if this variable is used as an id field. More...
 
bool sml_is_fuzzy (struct sml_object *sml)
 Check if the SML object is a fuzzy engine. More...
 
bool sml_set_rule_weight_threshold (struct sml_object *sml, float weight_threshold)
 Rules below a given value will be ignored. More...