Vous êtes sur la page 1sur 22

LOGIQUE FLOUE

Table des matieres

1 Introduction a la logique floue 2


1.1 Un peu dhistoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 La logique floue: Modelisation . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2 Exemple:Commande floue . . . . . . . . . . . . . . . . . . . . . . . 12

1
Chapitre 1

Introduction a la logique floue

1.1 Un peu dhistoire


Levolution de divers techniques regissant deux fleaux scientifiques differents, a sa-
voir lanalyse(plus particulierement lidentification) et la commande de processus reels a
conduit a diverses conclusions typiques et dont lidee generale preponderante est que les
methodes emploiyees a ces effets ne sont plus tout aussi robustes quelles letaient aupara-
vant. Dailleurs, cela a conduit a plusieurs situations indeterminees. Ainsi, la plus part des
difficultes rencontres reside au niveau de la transposition du processus autant quobjet reel
sur un modele mathematque. Parfois meme, cela devient carrement impossible. Dou le
recours a une autre alternative permettant de contourner la polemique, autant peu soit-il.
En fait, cest a partir de ce contexte que la logique floue a immergee. En effet, partant du
principe de lapposition des notions mathematqiues pures et le raisonnement humain, une
nouvelle theorie basee dans un premier temps sur un contexte paralitteraire a vu le jour.
Dailleurs, pour ce situer dans un certain contexte historique, la premiere parution est
referenciee a L.Zadeh,ingenieur en electrique de specialite en 1965 dans le journal infor-
mation and control. En fait, a ce niveau, le grand apport reside particulierement dans
une nouvelle notion intitulee ensemble flou. Des lors, les recherches prennent un rythme
crescendo et plusieurs idealogies se font connaitre au fur et a mesure. Cette evolution a
ete pourtant lobjet de multiples critiques. Cela revient a la simple raison que la logique
floue est basee principalement sur un concept linguistique. On se retrouve donc assez loin
dun contexte ou lon aborde la stablite et la robustesse des systemes par un ensemble de
theoremes. De la logique floue naquit ensuite la commande floue des processus. A cet effet,
M.Mamdani appliqua la theorie enoncee par Zadeh sur une chaudiere a vapeur. Ce fut des
lors lune des toutes premieres appliquations de la commande floue dans un contexte indus-
triel. Par ailleurs, du a M.Sugeno, la logique floue est introduite au Japon. Dailleurs avec
ce dernier, il y eut un changement radical dans le cote conceptuel de raisonner. Il faudrait
donc comprendre que la commande floue est loin detre une utopie. Cependant, divers faits
tels que: la facilite dimplementation, une certaine robustesse vis a vis de lincertitude des
modeles mathematiques des systemes, et cela rien que pour enumerer et non pour tout

2
citer, la placent bien au desssus du lot.

1.2 La logique floue: Modelisation


Pour pouvoir assimiler pleinement lapport de la logique et la commande floue et
lanalogie avec le principe de lexpert, nous commencons par un exemple dintroduction.
Considerons un probleme typique dans ce cadre qui consiste a remplir un reservoir deau
jusqua atteindre un certain niveau que lon notera par Nd . On admettera par ailleurs
lexistance dune certaine tolerance dans la mesure du niveau de leau ce qui conduit en fin
de compte a la consideration outre Nd de deux autres niveaux que lon notera Nh designant
ainsi un niveau haut et Nb designant ainsi un niveau bas. Cela peut etre reporte sur la
figure suivante:

Fig. 1.1 Exemple de modelisation .

On peut resumer lobjectif de la manipulation dans les termes suivants: ouvrir ou fermer
un robinet permettant dalimenter le bassin en eau, ainsi que la commande dune vanne

