#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_object * | sml_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_term * | sml_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_term * | sml_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_term * | sml_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_term * | sml_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_term * | sml_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... | |