Systèmes à Inférence floue
Fuzzy Inference Systems (FIS)
Taalabi M.
e-mail: taalabi@[Link]
[Link]/~taalabi
lundi 20 juin 2005 fuzzy inference systems 1
Systèmes à Inférence floue
Fuzzy Inference Systems (FIS)
• Motivation
• Variables linguistiques, sous ensembles flous
• Règles floues
• Architecture d ’un système à inférence floue
• Contrôleur flou
• Outils de conception (Design Tools)
• Conclusion
lundi 20 juin 2005 fuzzy inference systems 2
Motivation
• Compétence versus Expertise
• Connaissances de terrain….Heuristiques
• Cas du four d ’une cimenterie
• Heuristiques:
Connaissances en langage courant
Formulation mathématique difficile
lundi 20 juin 2005 fuzzy inference systems 3
Motivation
• Lotfi Zadeh : logique floue,
milieu des années 1960
• Développement parallèle des systèmes
experts
• Rôle des heuristiques dans le succès d ’un
système expert
lundi 20 juin 2005 fuzzy inference systems 4
Motivation
• Milieu des années 1990, développement
d ’applications industriels grand public des
systèmes experts flous:
Contrôle de procédés, Supervision, Aide à la décision,
Systèmes dédiés temps réel (AutoFocus d ’une caméra,
Suspension Active d ’une voiture, clim. d ’une voiture...)
lundi 20 juin 2005 fuzzy inference systems 5
Variables linguistiques,
Sous ensembles flous
• Logique Classique: Vrai ou Faux
• Logique floue: degré de vraisemblance
Exemple: Taille d ’un être humain
µ
1
Taille grande
1.40 1.70 2.00 taille
lundi 20 juin 2005 fuzzy inference systems 6
Variables linguistiques,
Sous ensembles flous
• ‘ Taille grande ’: variable linguistique de la variable réelle ‘ taille ’
• µ : fonction d ’appartenance, ou ‘ membership function ’
c ’est une mesure du degré de véracité
• La forme de la fonction d ’appartenance dépend de l ’expert, et du
problème considéré.
µ
1
Taille grande
1.40 1.70 2.00 taille
lundi 20 juin 2005 fuzzy inference systems 7
Variables linguistiques,
Sous ensembles flous
• Sous ensemble flou, ou ‘ Fuzzy Subset:
Chaque variable linguistique définit un sous
ensemble flou
• Variable linguistique: Expression en langage
courant.
lundi 20 juin 2005 fuzzy inference systems 8
Variables linguistiques,
Sous ensembles flous
Connecteurs logiques flous: AND, OR ...
Exemple: ‘ taille grande ’ AND ‘ poids moyen ’
Fonction d ’appartenance : Min, produit, ..
µ µ
grande moyen
0.75
0.7
taille poids
1.65 65
lundi 20 juin 2005 fuzzy inference systems 9
Règles floues
• Règle floue :
IF var-ling-1 AND var-ling-2
THEN var-ling-3
avec var-ling-i : une variable linguistique
• Exemple de règle: Cas d ’une machine à laver
IF ‘ Grande saleté du linge ’ AND ‘ Type de saleté gras ’
THEN ‘ Longue durée de lavage ’
• L ’expertise est alors exprimée en langage courant
lundi 20 juin 2005 fuzzy inference systems 10
Architecture
d ’un système à inférence floue
Réel Flou
Inférence
Sorties
Entrées
Règles
Flou Floues Réel
Cas d ’unemachine à laver:
Entrées: Degré de saleté (grand, moyen, petit) et
Type de saleté (Gras, peu gras, non gras)
Sortie: durée de lavage (longue, moyenne, courte)
lundi 20 juin 2005 fuzzy inference systems 11
Architecture
d ’un système à inférence floue
• Sous ensembles flous pour les entrées:
µ faible moyen grand µ Peu gras
Non gras gras
1 1
Type de
Degré
50 saleté
0 100 de saleté 50 100
Interface Réel --> fuzzy :
Associer à chaque valeur scalaire, une ou plusieurs
variables linguistiques
lundi 20 juin 2005 fuzzy inference systems 12
Architecture
d ’un système à inférence floue
Sous ensembles flous de la sortie ‘ Durée de lavage ’:
courte, moyenne, longue …… Singletons
µ
courte longue
moyenne
1
Durée de lavage
10 30 60 en minutes
lundi 20 juin 2005 fuzzy inference systems 13
Architecture
d ’un système à inférence floue
Règle floue
• partie antécédent : variables linguistiques des entrées
• partie conséquence: variables linguistiques des sorties
• Exemple:
If ‘ degré de saleté grand ’ AND ‘ type de saleté gras ’
THEN ‘ Durée de lavage longue ’
lundi 20 juin 2005 fuzzy inference systems 14
Architecture
d ’un système à inférence floue
Cycle d ’Inférence
. Capter le degré de saleté et le type de saleté
. Fuzzifier le ‘ degré de saleté ’----> variables linguistiques
. Fuzzifier le ‘ type de saleté ’ -----> variables linguistiques
. Repérer les règles applicables
. Interface fuzzy ---> réel : Combiner les conséquence des
règles applicables pour déduire la valeur de la durée de
lavage
lundi 20 juin 2005 fuzzy inference systems 15
Contrôleur flou
(Fuzzy Controller)
• Architecture:
sortie
ek ∆uk
référence Ge Contrôleur
flou Gu Génerer
la commande
Procédé
Gve
∆ek
Pour simplifier, les gains statiques Ge, Gve et Gvu seront
pris égaux à 1.
Entrées: ek et ∆ek = ek - ek-1
Sortie: uk ou ∆uk = uk - uk-1
lundi 20 juin 2005 fuzzy inference systems 16
Contrôleur flou
Architecture
ek
Réel Flou
Inférence
Sortie
Entrées
∆uk
Règles
∆ek Flou Floues Réel
lundi 20 juin 2005 fuzzy inference systems 17
Contrôleur flou
• Sous ensembles flous des entrées:
NEG µ
ZER POS
Exemple de fuzzification:
ek ek POS avec µ=1
a
NEG
ZER
POS
µ1
∆ek POS avec µ1
µ2
ZER avec µ2
∆ek
b
lundi 20 juin 2005 fuzzy inference systems 18
Contrôleur flou
• Sous ensembles flous de la sortie:
1 ZER
POS
NEG
∆uk
-c c
lundi 20 juin 2005 fuzzy inference systems 19
Contrôleur flou
• Exemple de Base de règles:
∆ek NEG ZER POS
ek
NEG NEG NEG ZER
ZER NEG ZER POS
POS ZER POS POS
Exemple: IF ek NEG AND ∆ek ZER
THEN ∆uk NEG
lundi 20 juin 2005 fuzzy inference systems 20
Contrôleur flou
Cycle d ’inférence
sortie
ek ∆uk
référence Ge Contrôleur
flou Gu Génerer
la commande
Procédé
Gve
∆ek
1- Acquérir la sortie du process
2- calculer ek et ∆ek
lundi 20 juin 2005 fuzzy inference systems 21
Contrôleur flou
Cycle d ’inférence suite
3- fuzzifier ek et ∆ek, par exemple
µ
NEG ZER POS
Exemple de fuzzification:
ek
a
NEG ek POS avec µ=1
ZER
POS
µ1
∆ek POS avec µ1
µ2 ZER avec µ2
∆ek
lundi 20 juin 2005 fuzzy inference systems 22
b
Contrôleur flou
Cycle d ’inférence suite
4- Considérer les règles applicables:
dans l ’exemple précédent : ek POS avec µ =1
∆ek POS avec µ1
ZER avec µ2
deux règles applicables:
e
IF k POS AND ∆ek POS THEN ∆uk POS , avec min (1, µ1) = µ1
IF ek POS AND ∆ek ZER THEN ∆uk POS , avec min(1, µ2) = µ2
lundi 20 juin 2005 fuzzy inference systems 23
Contrôleur flou
(Fuzzy Controller)
Cycle d ’inférence suite
ZER
5- Defuzzification: NEG POS
le représentant de POS est c
∆uk
-c c
Deux conclusions pour ∆uk:
∆uk POS avec min (1, µ1) = µ1
∆uk POS avec min(1, µ2) = µ2
Defuzzification par barycentre:
∆uk = (µ1.c + µ2.c) / (µ1 + µ2)
lundi 20 juin 2005 fuzzy inference systems 24
Contrôleur flou
Cycle d ’inférence suite
6- Appliquer la commande uk = ∆uk + u k-1
7- Attendre la période d ’échantillonnage
8- Reprendre à l ’étape 1 (acquérir la sortie du procédé ….)
lundi 20 juin 2005 fuzzy inference systems 25
Contrôleur flou
Rapprochement avec un PID flou
• Un contrôleur flou est un contrôleur non linéaire, efficace
pour le contrôle de procédés complexes .
• On montre [1] qu ’un contrôleur flou avec
des sous-ensembles flous pour ek et ∆ek de forme triangulaire,
des sous ensembles flous en singleton pour ∆uk et
une défuzzification en barycentre
est équivalent à un PI non-linéaire (Kp et Ti variables)
• On montre en fait que: ∆uk = A + [Link] + C.∆ek,
avec A, B et C dépendent entre autres de ek et ∆ek.
lundi 20 juin 2005 fuzzy inference systems 26
Contrôleur flou
Rapprochement avec un PID flou
∆uk = A + B . ek + C . ∆ek
• En appliquant au procédé uk = ∆uk +uk-1 Integrale de ∆uk,
B: Action Intégrale
C: Action proportionnelle
• Pour avoir, en plus, l ’action dérivée, on applique au procédé:
uk = α (∆uk +uk-1 ) + β ∆uk et dans ce cas:
Action dérivée: β . C
Action proportionnelle: α . C
Action Intégrale : α . Β
lundi 20 juin 2005 fuzzy inference systems 27
Contrôleur flou
ajustement des paramètres
• Un contrôleur flou possède plusieurs paramètres :
Forme et nombre des sous ensembles flous
Gains statiques
Base de règles ….
• Ajuster les paramètres d ’un contrôleur flou:
‘ Trial and Error ’, en exploitant l ’expertise disponible.
Algorithmes Génétiques.
lundi 20 juin 2005 fuzzy inference systems 28
Systèmes à Inférence floue
Design TOOLS
• MATLAB fuzzy tools
• Fidé d ’Aptronix ([Link])
• Visual Five de ST pour concevoir un contrôleur flou sur le
microcontrôleur ST5.
lundi 20 juin 2005 fuzzy inference systems 29
Systèmes à Inférence floue
Conclusion
• Large éventail d ’applications: contrôle, aide à la décision,
supervision...
• Systèmes embarqués temps réel: Contrôleurs flous
implantés sur microcontrôleurs.
lundi 20 juin 2005 fuzzy inference systems 30
Systèmes à Inférence floue
Réferences
[1] H. Ying, W. Siler, J. J. Buckley
‘ Fuzzy Control Theory: A nonlinear case ’
Automatica, Vol. 26, No. 3, pp. 513-520, 1990
[2] J. Yen, R. Langari, L. A. Zadeh
‘ Industrial Applications of fuzzy logic
and intelligent systems ’ IEEE Press 1995
[3] Elbert A. Walker
‘ A first course in fuzzy logic ’
Chapman & Hall / CRC 2000
lundi 20 juin 2005 fuzzy inference systems 31
Systèmes à Inférence floue
Réferences
[4] O. Karasakal, E. Yesil, M. Guzelkaya, I. Eksin
‘ Implementation of a new self-tuning fuzzy PID controller
on PLC ’
Turkish Journal of Electrical Engineering, Vol.13, NO. 2 2005
[5][Link]
[6] [Link]
[7] [Link]
lundi 20 juin 2005 fuzzy inference systems 32