Sommaire

Implémentation d’un moteur de logique floue

Cette partie décrit comment coder un moteur de logique floue, en utilisant les choix préconisés précédemment. Ce code est en Java, mais il peut facilement être adapté à n’importe quel autre langage objet. Il utilise Java 10, mais n’a pas besoin de librairies extérieures pour une meilleure portabilité.

Lorsque des connaissances en mathématiques sont nécessaires, les formules utilisées sont expliquées.

1. Le cœur du code : les ensembles flous

a. Point2D : un point d’une fonction d’appartenance

Nous allons commencer par créer les classes de base. Pour cela, il nous faut d’abord une classe Point2D qui nous permet de donner les coordonnées d’un point représentatif des fonctions d’appartenance. L’axe des abscisses (x) représente la valeur numérique et l’axe des ordonnées (y) la valeur d’appartenance correspondante, entre 0 et 1.

La base de cette classe est donc la suivante :

public class Point2D {  
   // Coordonnées  
   public double x;  
   public double y;  
     
   // Constructeur  
   public Point2D(double _x, double _y) {  
       x = _x;  
       y = _y;  
   }  
}

Ultérieurement, il faudra comparer des points pour connaître leur ordre. ...