title: Arithmétique floue
text: # Arithmétique floue
  
  L'arithmétique floue étudie la propagation de l'incertitude dans les expressions arithmétiques. Elle repose sur les principes de la logique floue et plus particulièrement sur les nombres flous, un cas particulier des ensembles flous. L'arithmétique floue est une généralisation de l'arithmétique des intervalles qui utilise les nombres flous pour capturer l'incertitude, là où l'arithmétique des intervalles utilise de simples intervalles de valeurs. L'arithmétique floue s'applique à de nombreux domaines de l'ingénierie, particulièrement lorsque les paramètres des modèles mathématiques sous-jacents sont difficiles à quantifier précisément.
  
  ## Introduction
  
  La notion d'« incertitude » reflète, au moins en ingénierie, une connaissance relative ou partielle d'un système. La plupart des disciplines scientifiques essaient de construire des modèles mathématiques décrivant une certaine réalité physique. De manière générale, l'incertitude caractérise alors le degré de correspondance entre un modèle et la réalité qu'il décrit, et peut être interprétée comme une erreur potentielle, ou comme un risque, que l'on va chercher à minimiser.
  
  L'incertitude peut concerner le modèle lui-même (par exemple, les équations qui le composent), mais concerne plus généralement les grandeurs manipulées dans le modèle (les paramètres du modèle). Dans ce dernier cas, deux interrogations apparaissent légitimes : d'un côté, on veut évaluer l'incertitude du résultat étant donné l'incertitude des paramètres ; de l'autre, on veut connaître l'incertitude maximale acceptable pour les paramètres, qui va garantir une incertitude donnée sur le résultat.
  
  Différentes méthodes permettent de modéliser et d'évaluer l'incertitude telles que les intervalles, les probabilités, ou les ensembles aléatoires, ou les ensembles flous utilisés par l'arithmétique dont il est question ici.
  
  Cet article présente les techniques standards utilisées pour mettre en œuvre l'arithmétique floue ainsi que leurs limites, et illustre son utilisation sur quelques expressions arithmétiques simples.
  
  ## Ensembles flous et nombres flous
  
  La théorie des ensembles flous considère des ensembles dont l'appartenance est graduelle et non pas booléenne comme c'est le cas avec la théorie des ensembles dite « classique ». En effet, la théorie classique implique qu'un élément appartienne ou qu'il n'appartienne pas à un ensemble donné, sans autre possibilité. Par opposition, la théorie des ensembles flous permet d'exprimer le degré d'appartenance par une valeur réelle comprise entre 0 et 1 (1 indiquant que l'élément appartient définitivement à l'ensemble).
  
  Ces ensembles flous sont particulièrement appropriés pour capturer le sens de constructions linguistiques telles que « la vitesse est élevée ». Là où un ensemble classique implique de définir un seuil strict en deçà duquel la vitesse ne sera plus considérée comme « élevée » (par exemple 50 km/h), un ensemble flou définit une fonction qui associe un degré d'appartenance à la vitesse. Sachant que la vitesse est 75 km/h, il devient possible d'établir que la vitesse est approximativement 10 km/h à 50 %.
  
  ### Ensembles flous
  
  Cette section rappelle brièvement la notion de sous-ensemble flou (fuzzy set en anglais) et leurs propriétés pertinentes dans le cadre de l'arithmétique floue.
  
  Considérons tout d'abord un ensemble infini indénombrable $\Omega$, représentant l'ensemble dans lequel nous allons définir des sous-ensembles flous. Dans le cas de la vitesse évoquée ci-dessus, l'ensemble $\Omega$ représentant le domaine des vitesses en km/h, se réduit à l'ensemble $\mathbb {R}$ des valeurs réelles.
  
  Un sous-ensemble flou ${\tilde {E}}$ sur $\Omega$ (représentant par exemple les vitesses dites « élevées ») est défini par sa fonction d'appartenance (ou fonction caractéristique) $\mu :\Omega \to [0,1]$. Pour une vitesse donnée, v, $\mu _{\tilde {E}}(v)$ représente alors le degré d'appartenance de v à ${\tilde {E}}$.
  
  La figure 1 ci-contre illustre la notion de fonction d'appartenance. La courbe verte montre l'évolution du degré d'appartenance : plus la vitesse augmente, plus elle est considérée comme élevée. Cette fonction d'appartenance caractérise donc le sous-ensemble flou des vitesses dite « élevées ». Par opposition, la courbe rouge illustre une fonction d'appartenance qui caractérise un ensemble « classique » équivalent, impliquant un seuil strict (ici, 50 km/h).
  
  Il est important de noter que la fonction d'appartenance $\mu$, associée à un ensemble flou, n'est pas une densité de probabilité. En dehors d'aspects purement mathématiques, une valeur floue reflète le degré avec lequel un évènement se produit (degré de vérité), alors qu'une probabilité reflète le pourcentage de chances que l’évènement se produise (éventualité).
  
  Un ensemble flou ${\tilde {E}}$ considéré sur l'univers $\Omega$ se caractérise par les éléments suivants illustrés sur la figure 2 :
  
  * son noyau (core en anglais), qui représente l'ensemble des éléments de $\Omega$ pour lesquels le degré d'appartenance est égal à 1. Plus formellement, on définit le noyau $n({\tilde {E}})$ par : $n({\tilde {E}})=\{x\in \Omega \,|\,\mu _{\tilde {E}}(x)=1\}$.
  * son support (support en anglais), qui représente le sous-ensemble des éléments de $\Omega$ pour lesquels le degré d'appartenance à ${\tilde {E}}$ est non nul. Plus formellement, on définit le support $sp({\tilde {E}})$ par : $sp({\tilde {E}})=\{x\in \Omega \,|\,\mu _{\tilde {E}}(x)>0\}$.
  * sa hauteur (height en anglais), qui représente le degré maximal d'appartenance à ${\tilde {E}}$. Formellement, la hauteur $h({\tilde {E}})$ est définie par :
  
  $h({\tilde {E}})=\max _{x\in \Omega }\left(\mu _{\tilde {E}}(x)\right)$.
  
  On définit également la notion de coupe α (α-cut en anglais) comme l'ensemble des éléments de $\Omega$ pour lesquels le degré d'appartenance à ${\tilde {E}}$ est supérieur ou égal à $\alpha$. Plus formellement, on écrira : $coupe_{\alpha }({\tilde {E}})=\left\{x\in \Omega \,|\,\mu _{\tilde {E}}(x)\geq \alpha \right\}$.
  
  La figure 2 ci-contre illustre la notion de coupe-α pour un ensemble flou trapézoïdal.
  
  ### Nombres flous
  
  L'idée de nombre flou (en) (fuzzy number en anglais) est d'utiliser un ensemble flou pour représenter une construction linguistique telle que : « x est autour de 15 ». Les nombres flous permettent de capturer l'incertitude autour d'une valeur donnée : intuitivement, plus on s'éloigne de la valeur 15, plus l'appartenance à l'ensemble flou correspondant diminue.
  
  Un nombre flou ${\tilde {N}}$ est un ensemble flou respectant les quatre propriétés suivantes :
  
  * Il est normal, c'est-à-dire que sa hauteur est égale à 1. Plus formellement on écrira : $h({\tilde {N}})=1$. Sur la figure 3, seuls les nombres ${\tilde {N}}_{1}$ et ${\tilde {N}}_{3}$ sont normalisés.
  * Son noyau est unique, c'est-à-dire qu'il n'existe qu'un seul élément de l'univers pour lequel le degré d'appartenance est égal à 1. Formellement, on écrira : $|n({\tilde {N}})|=1$. Cet élément unique est le mode de ${\tilde {N}}$ et est parfois dénoté par le symbole ${\bar {n}}$. Sur la figure 3 par exemple, le noyau de l'ensemble flou ${\tilde {N}}_{1}$ est unique alors que celui de ${\tilde {N}}_{3}$ ne l'est pas.
  * Il est convexe, c'est-à-dire qu'il n'existe pas de coupe-alpha disjointe. Formellement la convexité d'un ensemble flou ${\tilde {N}}$ vérifie que : $\forall \alpha \in [0,1],\forall (u,v)\in coupe_{\alpha }({\tilde {N}}),\forall \lambda \in [0,1],\lambda u+(1-\lambda )v\in coupe_{\alpha }({\tilde {N}})$. Sur la figure 3 par exemple, l'ensemble flou ${\tilde {N}}_{1}$ n'est pas convexe, car il existe des coupes alpha qui sont discontinues, alors que ${\tilde {N}}_{2}$ et ${\tilde {N}}_{3}$ le sont.
  * Sa fonction d'appartenance, $\mu _{\tilde {N}}$, est continue.
  
  ## Arithmétique floue théorique
  
  ### Introduction par l'exemple
  
  Intuitivement, ajouter, soustraire, multiplier ou diviser deux nombres flous nécessite de calculer la fonction d'appartenance associée au résultat (un autre nombre flou). À titre d'exemple, on s'intéresse ici à l'expression arithmétique ${\tilde {C}}={\tilde {A}}+{\tilde {B}}$ où ${\tilde {A}}$ et ${\tilde {B}}$ sont deux nombres flous, dont les fonctions d'appartenances sont illustrées sur la figure 4 ci-contre. Leurs fonctions d'appartenance sont respectivement définies par :
  
  * $\mu _{\tilde {A}}=\{4\mapsto 0,~5\mapsto {\frac {1}{3}},~6\mapsto {\frac {2}{3}},~7\mapsto 1,~8\mapsto 0\}$
  * $\mu _{\tilde {B}}=\{10\mapsto 0,~11\mapsto {\frac {1}{3}},~12\mapsto {\frac {2}{3}},~13\mapsto 1,~14\mapsto {\frac {1}{2}},~15\mapsto 0\}$
  
  Pour calculer le degré d'appartenance de 18 à l'ensemble flou ${\tilde {C}}$, il est nécessaire de construire tous les couples de valeurs $(a,b)$ tels que $a\in {\tilde {A}}$, $b\in {\tilde {B}}$ et où $a+b=18$. En effet, cinq couples voient leur somme égale à 18 et tous peuvent donc être à l'origine de ce résultat. De manière logique, on peut donc écrire : ${\begin{array}{r|c|l}\mu _{{\tilde {A}}+{\tilde {B}}}(18)&=&(a=4\land b=14)\lor (a=5\land b=13)\\&&\lor (a=6\land b=12)\lor (a=7\land b=11)\\&&\lor (a=8\land b=10)\end{array}}$
  
  En appliquant la sémantique des opérateurs standards de la logique floue, on obtient : ${\begin{array}{r|c|l}\mu _{{\tilde {A}}+{\tilde {B}}}(18)&=&\max {\big\min(\mu _{\tilde {A}}(4),\mu _{\tilde {B}}(14)),\min(\mu _{\tilde {A}}(5),\mu _{\tilde {B}}(13)),\\&&\min(\mu _{\tilde {A}}(6),\mu _{\tilde {B}}(12)),\min(\mu _{\tilde {A}}(7),\mu _{\tilde {B}}(11)),\\&&\min(\mu _{\tilde {A}}(8),\mu _{\tilde {B}}(10)){\big )}\\\mu _{{\tilde {A}}+{\tilde {B}}}(18)&=&\max {\big\min(0,{\frac {1}{2}}),\min({\frac {1}{3}},1),\\&&\min({\frac {2}{3}},{\frac {2}{3}}),\min(1,{\frac {1}{3}}),\\&&\min(0,0){\big )}\\\mu _{{\tilde {A}}+{\tilde {B}}}(18)&=&\max \left(0,{\frac {1}{3}},{\frac {2}{3}},{\frac {1}{3}},0\right)={\frac {2}{3}}\\\end{array}}$
  
  Le tableau de la figure 5 ci-contre résume le calcul pas-à-pas de la fonction d'appartenance de ${\tilde {C}}$.
  
  ### Principe général
  
  Dans le cas général, la fonction d'appartenance qui caractérise le résultat d'une opération $\star$ définie par $\star :\Omega ^{n}\to \Omega$ et appliquée à $n$ nombres flous ${\tilde {N_{1}}},\ldots ,{\tilde {N}}_{n}$ est définie par le produit de convolution max-min tel que : ${\begin{array}{r|c|l}\mu _{\star ({\tilde {N}}_{1},\ldots ,{\tilde {N}}_{n})}(c)&=&\bigvee _{\star (n_{1},\ldots ,n_{n})=c}\left(\bigwedge _{i=1}^{n}\left(n_{i}\in {\tilde {N}}_{i}\right)\right)\\&=&\max _{\star (n_{1},\ldots ,n_{n})=c}\left(\min _{i=1}^{n}\left(\mu _{{\tilde {N}}_{i}}(n_{i})\right)\right)\end{array}}$
  
  Il s'agit en fait d'appliquer le principe d'extension de la logique floue, qui permet de calculer le degré d'appartenance d'une relation portant sur des ensembles flous. Bien que cette définition ne permette pas déduire analytiquement l'équation exacte des fonctions d'appartenance résultant d'opérations arithmétiques, elle pose cependant les bases nécessaires à la mise en œuvre de l'arithmétique floue (voir la section sur les arithmétiques floues concrètes et notamment le paragraphe concernant l'utilisation de nombres flous décomposés qui est considérée comme la mise en œuvre standard).
  
  Le tableau ci-dessous résume les principales propriétés des opérations de base de l'arithmétique floue. L'arithmétique floue est en fait une généralisation de l'arithmétique des intervalles (voir arithmétique de nombres flous décomposés).
  
  Table 1. Propriétés des opérations de l'arithmétique floue :
  
  | | Addition | Soustraction | Multiplication | Division |
  | - | - | - | - | - |
  | Commutativité | Oui | | Oui | |
  | Associativité | Oui | | Oui | |
  | Distributivité | | | Oui (sur + et -) | Oui (sur + et -) |
  | Élément neutre | Singleton 0 | Singleton 0 | Singleton 1 | Singleton 1 |
  | Élément absorbant | | | Singleton 0 | |
  
  ### Déconvolutions et opérations inverses
  
  Contrairement à l'arithmétique sur les réels, la soustraction définie par l'arithmétique floue n'est pas l'inverse de l'addition, de même que la division n'est pas l'opération inverse de la multiplication.
  
  La figure 6 ci-contre illustre la différence entre l'opération inverse de l'addition et la soustraction : ${\tilde {C}}$ est la somme des nombres ${\tilde {A}}$ et ${\tilde {B}}$. On peut voir que l'opération ${\tilde {C}}-{\tilde {B}}$ génère un quatrième nombre flou (${\tilde {D}}$) différent de ${\tilde {A}}$. Si ${\tilde {A}}$ et ${\tilde {D}}$ partage le même mode, l'incertitude autour de ${\tilde {D}}$ est beaucoup plus large. Dans le cadre de l'arithmétique floue, la soustraction et l'opération inverse de l'addition ne répondent pas à la même question:
  
  * la soustraction exprime l'incertitude autour du résultat de l'opération ${\tilde {C}}-{\tilde {B}}$ (${\tilde {D}}$ sur la figure 6).
  * l'opération inverse de l'addition exprime l'incertitude maximale qui, ajoutée à celle de ${\tilde {B}}$, produit le nombre ${\tilde {C}}$ (Le nombre ${\tilde {A}}$ sur la figure 6).
  
  ## Arithmétiques floues concrètes
  
  L'étude des opérations arithmétiques appliquées aux nombres flous a abouti à différentes représentations des nombres flous : les nombres flous gauche/droite tout d'abord, puis les nombres flous discrétisés et finalement les nombres flous décomposés, qui sont aujourd'hui l'implémentation de référence. Les paragraphes suivants en donnent un bref aperçu.
  
  ### Arithmétique des nombres flous G/D
  
  Les nombres flous "gauche/droite", (GD en abrégé ou LR en anglais), ont été l'une des premières implémentations proposées des nombres flous, due notamment à Dubois et Prade. L'idée est de représenter un nombre flou par son support et par son noyau, ainsi que par la forme générale de sa fonction d'appartenance, sous la forme d'un triplet (g, n, d) où g et d représentent respectivement les bornes gauche et droite de la fonction d'appartenance, et où n représente son noyau. Il en résulte différentes familles de nombres flous GD, dont les principales forment les nombres flous triangulaires (nft), gaussiens (nfg), exponentiels (nfe), et quadratiques (nfq), illustrés sur la figure X ci-contre.
  
  L'arithmétique des nombres flous gauches droites se résume alors à application directe des opérations arithmétiques sur les supports et les noyaux, en considérant que les différents familles de nombres flous incompatibles entre elles. La figure 8 illustre l'addition de deux nombres flous triangulaires, A = nft(3, 6, 7) et B = nft(1, 2, 4), qui aboutit au nombre flou C = nft(4, 8, 11).
  
  La principale limitation des nombres flous G/D est leur imprécision. Ils sont avant tout une approximation, certes très rapide à calculer, mais l'erreur induite alors s'amplifie très rapidement, à mesure que les opérations s'enchaînent.
  
  ### Arithmétique des nombres flous discrets
  
  Dans le cas général, la convolution max-min n'a pas de solution analytique, et il est alors nécessaire de se ramener à un espace discret pour pouvoir l'appliquer comme nous l'avons fait sur $\mathbb {N}$. L'idée est de réduire la fonction d'appartenance à un nombre limité d'échantillons : plus on conserve d'échantillons, plus l'approximation correspondante est fidèle à la fonction d'appartenance initiale. La figure 7 ci-contre, illustre l'échantillonnage d'un nombre flou.
  
  La principale limite de l'échantillonnage est qu'il ne permet pas de capturer systématiquement le noyau des ensembles flous, et aboutit parfois à des approximations non normalisées. Sur la figure 7 par exemple, le noyau n'est pas échantillonné, et l'approximation correspondante ne satisfait donc pas les propriétés de base des ensembles flous. De plus, du point de vue technique, les techniques de calcul associées sont coûteuses en ressources pour des univers de grande taille, échantillonnés avec une fréquence élevée.
  
  ### Arithmétique des nombres flous décomposés
  
  L'idée des nombres flous décomposés est de représenter un nombre flou par l'ensemble de ses coupes-α. Pour mémoire, chaque coupe-α représente l'intervalle des valeurs dont le degré d'appartenance est supérieur ou égal à α. L'arithmétique floue se réduit alors à l'arithmétique des intervalles appliquée à différents degrés d'appartenance.
  
  Tout comme un nombre flou discrétisé, un nombre flou décomposé est une représentation discrète de sa fonction d'appartenance. La différence repose sur le choix des échantillons conservés: un nombre flou discrétisé est obtenu en échantillonnant l'univers $\Omega$ alors qu'un nombre flou décomposé est obtenu en échantillonnant le domaine des degrés d'appartenance $[0,1]$. Étant donné un facteur de décomposition $m$, on divise donc l'intervalle [0,1] en $m$ parties de longueur $\Delta _{\mu }={\frac {1}{m}}$, et on représente ${\tilde {N}}$ par l'ensemble de ses coupes-α $coupe_{k}({\tilde {N}})$ où $k=i\times \Delta _{\mu }$ (pour $i\in \{1,\ldots ,m\}$. La figure 8 ci-contre illustre une décomposition en un ensemble de 5 coupes-α. Par opposition à la discrétisation illustrée précédemment sur la figure 7, la décomposition offre l'avantage de capturer systématiquement le noyau des ensembles flous, assurant une représentation cohérente, même pour les singletons.
  
  En représentant les coupes-α correspondantes sous la forme d'intervalles, l'arithmétique floue se réduit à l'arithmétique des intervalles. Par conséquent, pour un degré d'appartenance donné α, la coupe-α caractérisant le résultat d'une opération arithmétique sur ${\tilde {A}}$ et ${\tilde {B}}$ se calcule en appliquant cette même opération sur les intervalles représentant les coupes-α de A et de B. Plus formellement, pour tout ${\tilde {C}}={\tilde {A}}\star {\tilde {B}}$ et pour tout $k\in {1,\ldots ,m}$, on a : ${\begin{array}{r c l}coupe_{k\times \Delta _{\mu }}({\tilde {C}})&=&coupe_{k\times \Delta _{\mu }}({\tilde {A}})\star coupe_{k\times \Delta _{\mu }}({\tilde {B}})\\&=&[a,a]\star [b,b]\end{array}}$
  
  ## Brève histoire de l'arithmétique floue
  
  Depuis la publication en 1965 des travaux pionniers de L. Zadeh sur les sous ensembles flous, de nombreux « systèmes flous » émergent durant les deux décennies suivantes : logique floue, contrôle flou, systèmes experts flous, etc. L'engouement général pour l'Intelligence artificielle accompagne ainsi le développement de l'arithmétique floue, qui, bien qu'initialement considérée comme un exercice académique, se concrétise dans les années 1980 avec la notion de nombre flous GD introduit par Dubois et Prade en 1978 et avec les travaux de R. Yager qui précise, en 1986, le principe d'extension initialement dû à Zadeh. Viennent ensuite les nombres flous discrétisés initialement proposés par M. Hanss, mais surtout les nombres flous décomposés proposés par Kauftman et Gupta au début des années 90, qui dressent un parallèle entre l'arithmétique floue et l'arithmétique des intervalles.
  
  