63
GIND5439 Systèmes Intelligents Chapitre 4: Logique floue

GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

  • Upload
    others

  • View
    1

  • Download
    1

Embed Size (px)

Citation preview

Page 1: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

GIND5439Systèmes Intelligents

Chapitre 4: Logique floue

Page 2: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

2GIND5439 – Gabriel Cormier, Université de Moncton

Contenu

Logique classique vs floueLogique floueHaiesDéfuzzificationApplication

Page 3: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

3GIND5439 – Gabriel Cormier, Université de Moncton

Logique floue

La logique floue est une méthode de raisonnement qui permet des définitions partielles ou « floues » des règles. La puissance de la logique floue vient de sa capacité à décrire un phénomène ou processus particulier de façon linguistique et ensuite de représenter ce phénomène par un faible nombre de règles très flexibles. Les connaissances dans un système flou sont contenues dans les règles et dans les ensembles flous, qui contiennent des descriptions générales des propriétés du phénomène en question.

Page 4: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

4GIND5439 – Gabriel Cormier, Université de Moncton

Logique

La logique booléenne classique ne permet que VRAI ou FAUX.La logique floue fut proposée par Zadeh en 1965.La logique floue permet d’exprimer différents niveaux, plutôt que seulement 1 ou 0.Ex: le moteur est chaud, le moteur est très chaud. Quelle est la différence entre « chaud » et « très chaud »?Ex: une homme est haut s’il mesure 170cm. Un homme est très haut s’il mesure 190cm. Où est la ligne de démarcation? Un homme de 180cm est-il haut ou très haut? 180.5cm? 179.5cm?

Page 5: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

5GIND5439 – Gabriel Cormier, Université de Moncton

Logique floue

La logique floue est une branche des mathématiques qui permet à un ordinateur de modéliser le monde réel de la même façon que les personnes.Elle est préoccupée par la quantification et le raisonnement en utilisant un langage qui permet des définitions ambiguë.

Ex: beaucoup, peu, petit, haut, dangereuxElle s’occupe de situations où la question qui est posée et la réponse obtenue contiennent des concepts vagues.

Page 6: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

6GIND5439 – Gabriel Cormier, Université de Moncton

Logique floue vs booléenne

La logique booléenne ne permet que VRAI ou FAUX (1 ou 0)Ex: le verre est plein ou pas pleinQu’arrive-t-il si le verre est à moitié plein?Concept de degré certain

Logique floue (Zadeh Lofti, Université Berkeley, années 60)Le raisonnement exacte est un cas limite du raisonnement approximatifTout n‘est qu’un degréTout système logique peut être rendu floueLes connaissances sont interprétées comme une collection de contraintes élastiques ou floues d’un ensemble de variablesL’inférence est un processus de propagation de contraintes élastiques.

Logique booléenne est un sous-ensemble de la logique floue.

Page 7: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

7GIND5439 – Gabriel Cormier, Université de Moncton

Logique floue

Un sur-ensemble de la logique classique, augmenté pour accommoder le concept de vérité partielle

Des valeurs entre complètement vrai et complètement faux

On supporte des modes de raisonnement approximatifs plutôt qu’exacts.Son importance provient du fait que le raisonnement humain est approximatif.

Page 8: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

8GIND5439 – Gabriel Cormier, Université de Moncton

Logique floue

Pourquoi floue?C’est un terme bien compris, quoique souvent de façon négative

Pourquoi logique?La théorie des ensembles flous regroupe la logique

Logique floue (Zadeh, 1965)“Fuzzy Logic is determined as a set of mathematical principles for knowledge representation based on degrees of membership rather than on crisp membership of classical binary logic”

Page 9: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

9GIND5439 – Gabriel Cormier, Université de Moncton

Ensembles flous

En théorie classique, les ensembles sont nets.

Gouvernés par la logique booléenne classiqueNe peuvent pas représenter des concepts vaguesNe peuvent pas donner des réponses à des paradoxes.

Page 10: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

10GIND5439 – Gabriel Cormier, Université de Moncton

Ensembles flous

Deux suppositions sont essentielles pour la logique traditionnelle:

Pour n’importe quel élément et un ensemble qui appartiennent à un univers, l’élément est soit un membre de l’ensemble ou membre du complément de l’ensemble.Loi du milieu exclus: Un élément ne peut pas appartenir à un ensemble et son complément.Principe de dichotomie

Théorie des ensemble flousBien que la théorie des probabilité soit appropriée pour mesurer le caractère aléatoire de l’information, elle est inappropriée pour mesurer le sens de l’information.

Page 11: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

11GIND5439 – Gabriel Cormier, Université de Moncton

Net vs floue

École Pythagoréenne (400 B.C.)Q: Est-ce que le philosophe Crétain dit la vérité lorsqu’il affirme que « Tous les Crétains mentent toujours »?

LB: Cette assertion contient une contradictionLF: Le philosophe dit et ne dit pas la vérité

Paradoxe de RussellsLe barbier d’un village coupe les cheveux seulement à ceux qui ne les coupent pas eux-mêmes.Q: Qui coupe les cheveux du barbier?

LB: Cette assertion contient une contradictionLF: Le barbier coupe et ne coupe pas ses propres cheveux

Page 12: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

12GIND5439 – Gabriel Cormier, Université de Moncton

Logique floue

Contient plusieurs valeursEst concerné par:

Degré d’appartenanceDegré de vérité

Utilise un continuum de valeurs logiques entre 0 (complètement faux) et 1 (complètement vrai).Une fonction d’appartenance est utilisée pour mapper un item X dans le domaine des nombres réels dans l’intervalle de 0 à 1.Ça permet un degré de vérité

Page 13: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

13GIND5439 – Gabriel Cormier, Université de Moncton

Net vs floue

Exemple:Deux faits concernant le salaireDeux règles qui portent des conclusions quand au degré de risque.

IF salaire est élevé THEN risque est faibleIF salaire est faible THEN risque est élevé

Combien un salaire élevé est-il?Si 50,000$ est élevé, est-ce que 49,999$ est élevé ou faible?

Page 14: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

14GIND5439 – Gabriel Cormier, Université de Moncton

Net vs floue

IF salaire est 50,000$ THEN risque est très faibleIF salaire est 49,999$ THEN risque est presque très faibleIF salaire est 49,000$ THEN risque est faibleIF salaire est 47,000$ THEN risque est presque faibleIF salaire est 45,000$ THEN risque est assez basIF salaire est 40,000$ THEN risque est plutôt bas…Combien de règles faudra-t-il?

Page 15: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

15GIND5439 – Gabriel Cormier, Université de Moncton

Ensembles flous

L’appartenance à un ensemble représente une valeur entre 0 et 1Un ensemble flou peut être défini comme un ensemble ayant des frontières floues.Un ensemble floue est définit selon:

Soit S un ensemble et x est un membre de cet ensemble. Un sous-ensemble flou F de S est définit par une fonction d’appartenanceµF(x) qui mesure le degré auquel x appartient à F.

Exemple:Soit S un ensemble d’entiers positifs et F un sous-ensemble flou de petits entiersDes valeurs d’entiers peuvent avoir une distribution de probabilité qui indiquent leur appartenance au sous-ensemble flou F

µF(1) = 1.0, µF(2) = 1.0, µF(3) = 0.9, µF(4) = 0.8, …, µF(50) = 0.001

Page 16: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

16GIND5439 – Gabriel Cormier, Université de Moncton

Ensembles flous

Représentation du sous-ensemble flou F des entiers petits.

Page 17: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

17GIND5439 – Gabriel Cormier, Université de Moncton

Fonction d’appartenance

Soit X l’univers d’étude, dont les éléments sont identifiés x,

En théorie classique des ensembles,L’ensemble net A de Z est définit comme une fonction fA(x) appelée la fonction caractéristique de A

