Vous êtes sur la page 1sur 33

DIC9315, Sujets spéciaux en intelligence

artificielle et reconnaissance des formes

Introduction à la logique floue

Mounir Boukadoum
Et si Bouddha avait raison ?…
« Tout doit toujours être ou ne pas être »
Aristote

« …Le monde n’est ni éternel ni éphémère, ni fini ni infini »


Bouddha
Flou ne signifie pas imprécis ou inconnu!
Exemple :
X : taille d’une personne exprimée par une variable t
X(t) : vraisemblance de t par rapport à X

X est flou si X(t) [0, 1] pour X est imprécis si X(t) = 1 pour


t dans l’intervalle donné t dans [t0, t1], 0 ailleurs
X est précis Si X(t)=1 X est inconnu si X(t) = 1
pour la valeur donnée et pour toute valeur de t
0 autrement X(t)
Jalons historiques
 Années 1930, : Jan Lukasiewicz
 Logique à valeurs multiples; des valeurs dans l’intervalle [0,1]
représentent la possibilité qu’une affirmation soit vraie ou fausse.
 Si 0.86 exprime le degré de possibilité qu’un homme de taille 1.81 m soit
très grand, il est vraisemblable qu’il l’est.
 A mené au paradigme de la théorie des possibilités.
 1937 : Max Black
 Un continuum de valeurs logiques implique des degrés sémantiques.
 Une chaise ressemble à une autre chaise moins parfaite, qui ressemble
à une chaise encore moins parfaite, qui … ressemble à un tronc d’arbre.

 On peut donc définir un “degré de chaiseté”.


 1965 : Lotfi Zadeh étend la théorie des possibilités à un système logique
formel qui utilise des termes tirés du langage naturel. La manière de traiter
les termes est appelée fuzzy logic.
Flou mais logique !
 Logique floue :
Ensemble de principes mathématiques pour la représentation et
la manipulation des connaissances en se basant sur des degrés
d’appartenance compris dans [0,1]
 Après fuzzy sets en 1965, Lotfi Zadeh publie, en 1973 , un autre
article qui montre comment capturer la connaissance humaine à
l’aide de règles floues.

0 0 0 1 1 1 0 0 0.2 0.4 0.6 0.8 1 1


(a) Boolean Logic. (b) Multi-valued Logic.
Que vaut une affirmation floue ?
« Il fait chaud aujourd’hui»
 Chaud = ?
 C’est une question d’appréciation :
 T=50oC : Vous aimez les euphémismes !
 T=40oC : un peu trop à mon goût !
 T=30oC : oui
 T=20oC : un peu
 T=10oC : Ouai !
 T= 0oC : Pour un Canadien, peut-être !
 T=-10oC : Vous voulez rire !
 On peut trancher en associant un degré de vérité de chaque valeur de T
relativement à « chaud »
Degré de vérité d’une affirmation
 En logique binaire, une affirmation est vraie ou fausse ; son
degré de vérité vaut 1 ou 0.
Valeur Signification
1 Absolument vrai
0 Absolument faux
 En logique floue, une affirmation est plus ou moins vraie
(donc, plus ou moins fausse); son degré de vérité varie entre 0
et 1.
Degré de vérité Signification
0.0 Absolument faux
0.2 Plutôt faux
0.4 Quelque peu faux
0.6 Quelque peu vrai
0.8 Plutôt vrai
1.0 Absolument vrai
Exemple
 Température T Degré de vérité pour CHAUD : Chaud(T)
<-10oC 0.0
-5oC 0.1
0oC 0.2
5oC 0.3
10oC 0.4
15oC 0.5
20oC 0.6
25oC 0.7
30oC 0.8
35oC 0.9
>40oC 1.0
Exemple continué
 On peut résumer le tableau par le tracé d’une fonction d’appartenance :

 La fonction d’appartenance formalise la relation entre les valeurs précises


(mesurées, calculées, etc.) d’une variable d’entrée/sortie et un label flou (dit aussi
valeur symbolique ou linguistique ; e.g. CHAUD)
 Une variable d’e/s peut être associée à plusieurs labels ; L’ensemble des labels
définit alors les valeurs floues (linguistiques) de la variable.
 Pour chaque label, la fonction d’appartenance représente le degré de vérité des
valeurs précises d’une variable d’e/s par rapport au label .
Éléments d’un système à logique floue
 Un système à logique floue comprend :
 Des variables d’e/s,
 Des labels qui représentent les valeurs floues de chaque variable,
 Des fonctions qui définissent le degré d’appartenance des valeurs des
variables aux labels.
 Une valeur mesurée peut appartenir à plusieurs labels, avec des
degrés divers. Par exemple, pour T=6 oC et T=30 oC on a :

 FROID(6) =.6, TIÈDE(6) =.05, CHAUD(6)=0


 FROID(30)= 0, TIÈDE(30)=.3, CHAUD(30)=.8
Petit détour formel
 Un ensemble flou A sur un univers de discours X est un