3
permettant devacuer leau selon lensemble de regles suivant:
1. Si le niveau de leau est Nb , alors ouvrir le robinet dalimentation et fermer la vanne
devacuation jusqua atteindre lactivation dun niveau Nd .
2. Si le niveau de leau est Nh , alors fermer le robinet dalimentation et ouvrir la vanne
devacuation jusqua atteindre lactivation dun niveau Nd .
bien evident que cela puisse paraitre, le probleme initial vient detre transpose dans un
contexte flou, ou lon retrouve par ailleurs les differents elements constitutifs de la methode.
En effet, le niveau de leau represente la partie premisse, ou encore lappelation de lantecedant.
Laction de louverture et de la fermeture du robinet et de la vanne constitue la partie
consequent. Le mechanisme dinference est regi par les deux regles citees precedemment.
Cela nous conduit directement a definir quelques notions fondamentales dans ce qui suit.

1.2.1 Definitions
1.2.1.1 Ensemble flou

Un ensemble represente un groupement delements pouvant etre consideres dans un


contexte ensembliste pour definir une propriete determinee. La theorie des ensembles au
sens mathematique a ete introduite par un scientifique allemand portant le nom de Georg
Contor. Un ensemble est contitue de plusieurs elements. Par ailleur, un ensemble peut
etre constitue delements denombrables (singleton delements par exemple ) ou encore
delements indenombrables. Dans la theorie de la logique floue, un ensemble specifique
constitue la partie la plus elementaire du maillon de la chaine que lon verra par la suite.

1.2.1.2 Univers de discours

Lunivers de discours constitue une identite formelle des ensembles flous. Autrement,
pour un ensemble flou donne, on peut lui associer un ou plusieurs univers de discous. Par
exemple, lors de lexemple precedent, la valeur prise par le niveau de leau dans le reservoir
constitue un ensemble flou (remarquons bien que le contexte flou semploi paradoxalement
dans un contexte deterministe). Les univers de discours qui ont ete definis sont les suivants:
1. Le niveau de leau est bas
2. Le niveau de leau est haut.
3. Le niveau de leau est celui qui est desire.
Jusque la, on est arrive a definir les elements de base dun raisonnement flou. Cependant,
pour se situer dans un cadre mathematique, on introduit la notion de fonction dappate-
nance.

4
1.2.1.3 Fonction dappartenance

Reprenons lexemple du reservoir avec toutes les considerations et les notations mises
en jeu. Nous supposons par ailleurs que le niveau desire correspond au remplissage de
la moitie du reservoir. Ne disposant pas delements permettant deffectuer des mesures
exactes, on se fie alors aux observations dun ouvrier pour guider la manoeuvre. Dune
facon approximative, on peut par exemple adopter la situation sur la figure suivante:.
Supposons que la niveau de leau se trouve en N1 . Alors en abscence dinformations exactes,
on peut soit dire que la niveau atteint est haut, soit quil est bas sans pour autant etre
catheqorique que lon est en Nb ou Nh . Pour trancher, on peut avoir recours a une solution
mathematique qui consiste a generer un moteur de probalitees (produisant des nombres
compris entre 0 et 1). A la lueur du resultat, on peut sadjujer une opinion relative. Cela
definit alors la notion de la fonction dappartenance. Il sagit donc de relier la valeur de N1
a un univers de discour (Dans notre cas le niveau est haut ou bas). Dune facon generale, la
fonction dappartenance est une relation permettant de relier un nombre a chaque element
de lunivers de discours, et qui est generalement notee par:. Cette derniere peut etre
soit continue soit discrete. Dans le cas continu, une fonction dappartenance peut prendre
diverses allures comme illustre sur les figures suivantes:

1 1

0.9 0.9

0.8 0.8

0.7 0.7

0.6 0.6

0.5 0.5

0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
fonction dappartenance triangulaire fonction dappartenance trapzoidale

Fig. 1.2 Fonction dappartenance de forme triangulaire (gauche) et trapezoidale (droite).

5
1 1

0.9 0.9

0.8 0.8

0.7 0.7

0.6 0.6

0.5 0.5

0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
fonction dappartenance gaussienne fonction dappartenance en forme de sigmoide

Fig. 1.3 Fonction dappartenance gaussienne (gauche) et en forme de sigmoide (droite).

