Contenu
Introduction
Historique
Principes de la logique floue
Variable floue
Fuzzification
Intervalles flous
Règles floues
Opérateurs de la logique floue
Opérateur Non
Opérateur ET
Opérateur OU
Défuzzification
Contrôleur Flou
Exemple illustratif
2
Introduction
La logique floue (Fuzzy Logic)
Termes qui s’approchent du langage humain
Comptage avec les mots
Ne nécessite pas un modèle mathématique
Applications
Appareils électroménagers (lave-linge, aspirateur,…)
Systèmes audio visuels (photo copieur, appareil photo,
caméras, …)
Systèmes automobiles embarqués (climatisation, …)
Décision, diagnostic, reconnaissance des formes,…
Identification et commande des procédés industriels
3
Historique
1965: base théoriques de la logique floue: Lotfi Zadeh
(université Berkely, CA, USA)
1973: L. Zadeh propose l’application de la logique floue
aux problèmes de commande des systèmes
1974: 1ère application de commande par logique floue
d’une turbine à vapeur
1985: produits industriels (Japon) utilisant la logique
floue (machine à laver, appareil photos, …)
4
Principes de la LF
La logique floue remplace la logique binaire par une
logique fondée sur des variables pouvant prendre, outre
les valeurs « vrai » ou « faux » les valeurs intermédiaires
avec une certaine probabilité.
Variable floue
Exemple: classification des individus par la taille (t).
En binaire: «Petit» si t≤160 cm
«Moyen» si 160 cm <t≤180 cm
«Grand» si t>180 cm
5
Principes de la LF
En binaire on associe:
La valeur 1 (degré de vérité de 100%) à «vrai»
La valeur 0 (degré de vérité nul) à «faux»
Petit Moyen Grand
vrai
faux
160 180 Taille
(cm)
6
• La logique binaire présente l’avantage de la simplicité mais
elle est éloignée de la logique utilisée par l’être humain.
• x1 = 159,5 cm alors x1 appartient à l’ensemble «Petit», degré
d’appartenance à «Petit» m(x1)=1
degrés d’appartenance à « Moyen » et à « Grand » sont nuls.
• x2 = 160,5 cm alors x2 appartient à l’ensemble «Moyen», degré
d’appartenance à «Moyen» m(x2)=1
or les deux tailles sont l’une très proches de l’autre
• La classification ne tient pas compte des erreurs de mesure
• Le raisonnement en binaire est loin du raisonnement humain
7
En logique floue on peut utiliser la représentation
suivante (très proche du raisonnement humain)
Degré Petit Moyen Grand
d’appartenance
m1
m2
155 x 165 175 185 Taille
(cm)
5 cas:
Cas 1: x<155 cm Ensemble « Petit »
Cas 2: 155<x<165 cm Chevauchement de deux ensembles
Cas 3: 165<x<175 cm Ensemble « Moyen »
Cas 4: 175<x<185 cm Chevauchement de deux ensembles
Cas 5: x>185 cm Ensemble « Grand »
8
En logique floue on peut utiliser la représentation
suivante (très proche du raisonnement humain)
Degré Petit Moyen Grand
d’appartenance
m1
m2
155 x 165 175 185 Taille
(cm)
x<155
x appartient à l’ensemble des individus de taille « petite »
Degrés d’appartenance: m1(Petit)=1 et m2(Moyen)=0, m3(Grand)=0
165<x<175
x appartient à l’ensemble des individus de taille «Moyenne»
Degrés d’appartenance: m1(Petit)=0 et m2(Moyen)=1, m3(Grand)=0
x>185
x appartient à l’ensemble des individus de taille «Grande»
Degrés d’appartenance: m1(Petit)=0 et m2(Moyen)=0, m3(Grand)=1
9
En logique floue on peut utiliser la représentation
suivante (très proche du raisonnement humain)
Degré Petit Moyen Grand
d’appartenance
m1
m2
155 x 165 175 185 Taille
(cm)
155<x<165,
x appartient à deux ensembles: individus de taille
« petite » et individus de taille « moyenne »
Degrés d’appartenance: m1(x)0, 1, m2(x)0, 1 et m3(x) 0
m1(x) m2(x) 1
175<x<185, x appartient à « Moyen » et à « Grand »
m1(x) 0 m2(x)etm3(x)0, 1 m2(x) m3(x) 1
10
Dans l’exemple, on a utilisé:
Trois intervalles flous (et trois variables floues ou variables
linguistiques: petit, moyen, grand)
Fonction trapézoïdale
On a transformé la valeur d’entrée (taille en cm) en une
variable floue (petit, moyen, grand) avec de degrés
d’appartenance
Variable floue
Fonctions d’appartenances (degré de vérité de la variable
floue en fonction de la grandeur d’entrée)
Intervalles flous (déterminent le nombre de variables
floues)
11
Ensemble flou A x X, (x, m(x))
X : univers de discours (domaine des valeurs possibles
de x). m(x) : fonction d’appartenance de x à l’ensemble
A (degré de vérité). m(x)0, 1
La fuzzification
Etablir la relation entre le degré de vérité de la variable
floue et la grandeur d’entrée
Grandeur d’entrée Degré d’appartenance
(gradeur analogique) aux variables floues
Fuzzification
Fonction
d’appartenance
12
Fonction d’appartenance
• Forme monotone croissante ou décroissante
m VF1 m VF1
1 1
0 a b Grandeur 0 a b Grandeur
d’entrée d’entrée
0 xa 1 xa
x a b x
mVF1 a x b mVF1 a xb
b a b a
0 xb
1 x b
13
Fonction d’appartenance
Forme triangulaire
m VF1 VF2 VF3
1
0 a b c Grandeur d’entrée
x a c x
mVF2 f (x, a, b, c) max min , , 0
b a c b
Exemple: a=1, b=3 et c=4 x 1
f (x,1,3,4) max min ,4 x, 0
2
x=2
1
f (2,1,3,4) max min ,3, 0 0,5
2 14
Fonction d’appartenance
Forme trapézoïdale
m
VF1 VF2 VF3
1
a b c d Grandeur d’entrée
x a d x
mVF2 f (x, a, b, c, d) max min1, , , 0
b a d c
x 5 9 x
f (x,5,6,7,9) max min1, , , 0
1 2
15
Fonction d’appartenance
Forme en cloche (gaussiennes)
m VF1 VF2 VF3
1
0.5
0 x0-a x x0+a Grandeur d’entrée
0
1
m VF 1
x x0 2
1 ( )
a
16
Intervalles flous
Ces intervalles définissent le nombre de variables
floues associées à une grandeur d’entrée
Généralement, on utilise les valeurs linguistiques :
NG Négatif Grand
NM Négatif Moyen
EZ Environ Zéro
PM Positif Moyen
PG Positif Grand
17
Règles d’inférence (RI)
RI : ensemble des règles reliant les variables floues
d’entrée aux variables floues de sortie. Ces règles se
présentent sous la forme:
Si condition 1 (et/ou) condition 2 (et/ou …) alors
actions
Les règles résument l’expérience de l’expert.
Les règles : ne sont pas uniques, chaque expert possède
ses propres règles.
18
Opérateurs de la LF
Les RI font appel aux opérateurs: ET, OU et NON
Opérateur NON (complément à 1)
x A m A ( x) 1 m A ( x)
m (x)
1 A
Grandeur d’entrée
m A (x)
1
Grandeur d’entrée 19
Opérateurs de la LF
Opérateur ET: (intersection) opérateur minimum
x A ET x B mAB(x) min(mA(x),mB(x))
m A ( x), m B ( x)
1
Grandeur d’entrée
1 m A B (x)
Grandeur d’entrée
20
Opérateurs de la LF
Opérateur OU: (union) opérateur maximum
x A OU x B m AB ( x) max(m A ( x), m B ( x))
m A ( x), m B ( x)
1
Grandeur d’entrée
m A B (x)
1
Grandeur d’entrée 21
Défuzzification
L’opération de la conversion de la variable floue en une
grandeur analogique de sortie.
Défuzzification
Degrés d’appartenance Grandeur de sortie
aux variables floues (grandeur analogique)
22
Défuzzification
Méthode de centre de gravité
Calcul de centre de gravité de la fonction d’appartenance
de la variable de sortie.
On obtient une seule valeur pour la grandeur de sortie
m VF i i
sortie i
mi
i
mi: degré de vérité de la variable floue
VFi: variable floue
23
Défuzzification
Méthode de maximum
La valeur de sortie est définie par la valeur maximale des
valeurs des variables floues de sortie
sortie max ( m iVF i )
i
24
Contrôleur Flou
Structure
Contrôleur
Flou
Grandeur Grandeur
d’entrée de sortie
Règles
Fuzzification Défuzzification
d’Inférences
Grandeur Variables Variables Grandeur
d’entrée floues floues de sortie
25
Système asservi
Commande
Consigne u(k) Sortie y(k)
yc(k) Contrôleur
+ Flou Procédé
-
Entrée du contrôleur
e(k) =yc(k)-y(k): l’erreur entre la consigne et la sortie.
De(k)=e(k)-e(k-1): la variation de l’erreur.
26
Exemple
Contrôle de l’installation de chauffage d’un immeuble
Deux sondes de température:
Température extérieure (Tex: grandeur de consigne)
Température interne (Tin: grandeur à régler)
Le contrôleur flou doit régler la puissance de chauffage
(P) en se basant sur les deux mesures de température
et sur les règles d’inférence
Consigne Commande
P Sortie
Tex Tin
Contrôleur
Flou Procédé
27
Exemple
1- Fuzzification de Tex
2 intervalles flous (froid et chaud), fonction
d’appartenance de type trapézoïdale.
froid Chaud
1
m1
m2
0 5 10 20 Tex (°C)
28
2- Fuzzification de Tin
3 intervalles flous (froid, bon, chaud), fonction
d’appartenance de type trapézoïdale.
Froid Bon Chaud
1
m1
m2
0 15 19 21 x 25
Tin (°C)
29
Fuzzification de P (puissance de chauffe)
4 intervalles flous (nulle, faible, moyenne, maximale)
Fonction d’appartenance en forme de raies
Puissance valeur en %
Nulle 0
Faible 33
Moyenne 67
Maximale 100
30
Règles d’inférences (6 règles)
R1: Si Tex est froide et Tin est froide alors P maximale
R2: Si Tex est froide et Tin est bonne alors P moyenne
R3: Si Tex est froide et Tin est chaude alors P faible
R4: Si Tex est chaude et Tin est froide alors P moyenne
R5: Si Tex est chaude et Tin est bonne alors P faible
R6: Si Tex est chaude et Tin est chaude alors P nulle
31
5- choix des opérateurs
ET est réalisé par le calcul du minimum
OU est réalisé par le calcul de maximum
6- Choix de la méthode de défuzzification
La méthode de centre de gravité
7- exemple de calcul
Tex=10°c et Tin=22°c
32
Exemple
Calcul de degré de vérité de Tex:
froid Chaud
1 x 5 1
20 x
m VF
5 x 20
m1
15
froid
0 x 20 m2
0 5 10 20 Tex (°C)
0 x 5
x 5
mVFchaud 5 x 20
15
1 x 20
20 x x5
Tex=10°c m VF froid
dv
15
10
15
0 , 67 m VF chaud
dv
15
5
15
0 , 33
froid: dv=0,67 chaud: dv=0,33
33
Exemple
Calcul de degré de vérité de Tin:
Froid Bon Chaud
19 x 21
1
1
25 x
m1
m VF 21 x 25
4 m2
Bon
0 x 25
0 15 19 21 x 25
Tin (°C)
0 x 21
x 21
mVFchaud 21 x 25
4
1 x 25
25 x 3 x 21 1
Tin=22°c m VF froid
dv
4
4
0 , 75 m VF chaud
dv
4
4
0 , 25
Froid: dv=0 Bon: dv=0,75 chaud: dv=0,25
34
Règles d’inférence
R1: dv1=min(0.67, 0)=0 P maximale avec dv1=0
R2 dv2=min(0.67, 0.75)=0.67 P moyenne avec dv2=0.67
R3: dv3=min(0.67, 0.25)=0.25 P faible avec dv3=0.25
R4: dv4=min(0.33, 0)=0 P moyenne avec dv4=0
R5: dv5=min(0.33, 0.75)=0.33 P faible avec dv5=0.33
R6: dv6=min(0.33, 0.25)=0.25 P nulle avec dv6=0.25
35
Défuzzification (calcul de P)
On a obtenu: 6 degrés de vérité (dv1, dv2, dv3, dv4, dv5, dv6)
Méthode de maximum
max(dvi , i 1,...,6) dv2 0,67 avec P: moyenne
On a P moyenne, P2=67%=0,67
P max(dvi Pi , i 1,...,6) dv2 P2 0,67 * 0,67 0,4489 44,89%
36
Défuzzification (calcul de P)
Méthode de centre de gravité
R1: P maximale, dv1=0 P1=100%=1
R2: P moyenne, dv2=0,67 P2=0,67
R3: P faible, dv3=0,25 P3=0,33
R4: P moyenne, dv4=0 P4=0,67
R5: P faible, dv5=0,33 P5=0,33
R6: P nulle, dv6=0,25 P6=0
dvi Pi
o *100 0.67 * 0.67 0.25* 0.33 0 0.33* 0.33 0
P i 0.43 43%
i
dv 0 .67 0.25 0.33 0.25
i
37
Cas où P est donnée par 4 intervalles flous
nulle faible moyenne maximale
1
dvi
0 10 20 40 50 70 80
P (%)
Pour chaque dvi donné par les règles d’inférence, on cherche la
valeur correspondante de la puissance. Puis, on calcule la
puissance résultante.
38
R1: dv1=0
R2: dv2=0.67 de P moyenne, on retrouve 46,7%
R3: dv3=0.25 de P faible, on retrouve 12,5%
R4: dv4=0
R5: dv5=0.33 de P faible, on retrouve 13,3%
R6: dv6=0.25 de P nulle, on retrouve 17,5%
x 40
dv 2 0 , 67 x 0 , 67 * 10 40 46 , 7
10
x 10
dv 3 0 , 25 x 0 , 25 * 10 10 12 , 5
10
x 10
dv 5 0 , 33 x 0 , 33 * 10 10 13 , 3
10
20 x
dv 6 0 , 25 x 20 0 , 25 * 10 17 , 5
10
39
Défuzzification (calcul de P)
Méthode de centre de gravité
dv P 0.67* 0.467 0.25* 0.125 0.33* 0.133 0.25* 0.175
i i
P i
0.287 28,7%
dv i
i 0.67 0.25 0.33 0.25
40
Implémentation
Matlab
Fuzzy Logic Toolbox
Consulter:
[Link]
Octave
Fuzzy Logic Toolkit
The Octave Fuzzy Logic Toolkit is an open-source toolkit for
Octave that provides a large MATLAB compatible subset of
the functionality of the MATLAB Fuzzy Logic Toolbox as well
as many extensions.
Consulter: [Link]
41
Implémentation sur Matlab
Fuzzy
• Bloc
Fuzzification
des entrées
• Bloc règles
• Bloc
fuzzification
des sorties
42
Fonction d’appartenance
43
Introduction des règles
File > Export > To Workspace (ajouter le nom du fichier)
44
Fuzblock:
permet de prendre le bloc: Fuzzy Logic Controller
45
Schéma de simulation
46
Traçage des courbes
47
Superviseur flou d’un régulateur
proportionnel
Entrée superviseur
1-z-1 Superviseur
• erreur e(k) Flou
• De(k) Consigne
Sortie y(k)
yc(k) Contrôleur
+ Proport. Kr Procédé
- Commande
u(k)
mv
NG NM NP EZ PP PM PG
-1 -2/3 --1/3 0 1/3 2/3 1 v
48
Règles d’inférence
7 variables floues (NG, NM, NP, EZ, PP, PM, PG)
Fonction trapézoïdale
49 règles d’inférence
e(k)
NG NM NP EZ PP PM PG
y(k) yc(k) De(k)
NG NG NG NG NG NM NP EZ
NM NG NG NG NM NP EZ PP
NP NG NG NM NP EZ PP PM
1 2 3
EZ NG NM NP EZ PP PM PG
PP NM NP EZ PP PM PG PG
PM NP EZ PP PM PG PG PG
0 k PG EZ PP PM PG PG PG PG
Zone 1: e(k) >0, De(k)<0
Zone 2: e(k) <0, De(k)<0
Zone 3: e(k) <0, De(k)>0
Implémenter ce superviseur sous
MATLAB et tester ses performances.
49