IntroductionIntroduction
àà
la logique flouela logique floue
Antoine Antoine CornuéjolsCornuéjols
AgroParisTechAgroParisTech
antoineantoine..cornuejols@[email protected]
http://www.lri.fr/~antoinehttp://www.lri.fr/~antoine
(Transparents (presque) entièrement repris(Transparents (presque) entièrement repris
de Monique Polit)de Monique Polit)
2
Logique floue : planLogique floue : plan
1. Introduction
2. Des prédicats flous
3. Opérations sur les ensembles flous
4. Comment implanter un raisonnement flou
5. Illustrations
3
Logique floue : planLogique floue : plan
1. Introduction
2. Des prédicats flous
3. Opérations sur les ensembles flous
4. Comment implanter un raisonnement flou
5. Illustrations
4
Introduction (1)Introduction (1)
! Un peu d’histoire
– 1965 L. A. Zadeh «Fuzzy sets»
– 1975 E. H. Mandani Expérimentation d’un régulateur flou
– 1985 M. Sugeno Applications industrielles possibles
– 1995 J. S. R. Jang Logique floue élargie aux systèmes à réseaux de neurones et à l’ Intelligence Artificielle.
! Les ensembles flous : extension des ensembles «classiques» (crisp set)
5
Introduction (2)Introduction (2)
! Structure classique d’un régulateur flou
Variablesd’entrée
Fuzzification Raisonnementflou
Défuzzification
Base de règlesfloues
Méthoded’inférence
floue
Opérateurs delogique floue
Ensemblesflous
Défuzzificateur
Variablesde sortie
e1e2
em
u1u2
un
.. ..
Régulateur flou+
-
c e uSystème
y
6
Introduction (3)Introduction (3)
! Exemple : déplacement du robot le long du mur
– Si la distance est petite, tourner à gauche (angle négatif)
– Si la distance est autour de 10 cm, garder la direction actuelle
– Si la distance est grande, tourner à droite (angle positif)
!
d
-14 : angle de rotationDistance : 5 cm
7
Introduction (4)Introduction (4)
! Des exemples d’applications dans le domaine industriel
– 1979 Cimenterie au Danemark
– 1987 Métro de Sendai (Hitachi)
– 1990 Conduite de hauts-fourneaux Dunkerque
– 1992 Usine de papier au Portugal
– Produits de consommation courante
! Autocuiseurs de riz, aspirateurs, machines à laver, système de climatisation…
! Appareils photos : autofocus, autoexposition, autozoom (Canon, Minolta).
! Caméras : autofocus, autoexposition, stabilisateur d’image (Sanyo, Canon, Matsushita).
! Photocopieurs : qualité d’image, distribution d’encre (Sanyo, Canon, Ricoh).
– Industrie automobile
! régulation du moteur, système de transmission, système de suspension, ABS, climatisation.
– Ascenseur : temps d’attente réduit, ascension et arrêt plus régulier (Hitachi)
– ...
8
Introduction (5)Introduction (5)
! Quand utiliser un régulateur flou ?– Difficulté (ou incapacité) de modéliser le processus : processus complexes, processus
non linéaires.
– Coût de la modélisation en terme de temps, moyens… trop élevé.
– Amélioration des performances de régulateurs «linéaires».
! Points forts
– Structure simple, coût de la synthèse et de l’implémentation «faible».
– Proche du langage courant, facilité de modification.
! Idées fausses– Permet de réguler un processus sans aucune notion de régulation.
! Il faut des bases ...
– Permet de traiter de connaissances imprécises
! régulateur déterministe, exprime une relation déterministe entre ses entrées et ses sorties,
! fonction non linéaire définie de façon intuitive, intelligible, ayant une signification précise.
9
Logique floue : planLogique floue : plan
1. Introduction
2. Des prédicats flous
3. Opérations sur les ensembles flous
4. Comment implanter un raisonnement flou
5. Illustrations
10
Ensembles flous (1) - IntroductionEnsembles flous (1) - Introduction
Variablesd’entrée
Fuzzification Raisonnementflou
Défuzzification
Base de règlesfloues
Méthoded’inférence
floue
Opérateurs delogique floue
Ensemblesflous
Défuzzificateur
Variablesde sortie
e1e2
em
u1u2
un
.. ..
Ensemblesflous
Fuzzification
11
! Définitions
– Un ensemble flou A est défini sur un univers de discours U (ensemble
d’éléments discrets ou continus) par sa fonction d’appartenance !A. La
grandeur !A(x) définit le degré d’appartenance de l’élément x à l ’ensemble A.
– L’ensemble flou vide est noté " , il est défini par :
– Le plus grand ensemble flou sur U est noté 1U , il est défini par :
Les ensembles flous (2) - DéfinitionsLes ensembles flous (2) - Définitions
[ ]( )( ))( }{
( ) ( ) }{( ) ( ) }{ 1
0
,
1,0:
=!=
"!=
!=
#
#
xUxAnoy
xUxAsupp
UxxxA
xx
U
A
A
A
A
A
µ
µ
µ
µ
µnoyau = noy(A)
frontièrefrontière
support : supp(A)
1
0
#A(x)
x
( ) Uxx !"= ,0#µ
( ) UxxU
!"= ,11µ
12
– Les fonctions d’appartenance peuvent avoir diverses formes selon leur définition :
! triangulaire, trapézoïdale,
! Gaussienne,
! Sigmoïdes...
Les ensembles flous (3) - DéfinitionsLes ensembles flous (3) - Définitions
13
– Exemples :
Les ensembles flous (4) - DéfinitionsLes ensembles flous (4) - Définitions
[ ] [ ]
( )
( )
( )!!!
"
!!!
#
$
%=
<<&
=
'=
(
(
350
352015
20
201
1,0100,0:
xsix
xsix
x
xsix
x
jeune
jeune
jeune
jeune
µ
µ
µ
µ [ ] [ ]
( )
( )
( )
( )!!!
"
!!!
#
$
<<%
=
&&=
<<%
=
'&=
(
(
755520
55
55351
352015
20
75200
1,0100,0:
xsix
x
xsix
xsix
x
xouxsix
x
mûr
mûr
mûr
mûr
mûr
µ
µ
µ
µ
µ
[ ] [ ]
( )
( )
( )!!!
"
!!!
#
$
%=
<<&
=
'=
(
(
750
755520
55
550
1,0100,0:
xsix
xsix
x
xsix
x
vieux
vieux
vieux
vieux
µ
µ
µ
µ
14
– Exemples :
Les ensembles flous (5) - DéfinitionsLes ensembles flous (5) - Définitions
[ ] [ ]
( )
2
152
1
1,0100,0:
!"
#$%
&'(
=)
)
x
jeune
jeune
exx µ
µ
[ ] [ ]
( )
2
12
45
2
1
1,0100,0:
!"
#$%
& '('
=)
)
x
mûr
mûr
exx µ
µ
[ ] [ ]
( )
2
20
100
2
1
1,0100,0:
!"
#$%
& '('
=)
)
x
vieux
vieux
exx µ
µ
15
– Pour une variable x0 exacte, l’ensemble flou correspondant, noté x0 , doit être
représenté par un fait précis. On utilise un singleton. Sa fonction d’appartenance !
x0 est définie par :
Les ensembles flous (6) - DéfinitionsLes ensembles flous (6) - Définitions
[ ]
( )!"#
$=
=%
%
0
0
0
1
1,0:
0
0
xxsi
xxsixx
U
x
x
µ
µ
x0
1
0
#X0(x)
x
16
Logique floue : planLogique floue : plan
1. Introduction
2. Des prédicats flous
3. Opérations sur les ensembles flous
4. Comment implanter un raisonnement flou
5. Illustrations
17
Les ensembles flous (7) - OpérationsLes ensembles flous (7) - Opérations
! Opérations sur les ensembles flous
– Comme dans le cas des ensembles «classiques», les opérations logiques d’union (ou),d’intersection (et) et de complémentation (non) peuvent être appliquées auxensembles flous. Leur définition ne sont pas uniques.
– Les définitions les plus souvent rencontrées sont : le max et le min (Mandani), leproduit et la somme moins le produit (Sugeno)
– Exemple dans le cas Mandani
( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
( ) ( )
Uxpour
xxcasdeuxlesDans
xxxetxxxxxSugeno
xxxetxxxMandani
AA
BABABABABA
BABABABA
!
"=
#=#"+=
==
$%
$%
µµ
µµµµµµµµ
µµµµµµ
1:
:
),min(),max(:
1
0
#A∪B(x)
x
#A(x) #
B(x) 1
0
#A∩B(x)
x
#A(x) #
B(x) 1
0x
#A(x)#A (x)
1
0
#A∪B(x)
x
#A(x) #
B(x) 1
0
#A∩B(x)
x
#A(x) #
B(x) 1
0x
#A(x)#A (x)
18
Les ensembles flous (Les ensembles flous (8)8) - Notion de - Notion de T-normeT-norme
! Opérations sur les ensembles flous
– Des familles d’opérateurs autres que le maximum (U), le minimum (!)et le
complément à 1 (¬) ont été définis dans le domaine des espaces métriques
probabilisés
! Les T-normes (intersection)
– T(x,y) = T(y,x) (commutativité)
– T(x, T(y,z)) = T(T(x,y), z) (associativité)
– T(x,y) ! T(z,t) si x ! z et y ! t (monotonie)
– T(x,1) = x (élément neutre)
(Min satisfait ces propriétés)
! Les T-conormes (union)
– ⊥(x,y) = ⊥(y,x) (commutativité)
– ⊥(x, ⊥(y,z)) = ⊥(⊥(x,y), z) (associativité)
– ⊥(x,y) ! ⊥(z,t) si x ! z et y ! t (monotonie)
– ⊥(x,0) = x (élément neutre)
(Max satisfait ces propriétés)
19
! L’union d’un ensemble flou et de son complément ne donne pas l’univers du discours
! Propriétés des ensembles flous
– Comme dans le cas des ensembles «classiques», les ensembles flous possèdentcertaines propriétés.
– Les deux propriétés suivantes ne sont pas «classiques»
! L’intersection d’un ensemble flou et de son complément n’est pas vide
Les ensembles flous (Les ensembles flous (9)9) - Propriétés - Propriétés
( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( )
AAAAAAIdentité
AAAAAAeIdempotenc
CABACBACABACBAvitéDistributi
CBACBACBACBAitéAssociativ
ABBAABBAitéCommutativ
UUU =!=!="="
=!="
!"!="!"!"=!"
!!=!!""=""
!=!"="
1,,11,:
,:
,:
,:
,:
###
!"# AAioncontradictdeLoi :
1
0x
$#$∩A (x) $
UAAmiddleexcludedduLoi 1:"" !" 1
0x
$#$∪A (x) $
20
Logique floue : planLogique floue : plan
1. Introduction
2. Des prédicats flous
3. Opérations sur les ensembles flous
4. Comment implanter un raisonnement flou
1. Relations
2. Modus Ponens généralisé
3. Deffuzification
5. Illustrations
21
Les relations floues (1) - IntroductionLes relations floues (1) - Introduction
Variablesd’entrée
Fuzzification Raisonnementflou
Défuzzification
Base de règlesfloues
Méthoded’inférence
floue
Opérateurs delogique floue
Ensemblesflous
Défuzzificateur
Variablesde sortie
e1e2
em
u1u2
un
.. ..
Opérateurs delogique floue
Raisonnementflou
22
– Relation floue :
! Une relation floue sur deux univers U et V est un ensemble flou :
! On ne parle plus de fonction caractéristique mais de fonction d’appartenance.
! La relation floue est binaire si U=V
! Exemple :
– Soit l’univers U = { 1, 2, 3 }, la relation R « est approximativement égal à » peut-être définie
par :
– Notation matricielle :
Les relations floues (Les relations floues (2)2) - Définitions - Définitions
[ ]( ) ( )vuvu
VUR
R,,
1,0:
µ!
!"
{ } { } [ ]
( ) ( )!"
!#
$
=%
=%=
=&
&'
23,0
18,0
1
,,
1,03,2,13,2,1:
vusi
vusi
vusi
vuvu
R
Rµ
!!!
"
#
$$$
%
&
18.03.03
8.018.02
8.03.011
321
23
! Opérations sur les relations floues
– On définit l’union et l’intersection de deux relations floues par :
Les relations floues (Les relations floues (33) - Opérations) - Opérations
[ ]( ) ( )
[ ]( ) ( )vuvu
VUSet
vuvu
VURSoient
SR,,
1,0:
,,
1,0:
µµ !
!"
!
!"
( ) ( ) ( )
( ) ( ) ( )),,,min(,
),,,max(,
:
vuvuvuet
vuvuvu
MandanisensauAlors
SRSR
SRSR
µµµ
µµµ
=
=
!
" ( ) ( ) ( ) ( ) ( )
( ) ( ) ( )vuvuvuet
vuvuvuvuvu
SugenosensauAlors
SRSR
SRSRSR
,,,
,,,,,
:
µµµ
µµµµµ
!=
!"+=
#
$
24
! Exemple (cas Mandani) :
– R = « x est beaucoup plus grand que y », S = « x est très proche de y »
– R ∪ S = « x est beaucoup plus grand que y » ou « x est très proche de y »
Les relations floues (Les relations floues (44) - Opérations) - Opérations
( )!!!!
"
#
$$$$
%
&
=
8.07.019.0
008.00
7.01.01.08.0,
3
2
1
4321
x
x
x
yyyy
yxRµ ( )!!!!
"
#
$$$$
%
&
=
5.08.003.0
7.05.04.09.0
6.09.004.0,
3
2
1
4321
x
x
x
yyyy
yxSµ
( )!!!!
"
#
$$$$
%
&
=
!!!!
"
#
$$$$
%
&
!!!!
"
#
$$$$
%
&
!!!!
"
#
$$$$
%
&
='
LLLL
LLLL
LLLL
3
2
1
4321
3
2
1
4321
3
2
1
4321
5.08.003.0
7.05.04.09.0
6.09.004.0,
8.07.019.0
008.00
7.01.01.08.0max,
x
x
x
yyyy
x
x
x
yyyy
x
x
x
yyyy
yxSRµ
( )!!!!
"
#
$$$$
%
&
=
!!!!
"
#
$$$$
%
&
!!!!
"
#
$$$$
%
&
!!!!
"
#
$$$$
%
&
='
LLLL
LLLL
LLLL
3
2
1
4321
3
2
1
4321
3
2
1
4321
5.08.003.0
7.05.04.09.0
6.09.004.0,
8.07.019.0
008.00
7.01.01.08.0min,
x
x
x
yyyy
x
x
x
yyyy
x
x
x
yyyy
yxSRµ
!!!!
"
#
$$$$
%
&
=
8.08.019.0
7.05.08.09.0
7.09.01.08.0
3
2
1
4321
x
x
x
yyyy
!!!!
"
#
$$$$
%
&
=
5.07.003.0
004.00
6.01.004.0
3
2
1
4321
x
x
x
yyyy
– R ∩ S = « x est beaucoup plus grand que y » et « x est très proche de y »
25
– Soit une relation floue sur U ! V, la projection de R sur U (%U) et la projectionde R sur V (%V) sont définies par :
! Exemple :
Les relations floues (Les relations floues (55) - Opérations) - Opérations
( ) ( ){ } ( ) ( ){ }UuvuvetVvvuuAlorsRR
VU
!=!= "" ,sup,sup µµµµ
[ ]( ) ( )vuvu
VURSoit
R,,
1,0:
µ!
!"
( )!!!!
"
#
$$$$
%
&
=
8.07.019.0
008.00
7.01.01.08.0,
3
2
1
4321
x
x
x
yyyy
yxRµ
4321
8.07.019.0
yyyy+++=
321
8.018.0
xxx++=( )
!!"
!!#
$
!!%
!!&
'
(
))))
*
+
,,,,
-
.
=/ Yy
x
x
x
yyyy
xalorsX
8.07.019.0
008.00
7.01.01.08.0sup
3
2
1
4321
µ
( )
!!"
!!#
$
!!%
!!&
'
(
))))
*
+
,,,,
-
.
=/ Xx
x
x
x
yyyy
yetY
8.07.019.0
008.00
7.01.01.08.0sup
3
2
1
4321
µ
26
– On définit le produit cartésien de deux ensembles flous A et B par (Mandani) :
! Le produit cartésien de deux ensembles flous est une relation floue.
– La composition de deux relations floues est définie par (Mandani) :
Les relations floues (Les relations floues (66) - Opérations) - Opérations
[ ]( )
[ ]( )vv
VBet
uu
UASoient
BAµµ !
!
!
! 1,0:1,0:
( ) ( ) ( )),min(, vuvuAlorsBABA
µµµ =!
[ ]( ) ( )
[ ]( ) ( )wvwv
WVSet
vuvu
VURSoient
SR,,
1,0:
,,
1,0:
µµ !
!"
!
!"
( ) ( ) ( )( ){ }wvvuwuAlorsSR
Vv
SR,,,minsup, µµµ
!
=o
27
! Exemple (au sens Mandani)
– R = « x est beaucoup plus grand que y », S = « y est très proche de z »
Les relations floues (Les relations floues (77) - Opérations) - Opérations
( )!!!!
"
#
$$$$
%
&
=
8.07.019.0
008.00
7.01.01.08.0,
3
2
1
4321
x
x
x
yyyy
yxRµ ( )
!!!!!
"
#
$$$$$
%
&
=
5.07.06.0
8.05.09.0
04.00
3.09.04.0
,
4
3
2
1
321
y
y
y
y
zzz
zySµ
( )!!!!
"
#
$$$$
%
&
=
!!!!!
"
#
$$$$$
%
&
!!!!
"
#
$$$$
%
&
=
LLL
LLL
LLLo
o
3
2
1
321
4
3
2
1
321
3
2
1
4321
5.07.06.0
8.05.09.0
04.00
3.09.04.0
8.07.019.0
008.00
7.01.01.08.0,
x
x
x
zzz
y
y
y
y
zzz
x
x
x
yyyy
zxSRµ
!!!!
"
#
$$$$
%
&
=
7.09.07.0
04.00
5.08.06.0
3
2
1
321
x
x
x
zzz
– alors leur composition est R º S.
28
Logique floue : planLogique floue : plan
1. Introduction
2. Des prédicats flous
3. Opérations sur les ensembles flous
4. Comment implanter un raisonnement flou
1. Relations
2. Modus Ponens généralisé
3. Deffuzification
5. Illustrations
29
Le raisonnement flou (1) - IntroductionLe raisonnement flou (1) - Introduction
Variablesd’entrée
Fuzzification Raisonnementflou
Défuzzification
Base de règlesfloues
Méthoded’inférence
floue
Opérateurs delogique floue
Ensemblesflous
Défuzzificateur
Variablesde sortie
e1e2
em
u1u2
un
.. ..Raisonnementflou
Base de règlesfloues
Méthoded’inférence
floue
30
! Implication
– Règle floue :
! Si X est A alors Y est B
µA µB
– Fait observé :
! X est A’
µA’
– Conclusion:
! Y est B’
µB’
Le raisonnement flou (2) - Le problèmeLe raisonnement flou (2) - Le problème
Comment calculer µB’(y) en fonction de µA’(x) et de µA(x) ! µB(y) ?
31
! Implication
– Logique classique :
! p ⇒ q équivaut à ¬p ∨ q on obtient la table de vérité suivante :
– Logique floue :
! Il n’y a pas une définition unique !
! L’extension de la définition précédente est appelée l’implication de Kleene-Dienes :
– A ⇒ B équivaut à
! On utilise couramment l’implication de Mandani :
Le raisonnement flou (2) - ImplicationLe raisonnement flou (2) - Implication
( ) ( ) ( )( )vuvuBABA
µµµ ,1max, !="
1
1
0
1
0
1
0
1
0
0
1
1
qpqp !
( ) ( ) ( )( )vuvuBABA
µµµ ,min, =!
32
! Le raisonnement approximatif
– Théorie du raisonnement approximatif introduite par Zadeh en 1979.
– Concept de base : La représentation de propositions par des formules affectant des
ensembles flous comme valeurs aux variables.
– Soient deux variables x ∈ X et y ∈ Y, et une relation de cause à effet entre x et y,
parfaitement connue : y = f ( x ). Alors on peut effectuer l’inférence :
prémisse : y = f ( x )
Fait : x = x ’
Conséquence : y = f ( x ’ )
Le raisonnement flou (3) - Le raisonnement approximatifLe raisonnement flou (3) - Le raisonnement approximatif
33
– La plupart du temps, on ne connaît le lien de cause à effet f entre x et y qu’en
certaines valeurs x particulières. On a une base de règles :
"1 : si x = x1 alors y = y1 et
"2 : si x = x2 alors y = y2 et
...
"n : si x = xn alors y = yn
Il faut alors, connaissant x’ ∈ X, trouver y’ ∈ Y correspondant à x’ conformément à
la base de règles.
– Le problème de base du raisonnement approximatif est de trouver la fonctiond’appartenance de la conséquence C d’une base de règles { "1, …, "n } quand le
fait x est A."1 : si x est A1 alors y est C1
"2 : si x est A2 alors y est C2...
"n : si x est An alors y est Cn
Fait : x est A
Conséquence : y est C
Le raisonnement flou (4) - Le raisonnement approximatifLe raisonnement flou (4) - Le raisonnement approximatif
34
– La règle de raisonnement la plus importante est celle du modus podens généralisé.
! Modus podens :
implication : si x est A alors z est C
fait : x est A
conséquence : z est C
! Modus podens généralisé
implication : si x est A alors z est C
fait : x est A’
conséquence : z est C ’
où la conséquence C ’ est déterminée par la composition du fait et de l’implication :
! Au sens de Mandani, la fonction d’appartenance de la conséquence C ’ est définie par :
Le raisonnement flou (6) - Le raisonnement approximatifLe raisonnement flou (6) - Le raisonnement approximatif
( ) ( ) ( ) ( )( ){ } ZzzxxzsoitCAACCAA
Xx
C!="= "
!
,,,minsup'' '' µµµo
( ) ( ) ( ) ( )( )
( ) ( ) ( ) ( )( )( ){ } Zzzxxzsoit
zxzxetCAAC
CAA
Xx
C
CACA
!=
="=
!
"
,,min,minsup
,min,''
'' µµµµ
µµµo
35
! Application du raisonnement approximatif : l’inférence floue
– Règle d’inférence (au sens Mandani):
"1 : si x est A1 alors z est C1
fait : x est x0
conséquence : z est C1
où la conséquence C1 est déterminée par :
Le raisonnement flou (7) - Inférences flouesLe raisonnement flou (7) - Inférences floues
( ) ( ) ( ) ( )( )( ){ } ZzzxxzCAx
XxC
!=!
,,min,minsup110
1 µµµµ
1
0x
$1#$1
(x)1
0z
C1#C1
(z)
#C1
(z)
C1
x0
( ) ( ) ( )( ) ZzzxzsoitCAC
!= ,,min11
1 0 µµµ
( ) ( ) ( ) ( ) ( )( )( ) ZzzxxzdoncxxxorCAxCx
!="#= ,,min,min,0110
10
000 µµµµµ
36
– Agrégation des règles (au sens Mandani):"1 : si x est A1 alors z est C1
"2 : si x est A2 alors z est C2 où la conséquence C est déterminée par :
...
"n : si x est An alors z est Cn
Fait : x est x0
Conséquence : z est C
Le raisonnement flou (8) - Inférences flouesLe raisonnement flou (8) - Inférences floues
( ) ( )( ) Zzzz iC
niC
!==
,max,1
µµ
1
0x
$1#$1
(x)1
0z
C1#C1
(z)
#C1 (z)
C1
x0
( ) ( ) ( )( )( ) ZzzxzsoitiiCA
niC
!==
,,minmax 0,1
µµµ
x0
1
0x
$2#$2
(x)
1
0z
#C1 (z)
C1
z
1
0
C2#C2
(z)
#C2 (z)
C2
#C2 (z) C2
#C (z)
C
37
– Prémisses composées :
! Si les prémisses sont composées, on utilise l’union pour le ou et l’intersection pour le
et afin de déterminer la fonction d’appartenance de la condition.
! Exemple :
"1 : si x est A1 et y est B1 alors z est C1
"2 : si x est A2 ou y est B2 alors z est C2
Fait : x est x0 et y est y0
Conséquence : z est C
où la conséquence C est déterminée par (Mandani) :
Le raisonnement flou (9) - Inférences flouesLe raisonnement flou (9) - Inférences floues
( ) ( ) ( )( ) ZzzyxzCCC != ,,,max 21 µµµ
( ) ( ) ( )( ) ( ) ( )( )( ) Zzzyxzyxzsoit CBACBAC != "# ,,,min,,,minmax222111 0000 µµµµµ
( ) ( ) ( )( ) ( )( ) ( ) ( )( ) ( )( )( )zyxzyxz
Zzpourencoresoit
CBACBAC 222111,,maxmin,,,minminmax 0000 µµµµµµµ =
!
38
Le raisonnement flou (10) - Inférences flouesLe raisonnement flou (10) - Inférences floues
#C1 (z)
C1
x0
x0
#C2 (z) C2
1
0x
$1#$1
(x)1
0z
C1#C1
(z)1
0y
&1#&1
(y)
y0
1
0x
$2#$2
(x)
z
1
0
C2#C2
(z)1
0y
&2#&2
(y)
y0
1
0z
#C1 (z)
C1
#C (z)
C
ET
OU#C2 (z)
C2
"1 : si x est A1 et y est B1 alors z est C1
"2 : si x est A2 ou y est B2 alors z est C2
Fait : x est x0 et y est y0
Conséquence : z est C
39
Logique floue : planLogique floue : plan
1. Introduction
2. Des prédicats flous
3. Opérations sur les ensembles flous
4. Comment implanter un raisonnement flou
1. Relations
2. Modus Ponens généralisé
3. Deffuzification
5. Illustrations
40
La La défuzzification défuzzification (1) - Introduction(1) - Introduction
Variablesd’entrée
Fuzzification Raisonnementflou
Défuzzification
Base de règlesfloues
Méthoded’inférence
floue
Opérateurs delogique floue
Ensemblesflous
Défuzzificateur
Variablesde sortie
e1e2
em
u1u2
un
.. ..
Défuzzificateur
Défuzzification
41
! Définition
– L’objectif de la défuzzification est de transformer un ensemble flou en en une valeur
de commande. Soit C un ensemble flou, et defuzz l’opérateur de défuzzification :
zu = defuzz(C), est une valeur précise.
– Les opérateurs de défuzzification sont nombreux, citons par exemple :
! Le centre de gravité (très souvent employée)
! La moyenne des maximums
La La défuzzification défuzzification (2) - Définition(2) - Définition
( )
( )
( )
( )!
!
"
" #
=#
##
=
Z
iC
Z
iCi
u
Z
C
Z
C
uw
ww
zoudww
dwww
zµ
µ
µ
µ
( ) ( )( )
( ) ( )( )jCZz
iCi
N
iiu
CZz
C
G
Gu
zzetZzoùzN
z
ouzgZgGoùdw
dww
z
j
µµ
µµ
max,1
,max,
1 !=
!
=!=
"#$
%&'
=!=
(
=
)
*
*
1
0z
#C (z) C
zu
42
Logique floue : planLogique floue : plan
1. Introduction
2. Des prédicats flous
3. Opérations sur les ensembles flous
4. Comment implanter un raisonnement flou
1. Relations
2. Modus Ponens généralisé
3. Deffuzification
5. Illustration : contrôle flou
43
Variablesd’entrée
Fuzzification Raisonnementflou
Défuzzification
Base de règlesfloues
Méthoded’inférence
floue
Opérateurs delogique floue
Ensemblesflous
Défuzzificateur
Variablesde sortie
e1e2
em
...
u1u2
un
...Post-traitementPré-traitement
Régulation Floue (1) - IntroductionRégulation Floue (1) - Introduction
! Rappelons la structure classique d’un régulateur flou
Régulateur flou+
-
c e uSystème
y
Pré-traitement Post-traitementFuzzification
Base de règlesfloues
Défuzzification
44
! Pré-traitement
– Les mesures en entrée doivent être conditionnées :
! Quantification, échantillonnage … ;
! Normalisation, mise à l’échelle ;
! Filtrage ;
! Moyennage pour obtenir des tendances ;
! combinaison pour obtenir des indicateurs ;
! différentiation, intégration ou leurs équivalents discrets.
– Univers du discours :
! Il contient tous les éléments qui seront pris en considération.
! Il est continu ou discret.
! Univers standard : utilisation de la mise à l ’échelle, d’une limitation (éventuellement).
Régulation Floue (2) - Régulation Floue (2) - Pré-traitementPré-traitement
45
! Fuzzification
– Conversion des données en entrée en degré d’appartenance par l’intermédiaire de
fonctions d’appartenance.
– Permet de déterminer le degré de confiance de chacune des conditions des règles
pour la valeur de l’entrée (instance).
– Il y a un degré d’appartenance par terme linguistique s’appliquant à l ’entrée.
Régulation Floue (3) - Régulation Floue (3) - FuzzificationFuzzification
46
– Fonctions d’appartenance! Comment doit-on déterminer la forme des ensembles ?
! Combien d’ensembles sont nécessaires et suffisants ?
! Un terme doit être suffisamment «large» pour autoriser du bruit de mesure
! Un certain degré de recouvrement est nécessaire pour éviter des états mal définis conduisantà des sorties mal définies.
! Commencer par des ensembles triangulaires symétriques et trois ensembles pour chaquevariable. Plus de sept ensembles n’apporte aucune amélioration.
! Pour les variables d’entrée :– Choisir les largeurs de façon à ce que chaque valeur de l’univers appartienne à deux ensembles au
moins ; excepté pour les extrémités.
– S ’il y a un « trou » entre deux ensembles, aucune règle ne se trouve activée pour ces valeurs, lafonction de régulation n’est pas définie.
! Pour la variable de sortie :
– Les «trous» sont souhaitables.
– Si la fonction est définie sous forme de singletons, alors le calcul est plus simple, on peut utiliser lescommandes maximales (obtention d’un phénomène transitoire rapide en cas de grandes variations),l’écriture des règles est plus intuitive.
Régulation Floue (4) - Régulation Floue (4) - FuzzificationFuzzification
47
! Base de règles
– Les règles peuvent mettre en jeu plusieurs variables dans leurs conditions et leurs
conclusions.
– Le contrôleur nécessite, en général, en entrée l’erreur et la dérivée de l’erreur :
! Représentation sous forme de règles :
si l’erreur est négative et la dérivée de l’erreur est négative alors la sortie est très négative
si l’erreur est négative et la dérivée de l’erreur est nulle alors la sortie est négative
si l’erreur est négative et la dérivée de l’erreur est positive alors la sortie est nulle
si l’erreur est nulle et la dérivée de l’erreur est négative alors la sortie est négative
si l’erreur est nulle et la dérivée de l’erreur est nulle alors la sortie est nulle
si l’erreur est nulle et la dérivée de l’erreur est positive alors la sortie est positive
si l’erreur est positive et la dérivée de l’erreur est négative alors la sortie est nulle
si l’erreur est positive et la dérivée de l’erreur est nulle alors la sortie est positive
si l’erreur est positive et la dérivée de l’erreur est positive alors la sortie est très positive
Régulation Floue (5) - Base de règlesRégulation Floue (5) - Base de règles
48
! Représentation sous forme de relations :
erreur dérivée de l’erreur sortie
négative négative très négative
négative nulle négative
négative positive nulle
nulle négative négative
nulle nulle nulle
nulle positive positive
positive négative nulle
positive nulle positive
positive positive très positive
! Représentation sous forme de table :
dérivée de l’erreur
négative nulle positive
négative très négative négative nulle
erreur nulle négative nulle positive
positive nulle positive très positive
– Dans le cas ou une case est vide, cela signifie qu’il manque une règle.
Régulation Floue (6) - Base de règlesRégulation Floue (6) - Base de règles
49
– Connexions :
! les connexions et et ou sont en général définies par :
– A et B : min ( A , B ) A ou B : max ( A , B )
ou
– A et B : A * B A ou B : A + B - A * B
– Inférence :
! détermination du degré d’appartenance de chacune des conditions des règles ,
! activation de la règle, détermination de la conséquence (min)
! agrégation des règles (max)
! La méthode choisie à peu d ’influence sur le résultat.
Régulation Floue (7) - Bases de règlesRégulation Floue (7) - Bases de règles
50
! Défuzzification
– Utilisation de différentes méthodes :
! centre de gravité, centre de gravité pour les singletons,
! bissectrice
! moyenne des minimums …
! calcul facilité lorsque les les fonctions d’appartenance de la variable de sortie sont disjointes.
! Post-traitement
– la mise à l ’échelle de la sortie doit être effectuée pour que la valeur de sortie définie
sur un univers de discours soit transformée en valeur de commande physique.
Régulation Floue (8) - Régulation Floue (8) - Défuzzification Défuzzification - Post-traitement- Post-traitement
51
– B. Bouchon-Meunier : « La logique floue ». PUF « Que Sais-Je ? »
– L. Gacogne : « Éléments de logique floue ». Hermès, 1997.
– M. Stefick : « Introduction to Knowledge Systems ». Morgan Kaufmann, 1995.
Logique Floue : bibliograpLogique Floue : bibliographiehie