La definition des fonctions dapparetenance,les plus utilisees comme illustrees sur les
figures precedentes, de point de vue analytique sont:
xa cx
triangle(x; a,b,c) = max[min( , ),0] (1.1)
ba cb
xa cx
trapeze(x; a,b,c,d) = max[min(1, , ),0] (1.2)
ba cb
xa 2
gauss(x; ,a) = exp[( )] (1.3)

1
cloche(x; a,b,c) = xc 2b (1.4)
1+ | a
|

1
cloche(x; a,b) = (1.5)
1 + exp[a(x b)]
On conviendra par ailleurs que la notation A (x) designe la valeur de la fonction dap-
partenance de x a lensemble A. Cette derniere est obligatoirement comprise entre 0 et
1.

1.2.1.4 Operations elementaires sur


les fonctions dappartenance

On definit dans tout ce qui suit deux variables linguistiques notees par x et y. Par
ailleurs, on note par A et B deux ensemles flous alors que z = {x,y}.
1. La negation NON: cette propriete definit une relation de complementarite. Cela
conduit a:
A (x) = 1 A (x) (1.6)

6
2. Lintersection ET: Cette propriete traduit la satisfaction simultanee de deux pro-
prietes. Cela est traduit par:

AB (z) = min(A (x),B (y)) (1.7)

remarquons que dans certains cas, on peut ecrire:

AB (z) = A (x).B (y) (1.8)

3. Union OU: Cette propriete traduit la satisfaction de au moins une de des deux pro-
prietes impliquees. Cela est traduit par:

AB (z) = max{A (x),B (y)} (1.9)

1.2.1.5 Notions de Regles floues

Une regle floue est decrite par un ensemble coherent relationnel tel que :

SI (x est A) ALORS (y est B)

Avec A et B deux variables linguistiques definies par deux ensembles flous dans les univers
de discours X et Y . La premiere partie de la regle, cest a dire (x est A) est appelee
partie antecedant, alors que la deuxieme partie, en loccurence (y est B) est appelee
consequence. Une collection de regles floues constitue la base de regles.

1.2.1.6 Shema dun systeme flou

Pour recapituler les divers notions citees precedemment, un systeme flou peut etre
represente conformement a la figure suivante:

7
Fig. 1.4 Shematisation dun systeme flou.

Les divers elements impliques dans cette logique definissent respectivement les roles
suivants:
1. Bloc de fuzzification: Ce bloc represente linterpolation entre les nombres reels,
qui represent plutot des entites et des grandeurs physiques et des ensemles flous.
On definit egalement au cour de cette etape les divers fonctions dappartenance ca-
racterisant les ensembles flous. Ainsi, a chaque variable linguistique, on partage la
zone accessible correspondante en variables linguistiques. La notion de fuzzification
provient essentiellement de limprecision abstraite des pensees et des concepts.
2. Bloc de base de regles: Ce dernier represente une collection de toutes les regles
floues mises en jeu. Cest a partir de cette mixture que la decision quant a la valeur
de la sortie sera prise.
3. Bloc du systeme dinference flou: Ce bloc permet de manipuler plusieurs en-
sembles flous entre eux. En fait, les operations les plus elementaires sur les ensembles
flous seffectuent a ce niveau. Cela permet de lier les grandeurs dentree et les gran-
deurs de sortie. La representation dun systeme dinference flou peut etre realisee
suivant plusieurs methodes.
(a) Une description linguistique construite a partir des differentes regles. Si par
exemple on dispose dun systeme flou a trois entrees et deux sorties avec neuf
regles, chaque grandeur considee ayant ete fuzzifiee en trois ensembles flous

