Fonctionnement du SIF

Les SIF gérés par cette bibliothèque sont de type MIMO, Multiple Input Multiple Output. Le SIF est construit à partir des informations contenues dans le fichier de configuration. Le module de base comporte deux fonctions principales, toutes deux définies au sein de la classe FIS : Infer et Performance. partbiblifonc


La fonction Infer, à partir d'un vecteur d'entrée, infère une valeur pour chacune des sorties actives. Les étapes de l'inférence floue sont les suivantes :

  1. Fuzzification : cette étape est réalisée au sein de la classe INPUT. Ainsi, pour une valeur donnée, la fonction GetDegs remplit le tableau Mfdeg qui contient les coefficients d'appartenance de la valeur à chacun des sous-ensembles flous de l'entrée. Ce tableau est public.

  2. Inférence : la conséquence de chacune des règles est pondérée par le degré de vérité de la règle pour l'exemple. Les règles, pour un système de deux entrées et une sortie, peuvent être de la forme :

    SI Entrée 1 est Sef 2 ET Entrée 2 est Sef 1 ALORS Sortie 1 est Valeur 1

    SI Entrée 1 est Sef 1 ET Entrée 2 est Sef 1 ALORS Sortie 1 est Sef 2


    La fonction ExecRule de la classe RULE calcule le degré de vérité de la règle pour l'exemple, au sein de la classe PREMISE. Il s'agit d'une opération de conjonction des degrés d'appartenance des valeurs des différentes variables d'entrée (Entree 1 et Entree 2) pour les sous-ensembles flous qui décrivent la prémisse de la règle (SEF numéro 2 et SEF numéro 1 pour la première règle ; 1 et 1 pour la seconde). La classe PREMISE est construite avec un pointeur sur le tableau des entrées qui lui permet d'accéder au champ Mfdeg des différentes entrées. Ce degré de vérité est stocké au sein de la classe RULE dans une variable publique Weight. Lorsque les règles sont pondérées (voir la section Menu SIF - Fenêtre Règles), cette valeur est multipliée par le poids expert.

  3. Calcul de la valeur de sortie : Ce calcul est réalisé au sein de la classe FISOUT en deux étapes principales.

`


Opérateurs d'implication

Pour les règles implicatives, trois opérateurs d'implication sont disponibles :

Le résultat de l'inférence est une distribution de possibilité, qui peut être défuzzifiée. L'implémentation actuelle ne permet pas de paramétrer l'opérateur de défuzzification. Celui qui est appliqué par défaut est la Moyenne des maxima, qui correspond au milieu du noyau de la distribution.