Data Structures | |
struct | fusion_floue_t |
struct | gr_fusionFloue_t |
lfusion_floue_symb | |
|
|
param * | ff_symb_lect (fusion_floue_t *d, param *ptp, char *debq) |
int | ff_symb_init (fusion_floue_t *d) |
int | ff_symb_calc (fusion_floue_t *d, degre_app *data, degre_app *result) |
int | ff_symb_ferm (fusion_floue_t *d) |
Cet opérateur réalise l'aggrégation de plusieurs grandeurs d'entrées. Chaque entrée est définie par plusieurs mots. Il n'y a pas de restriction sur le nombre d'entrées, ni sur le nombre de mots décrivant chaque entrée.
Cet opérateur va lire tous les paramètres d'initialisation du système dans un fichier. La constitution de ce fichier est expliquée dans la doc qui suit. Le nom de ce fichier est demandé à l'utilisateur par la fonction ff_symb_lect.
Cette fusion passe par une fuzzification des entrées à l'aide des fonctions d'appartenance. Pour le moment, cet opérateur ne gère que les fonctions d'appartenance triangulaires et donc définies par trois paramètres:
Il est possible d'avoir par exemple une valeur modale et une valeur gauche identique signifiant ainsi que tous les degrés d'appartenance valent 1 à gauche de cette valeur modale. Ceci est valable aussi pour le coté droit. exemple de déclaration: { grand 0 50 100}
Après la fuzzification, l'étape d'inférence permet de fusionner les représentations floues symboliques des entrées, à l'aide d'un jeux de règles et d'opérateurs d'agrégation (t-normes, t-conormes). La règle d'inférence utilisée ici est la règle du { modus ponens généralisée}. Le jeux de règle doit être décrit dans le fichier de configuration du système de fusion, de la manière suivante:
Choix des opérateurs d'agrégations:
{center} {tabular}{cccc} num & nom & T-normes & T-conorme \ 0 & Zadeh & min(x,y) & max(x,y) \ 1 & probabiliste & x*y & x+y-xy \ 2 & Lukasiewicz & max(x+y-1,0) & min(x+y,1)\ 3 & Weber & & \ {tabular} {center} \ Voici les différentes méthodes de défuzzification utilisables pour le moment: {itemize} { 0:} Recherche du mot de sortie ayant le maximum de degré d'appartenance. C'est une classification. Le numéro de la classe est retourné par la fonction ff_symb_calc(). Dans la variable sortie se trouve les degrés d'appartenances pour chacunes des classes. { 1:} Calculate the output value by means of the weighted mean of the maximums of the output fuzzy sets. The weights are the corresponding membership degrees. The result is given in the parameter sortie[0] of the function ff_symb_calc(). {itemize}
Voici la composition exact du fichier d'initialisation de l'opérateur:\ { Nombre_de_variable_floue(Nb entrée + 1 sortie)\ \ Nom_entrée_1 Nb_mot\ mot1 g m d\ mot2 g m d\ ... \ \ Nb_règle\ mot_entree1 mot_entree2 ... mot_sortie pondération\ ... }\ \ Descripteur : {itemize} int Tnorme: choix de l'operateur T-normes int Tconorme: choix de l'operateur T-conormes int defuzz: choix de la methode de défuzzification Fct_appartenance fonction: ensemble des fonctions d'appartenace Les_regles rgl: base de regles Descripteur des: les descripteurs floues float *data: les valeurs des variables d'entrées char *nom: chaine de caractere represantant le fichier des paramètres {itemize}
int ff_symb_calc | ( | fusion_floue_t * | d, | |
degre_app * | data, | |||
degre_app * | result | |||
) |
Fusion floue symbolique .
des | pointeur descripteur | |
data | pointeur sur un tableau de float contenant les données d'entrée | |
result | pointeur sur le resultat, celui-ci depend de la methode de deffuzzification utilisée. Il est allour par l'operateur. |
Definition at line 515 of file lff_symb.c.
int ff_symb_ferm | ( | fusion_floue_t * | d | ) |
Liberation de la memoire de l'operateur lff_symb.
d | pointeur descripteur |
Definition at line 538 of file lff_symb.c.
int ff_symb_init | ( | fusion_floue_t * | d | ) |
initialisation de l'operateur ff_symb. lecture du fichier de configuration.
des | pointeur descripteur |
Definition at line 499 of file lff_symb.c.
param* ff_symb_lect | ( | fusion_floue_t * | d, | |
param * | ptp, | |||
char * | debq | |||
) |
lecture des parametres de l'operateur ff_symb.
d | pointeur descripteur | |
ptp | pointeur sur parametre courant deja alloue (a lire), | |
debq | pointeur de chaine de caracteres placee en debut de question |
Definition at line 463 of file lff_symb.c.