ensemble de paires ordonnées :

A  {( x ,  A ( x ))| x  X }

Fonction d’appartenance Univers de


Ensemble flou
(FA) discours
 A est tel que tout x en est membre à un degré entre 0 et 1
 A est entièrement caractérisé par sa fonction d’appartenance
 Concrètement, A est un attribut qualitatif (valeur floue ou
linguistique) que l’on associe avec les valeurs précises d’une
variable numérique x
Petit détour formel II

 Une variable floue (dite aussi linguistique) est un quintuplet


{ x, T(x), X, G, M } où
 x est le nom de la variable : ex. âge
 T(x) est l’ensemble de ses valeurs (répartition):
ex. T(âge) = {jeune, moins jeune, très jeune, ...}
 X est l’univers de discours : ex. X = [0-100]
 G est une règle syntaxique qui définit l’ensemble T(x)
 M est une règle sémantique qui associe un ensemble flou
avec chaque élément de T(x)
ex. : M(jeune), M(vieux)…)
Petit détour formel III

 Une relation floue R est un ensemble flou défini sur le


produit cartésien de deux univers de discours X et Y :

R  {(( x , y ),  R ( x , y ))|( x , y )  X  Y }
 Permet d’exprimer une relation qualitative entre deux
variables numériques :
 x est près de y (nombres)
 x dépend de y (évènements)
 x et y se ressemblent (personnes ou objets)
Petit détour formel (le dernier ! )

 Répartition floue : distribution des ensembles flous sur l’univers de discours


 Exemple : Répartition floue des valeurs linguistiques “jeune”, “ni jeune ni
vieux”, et “vieux”:
Opérations en logique floue
 Le langage humain comprend aussi bien des affirmations
simples (« Le taux de chômage est élévé ») que composées
(« La crise économique est sévère et ET les différentes
communautés en souffrent pareillement »)
 Comment évaluer le degré de vérité d’une affirmation
composée ?
Affirmation Degré de vérité
(fonction d’appartenance)
X (X)
Y (Y)
X ET Y min((X), (Y))
X OU Y max((X), (Y))
non-X 1- (X)
Exemples d’opérations floues
 X= « La température est élevée »
 Y= « La couche de glace est faible »
Logique Logique
binaire floue
X Y XY X+Y XY X+Y
1 1 1 1 1 1
1 0 0 1 0 1
0 1 0 1 0 1
0 0 0 0 0 0
0.7 1 0.7 1
0.7 0.8 0.7 0.8
0.7 0 0 0.7
0.5 0.5 0.5 0.5
Règles d’inférence floues
 Syntaxe identique à celle de la logique binaire :
SI <condition> ALORS <conséquence>
<condition> est une affirmation simple ou composée.
 Ex. :Régulateur de température dont les variables sont :
 temp = la température ambiante
 vac = vitesse de rotation d’un ventilateur d’air chaud
 vaf = vitesse de rotation d’un ventilateur d’air frais
Les règles d’inférence peuvent être :
 Si temp est haute alors vac est nulle
 Si temp est haute alors vaf est grande
 Si temp est basse alors vac est grande
 Si temp est basse alors vaf est nulle
Propriétés des règles floues
 L’évaluation des règles se fait sur les valeurs des () et non sur les
valeurs des variables d’e/s.
 Lorsqu’on a des conditions composées, on peut regrouper les règles
dans une table, la matrice cognitive floue (« Fuzzy Cognitive Matrix » ou
FCM).
Valeurs de la variable indépendante 1

valeurs Valeurs de la variable conditionnelle


de la valeur indépendante 2

 La variable conditionnelle sert à prendre une décision (commander un


actionneur, tirer une conclusion, classer une entrée, etc.) et les variables
indépendantes sont tirées de valeurs mesurées (valeurs de ()
correspondantes).
Étapes de conception d’un système
d’inférence/commande à logique floue
1. Identifier les variables significatives d’entrée et de sortie
2. Définir les valeurs linguistiques de chacune
3. Pour chaque variable d’entrée, définir une fonction
d’appartenance pour chacune de ses valeurs
linguistiques
4. Concevoir une collection de règles floues « si-alors »
permettant d’évaluer les valeurs linguistiques des
variables de sortie
5. Choisir une méthode de conversion des valeurs
linguistiques de sortie obtenues en valeurs précises.
Exemple d’application : Système de commande
d’un pendule inversé
m
m x
m l 2   m g l s i n   m l x c o s 
l mg d 2
 f ( t )  M x  m ( x  l s i n  )  ( M  m ) x  l m (  c o s     2 s i n  )
dt2

   x

f(t)

Il s’agit de déplacer le chariot de manière à maintenir le pendule à


la verticale (θ=0). L’approche classique n’est pas évidente !
La solution exacte : La solution floue :
Résoudre le système d’équadiffs Pousser le chariot à gauche ou à droite en sens
couplées – Good luck ! inverse du signe de  « proportionnellement »
1. Choix des variables d=e/s