1,0:)( →XxfAoù

⎩⎨⎧

∉∈

=AxsiAxsi

xf A ,0,1

)(

Page 18: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

18GIND5439 – Gabriel Cormier, Université de Moncton

Fonction d’appartenance

Dans la théorie des ensembles flous,L’ensemble flou A de X est définit comme une fonction

1,0:)( →µ XxA

µA(x) = 1 si x est totalement dans AµA(x) = 0 si x n’est pas dans A0 < µA(x) < 1 si x est en partie dans A

Page 19: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

19GIND5439 – Gabriel Cormier, Université de Moncton

Fonction d’appartenance

La fonction d’appartenance est une mesure:Du degré auquel un élément est membre d’un ensembleDu degré d’appartenanceDe la valeur de l’appartenanceDu degré de confiance

Page 20: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

20GIND5439 – Gabriel Cormier, Université de Moncton

Logique floue: utilité?

Plusieurs valeurs réelles sont transformées en quelques variables floues avec différentes appartenancesOn peut donc réduire le nombre de règlesOn peut raisonner avec quelques règles seulementBénéfices?

Page 21: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

21GIND5439 – Gabriel Cormier, Université de Moncton

Logique floue: représentation

Comment représenter la logique floue dans un ordinateur?

Il faut déterminer la fonction d’appartenanceDemander aux experts pour leurs opinionsAcquérir des connaissances de plusieurs expertsUtiliser des réseaux de neurones

Apprendre les données disponiblesDéduire les ensembles flous automatiquement

Page 22: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

22GIND5439 – Gabriel Cormier, Université de Moncton

Logique floue: exemple

Homme hautN’importe qui au-dessus de 190cm a une fonction d’appartenance de 1Quelqu’un en dessous de 180cm a une fonction d’appartenance de 0 (pas considéré comme haut)Quelqu’un entre 180 et 190cm aura une fonction d’appartenance qui varie entre 0 et 1

Page 23: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

23GIND5439 – Gabriel Cormier, Université de Moncton

Logique floue: exemple

150 160 170 180 190 200 210

1.0

0.8

0.6

0.4

0.2

CourtMoyen

Haut

Représentation en logique classique

1.0

0.8

0.6

0.4

0.2

CourtMoyen

Haut

Représentation en logique floue

150 160 170 180 190 200 210

Page 24: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

24GIND5439 – Gabriel Cormier, Université de Moncton

Logique floue: exemple

En logique classique, quelqu’un de 181cm serait considéré haut, tandis que quelqu’un de 179cm serait considéré de hauteur moyenne.En logique floue, un homme de 184cm ferait partie du groupe moyen avec un degré d’appartenance de 0.1, et du groupe haut avec un degré d’appartenance 0.44.

Page 25: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

25GIND5439 – Gabriel Cormier, Université de Moncton

Logique floue: représentation

Remarquez que les variables floues court, moyen et haut sont représentées par des fonction linéaires. On pourrait aussi utiliser des trapézoïdes, des paraboles, etc.On peut représenter les fonctions linéaires par des vecteurs:

Hommes haut: (0/180, 1/190)Hommes moyen: (0/165, 1/175, 0/180)Hommes court: (1/160, 0/170)

Les fonctions linéaires sont les plus faciles à utiliser et à représenter: ce sont les plus populaires.

Page 26: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

26GIND5439 – Gabriel Cormier, Université de Moncton

Haies

Des haies sont des modificateurs de valeurs floues et permettent la génération de déclaration floues à l’aide de calculs mathématiques.Elles modifient la forme des ensembles flousElles ont le même rôle que des adverbes et adjectifs en français.Selon leur impact sur la fonction d’appartenance, on les classifie selon leur effet:

ConcentrationDilatationContraste

Page 27: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

27GIND5439 – Gabriel Cormier, Université de Moncton

Haies

Concentration aide à intensifier un ensembleEx: « très » crée une concentration et crée un nouveau sous-ensemble.

Dilatation agrandi l’ensembleEx: « plus » ou « moins » Rend l’ensemble plus grand que l’original.

Contraste change la nature de l’ensemble en intensifiant ou agrandissant

Ex: généralement

Page 28: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

28GIND5439 – Gabriel Cormier, Université de Moncton

Haies

Utilisées comme:Modificateurs tout-usage; ex: beaucoup, un peu, extrêmementValeurs de vérité: très vrai, majoritairement fauxProbabilités: possiblement, très peu possibleQuantificateurs: la plupart, plusieurs, peuPossibilités: presque impossible, très possible

Aident à refléter la pensée humaine

Page 29: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

29GIND5439 – Gabriel Cormier, Université de Moncton

Haies

1.0

0.8

0.6

0.4

0.2

CourtMoyen

Haut

150 160 190170 180

Représentation en logique floue

200 210

Très court Très haut

Les haies permettent ici de définir les ensembles « très court » et « très haut ». Une représentation des différentes haies est donnée au tableau 4.2 p. 97 du manuel.

Page 30: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

30GIND5439 – Gabriel Cormier, Université de Moncton

Quelques haies

Haie Représentation mathématique Représentation graphique

Très [µA(x)]2

Plus ou moins

En effet (indeed)

2[µA(x)]2 si 0 ≤ µA(x) ≤ 0.51 – 2[1 - µA(x)]2 si 0.5 ≤ µA(x) ≤ 1

)(xAµ

Page 31: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

31GIND5439 – Gabriel Cormier, Université de Moncton

Opérateurs flous

Théorie des ensemblesComplément

Net: qui n’appartient pas?Floue: De combien les éléments appartiennent-ils?µ¬A(x) = 1 – µA(x)

ConfinementNet: quels ensembles appartiennent à quels autres ensembles?Floue: quels ensembles appartiennent à d’autre ensembles?Sous-ensembles

Page 32: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

32GIND5439 – Gabriel Cormier, Université de Moncton

Opérateurs flous

IntersectionNet: Quel élément appartient aux deux ensembles?Floue: De combien l’élément est-il dans les deux?µΑ∩B(x) = min[µA(x), µB(x)]

UnionNet: Quel élément appartient à l’un des ensembles?Floue: De combien l’élément est-il dans l’un des ensembles?µAUB(x) = max[µA(x), µB(x)]

Page 33: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

33GIND5439 – Gabriel Cormier, Université de Moncton

Règles floues

Qu’est-ce qu’une règle floue?C’est une déclaration de la forme:

IF x est ATHEN y est B

où x et y sont des variables linguistiques, et A et B sont des valeurs linguistiques, déterminées par les ensembles flous sur les ensembles X et Y.

Page 34: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

34GIND5439 – Gabriel Cormier, Université de Moncton

Règles floues

Une variable linguistique est une variable floue

Jean est hautLa variable linguistique Jean prend la valeur linguistique haut

La plage de valeurs linguistiques possibles d’une règle représente l’univers de cette variable.

Page 35: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

35GIND5439 – Gabriel Cormier, Université de Moncton

Règles floues

Exemple:IF vitesse est lenteTHEN distance d’arrêt est courteLa variable vitesse peut avoir une plage de valeurs entre 0 et 220 km/h.On peut inclure des sous-ensembles flous {très lent, lent, médium, rapide, très rapide}Chaque sous-ensemble flou représente une valeur linguistique pour la variable

Page 36: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

36GIND5439 – Gabriel Cormier, Université de Moncton

Règles classiques vs floues

Le IF – THEN classique utilise la logique binaireRègle floue

On associe une plage de valeurs, un ensemble flou, avec des variables linguistiquesOn combine les règles et on peut donc couper le nombre de règles jusqu’à 90%.

Page 37: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

37GIND5439 – Gabriel Cormier, Université de Moncton

Fuzzification

« Fuzzification » : rendre une entrée classique en valeurs linguistiques.Des valeurs d’entrée sont traduites en concepts linguistiques représentés comme des ensembles flous.Les fonctions d’appartenance sont appliquées aux mesures et des degrés de vérité sont établis pour chaque proposition.

Page 38: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

38GIND5439 – Gabriel Cormier, Université de Moncton

Inférence floue

Le processus de mapper d’une entrée donnée à une sortie en utilisant la théorie des ensembles flous.Dans un système à logique floue, toutes les règles sont déclenchées en parallèle.Des règles peuvent être déclenchée partiellement.Sélection monotonique: Le niveau d’appartenance de vérité d’une conséquence peut être déterminé à partir du niveau d’appartenance de vérité de l’antécédent.

Page 39: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

39GIND5439 – Gabriel Cormier, Université de Moncton

Inférence floue

Des règles peuvent avoir des antécédents multiples.Chaque partie est calculée simultanément et résolue à un seul chiffre en utilisant des opérations d’ensemble.

Des règles peuvent avoir des conséquences multiples

Toutes les parties sont affectées également par les antécédents.La sortie de chaque règle est un ensemble flouOn doit obtenir un seul chiffre net qui représente la sortie du système expert

On combine les ensembles flous en un seul ensemble flouLa « défuzzification » de l’ensemble résulte en un seul chiffre

Page 40: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

40GIND5439 – Gabriel Cormier, Université de Moncton

Inférence: règles multiples

Si deux règles sont déclenchées, on prend le maximum des deux pour appliquer l’inférence.

Ex: IF personne est née au Canada THEN citoyen canadienIF personne marie un(e) canadien(ne) THEN citoyen canadienSupposons qu’une personne n’est pas mariée et qu’elle est née au Canada. D’après la première règle, cette personne est un citoyen canadien. Mais la deuxième règle ne donne aucune information quand à la citoyenneté. Si on combine les résultats, doit-on conclure que la personne est citoyen canadien? Certainement.

Page 41: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

41GIND5439 – Gabriel Cormier, Université de Moncton

Inférence: antécédents multiples

Si la conjonction qui unit deux antécédents est AND, on prend le minimum des deux.

Ex: IF voiture a de l’essence AND voiture a un moteur THEN la voiture peut fonctionnerSupposons que la voiture a le plein d’essence (appartenance 1.0), mais qu’elle n’a pas de moteur (appartenance 0). La règle doit-elle être déclenchée? Bien sûr que non; une voiture sans moteur ne fonctionne pas.

Page 42: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

42GIND5439 – Gabriel Cormier, Université de Moncton

Inférence: antécédents multiples

Si la conjonction qui unit deux antécédents est OR, on prend le maximum des deux.

Ex: IF le chien jappe OR il fait très froid dehors THEN ouvrir la porteSupposons que le chien ne jappe pas (appartenance 0.0), mais qu’il fait très froid dehors (appartenance 1.0). Doit-on ouvrir la porte au chien? Bien sûr que oui; on ne va pas laisser le chien dehors en temps très froid.

Page 43: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

43GIND5439 – Gabriel Cormier, Université de Moncton

Règles floues

Les conclusions atteintes par les systèmes flous sont des faits flous ayant des degrés d’appartenance.

Ex: risque est faible avec une appartenance de 0.5

Le déroulement final doit cependant être une décision concrète.

Ex: louer de l’argentLe processus de transformer un fait flou en un fait net est la « défuzzification »

Page 44: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

44GIND5439 – Gabriel Cormier, Université de Moncton

Défuzzification

Convertit une valeur floue en une seule valeur nette.Un ensemble flou n’est pas nécessairement facile à traduire à une valeur nette.Méthodes:

Appartenance maximaleMéthode du centroïdeMéthode des moyennes pondérées

Page 45: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

45GIND5439 – Gabriel Cormier, Université de Moncton

Système d’inférence floue

Inférence de style MamdaniÉtape 1: Fuzzification des variables d’entréeÉtape 2: Évaluation des règlesÉtape 3: Agrégation des sorties des règlesÉtape 4: Défuzzification

Page 46: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

46GIND5439 – Gabriel Cormier, Université de Moncton

Inférence floue: MamdaniRègle1:IF financement est adéquat OR

main-d’oeuvre is petite THEN risque est faible

Règle2:IF financement est marginal AND

main-d’oeuvre est large THEN risque est normal

Règle3:IF financement est inadéquat

THEN risque est élevé

Règle 1:IF x est A3 OR y est B1 THEN z est C1Règle 2:IF x est A2 AND y est B2 THEN z est C2Règle 3:IF x est A1 THEN z est C3x = financement, y = main-d’oeuvre,z = risqueA1 = inadéquat, A2 = marginal, A3 = adéquat; sur l’espace XB1=petit, B2=large; sur l’espace YC1=faible, C2=normal, C3=élevé; sur l’espace Z

Page 47: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

47GIND5439 – Gabriel Cormier, Université de Moncton

Inférence floue: Mamdani

Étape 1: fuzzificationOn prend les entrées nettes x1 et y1 et on détermine le degré auquel les entrée appartiennent aux ensembles flous.x1 et y1 sont limités aux espaces X et YLes experts déterminent l’intervalle des espacesCertaines peuvent être mesurés directement, d’autres seulement sur l’opinion de l’expert.

Pour l’exemple:Les espaces X et Y sont de 0 à 100%Supposons que x1 est 35% et fut évalué comme appartenant à inadéquat avec un degré 0.5 et marginal avec un degré 0.2.L’entrée nette y1 est 60% qui tombe dans les domaines petit et large avec un degré 0.1 et 0.7, respectivement.

Page 48: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

48GIND5439 – Gabriel Cormier, Université de Moncton

Inférence floue: Mamdani1.0

0.8

0.6

0.4

0.2

A1 A2 A3Fuzzification,

Entrée X

0 80x120 40 60 100

60

1.0

80 1000 20 40

0.8

0.6

0.4

0.2

y1

B1 B2Fuzzification,

Entrée Y

Page 49: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

49GIND5439 – Gabriel Cormier, Université de Moncton

Inférence floue: Mamdani

1.0

0.8

0.6

0.4

0.2

C3C1 C2Fuzzification,

Sortie Z

0 8020 40 60 100

Il faut aussi faire une fuzzification de la sortie.

Page 50: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

50GIND5439 – Gabriel Cormier, Université de Moncton

Inférence floue: Mamdani

Étape 2: Évaluation des règlesOn prend les entrées rendues floues et on y applique les antécédents des règlesSi une règle a plusieurs antécédents, un opérateur flou est utilisé pour obtenir un seul chiffre qui représente le résultatLe résultat est ensuite appliqué à la fonction d’appartenance de la conséquenceLe résultat peut être produit par coupure ou mise à l’échelle

Page 51: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

51GIND5439 – Gabriel Cormier, Université de Moncton

Inférence floue: Mamdani

Pour l’exemple:Règle 1:

IF x est A3 (0.0) OR y est B1(0.1) THEN z est C1(0.1)Règle 2:

IF x est A2(0.2) AND y est B2(0.7) THEN z est C2(0.2)Règle 3:

IF x est A1(0.5) THEN z est C3(0.5)

Coupure ou mise à l’échelleRègle 1 = 0.0 + 0.1 - 0.0x0.1=0.1Règle 2 = 0.2 x 0.7 = 0.14

Page 52: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

52GIND5439 – Gabriel Cormier, Université de Moncton

Inférence floue: Mamdani

0 20 40 60 80 100

1.0

0.8

0.6

0.4

0.2

A3

x1

1.0

0 20 40

0.8

0.6

0.4

0.2

y1

60 80 100

B1

1.0

0.8

0.6

0.4

0.2

C3C1 C2

0 20 40 60 80 100

Évaluation de R1: on regarde quelle valeur de A3 est obtenue avec l’entrée x1. Dans ce cas-ci, l’entrée x1 est 0.35; elle n’a aucun effet sur A3, et donc sont appartenance est 0.On évalue maintenant l’appartenance de y1 dans B1; dans ce cas-ci, l’appartenance est 0.1.La valeur de sortie qui est affectée par la règle 1 est C1; on va donc couper le diagramme de C1 à la valeur 0.1.

Rappel: R1 : IF x est A3 OR y est B1 THEN z est C1

Page 53: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

53GIND5439 – Gabriel Cormier, Université de Moncton

Inférence floue: Mamdani

0 20 40 60 80 100

1.0

0.8

0.6

0.4

0.2

A2

1.0

0.8

0.6

0.4

0.2

B2

0 20 40 60 80 100

1.0

0.8

0.6

0.4

0.2

C3C1 C2

0 20 40x1 y1

60 80

Évaluation de R2: on regarde quelle valeur de A2 est obtenue avec l’entrée x1. Dans ce cas-ci, l’entrée x1 est 0.35, ce qui donne une appartenance de 0.2. L’entrée y1 produit une appartenance de 0.7. Cependant, la conjonction qui unit les deux est AND; on prend donc le minimum des deux, soit 0.2.

La valeur de sortie qui est affectée par la règle 2 est C2; on va donc couper le diagramme de C2 à la valeur 0.2.

Rappel: R2 : IF x est A2 AND y est B2 THEN z est C2

Page 54: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

54GIND5439 – Gabriel Cormier, Université de Moncton

Inférence floue: Mamdani1.01.0

0.8

0.6

0.4

0.2

A1 C1 C2

0 20 40

0.8

0.6

0.4

0.2

0 20 40 60 80 100 60 80

C3

100

Évaluation de R3: on regarde quelle valeur de A1 est obtenue avec l’entrée x1. Dans ce cas-ci, l’entrée x1 est 0.35, ce qui donne une appartenance de 0.5. La valeur de sortie qui est affectée par la règle 3 est C3; on va donc couper le diagramme de C3 à la valeur 0.5.

Rappel: R3 : IF x est A1 THEN z est C3

Page 55: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

55GIND5439 – Gabriel Cormier, Université de Moncton

Inférence floue: Mamdani

Étape 3: Agrégation de la sortie des règlesUnification de la sortie de toutes les règlesOn prend la sortie des règles et on combine en un seul ensemble flouUn seul ensemble flou pour chaque variable

Pour l’exemple:z est C1 (0.1), z est C2 (0.2), z est C3 (0.5)

Page 56: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

56GIND5439 – Gabriel Cormier, Université de Moncton

Inférence floue: Mamdani

C3C1 C2

800 20 40 60

C3C1 C2

0 20 40 60 80

C1 C2 C3

60 80100100 0 20 40 100

Page 57: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

57GIND5439 – Gabriel Cormier, Université de Moncton

Inférence floue: Mamdani

Étape 4: défuzzificationOn doit produire un chiffre netLa technique la plus populaire est la méthode du centroïdeOn cherche le centre de masse de l’objet

=

=

µ

µ= b

axA

b

axA

x

xxCM

)(

)(

Page 58: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

58GIND5439 – Gabriel Cormier, Université de Moncton

Inférence floue: Mamdani

Pour l’exemple:

4.675.05.05.05.02.02.02.02.01.01.01.0

)5.0)(100908070()2.0)(60504030()1.0)(20100(

=++++++++++++++++++++

=CM

Donc, z = 67.4; ce qui veut dire que le risque du projet est 67.4%.

Page 59: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

59GIND5439 – Gabriel Cormier, Université de Moncton

Inférence floue: Sugeno

On utilise un seul pic (ou delta) comme fonction d’appartenance de la conséquence de la règle.Le delta est un ensemble flou ayant un fonction d’appartenance de 1 à un point particulier de l’espace et 0 partout ailleurs.Il diffère de Mamdani en utilisant une fonction de la variable d’entrée plutôt qu’un ensemble flou.IF x est A AND y est B THEN z est k où k est une constante.Les conséquences des règles sont des pics plutôt que des ensembles.

Page 60: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

60GIND5439 – Gabriel Cormier, Université de Moncton

Construction d’un système expert en logique floue

Spécifier le problème et définir les variables linguistiques.Déterminer les ensembles flous.Expliciter et construire les règles floues.Encoder les ensembles flous, règles floues et procédures pour faire l’inférence floue dans le système expert.Évaluer et mettre au point le système.

Page 61: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

61GIND5439 – Gabriel Cormier, Université de Moncton

Avantages de la logique floue

Linguistique:Pas numérique, variables utilisées sont similaires à la façon dont les humains pensent.

SimplicitéNe nécessite pas d’équations analytiques complexesFacile à comprendre

Utilise moins de règlesPrototypage rapide

Le designer n’a pas besoin de connaître tout à propos du système avant de commencer

Peu coûteuxPlus facile à faire la conception

Plus robustePlus facile à mettre au point en changeant les fonction d’appartenance.

Page 62: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

62GIND5439 – Gabriel Cormier, Université de Moncton

Faiblesses de la logique floue

Système d’explications limitéesQuand même nécessaire de consulter des expertsProblème de saturation si les fonctions d’appartenance ne sont pas bien définies.

Page 63: GIND5439 Systèmes Intelligents - UMoncton · 2005. 5. 6. · GIND5439 – Gabriel Cormier, Université de Moncton 4 Logique La logique booléenne classique ne permet que VRAI ou

63GIND5439 – Gabriel Cormier, Université de Moncton

Applications

Analyse de risqueÉvaluation de prêtConseils d’investissementPlanification stratégiqueContrôle de systèmesRobotique