Systèmes à Inférence floue Fuzzy Inference Systems (FIS) Taalabi M. e-mail: taalabi@emi.ac.ma www.emi.ac.ma/~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 1.65 65 poids 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 Entrées Réel Inférence Flou Sorties Flou Règles Floues Réel Cas d une machine à 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 µ 1 1 Non gras Peu gras gras 0 50 100 Degré de saleté 50 100 Type de saleté 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 µ 1 courte longue moyenne 10 30 60 Durée de lavage 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: référence e k e k Ge Gve Contrôleur flou Gu u k Génerer la commande Procédé sortie Pour simplifier, les gains statiques Ge, Gve et Gvu seront pris égaux à 1. Entrées:e k et e k= e k -e k-1 Sortie: u k ou u k =u k -u k-1 lundi 20 juin 2005 fuzzy inference systems 16
Contrôleur flou Architecture e k Entrées Réel Inférence Flou Sortie e k Flou Règles Floues Réel u k lundi 20 juin 2005 fuzzy inference systems 17
Contrôleur flou Sous ensembles flous des entrées: NEG µ ZER POS Exemple de fuzzification: NEG µ1 µ2 ZER a e k POS e k POS avec µ=1 e k POS avec µ1 ZER avec µ2 b e k lundi 20 juin 2005 fuzzy inference systems 18
Contrôleur flou Sous ensembles flous de la sortie: µ NEG 1 ZER POS -c c u k 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 e k NEG AND e k ZER THEN u k NEG lundi 20 juin 2005 fuzzy inference systems 20
Contrôleur flou Cycle d inférence référence e k e k Ge Gve Contrôleur flou Gu u k Génerer la commande Procédé sortie 1- Acquérir la sortie du process 2- calculer e k et e k 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: NEG µ1 µ2 ZER a e k POS e k POS avec µ=1 e k POS avec µ1 ZER avec µ2 e k 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 : e k POS avec µ =1 e k POS avec µ1 ZER avec µ2 deux règles applicables: IF e k POS AND e k POS THEN u k POS, avec min (1, µ1) = µ1 IF e k POS AND e k ZER THEN u k POS, avec min(1, µ2) = µ2 lundi 20 juin 2005 fuzzy inference systems 23
5- Defuzzification: le représentant de POS est c Contrôleur flou (Fuzzy Controller) Cycle d inférence suite NEG ZER POS -c Deux conclusions pour u k : u k POS avec min (1, µ1) = µ1 u k POS avec min(1, µ2) = µ2 Defuzzification par barycentre: u k = (µ1.c + µ2.c) / (µ1 + µ2) c u k lundi 20 juin 2005 fuzzy inference systems 24
Contrôleur flou Cycle d inférence suite 6- Appliquer la commande u k = u k + 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 e k et e k 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: u k = A + B.e k + C. e k, avec A, B et C dépendent entre autres de e k et e k. lundi 20 juin 2005 fuzzy inference systems 26
Contrôleur flou Rapprochement avec un PID flou u k = A + B. e k + C. e k En appliquant au procédé u k = u k +u k-1 Integrale de u k, B: Action Intégrale C: Action proportionnelle Pour avoir, en plus, l action dérivée, on applique au procédé: u k = α ( u k +u k-1 ) + β u k Action dérivée: β. C Action proportionnelle: α. C Action Intégrale : α. Β et dans ce cas: 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 (www.aptronix.com) 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]www.aptronix.com [6] www.fuzzytech.com [7] www.gensym.com lundi 20 juin 2005 fuzzy inference systems 32