Courant du moteur
c
Système de
Chariot
commande
: angle
: vitesse angulaire

 Deux variables d’entrée, θ et ω, et une variable de sortie v ; les variables floues correspondantes
portent les mêmes noms.
2 Choix des valeurs linguistiques
 Il s’agit de regrouper des règles de la forme « Si θ est X1 et ω
est X2, alors v est Y » en une matrice cognitive floue.
 Exemple de définition des valeurs X1 ,X2 et Y :
Nom Signification
TN Très négatif
MN Moyennement négatif
PN Peu négatif
PPPeu Positif
MP Moyennement positif
TP Très positif
4. Choix des fonctions d’appartenance
 En général, on choisit des fonctions d’appartenance de forme
triangulaire ou trapézoïdale. Cela simplifie les calculs.

TN MN PN PP MP TP v()
1.0

0.5

0.0
Valeur mesurée
3. définition des règles d’inférence
 On pourrait alors définir la matrice cognitive suivante :

ω
TN MN PN PP MP TP
TN TN TN TN TN MN PN
MN TN TN TN MN PN PP
PN TN TN MN PN PP MP
θ
PP MN PN PP MP TP TP
MP PN PP MP TP TP TP
TP PP MP TP TP TP TP
 Les intersections des valeurs linguistiques de θ et de ω définissent les valeurs
linguistiques de sortie correspondantes (en termes de )
 Pour chaque valeur linguistiques de sortie, on retient le max correspondant
5. Détermination des valeurs de
sortie précises correspondant à 
 On détermine le degré de vérité de chaque valeur
linguistique de sortie possible; on prend ensuite la valeur
pondérée des résultats (inférence de Sugeno).
 Pour chaque valeur mesurée de θ et de ω :
1. On détermine ses degrés d’appartenance à TN, MN, PN, PP, MP
et TP
2. On applique les règles d’inférence floues aux résultats afin
d’obtenir les degrés d’appartenance correspondants pour les
différentes valeurs linguistiques de v (on prend max pour
chacune)
3. On calcule la moyenne pondérée des résultats
Exemple de valeur « déflouïfiée »
 Ex. Deux valeurs mesurées de θ et de
ω donnent :
Valeur de sortie (max)
TN 0 1
MN 0 0.5
PN 0.5
PP 1 0
MP 1 0 64 112 132 196 255
TP 0.5

On obtient par la méthode du centre de


gravité (en supposant que chaque valeur en
abscisse correspond à une valeur précise) :

v = [(0x0)+(0x64)+(0.5X112)+(1X132)+(1X196)+(0.5X255)]/6 = 164
Logique Floue et Probabilité
 Les bouteilles d’eau de Bezdek

P={liquides potables}

 =0.91 signifie que la bouteille contient vraisemblablement de l’eau, même


après avoir ouvert la bouteille.
 p=0.91 signifie dit que la bouteille contient de l’eau dans 91% des cas ; on
peut trouver un liquide totalement différent en ouvrant la bouteille.

  est le même a priori et a posteriori ; P vaut 0 ou 1 à l’observation


Répartition floue
 La répartition des valeurs linguistiques peut ne pas être
homogène
Composition Max-Min
 La composition max-min de deux relations floues R1 (sur X
et Y) et R2 (sur Y et Z) est définie par:
 R  R ( x , z )   [  R ( x , y )   R ( y , z )]
1 2 1 2
y

Propriétés :
 Associativité : R  (S  T )  ( R  S )  T

 Distributivité sur l’union : R  ( S  T )  ( R  S ) ( R  T )


 Distributivité faible sur
R  ( S  T )  ( R  S ) ( R  T )
l’intersection:
 Monotonie: S  T  (R  S)  (R T )
Modificateurs Linguistiques
 Modifient le sens d’une valeur linguistique en jouant sur sa
fonction d’appartenance
 Trois types basiques :
 Concentration : CON ( A)  A2
 Dilatation : D IL ( A )  A 0 .5
 Intensification  2 A2 , 0   A ( x )  0.5
INT ( A )  
  2(  A ) ,
2
0.5   A ( x )  1
de contraste:
Modificateurs flous 1/2
 En général, jouent un rôle similaire à celui d’un adverbe
dans la langue naturelle
Mathematical
Hedge Expression Graphical Representation

A little [A ( x )]1.3

Slightly [A ( x )]1.7

Very [A ( x )]2

Extremely [A ( x )]3


Modificateurs flous 2/2
Hedge Mathematical Graphical Representation
Expression

Very very [A ( x )]4

More or less A ( x )

Somewhat A ( x )

2 [A ( x )]2
if 0  A  0.5
Indeed
1  2 [1  A ( x )]2
if 0.5 < A  1
Règle compositionnelle d’inférence
floue
y = f(x) => y = b si x = a,
y y

b b

y = f(x) y = f(x)

a x a x
a et b: points a et b: intervalles
y = f(x) : une courbe y = f(x) : une fonction
d’intervalles de valeurs

Vous aimerez peut-être aussi