8
notes respectivement par: N ,P et Z, un systeme dinference peut etre construit
comme suit:
Regle1:
SI { E1 est N }, {E2 est N} ET {E3 est N} ALORS {Y1 est P}et{Y2 est N}
Regle2:
SI {E1 est N},{E2 est N} ET {E3 est Z} ALORS {Y1 est P}et{Y2 est N}
Regle3:
SI {E1 est N},{E2 est N} ET {E3 est P} ALORS {Y1 est Z}et{Y2 est N}
Regle4:
SI {E1 est Z},{E2 est N} ET {E3 est N} ALORS {Y1 est P}et{Y2 est N}
Regle5:
SI {E1 est Z},{E2 est N} ET {E3 est Z} ALORS {Y1 est P}et{Y2 est N}
Regle6:
SI {E1 est Z},{E2 est Z} ET {E3 est P} ALORS {Y1 est Z}et{Y2 est N}
Regle7:
SI {E1 est P},{E2 est Z} ET {E3 est N} ALORS {Y1 est P}et{Y2 est N}
Regle8:
SI {E1 est P},{E2 est P} ET {E3 est Z} ALORS {Y1 est Z}et{Y2 est Z}
Regle9:
SI {E1 est P},{E2 est P} ET {E3 est P} ALORS {Y1 est N}et{Y2 est P}
(b) Une description par matrice dinference. Dans ce cas, on rassemble les diverses
descriptions symboliques citees precedemment dans un tableau qui portera lat-
tribution dun tableau dinference. En reprenant lexemple precedent, on peut
se situer dans le contexte present comme suit:

variables dentrees variables de sortie


Regles E1 E2 E3 Y1 Y2
R1 N N N P N
R2 N N Z P N
R3 N N P Z N
R4 Z N N P N
R5 Z N Z P N
R6 Z Z P Z N
R7 P Z N P N
R8 P P Z Z Z
R9 P P P N P

9
4. Bloc de defuzzification: Contrairement au bloc de fuzzification, le bloc de defuzzification
permet dassocier a chaque valeur flou, qui correspond a la sortie desiree, une valeur
reelle et concrete. Cette etape peut etre realisee de plusieurs facons, selon le cocept
mathematique choisi. Cest dailleurs a ce niveau que lon fait egalement la difference
au niveau de la caracterisation des systemes flous, a savoir les modeles de Mamdani
et ceux de Takagi-Sugeno. Pour ce situer dans notre cadre, nous signalons quil existe
multitude methodes pour la defuzzification a savoir:

(a) la defuzzification barycentrique: ayant egalement lappelation defuzzification


centrode). Dans ce cas, lexpression de la sortie secrit sous la forme:

R
(z)zdz
zs = RZ (1.10)
Z
(z)dz

Ou (z) est la valeur de la fonction dappartenance de la variable de sortie z du


systeme considere. Cette methode est generalement la plus utilisee malgre son
ordre exponentiel de complexite.
(b) La methode du bisecteur: Le principe de cette methode est de diviser la surface
de lelement de sortie en deux parties daires egales. Cela est traduit mathematiquement
par:

Z z Z M ax
zs = {z| (z)dz = (z)dz} (1.11)
M in z

Ou M in et M ax representent respentivement les valeurs minimale et maximale


de lunivers de discours.
(c) La moyenne des maximums: Le principe de la methode est de calculer la moyenne
arithmetique de tous les maximums obtenus sur la surface de lelement de sortie.
Cette methode es caracterise essentiellement par un degre de complexite faible,
et donc relativement facile a mettre en oeuvre.

Il existe egalement dautres methodes de defuzzification. Le resultat obtenu pour les


diverses methodes nest pas le meme. Donc selon les circonstances, on peut adopter
lune ou lautre des conventions. A titre illustratif, considerons un ensemble flou a
deux entrees (erreur et variation de lerreur) et une sortie, regi par quatre regles. Dans
un premier temps nous adoptons une defuzzification barycentrique. En utilisant la
visionneuse des regles integree dans la barre doutil des systemes flous sur Matlab,
nous obtenons la figure suivante:

10
Fig. 1.5 sortie du systeme flou avec une defizzification barycentrique.

Donc pour les valeurs suivantes:

erreur = 0.495 (1.12)


variation erreur = 0.155 (1.13)

La sortie est egale a 0.096. Si on change la methode de defuzzification par le principe


des maximums, nous obtenons pour les memes valeurs des entrees:

11
Fig. 1.6 sortie du systeme flou avec une defizzification utilisant le principe du max.

La valeur de la sortie est 0.0057. Donc, les valeurs de la sortie sont differentes. Selon
lobjectif, on peut adopter lune ou lautre des methodes de defuzzification.

1.2.2 Exemple:Commande floue


On considere le systeme du premier ordre defini par sa fonction de transfert comme
suit:
K
x(s) = (1.14)
1 + s
En terme temporel, cela est equivaut a :
1 K
x(t) = x(t) + u(t) (1.15)

Le but de cet exemple est de presenter les differentes etapes succintes permettant daboutir
a la conception dune commande floue. Le schema equivalent au systeme boucle est comme
suit:

12
Fig. 1.7 Boucle de regulation.

Les variables flous a utliser dans notre cas sont:

Erreur = Consigne x (1.16)


= e (1.17)
0
V ariation de l erreur = e (1.18)
= e(t) e(t T ) (1.19)

Ou T est une constante. On considere que pour chaque variable de mesure, cest a dire
lerreur et la variation de lerreur, lunivers de discours est subdivise en deux sous-ensembles
flous, a savoir Positive et Negative, alors que pour la variable de sortie de la commande
floue (u en loccurence), lunivers de discours est partitionne en trois sous ensembles flous,
Negative, Nulle et Positive. A remarquer egalement que u represente la variation de la
commande entre deux instants consecutifs. Les fonctions dappartenance sont illustrees sur
les figures suivantes:

13
ngative positive
1

0.8

Degree of membership
0.6

0.4

0.2

1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1


erreur

Fig. 1.8 Fonction dappartenance de la variable erreur e.

ngative positive
1

0.8
Degree of membership

0.6

0.4

0.2

1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1


varerreur

Fig. 1.9 Fonction dappartenance de la variable variation de lerreur e.

14
ngative nulle positive
1

0.8

Degree of membership
0.6

0.4

0.2

1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1


output1

Fig. 1.10 Fonction dappartenance de la variable variation de la commande u.

Remarquons que a priori, rien ne permet de trancher quant aux valeurs de emax , emax
ni moins umax . Ces trois derniers parametres definissent alors les parametres de reglage
de la commande floue. Par ailleurs, le systeme reagit en suivant les fluctuations de la
commande, en dautres termes, la reaction de la sortie est directement proportionnelle a
u. Nous obtenons des lors la base de regles suivante:
Regle1:
SI { e est Negative } ET {e est Negative} ALORS {u est Negative}
Regle2:
SI { e est Negative } ET {e est Positive} ALORS {u est Nulle}
Regle3:
SI { e est Positive } ET {e est Negative } ALORS {u est Nulle}
Regle4:
SI { e est Negative } ET {e est Negative} ALORS {u est Positive}
La derniere etape de la conception dune commande floue consiste a effectuer le choix des
differents operateurs. Pour ce faire, on adopte les conventions suivantes:

Operateur Choix
Intersection Min
Produit Cartesien Min
Implication floue Min
Union Max
Fuzzification Singleton
Defuzzification barycentrique
On suppose que les parametres du systeme sont: ( = 1) et (K = 1). Si lon fixe (e0 = 1),

15
(e0 = 1) et (u0 = 1), alors on obtient les courbes suivantes en partant de la condition
initiale x0 = 0:

Fig. 1.11 evolution de x(t) (rouge) par rapport a la consigne (bleue).

2
0 1 2 3 4 5 6 7 8 9 10

Fig. 1.12 evolution de la commande.

Nous remarquons donc, quau bout dun certain temps, le systeme arrive a rejoindre la
consigne. On note par ailleur les oscillations du systeme. On peut agir sur les parametres
de controle du systeme pour rechercher un resultat escompte. Dans un premier temps, on
peut agir rien que pour voir leffet sur la methode de defuzzification. Nous obtenons des
lors les courbes suivantes:

16
1.4

1.2

0.8

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 8 9 10

