3 4
! Un peu dhistoire
1. Introduction 1965 L. A. Zadeh Fuzzy sets
1975 E. H. Mandani Exprimentation dun rgulateur flou
2. Des prdicats flous 1985 M. Sugeno Applications industrielles possibles
1995 J. S. R. Jang Logique floue largie aux systmes rseaux de
neurones et l Intelligence Artificielle.
3. Oprations sur les ensembles flous
4. Comment implanter un raisonnement flou ! Les ensembles flous : extension des ensembles classiques (crisp set)
5. Illustrations
5 6
! Structure classique dun rgulateur flou ! Exemple : dplacement du robot le long du mur
!
c + e u y
Rgulateur flou Systme Si la distance est petite, tourner gauche (angle ngatif) d
- Si la distance est autour de 10 cm, garder la direction actuelle
Si la distance est grande, tourner droite (angle positif)
Oprateurs de
logique floue
7 8
! Des exemples dapplications dans le domaine industriel ! Quand utiliser un rgulateur flou ?
1979 Cimenterie au Danemark Difficult (ou incapacit) de modliser le processus : processus complexes, processus
1987 Mtro de Sendai (Hitachi) non linaires.
Cot de la modlisation en terme de temps, moyens trop lev.
1990 Conduite de hauts-fourneaux Dunkerque
Amlioration des performances de rgulateurs linaires.
1992 Usine de papier au Portugal
Produits de consommation courante
! Points forts
! Autocuiseurs de riz, aspirateurs, machines laver, systme de climatisation
Structure simple, cot de la synthse et de limplmentation faible.
! Appareils photos : autofocus, autoexposition, autozoom (Canon, Minolta).
Proche du langage courant, facilit de modification.
! Camras : autofocus, autoexposition, stabilisateur dimage (Sanyo, Canon, Matsushita).
! Photocopieurs : qualit dimage, distribution dencre (Sanyo, Canon, Ricoh).
Industrie automobile ! Ides fausses
! rgulation du moteur, systme de transmission, systme de suspension, ABS, climatisation. Permet de rguler un processus sans aucune notion de rgulation.
! Il faut des bases ...
Ascenseur : temps dattente rduit, ascension et arrt plus rgulier (Hitachi)
Permet de traiter de connaissances imprcises
...
! rgulateur dterministe, exprime une relation dterministe entre ses entres et ses sorties,
! fonction non linaire dfinie de faon intuitive, intelligible, ayant une signification prcise.
9 10
1. Introduction
Oprateurs de
2. Des prdicats flous logique floue
11 12
Les ensembles flous (2) - Dfinitions Les ensembles flous (3) - Dfinitions
Les fonctions dappartenance peuvent avoir diverses formes selon leur dfinition :
! Dfinitions
! triangulaire, trapzodale,
Un ensemble flou A est dfini sur un univers de discours U (ensemble
dlments discrets ou continus) par sa fonction dappartenance !A. La
grandeur !A(x) dfinit le degr dappartenance de llment x l ensemble A.
A : U # [0 , 1]
noyau = noy(A)
x # A (x ) #A(x)
1 ! Gaussienne,
A= {(x, A (x )) x !U }
supp (A ) = {x !U A (x ) " 0 } 0
x
frontire frontire
noy (A ) = {x !U A (x ) = 1 } support : supp(A)
! Sigmodes...
Lensemble flou vide est not " , il est dfini par : # (x ) = 0, " x ! U
Le plus grand ensemble flou sur U est not 1U , il est dfini par : 1U (x ) = 1, " x ! U
13 14
Les ensembles flous (4) - Dfinitions Les ensembles flous (5) - Dfinitions
Exemples : Exemples :
2 % 15 "
! ! x % 20 x ) jeune (x ) = e
! !! mr (x ) = si 20 < x < 35
! 20 & x x ( # 15
x ( # jeune (x ) = si 20 < x < 35
! 15 ! mr (x ) = 1 si 35 & x & 55
! (x ) = 55 % x si 55 < x < 75
mr : [ 0 , 100 ] ) [0,1 ]
! (x ) = 0 si x % 35 ! mr
! jeune " 20 1 & x ' 45 #
2
' ($
" 2 % 12 "
!
x ) mr (x ) = e
vieux : [ 0 , 100 ] ( [0 ,1 ]
$ vieux (x ) = 0 si x ' 55 vieux : [ 0 , 100 ] ) [0,1 ]
! 1 & x ' 100 #
2
' ($
! 2 % 20 "
!
! x & 55 x ) vieux (x ) = e
x ( # vieux (x ) = si 55 < x < 75
! 20
!
vieux (x ) = 0 si x % 75
!
"
15 16
Pour une variable x0 exacte, lensemble flou correspondant, not x0 , doit tre
1. Introduction
reprsent par un fait prcis. On utilise un singleton. Sa fonction dappartenance !
#X0(x)
x0 : U % [0 , 1] 1
3. Oprations sur les ensembles flous
1 si x = x0
x % x0 (x ) = #" 4. Comment implanter un raisonnement flou
! 0 si x $ x0
0
x0 x
5. Illustrations
17 18
! Oprations sur les ensembles flous ! Oprations sur les ensembles flous
Comme dans le cas des ensembles classiques, les oprations logiques dunion (ou), Des familles doprateurs autres que le maximum (U), le minimum (!)et le
dintersection (et) et de complmentation (non) peuvent tre appliques aux complment 1 () ont t dfinis dans le domaine des espaces mtriques
ensembles flous. Leur dfinition ne sont pas uniques.
probabiliss
Les dfinitions les plus souvent rencontres sont : le max et le min (Mandani), le
Les T-normes (intersection)
produit et la somme moins le produit (Sugeno) !
19 20
0
x
21 22
Relation floue :
! Une relation floue sur deux univers U et V est un ensemble flou :
R : U " V ! [0 , 1]
Oprateurs de (u, v ) ! R (u, v )
logique floue
! On ne parle plus de fonction caractristique mais de fonction dappartenance.
Mthode
Ensembles Base de rgles La relation floue est binaire si U=V
dinfrence Dfuzzificateur !
flous floues
floue ! Exemple :
Variables Variables Soit lunivers U = { 1, 2, 3 }, la relation R est approximativement gal peut-tre dfinie
de sortie par : R : {1, 2, 3 }' {1, 2, 3 }& [0 , 1]
dentre
e1 u1 $ 1 si u = v
e2 .. Fuzzification Raisonnement Dfuzzification .. u2 (u, v ) !
& R (u, v ) = # 0,8 si u % v = 1
em flou un !" 0,3 si u % v = 2
Notation matricielle :
& 1 2 3#
$1 1 0.3 0.8 !
$2 0.8 1 0.8 !
$3 0.3 0.8 1 !"
%
23 24
& y1 y 2 y3 y 4 # & y1 y2 y3 y4 #
$x $x 0.6 !
On dfinit lunion et lintersection de deux relations floues par : 0.8 0.1 0.1 0.7 ! S (x, y ) = $ 1
0.4 0 0.9
!
R (x, y ) = $ 1 !
x2 0 0.8 0 0 ! $$ x2 0.9 0.4 0.5 0.7 !
$$ x 0.9 1 0.7 0.8 !" % x3 0.3 0 0.8 0.5 !"
R : U " V ! [0 , 1] S : U " V ! [0 , 1] % 3
Soient et
(u, v ) ! R (u, v ) (u, v ) ! S (u, v ) R S = x est beaucoup plus grand que y ou x est trs proche de y
Soit une relation floue sur U ! V, la projection de R sur U (%U) et la projection On dfinit le produit cartsien de deux ensembles flous A et B par (Mandani) :
de R sur V (%V) sont dfinies par :
A : U ! [0 , 1] B : V ! [0 , 1]
Soient et
R : U " V ! [0 , 1] u ! A (u ) v ! B (v )
Soit
(u, v ) ! R (u, v )
Alors A ! B (u , v ) = min( A (u ), B (v ))
Alors " U (u ) = sup { R (u , v ) v ! V } et " V (v ) = sup { R (u , v ) u ! U }
! Le produit cartsien de deux ensembles flous est une relation floue.
! Exemple :
& y1 y 2 y3 y 4 # '. y1 y 2 y3 y 4 + $
$x 0.1 0.1 0.7 !
R (x, y ) = $ 1
0.8 !! , x1 0.8 0.1 0.1 0.7 ) !! 0.8 1 0.8 La composition de deux relations floues est dfinie par (Mandani) :
! alors / X (x ) = sup & ,x ) y (Y # = + +
$$ x2 0 0.8 0 0 !
! ,, 2
0 0.8 0 0 )
! x1 x2 x3
% x3 0.9 1 0.7 0.8 !" %! - x3 0.9 1 0.7 0.8 )* "! R : U " V ! [0 , 1] S : V " W ! [0 , 1]
Soient et
(u, v ) ! R (u, v ) (v, w) ! S (v, w)
'. y1 y 2 y3 y 4 + $
!! , x 0.8 0.1 0.1 0.7 ) !! 0.9 1 0.7 0.8
et / Y (y ) = sup & , 1 ) x( X # = + + + Alors R o S (u , w) = sup { min ( R (u , v ), S (v, w) ) }
x 0 0.8 0 0 ) y1 y2 y3 y4
! ,, 2 ! v!V
!% - x3 0.9 1 0.7 0.8 )* !"
27 28
5. Illustrations
29 30
! Implication
Rgle floue :
Oprateurs de ! Si X est A alors Y est B
logique floue A B
Fait observ :
Mthode
Ensembles Base de rgles X est A
dinfrence Dfuzzificateur !
flous floues
floue A
Variables Variables Conclusion:
dentre de sortie
e1 u1 ! Y est B
e2 .. Fuzzification Raisonnement Dfuzzification .. u2 B
em flou un
Comment calculer B(y) en fonction de A(x) et de A(x) ! B(y) ?
31 32
Le raisonnement flou (4) - Le raisonnement approximatif Le raisonnement flou (6) - Le raisonnement approximatif
La plupart du temps, on ne connat le lien de cause effet f entre x et y quen La rgle de raisonnement la plus importante est celle du modus podens gnralis.
certaines valeurs x particulires. On a une base de rgles : ! Modus podens :
"1 : si x = x1 alors y = y1 et implication : si x est A alors z est C
fait : x est A
"2 : si x = x2 alors y = y2 et
consquence : z est C
...
! Modus podens gnralis
"n : si x = xn alors y = yn
implication : si x est A alors z est C
Il faut alors, connaissant x X, trouver y Y correspondant x conformment
fait : x est A
la base de rgles. consquence : z est C
Le problme de base du raisonnement approximatif est de trouver la fonction o la consquence C est dtermine par la composition du fait et de limplication :
dappartenance de la consquence C dune base de rgles { " 1, , " n } quand le C ' = A' o ( A " C ) soit C ' ( z )= sup {min ( A ' (x ), A" C (x, z ) )} , z!Z
fait x est A. x! X
"1 : si x est A1 alors y est C1
" 2 : si x est A2 alors y est C2 ! Au sens de Mandani, la fonction dappartenance de la consquence C est dfinie par :
...
C ' = A' o ( A " C ) et A" C (x, z ) = min ( A (x ) , C (z ) )
"n : si x est An alors y est Cn
Fait : x est A
soit C ' ( z )= sup {min ( A ' (x ), min ( A (x ) , C (z ) ) )} , z!Z
Consquence : y est C x! X
35 36
Le raisonnement flou (7) - Infrences floues Le raisonnement flou (8) - Infrences floues
! Application du raisonnement approximatif : linfrence floue Agrgation des rgles (au sens Mandani):
"1 : si x est A1 alors z est C1
Rgle dinfrence (au sens Mandani): "2 : si x est A2 alors z est C2 o la consquence C est dtermine par :
"1 : si x est A1 alors z est C1 (
...
C ( z )= max C i ( z )) , z!Z
"n : si x est An alors z est Cn i = 1, n
fait : x est x0
Fait : x est x0 soit C ( z )= max (min ( Ai (x0 ) , C i (z ) )) , z!Z
consquence : z est C1 Consquence : z est C i = 1, n
#C1 (z)
o la consquence C1 est dtermine par : #$1 (x) $1 #C1 (z) C1
1 1
C 1 (z ) =
x! X
{ (
sup min x
0
(x ), min ( A (x ), C (z ) ))} ,
1 1
z!Z C1
0 0
or x
0
(x ) = 0, # x " x0 donc C 1 (z ) = (
min x
0
(x0 ), min ( A (x0 ), C (z ) ))
1 1
, z!Z
x0
x #C2 (z) z
Le raisonnement flou (9) - Infrences floues Le raisonnement flou (10) - Infrences floues
Prmisses composes :
! Si les prmisses sont composes, on utilise lunion pour le ou et lintersection pour le
#C1 (z)
et afin de dterminer la fonction dappartenance de la condition. #$1 (x) $1 #&1 (y) &1 ET #C1 (z) C1
1 1 1
! Exemple : C1
0 0 0
"1 : si x est A1 et y est B1 alors z est C1 x y0 y z
x0
"2 : si x est A2 ou y est B2 alors z est C2 OU #C2 (z)
Fait : x est x0 et y est y0 $2 &2 C2 C2
#$2 (x) #&2 (y) #C2 (z)
Consquence : z est C 1 1 1
soit C ( z )= max (min ( A1 # B1 (x0 , y0 ) , C1 (z ) ), min ( A2 " B2 (x0 , y0 ) , C 2 (z ) ) ) , z!Z #C1 (z)
#C2 (z) C C2
1
#C (z)
soit encore pour z ! Z "1 : si x est A1 et y est B1 alors z est C1 C1
"2 : si x est A2 ou y est B2 alors z est C2
C ( z ) = max (min (min ( A1 (x0 ), B1 (y0 ) ), C1 (z ) ), min (max( A2 (x0 ), B2 (y0 ) ), C 2 (z ) ) ) 0
Fait : x est x0 et y est y0 z
Consquence : z est C
39 40
1. Introduction
Oprateurs de
2. Des prdicats flous logique floue
5. Illustrations
41 42
! Dfinition
Lobjectif de la dfuzzification est de transformer un ensemble flou en en une valeur
1. Introduction
de commande. Soit C un ensemble flou, et defuzz loprateur de dfuzzification :
zu = defuzz(C), est une valeur prcise.
2. Des prdicats flous
Les oprateurs de dfuzzification sont nombreux, citons par exemple :
! Le centre de gravit (trs souvent employe) 3. Oprations sur les ensembles flous
" w # C (w)# dw ! wi # C (wi )
Z Z
zu = ou zu =
" C (w)# dw ! C (wi ) 4. Comment implanter un raisonnement flou
Z Z
43 44
Fonctions dappartenance
Comment doit-on dterminer la forme des ensembles ?
Fuzzification
!
!
! Combien densembles sont ncessaires et suffisants ?
! Commencer par des ensembles triangulaires symtriques et trois ensembles pour chaque
Permet de dterminer le degr de confiance de chacune des conditions des rgles variable. Plus de sept ensembles napporte aucune amlioration.
pour la valeur de lentre (instance). ! Pour les variables dentre :
Choisir les largeurs de faon ce que chaque valeur de lunivers appartienne deux ensembles au
moins ; except pour les extrmits.
Il y a un degr dappartenance par terme linguistique sappliquant l entre. S il y a un trou entre deux ensembles, aucune rgle ne se trouve active pour ces valeurs, la
fonction de rgulation nest pas dfinie.
! Pour la variable de sortie :
Les trous sont souhaitables.
Si la fonction est dfinie sous forme de singletons, alors le calcul est plus simple, on peut utiliser les
commandes maximales (obtention dun phnomne transitoire rapide en cas de grandes variations),
lcriture des rgles est plus intuitive.
47 48
Rgulation Floue (5) - Base de rgles Rgulation Floue (6) - Base de rgles
Dans le cas ou une case est vide, cela signifie quil manque une rgle.
49 50
Rgulation Floue (7) - Bases de rgles Rgulation Floue (8) - Dfuzzification - Post-traitement
Connexions : ! Dfuzzification
les connexions et et ou sont en gnral dfinies par :
!
Utilisation de diffrentes mthodes :
A et B : min ( A , B ) A ou B : max ( A , B )
! centre de gravit, centre de gravit pour les singletons,
ou ! bissectrice
A et B : A * B A ou B : A + B - A * B ! moyenne des minimums
! calcul facilit lorsque les les fonctions dappartenance de la variable de sortie sont disjointes.
Infrence :
51