Fuzzy Logic SDZ 20121
Fuzzy Logic SDZ 20121
Fuzzy Logic SDZ 20121
net/publication/267041176
CITATIONS READS
22 23,010
1 author:
Franck Dernoncourt
Adobe Research
201 PUBLICATIONS 2,983 CITATIONS
SEE PROFILE
All content following this page was uploaded by Franck Dernoncourt on 19 October 2014.
Franck Dernoncourt
[email protected]
1 La logique floue 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Les sous-ensembles flous . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Les variables linguistiques . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Les opérateurs flous . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5 Le raisonnement en logique floue . . . . . . . . . . . . . . . . . . . 7
1.6 La défuzzification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.8 Remerciements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Bibliographie 14
i
Table des figures
ii
Chapitre 1
La logique floue
1.1 Introduction
La logique floue est une extension de la logique booléenne créée par Lotfi Zadeh
en 1965 en se basant sur sa théorie mathématique des ensembles flous, qui est une
généralisation de la théorie des ensembles classiques. En introduisant la notion de
degré dans la vérification d’une condition, permettant ainsi à une condition d’être
dans un autre état que vrai ou faux, la logique floue confère une flexibilité très
appréciable aux raisonnements qui l’utilisent, ce qui rend possible la prise en compte
des imprécisions et des incertitudes.
Un des intérêts de la logique floue pour formaliser le raisonnement humain est que
les règles sont énoncées en langage naturel. Voici par exemple quelques règles de
conduite qu’un conducteur suit, en supposant qu’il tienne à son permis :
Si le feu est rouge... si ma vitesse est et si le feu est alors je freine fort.
élevée... proche...
Si le feu est rouge... si ma vitesse est et si le feu est loin... alors je maintiens
faible... ma vitesse.
Si le feu est orange... si ma vitesse est et si le feu est loin... alors je freine douce-
moyenne... ment.
Si le feu est vert... si ma vitesse est et si le feu est alors j’accélère.
faible... proche...
Intuitivement, il semble donc que les variables d’entrée à l’instar de cet exemple sont
1
Introduction à la logique floue par Franck Dernoncourt - (Home Page) (Blog) (E-mail) Page 2 sur 13
Afin d’exemplifier chacune des définitions, nous allons concevoir au fil de ce cours
d’introduction à la logique floue un système d’inférence flou concret dont l’objectif
est de décider du pourboire à donner à la fin d’un repas au restaurant en fonction de
la qualité du service ainsi que de la qualité de la nourriture.
La logique floue repose sur la théorie des ensembles flous, qui est une généralisation
de la théorie des ensembles classiques [Zadeh, 1965]. Par abus de langage, suivant les
us de la littérature, nous utiliserons indifféremment les termes sous-ensembles flous
et ensembles flous. Les ensembles classiques sont également appelés ensembles nets,
par opposition à flou, et de même la logique classique est également appelée logique
booléenne ou binaire.
Définition 1.
Soit X un ensemble. Un sous-ensemble flou A de X est caractérisé par une fonc-
tion d’appartenance f a : X → [0, 1].
Note : cette fonction d’appartenance est l’équivalent de la fonction caractéristique
d’un ensemble classique.
Dans notre exemple du pourboire, il nous faudra redéfinir des fonctions d’apparte-
nance pour chaque sous-ensemble flou de chacune de nos trois variables :
– Input 1 : qualité du service. Sous-ensembles : mauvais, bon et excellent.
– Input 2 : qualité de la nourriture. Sous-ensembles : exécrable et délicieux.
– Output : montant du pourboire. Sous-ensembles : faible, moyen et élevé.
La figure 1.3 compare les deux fonctions d’appartenance correspondant aux ensembles
précédents.
Pour pouvoir définir les caractéristiques des ensembles flous, nous redéfinissons et
Définition 2.
La hauteur de A, notée h(A), correspond à la borne supérieure de l’ensemble
d’arrivée de sa fonction d’appartenance : h(A) = sup{µA (x) | x ∈ X}.
Définition 3.
A est dit normalisé si et seulement si h(A) = 1. En pratique, il est extrêmement
rare de travailler sur des ensembles flous non normalisés.
Définition 4.
Le support de A est l’ensemble des éléments de X appartenant au moins un peu
à A. Autrement dit, c’est l’ensemble supp(A) = {x ∈ X | µA (x) > 0}.
Définition 5.
Le noyau de A est l’ensemble des éléments de X appartenant totalement à A.
Autrement dit, c’est l’ensemble noy(A) = {x ∈ X | µA (x) = 1}. Par construction,
noy(A) ⊆ supp(A).
Définition 6.
Une α-coupe de A est le sous-ensemble classique des éléments ayant un degré
d’appartenance supérieur ou égal à α : α-coupe(A) = {x ∈ X | µA (x) > α}.
Une autre fonction d’appartenance pour un pourboire moyen sur lequel nous avons
fait figurer les propriétés précédentes est présentée sur la figure 1.4.
Définition 7.
Soit V une variable (qualité du service, montant du pourboire, etc.), X la plage
de valeurs de la variable et TV un ensemble fini ou infini de sous-ensembles flous.
Une variable linguistique correspond au triplet (V, X, TV ).
Afin de pouvoir manipuler aisément les ensembles flous, nous redéfinissons les opérateurs
de la théorie des ensembles classiques afin de les adapter aux fonctions d’appartenance
propres à la logique floue permettant des valeurs strictement entre 0 et 1.
Contrairement aux définitions des propriétés des ensembles flous qui sont toujours les
mêmes, la définition des opérateurs sur les ensembles flous est choisie, à l’instar des
fonctions d’appartenance. Voici les deux ensembles d’opérateurs pour le complément
(NON), l’intersection (ET) et l’union (OU) utilisés le plus couramment :
Avec les définitions usuelles des opérateurs flous, nous retrouvons toujours les pro-
priétés de commutativité, distributivité et associativité des opérateurs classiques. Ce-
pendant, relevons deux exceptions notables :
– En logique flou, le principe du tiers exclu est contredit : A ∪ Ā 6= X, autrement
dit µA∪Ā (x) 6= 1.
– En logique floue, un élément peut appartenir à A et non A en même temps :
A ∩ Ā 6= ∅, autrement dit µA∩Ā (x) 6= 0. Notons que ces éléments correspondent
à l’ensemble supp(A) − noy(A).
Par exemple :
’Si (la qualité de la nourriture est délicieuse), alors (le pourboire sera élevé)’.
sorties doit être respectée. Pour connaı̂tre le degré de vérité de la proposition floue
’le pourboire sera élevé’, nous devons définir l’implication floue.
À l’instar des autres opérateurs flous, il n’existe pas de définition unique de l’appli-
cation floue : le concepteur du système flou devra choisir parmi le large choix d’im-
plications floues déjà définies, ou bien la définir à la main. Voici les deux définitions
de l’implication floue les plus couramment utilisées :
Fait notable, ces deux implications ne généralisent pas l’implication classique. Il existe
d’autres définitions d’implication floue la généralisant, mais elles sont moins utilisées.
Comme nous avons défini les opérateurs flous ET, OU et NON, la prémisse d’une règle
floue peut très bien être formée d’une conjonction de propositions floues. L’ensemble
des règles d’un système flou est appelé la matrice des décisions. Voici celui de notre
exemple du pourboire :
Si le service est mauvais ou la nourriture est exécrable alors le pourboire est faible
Si le service est bon alors le pourboire est moyen
Si le service est excellent ou la nourriture est délicieuse alors le pourboire est elevé
La figure 1.9 montre nous obtenons pour la règle floue ’Si (le service est excellent
ou la nourriture est délicieuse), alors (le pourboire sera élevé)’ lorsque la qualité
du service est notée 7,83 sur 10 et la qualité de la nourriture 7,32 sur 10 si nous
choisissons l’implication de Mamdani ainsi que la traduction du OU par MAX.
Nous allons maintenant appliquer l’ensemble des 3 règles de notre matrice des décisions.
Cependant, nous allons obtenir 3 ensembles flous pour le pourboire : nous les agrégerons
par l’opérateur MAX qui est presque toujours utilisé pour l’agrégation. La figure 1.10
montre cette agrégation.
Comme nous le voyons, il ne nous reste plus qu’à prendre la décision finale, à savoir
quel pourboire nous allons réellement donner sachant que la qualité du service est
notée 7,83 sur 10 et la qualité de la nourriture 7,32 sur 10. Cette étape finale, qui
permet de passer de l’ensemble flou issu de l’agrégation des conclusions à une décision
unique, s’appelle la défuzzification.
1.6 La défuzzification
Comme pour tous les opérateurs flous, le concepteur du système flou doit choisir
parmi plusieurs définitions possibles de défuzzification. Une liste détaillée peut être
consultée dans [Leekwijck and Kerre, 1999]. Nous allons présenter brièvement les
deux principales méthodes de défuzzification : la méthode moyenne des maxima (MM)
et la méthode du centre de gravité (COG).
étant la moyenne des abscisses des maxima de l’ensemble flou issu de l’agrégation
des conclusions.
R
y·dy
Décision = RS
S dy
où S = {ym ∈ R, µ(ym ) = SU Py∈R (µ(y))}
et R est l’ensemble flou issu de l’agrégation des conclusions.
La défuzzification COG est plus couramment utilisée. Elle définit la sortie comme
correspondant à l’abscisse du centre de gravité de la surface de la fonction d’appar-
tenance caractérisant l’ensemble flou issu de l’agrégation des conclusions.
R
y·µ(u)·dy
Décision = RS
S µ(u)·dy
Cette définition permet d’éviter les discontinuités qui pouvaient apparaı̂tre dans la
défuzzification MM, mais est plus complexe et demande des calculs plus impor-
tants. Certains travaux tel [Madau D., 1996] cherchent à améliorer les performances
en cherchant d’autres méthodes aussi efficaces mais avec une complexité algorith-
mique moindre. Comme nous le voyons sur les 2 figures montrant les méthodes de
défuzzification MM et COG appliquées à notre exemple, le choix de cette méthode a
un effet important sur la décision finale.
1.7 Conclusions
Au cours des définitions, nous avons vu que le concepteur d’un système flou doit faire
un nombre de choix important. Ces choix se basent essentiellement sur les conseils
de l’expert ou sur l’analyse statistique des données passées, en particulier pour définir
les fonctions d’appartenance et la matrice des décisions.
– l’input est ’la qualité du service est notée 7,83 sur 10 et la qualité de la nourriture
7,32 sur 10’ ;
– le fuzzifier correspond aux 3 variables linguistiques ’qualité du service’, ’qualité de
la nourriture’ et ’montant du pourboire’ ;
– le moteur d’inférence est constitué du choix des opérateurs flous ;
– la base de connaissances floues est l’ensemble des règles floues ;
– le defuzzifier est la partie où entre en jeu la méthode de défuzzification ;
– l’output correspond à la décision finale : ’le montant du pourboire est 25,1’.
Il est intéressant de voir l’ensemble des décisions en fonction de chacune des variables
avec notre système d’inférence flou (figure 1.14) par rapport au type d’ensemble de
décisions que nous obtiendrions en utilisant la logique classique (figure 1.15).
Figure 1.15: Ensemble des décisions d’un système se basant sur la logique clas-
sique
Ainsi, toute la puissance de la logique floue est de rendre possible la mise en place
de systèmes d’inférence dont les décisions sont sans discontinuités, flexibles et non
linéaires, plus proche du comportement humain que ne l’est la logique classique. De
plus, les règles de la matrice des décisions sont exprimées en langage naturel, ce
qui comporte de nombreux avantages, comme par exemple inclure des connaissances
d’un expert non informaticien au coeur d’un système décisionnel ou encore modéliser
plus finement certains aspects du langage naturel.
1.8 Remerciements
[Zadeh, 1965] Zadeh, L. (1965). Fuzzy sets. Information and Control, 8(3) :338 – 353.
[cited at p. 2]
14