Fig. 1.13 evolution de x(t) (rouge) par rapport a la consigne (bleue) en utilisant la methode
de defuzzification bisecteur .

1.5

0.5

0
0 1 2 3 4 5 6 7 8 9 10

Fig. 1.14 evolution de la commande.

Nous remarquons donc a cet effet la difference notable au niveau de la commande


par rapport a la methode de defuzzication barycentrique. Si lon adopte la methode du
minimum pour la defuzzification, on obtient:

17
1.4

1.2

0.8

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 8 9 10

Fig. 1.15 evolution de x(t) (rouge) par rapport a la consigne (bleue) en utilisant la methode
de defuzzification du minimum .

2.5

1.5

0.5

0.5

1
0 1 2 3 4 5 6 7 8 9 10

Fig. 1.16 evolution de la commande.

Nous remarquons pour conclure que lon ne peut pas sadjuger a priori le droit de
confirmer ladequation dune telle ou autre methode de defuzzification au probleme sans
avoir recours aux simulations pour trancher. Dans notre cas, de toute evidence, la methode
de defuzzification en utilisant la methode du maximum ou du minimum parait mieux
convenable en regardant seulement la sortie du systeme. Cependant, se placant dans un
contexte proche de la realite, cest vraisemblablement au niveau de la commande que la plus
part du temps les contraintes sont fixees. Vu a travers cet objectif, plusieurs considerations
sont alors a enoncer et a tenir compte, surtout a travers les figures de levolution de la
commande en utilisant les methodes de defuzzification du minimum et du maximum.
A remarquer egalement quil existe par ailleurs des plages admissibles pour les variations
de (e0 ), (e0 ) et (u0 ), bien que la technique dune commande floue resulte directement
dun modele de connaissance humain et donc logique, cependant des travaux restent encore

18
a voir le jour pour fixer au prealable le choix des parametres de variation de la commande
floue, ou encore le choix des fonctions dappartenance. Reprenons lexemple precedent avec
les considerations suivantes: (e0 = 10), (e0 = 40) et (u0 = 1), alors on obtient la courbe
suivante:
1.4

1.2

0.8

0.6

0.4

0.2

0
0 5 10 15

Fig. 1.17 evolution de x(t) (rouge)

1.6

1.4

1.2

0.8

0.6

0.4

0.2

0
0 5 10 15

Fig. 1.18 evolution de la commande

Nous remarquons donc la difference notable obtenue en comparaison avec les parametres
de la simulation precedente. La reponse du systeme nest plus aussi oscillatoire, mais le
temps de reponse se trouve relativement ammoindri.
Un autre intetret de la commande flou, qui a dailleurs rendu son utilisation miticuleuse
dans certains contextes est sa robustesse vis a vis des parametres du systeme. Cela est mis
en evidence si lon considere la classe des systemes flous Takagi-Sugeno (objet du prochain
chapitre), cependant cela peut etre quand meme mis en evidence a travers lexemple courant
des systemes Mamdani. Ainsi, on reprend lexemple precedent en considerant les memes

19
valeurs permettant de varier la commande floue, a savoir: (e0 = 10), (e0 = 40) et (u0 =
1), et on change les coefficients du systeme () et (K) en :( = 2) et (K = 0.4). La
simulation de levolution du systeme est illustree sur la figure suivante:

1.4

1.2

0.8

0.6

0.4

0.2

0
0 5 10 15 20 25

Fig. 1.19 evolution de x(t) (rouge)

3.5

2.5

1.5

0.5

0
0 5 10 15 20 25

Fig. 1.20 evolution de la commande

Si par exemple, on change encore une fois les parametres () et (K) en :( = 0.5) et
(K = 1.5)

20
1.4

1.2

0.8

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 8 9 10

Fig. 1.21 evolution de x(t) (rouge)

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 1 2 3 4 5 6 7 8 9 10

Fig. 1.22 evolution de la commande

Nous remarquons donc que meme avec des incertitudes sur lemodele du systeme, en
gardant toutefois le principe de la commande, on arrive a commander la sortie du systeme
pour suivre la consigne.

21