La logique floue (fuzzy logic, en anglais) est un principe logique utilisé en intelligence artificielle. Il a été formalisé par Lotfi Zadeh en 1965. Elle a des applications dans des domaines aussi variés que l'automatisme (freins ABS), la robotique (reconnaissance de formes), le gestion de la circulation routière (feux rouges), le contrôle aérien, l'environnement (météorologie, climatologie, sismologie), la médecine (aide au diagnostic) et bien d'autres.
Principe
A l'inverse de la logique booléenne, la logique floue permet à une condition d'être en un autre état que vrai ou faux. Il y a des degrés dans la vérification d'une condition.
Considérons par exemple la vitesse d'un véhicule sur une route nationale. La vitesse normale est de 90 km/h. Une vitesse peut être considérée comme élevée au-dessus de 100 km/h, et comme plus du tout elevée en-dessous de 80 km/h.
 fig. 1 |
La logique booléenne envisagerait les choses de la manière suivante (voir fig. 1) :
- La vitesse est considérée à 100% comme elevée à partir de 100 km/h, et à 0% en dessous.
La logique floue, à l'inverse, permet des degrés de vérification de la condition "La vitesse est-elle elevée ?" (voir fig. 2) :
- La vitesse est considérée comme pas du tout elevée en-dessous de 80 km/h. On peut donc dire qu'en-dessous de 80 km/h, la vitesse est elevée à 0%.
 fig. 2 |
- La vitesse est considérée comme élevée au dessus de 100 km/h. La vitesse est donc elevée à 100% au-dessus de 100 km/h.
- La vitesse est donc elevée à 50% à 90 km/h, et à 25% à 85 km/h.
De la même manière, la fonction "La vitesse est-elle peu elevée ?" sera évaluée de la manière suivante (voir fig. 3) :
- La vitesse est considérée comme peu élevée en-dessous de 80 km/h. Elle est donc peu élevée à 100%.
 fig. 3 |
- La vitesse est considérée comme pas du tout peu élevée au-dessus de 100 km/h. Elle est donc peu élevée à 0%.
- La vitesse est donc peu élevée à 50% à 90km/h, et à 75% à 85 km/h.
On peut également définir une fonction "La vitesse est-elle moyenne ?" (voir fig. 4) :
- La vitesse est moyenne à 90 km/h. À cette allure, la vitesse est moyenne à 100%.
 fig. 4 |
- La vitesse n'est pas du tout moyenne en-dessous de 80 km/h et au-dessus de 100 km/h. Hors de cet intervalle, la vitesse est moyenne à 0%.
- La vitesse est donc moyenne à 50% à 85 km/h et 95 km/h.
Il n'est pas obligatoire que la transition soit linéaire. Des transitions hyperboliques (comme une sigmoïde ou une tangente hyperbolique), exponentielle, gaussienne (dans le cas d'un état moyen) ou de toute autre nature sont utilisables (voir fig. 5).
Combinaison de plusieurs entrées
Dans le cas d'une combinaison de plusieurs entrées ("Si le ciel est bleu et si j'ai le temps"), deux cas se présentent :
- Les entrées sont liées par une fonction logique "ET" : dans ce cas, on considère seulement l'entrée ayant degré de vérification le plus faible.
- Les entrées sont liées par une fonction logique "OU" : dans ce cas, on considère seulement l'entrée ayant le degré de vérification le plus elevé.
Commande floue
Une fois évaluée la valeur de l'entrée ("La vitesse est-elle élevée ?"), une valeur peut être déterminée pour une fonction de sortie. Considérons la fonction "Si la fièvre est forte, alors administrer de l'aspirine". Une telle fonction est appelée commande floue. Elle est composée de deux parties :
- Une entrée : "La fièvre est-elle forte ?". On considère qu'une fièvre n'est pas forte en-dessous de 38°C, et qu'elle est forte au-dessus de 40°C.
- Une sortie : "Administrer de l'aspirine"
Ces deux parties sont liées. On peut les représenter ensemble comme sur la fig. 6.
 fig. 6 |
Il existe plusieurs techniques pour déterminer la valeur de la sortie (dans l'exemple : la quantité d'aspirine à administrer) :
- La droite ayant la même ordonnée que le point de la courbe de départ ayant pour abscisse la valeur de l'entrée coupe la courbe de sortie. L'abscisse de ce point d'intersection est une valeur de sortie possible (fig. 7).
 fig. 7 |
- La droite ayant la même ordonnée que le point de la courbe de départ ayant pour abscisse la valeur de l'entrée délimite un trapèze au niveau de la sortie. Le centre de gravité de ce trapèze est également une valeur de sortie possible (fig. 8).
 fig. 8 |