Générateur de Systèmes Experts Flous - Smsi.rnu.tn
Générateur de Systèmes Experts Flous - Smsi.rnu.tn
Générateur de Systèmes Experts Flous - Smsi.rnu.tn
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Méthodologie et Heuristiques pourl’Optimisation <strong>de</strong>s SystèmesIndustrielsMHOSI’2005Proposition PapierTitreGénérateur <strong>de</strong>Systèmes <strong>Experts</strong> <strong>Flous</strong>pour la MaintenanceIndustrielleAuteursRaouf KETATA- Yosra NAJARInstitut National <strong>de</strong>s Sciences Appliquées et <strong>de</strong> Technologie, B.P. N° 676, TunisCe<strong>de</strong>x, TUNISIEe- mail: raouf.ketata@insat.<strong>rnu</strong>.<strong>tn</strong> 71 703 829 poste 6394 98 245 071
Générateur <strong>de</strong> Systèmes <strong>Experts</strong> <strong>Flous</strong>pour la Maintenance IndustrielleR. KETATA, Y. NAJARInstitut National <strong>de</strong>s Sciences Appliquées et <strong>de</strong> Technologie, B.P. N° 676, Tunis Ce<strong>de</strong>x, TUNISIEe-mail : raouf.ketata @ insat.<strong>rnu</strong>.<strong>tn</strong>Résumé — L’idée <strong>de</strong> base <strong>de</strong> ce travail était l’étu<strong>de</strong> <strong>de</strong> l’apport <strong>de</strong> la logique floue dans l’amélioration <strong>de</strong>s résultatsfournis par ces systèmes. Il s’agit <strong>de</strong> synthétiser, à partir d’une étu<strong>de</strong> bibliographique, une logique permettantd’intégrer les notions floues dans les systèmes experts <strong>de</strong> diagnostic. Dés lors, un environnement informatiqueappliquant les métho<strong>de</strong>s déjà adoptées a été analysé, conçu et développé. Il permet <strong>de</strong> générer <strong>de</strong>s systèmes expertsainsi que <strong>de</strong>s systèmes experts flous dédiés au diagnostic. Par conséquent, on a pu conclure, à travers une étu<strong>de</strong>comparative, que l’intégration <strong>de</strong> la logique floue permet <strong>de</strong> donner <strong>de</strong>s meilleures décisions lorsque le domaine dudiagnostic présente <strong>de</strong>s données incertaines et subjectives. En fait, elle garantit l’unicité et la cohérence <strong>de</strong>s résultatsmais surtout elle ai<strong>de</strong> l’utilisateur dans son choix grâce à la pondération <strong>de</strong>s solutions.Mots clés— Systèmes <strong>Experts</strong>, Logique floue, Diagnostic, Maintenance, Ai<strong>de</strong> à la décision1. INTRODUCTIONDans les pays en voie <strong>de</strong> développement notamment laTunisie, seul un faible nombre d’individus détient unegran<strong>de</strong> expertise surtout en maintenance industrielle.Toutefois, la conduite lors d’un diagnostic industriel et laplanification d’une procédure <strong>de</strong> dépannage adéquatesont <strong>de</strong>s actes dont les conséquences sont majeures car ilsmettent en jeu <strong>de</strong>s sommes considérables. Diffuser pluslargement cette connaissance, grâce à <strong>de</strong>s systèmesinformatiques d’ai<strong>de</strong> à la décision, tel est le rôle <strong>de</strong>ssystèmes experts en maintenance [7] [8].Ces systèmes présentent <strong>de</strong>s limitations dont la plusimportante est celle due au raisonnement incertain. Pourrésoudre ce problème, <strong>de</strong>ux approches ont étéutilisées :numérique et non numérique.L’approche numérique concerne la théorie <strong>de</strong> probabilitéet celle <strong>de</strong>s ensembles flous [7]. La théorie <strong>de</strong> probabilitéa été utilisée pour définir un <strong>de</strong>gré <strong>de</strong> vraisemblance àchaque fait. De nombreux systèmes experts ont étédéveloppés permettant d’associer un <strong>de</strong>gré <strong>de</strong>vraisemblance à un fait [27]. Or, ces <strong>de</strong>rniers présententaussi <strong>de</strong>s limites car ils permettent pas <strong>de</strong> fournir lesbonnes pondérations <strong>de</strong>s causes éventuelles àl’utilisateur. Ceci est du essentiellement sur le fait que lediagnostic industriel est basé sur <strong>de</strong>s connaissancessubjectives et incertaines. La théorie <strong>de</strong>s ensembles flouspeut résoudre ce problème en raison <strong>de</strong> son point fortpour la manipulation <strong>de</strong> telles connaissances.Plusieurs étu<strong>de</strong>s ont été faites pour exploiter la théorie<strong>de</strong>s ensembles flous dans les systèmes d’ai<strong>de</strong> à ladécision et au diagnostic dans divers domaines surtoutdans la médicine et la maintenance [9] [10]. Dés lors, <strong>de</strong>ssystèmes experts ont été développés exploitant lesmétho<strong>de</strong>s introduites par Za<strong>de</strong>h. L’intégration <strong>de</strong> lalogique floue dépendait <strong>de</strong> la nature <strong>de</strong> l’incertitu<strong>de</strong> et <strong>de</strong>la manière <strong>de</strong> la modélisation <strong>de</strong>s données. Ainsi,plusieurs systèmes experts flous différents sont exploitésdans <strong>de</strong>s domaines diversifiés.L’idée <strong>de</strong> base <strong>de</strong> ce papier étant d’une part l’utilisation<strong>de</strong>s systèmes experts d’ai<strong>de</strong> pour le diagnostic et ladécision et d’autre part l’introduction <strong>de</strong>s nouvellestechniques et <strong>de</strong> voir son apport dans la décision, cetravail <strong>de</strong> synthèse et <strong>de</strong> recherche se propose <strong>de</strong> dégagerjusqu’à quelles limites l’intégration <strong>de</strong> la logique floue,dans <strong>de</strong>s systèmes experts d’ai<strong>de</strong> à la décision dédiés audiagnostic industriel, peut être bénéfique et enrichissante.La diversification <strong>de</strong>s métho<strong>de</strong>s d’utilisation <strong>de</strong> la logiquefloue en fonction du domaine d’application, nous a menéà penser à la création d’un environnement informatiqueouvert et flexible. Pour ce faire, un générateur <strong>de</strong>systèmes experts flous <strong>de</strong> diagnostic a été conçu etdéveloppé.2. SYSTEMES EXPERTS D’AIDE A LADECISION DANS LE DIAGNOSTICINDUSTRIEL2.1 Diagnostic IndustrielLe processus du diagnostic industriel repose sur leprincipe <strong>de</strong> l’observation et <strong>de</strong> l’analyse <strong>de</strong>s symptômesd’une défaillance, dans le but <strong>de</strong> trouver le remè<strong>de</strong>garantissant sa réparation et réduire sa probabilité <strong>de</strong>défaillance[9][19]. Les décisions prises suite à undiagnostic sont généralement le fruit d’une expérience,d’un savoir-faire ou d’un historique. La criticité etl’importance <strong>de</strong>s décisions <strong>de</strong> dépannage ont incité lesresponsables <strong>de</strong> la maintenance à investir pour adopter<strong>de</strong>s métho<strong>de</strong>s et <strong>de</strong>s systèmes d’ai<strong>de</strong> à la décision pour lediagnostic industriel.Les outils d’ai<strong>de</strong> au diagnostic utilisés dans le mon<strong>de</strong>industriel, sont nombreux [21], mais leur efficacité esttrès inégale. Ils sont classifier, essentiellement, en <strong>de</strong>uxcatégories : les outils <strong>de</strong> l’analyse fonctionnelle (Gemma,Grafcet etc.) et les outils d’analyse <strong>de</strong> la défaillance(AMDEC, arbres <strong>de</strong> défaillances, systèmes à base <strong>de</strong>connaissances etc.) [34]. Les outils d’analyse <strong>de</strong>défaillance ont fait leur preuve au sein <strong>de</strong>s entreprises.L’introduction et l’utilisation <strong>de</strong> l’outil informatique dansces métho<strong>de</strong>s heuristiques avaient fait preuvesd’efficacité mais surtout <strong>de</strong> souplesse dans plusieursdomaines. D’où l’intérêt que nous avons donné à cesmétho<strong>de</strong>s dont les systèmes experts appliqués audiagnostic [6] [16].2.2 Systèmes <strong>Experts</strong> <strong>de</strong> Diagnostic et leraisonnement incertainUn système expert <strong>de</strong> diagnostic est un logicielconvenablement architecturé [7] utilisant <strong>de</strong> laconnaissance et <strong>de</strong>s procédures d’inférence pour larésolution <strong>de</strong> problèmes <strong>de</strong> maintenance nécessitant unemasse importante <strong>de</strong> connaissances d’un expert humainPage 2 sur 7
[14]. Le schéma <strong>de</strong> principe <strong>de</strong> tel système est représentépar la figure1. On y trouve les trois composants <strong>de</strong> base àsavoir la base <strong>de</strong>s faits, celle <strong>de</strong>s règles et le moteurd’inférence.Effet (s) <strong>de</strong>panneconstatéBase <strong>de</strong>s règlesSi cause alors effetMoteur d’inférenceChaînage mixte ouChaînage arrièreBase <strong>de</strong>s faitsFaits permanents +Faits non permanentsPas <strong>de</strong> réponseUne seule causeUn ensemble <strong>de</strong> causesConnaissanceInformatiqueProcessExpert (s)AcquisitionInterface <strong>Experts</strong>SYSTEME EXPERT FLOUReprésentationInterface UtilisateursIngénieur <strong>de</strong> laConnaissanceSystème Expert <strong>de</strong> DiagnosticFigure 1. Principe d’un système expert <strong>de</strong> diagnosticLa connaissance d’un système expert d’ai<strong>de</strong> audiagnostic, dans le cas d’un formalisme <strong>de</strong> règles <strong>de</strong>production, peut se présenter sous la forme suivante :Règle <strong>de</strong> Production : Si (Cause 1) et (Cause 2) et ….et(Cause n) alors Effet (conséquence)Cette expertise peut être formulée directement parl’expert et le cogniticien ou bien elle peut être déduite àpartir <strong>de</strong>s métho<strong>de</strong>s d’ai<strong>de</strong> au diagnostic qui se basent surl’analyse <strong>de</strong> la défaillance.Ainsi, l’écriture sous forme <strong>de</strong> règles <strong>de</strong> production <strong>de</strong>toutes les relations causes effets <strong>de</strong>s pannes connues d’unprocédé ou d’un système permet d’une part <strong>de</strong> lemodéliser sous forme linguistique et d’autre part <strong>de</strong> créerla base <strong>de</strong>s règles du système expert.Afin d’arriver à i<strong>de</strong>ntifier la bonne cause <strong>de</strong> défaillance, ilsuffit d’appliquer un mécanisme d’inférence qui définitune démarche <strong>de</strong> diagnostic. Le mécanisme appliqué pourle diagnostic est un mécanisme qui vise à déterminer unecause à partir d’un effet ou d’un ensemble d’effets. Cettelogique coïnci<strong>de</strong> avec celles du chaînage arrière ou biendu chaînage mixte qui sont <strong>de</strong>s algorithmes « goaloriented » [7]. Autrement dit, on cherche à dégagerl’ensemble <strong>de</strong>s prémisses qui peuvent être à l’origined’un fait ou d’un ensemble <strong>de</strong>s faits constaté par unutilisateur.Avec le recul du temps et la confrontation à la réalité,l’utilisation <strong>de</strong>s systèmes experts avait dégagé unensemble <strong>de</strong> limitations [31], dont la plus importante estcelle du raisonnement incertain. En fait, un <strong>de</strong>s plusgrands problèmes que rencontre le cogniticien lorsqu'iltente <strong>de</strong> formaliser le savoir d'un expert, c'est que celui-ciest capable <strong>de</strong> raisonner sur <strong>de</strong>s connaissances incertainesou imprécises et qu'on ne dispose que <strong>de</strong> très peu d'outilspour rendre compte <strong>de</strong> cette capacité [20].Il s’agit d’une problématique différente <strong>de</strong> la scienceobjective. On assiste, alors, à la naissance d’unediscipline scientifique appelée logique floue s’intégrantdu raisonnement humain.3. SYSTEMES EXPERTS FLOUSL’introduction <strong>de</strong> la logique floue dans les systèmesexperts a pour but <strong>de</strong> faire face aux limitations <strong>de</strong>ssystèmes experts ordinaires surtout celle concernant leraisonnement incertain. Cette introduction évoque lanotion <strong>de</strong>s Systèmes <strong>Experts</strong> <strong>Flous</strong>. La logique floue a étéintroduite, dans les systèmes experts <strong>de</strong>puis une vingtained’années, dans plusieurs disciplines qui manipulent <strong>de</strong>sdonnées incertaines et <strong>de</strong>s informations imprécises [27][12].Elle peut être intégrée sous différents aspects en fonctiondu domaine <strong>de</strong> l’application et du <strong>de</strong>gré <strong>de</strong> complexité duproblème. La structure générale d’un système expert flouest représentée par la figure 2 qui précise également dansquels niveaux la logique floue peut intervenir.TraitementUtilisationUtilisateursFigure 2. Principe d’un système expert FlouEn fait, cette discipline touche l’étape <strong>de</strong> la formalisationet du traitement <strong>de</strong>s connaissances et permet <strong>de</strong> générerun ensemble <strong>de</strong> conclusions pondérées. La structureinterne du système expert flou dépend <strong>de</strong> son domained’application et <strong>de</strong> la nature <strong>de</strong>s données à représenter.Des systèmes experts flous ont été conçus dans ledomaine <strong>de</strong> l’électronique <strong>de</strong> puissance, essentiellementpour faire le diagnostic <strong>de</strong>s différentes pannes quipeuvent arriver à un circuit <strong>de</strong> transmission [14]. Lalogique floue a été utilisée, également, dans le domaine<strong>de</strong> diagnostic pour l’agriculture pour la détection etl’i<strong>de</strong>ntification du type <strong>de</strong> maladies d’insecte à partir <strong>de</strong>ssymptômes constatés sur les plantes [24]. Un prototype<strong>de</strong> logiciel a été, justement, développé dans le butd'étudier la possibilité d'utiliser la logique floue dans <strong>de</strong>ssystèmes d’ai<strong>de</strong> à la décision (SAD) pour l'élevage <strong>de</strong> lavache laitière. [28]. Il a été intéressant, certainement,d’utiliser un système expert flou dans la conceptiond’architecture d’un réseau informatique. En fait, il s’estavéré que 70% <strong>de</strong> la connaissance dans ce domaine est <strong>de</strong>nature floue [5]. Enfin, le domaine du diagnostic médicalavait beaucoup utilisé les systèmes experts flousnotamment pour l’analyse du sang <strong>de</strong> la cor<strong>de</strong>embryonnaire [10], dans un logiciel d’ai<strong>de</strong> pourl’enseignement <strong>de</strong>s infirmières [33] et dans le diagnostic<strong>de</strong>s symptômes du cancer <strong>de</strong> la peau [27].Les systèmes experts flous ont pu, dans plusieursdomaines, prouver leurs efficacités et pallier lesproblèmes <strong>de</strong> l’incertitu<strong>de</strong> et l’imprécision <strong>de</strong>s données et<strong>de</strong>s connaissances intervenant dans l’expertise. L’étu<strong>de</strong><strong>de</strong>s différents systèmes déjà cités nous a prouvé ladiversification <strong>de</strong> l’utilisation <strong>de</strong> la logique floue. Eneffet, la manière <strong>de</strong> son intégration dans un systèmeexpert diffère d’une application à une autre. Elle dépend<strong>de</strong> la nature <strong>de</strong> l’incertitu<strong>de</strong> et <strong>de</strong> sa modélisation. Ladotation et la propagation <strong>de</strong>s coefficients <strong>de</strong> certitu<strong>de</strong>diffère lorsque la connaissance du système est modéliséesous modélisation <strong>de</strong> Sugeno ou bien <strong>de</strong> Mamdani. Déslors, on se propose <strong>de</strong> générer un environnement ouvert etgénéral ayant les outils permettant <strong>de</strong> créer <strong>de</strong>s systèmesexperts, à base <strong>de</strong> logique floue, flexibles et intégrantmaintes métho<strong>de</strong>s.4. FORMULATION, CONCEPTION ETDEVELOPPEMENT DU GENERATEURL’environnement à développer est un générateur <strong>de</strong>systèmes experts qui sont dédiés au diagnostic industriel.Ce générateur intègre surtout un ensemble <strong>de</strong>fonctionnalités permettant l’exploitation <strong>de</strong> la logiquefloue dans le diagnostic <strong>de</strong>s pannes. Le générateur est unsystème d’ai<strong>de</strong> à la décision capable <strong>de</strong> générer à la fois<strong>de</strong>s systèmes experts ordinaires et <strong>de</strong>s systèmes expertsflous. La figure 3 représente une telle structure.Page 3 sur 7
Systèmes <strong>Experts</strong> <strong>Flous</strong>InférenceEnsembles flousGénérateur <strong>de</strong> systèmesd’ai<strong>de</strong> au DiagnosticDéffuzificationSEF avec différentesstructuresFigure 3. Architecture du générateurSystèmes <strong>Experts</strong> Ordinaires4.1 Principes et caractéristiques <strong>de</strong>s SEF générésLe générateur <strong>de</strong> systèmes experts permet la création <strong>de</strong>systèmes experts d’ordre 0 + et à base <strong>de</strong> logique flouedédiés au diagnostic. En fait, le diagnostic industrielrepose sur le principe <strong>de</strong> cause et effet qui existe entreune panne et ses origines probables. Lorsqu’une panne ouun défaut survient, plusieurs scénarios sontenvisageables. Afin que les systèmes experts puissenti<strong>de</strong>ntifier le vrai scénario <strong>de</strong> panne, les relations causes eteffets seront représentées par <strong>de</strong>s relations floues et lecalcul <strong>de</strong> la valeur d’appartenance permet d’i<strong>de</strong>ntifier lepoids <strong>de</strong> la possibilité. Un coefficient sera assigné àtoutes les hypothèses <strong>de</strong> défauts et celle qui aura lapondération la plus importante sera la plus proche <strong>de</strong> laréalité. Caractéristiques <strong>de</strong>s SEFLes systèmes experts générés sont dotés d’un ensemble<strong>de</strong> caractéristiques communes fixées lors <strong>de</strong> la conceptiondu générateur. Il convient, par exemple, <strong>de</strong> fixer lamétho<strong>de</strong> d’explication <strong>de</strong>s résultats, le type <strong>de</strong>s variablesmanipulées et la formalisation <strong>de</strong>s connaissances sousforme <strong>de</strong> règles <strong>de</strong> production selon différentesmodélisations.On essaye, lors <strong>de</strong> la création <strong>de</strong> cet environnement qu’ilsoit général et complet pour pouvoir générer <strong>de</strong>s systèmesexperts utilisant maintes métho<strong>de</strong>s [13].Explication <strong>de</strong>s résultatsLa métho<strong>de</strong> d’explication <strong>de</strong>s résultats obtenus que lessystèmes experts générés ont adopté est celle <strong>de</strong> laprésentation <strong>de</strong> l’ensemble <strong>de</strong>s règles qui avaient mené aurésultat obtenu.Variables utiliséesLes systèmes experts manipulent <strong>de</strong>s variables qui semanifestent dans les prémisses et les conclusions <strong>de</strong>srègles <strong>de</strong> production, sous la forme {Variable estattribut}. Le générateur offre la possibilité <strong>de</strong> créer <strong>de</strong>svariables <strong>de</strong> nature numérique, booléen ou bien floueTypes <strong>de</strong>s sous systèmes modélisésOn avait choisi <strong>de</strong> modéliser la connaissance <strong>de</strong>ssystèmes experts par le formalisme <strong>de</strong>s règles <strong>de</strong>production. Selon les types <strong>de</strong>s variables traitées par lesrègles, les systèmes experts générés peuvent contenirdifférents types <strong>de</strong> sous systèmes.Si x 1 est A 11 et x 2 est A 12 alors y est B 1où x j (avec j=1) est une variable d'entrée et y est unevariable <strong>de</strong> sortie.• Si A ij est un nombre et B i un nombre, la règle est ditenumérique. Dans le cas où toutes les règles <strong>de</strong>production modélisant le système sont numériques, lesystème est un système expert ordinaire qui ne nécessitepas une intervention du raisonnement flou. Si A ij est un ensemble flou et B i un nombre, la règle estdite linguistique (ou floue). Lorsque le système expertcontient <strong>de</strong>s règles <strong>de</strong> ce type, il englobe un soussystème sous modélisation <strong>de</strong> Sugeno d’ordre 0. Si A ij est un ensemble flou et B i un ensemble flou, larègle est dite linguistique (ou floue). Lorsque lesystème expert contient <strong>de</strong>s règles <strong>de</strong> ce type, ilenglobe un sous système sous modélisation <strong>de</strong>Mamdani.L’environnement ainsi développé présente lapossibilité <strong>de</strong> créer un système expert flou contenantdifférent types <strong>de</strong> sous systèmes. L’intérêt <strong>de</strong> cettedifférentiation se manifestera plus tard dansl’affectation et la propagation <strong>de</strong>s coefficients <strong>de</strong> vérité<strong>de</strong>s règles <strong>de</strong> production. FonctionnementIl s’agit dans cette partie <strong>de</strong> présenter le fonctionnementdu moteur d’inférence du diagnostic et <strong>de</strong> détailler ensuitel’intégration du module logique floue dans le systèmeMoteur d’inférence du système expert <strong>de</strong> diagnosticLe principe <strong>de</strong> fonctionnement du moteur d’inférence <strong>de</strong>ssystèmes experts <strong>de</strong> diagnostic générés et ses interactionsavec la base <strong>de</strong>s règles et la base <strong>de</strong>s faits sont régis par<strong>de</strong>ux étapes: une étape d’initialisation et une étaped’utilisation.Le moteur d’inférence, dans la phase <strong>de</strong> l’initialisation,compare les faits <strong>de</strong> la base <strong>de</strong>s faits avec les prémisses<strong>de</strong>s règles <strong>de</strong> production contenues dans la base <strong>de</strong>srègles. Il détermine ensuite les règles qui sont vali<strong>de</strong>s.Une fois la liste <strong>de</strong>s règles vali<strong>de</strong>s est établie, on appliquele principe du FIFO (« First in first out » ) c’est à dire quela première règle validée va être exécutée. Son exécutionimplique l’enregistrement <strong>de</strong> sa conclusion dans la base<strong>de</strong>s faits comme étant un nouveau fait à considérer. Aprèsl’exécution <strong>de</strong>s règles figurant dans la liste, le moteurd’inférence refait le même mécanisme pour la nouvellebase <strong>de</strong>s faits. Ce processus s’arrête lorsqu’il n’y a plus<strong>de</strong> règle à vali<strong>de</strong>r et la base <strong>de</strong>s faits est, ainsi, saturée. Lesystème expert <strong>de</strong> diagnostic est alors vali<strong>de</strong>.Base <strong>de</strong> règles (BR)Règles <strong>de</strong>Production(RP)Base <strong>de</strong>s faits (BF)FaitsEtape InitialisationComparaison Faits dans BF avec les prémisses <strong>de</strong>s RPDégager les règles qui peuvent être validéesIl y’a <strong>de</strong>s nouvellesrègles à vali<strong>de</strong>rOuiNonVali<strong>de</strong>r les règles avec le principe FIFOAjouter les conclusions <strong>de</strong>s règles vali<strong>de</strong>s à la BFFigure 4. Algorithme d’initialisation d’un SE <strong>de</strong> diagnosticLa secon<strong>de</strong> étape dite phase d’utilisation représente lemécanisme <strong>de</strong> recherche adopté pour déterminer lescauses d’un effet. En effet, le moteur d’inférence au cours<strong>de</strong> cette phase reçoit un fait <strong>de</strong> l’utilisateur du système.La première étape sera <strong>de</strong> chercher l’existence du faitdans la base <strong>de</strong>s faits. Le nombre <strong>de</strong> fois que l’effetconstaté figure dans la base <strong>de</strong>s faits représente le nombre<strong>de</strong> chemins qui ont permis <strong>de</strong> l’atteindre. Le but <strong>de</strong> notrealgorithme est <strong>de</strong> chercher les causes premières <strong>de</strong> sonexistence. La recherche se fait selon l’algorithme <strong>de</strong>chaînage arrière. Il s’agit <strong>de</strong> chercher les règles quiconcluent sur le fait voulu et puis <strong>de</strong> faire la même chosepour les prémisses <strong>de</strong> ces règles jusqu’à arriver à laprémisse qui ne constitue pas une conclusion d’une règle.Cette prémisse est considérée comme un fait du <strong>de</strong>rnierniveau et une cause première. La démarche <strong>de</strong> chaînagePage 4 sur 7
arrière suppose la construction d’une chaîne contenantl’ensemble <strong>de</strong>s règles menant au fait. Ce mécanisme estappliqué à tous les chemins qui ont pu conclure sur le faitdésiré.Intégration <strong>de</strong> la logique floue dans le moteur d’inférencePour les raisons <strong>de</strong> l’abondance <strong>de</strong> l’utilisation <strong>de</strong>sraisonnements avec <strong>de</strong>s données incertaines, l’intégration<strong>de</strong> la logique floue dans un système expert <strong>de</strong> diagnosticétait intéressante.Le but principal <strong>de</strong> cette intégration est <strong>de</strong> pouvoirmodéliser <strong>de</strong>s données incertaines et subjectives pour quele système expert puisse les prendre en considération.Elle permet en même temps d’affecter <strong>de</strong>s facteurs <strong>de</strong>certitu<strong>de</strong> à l’ensemble <strong>de</strong>s faits contenus dans la base <strong>de</strong>faits ; ce qui contribue à la pondération <strong>de</strong>s choix quel’utilisateur <strong>de</strong>vait faire.Le premier aspect d’intervention <strong>de</strong> la logique floue semanifeste au cours <strong>de</strong> la validation <strong>de</strong>s faits. Un test, quiconsiste à vérifier si le fait contient <strong>de</strong>s attributsnumériques pour <strong>de</strong>s variables <strong>de</strong> type linguistique, estajouté à ce niveau. Si la condition du test est vérifiée, ilconvient <strong>de</strong> passer par l’étape <strong>de</strong> la fuzzification. Le fai<strong>tn</strong>umérique est, alors, interprété et transformé en un (<strong>de</strong>s)fait (s) linguistique (s). Les valeurs <strong>de</strong>s <strong>de</strong>grés d’adhésioncalculés au cours <strong>de</strong> cette étape sont affectées aux faitscomme étant <strong>de</strong>s coefficients <strong>de</strong> vérité. Dans le cascontraire, le fait est considéré vrai et l’algorithme luiassigne un coefficient <strong>de</strong> vérité égal à un. De cettemanière, tous les faits contenus dans la base <strong>de</strong>s faits<strong>de</strong>viennent pondérés et le système donne uneinterprétation linguistique pour <strong>de</strong>s attributs numériquesassociés à <strong>de</strong>s variables floues.Le moteur d’inférence dédié au diagnostic compare, dansune autre étape, les faits pondérés avec les prémisses <strong>de</strong>srègles <strong>de</strong> production. Les règles à vali<strong>de</strong>r sont ensuitetirées <strong>de</strong> la base <strong>de</strong>s règles. Les règles exécutées passentpar une étape d’inférence floue reliant les entrées à lasortie <strong>de</strong> la règle et affectant à sa conclusion uncoefficient <strong>de</strong> vérité à partir <strong>de</strong> celui <strong>de</strong> sa prémisse. Lemécanisme d’affectation se fait en fonction du type <strong>de</strong>l’inférence (mono règles, multi règles <strong>de</strong> type Sugeno,multi règles <strong>de</strong> type Mamadani) [2].Base <strong>de</strong> règles (BR)Règles <strong>de</strong>Production(RP)FaitsEtape InitialisationAffecter 1 au FaitComparaison Faits pondérés dans BF avec les prémissesIl y’a <strong>de</strong>s nouvellesrègles à vali<strong>de</strong>rNonOuiLire BFDonnée numérique pour varlinguistiqueDégager les règles qui peuvent être validéesNonVali<strong>de</strong>r les règles avec le principe FIFOSystème Expert Vali<strong>de</strong>Ajouter les conclusions pondérées <strong>de</strong>s règles vali<strong>de</strong>s à la BFInférence floueFuzzificationDéfuzzificationAffecter <strong>de</strong>s coefficientsaux conclusions <strong>de</strong>s règlesapplicablesFigure 5. Intégration <strong>de</strong> la logique floue dans l’initialisationA l’issue <strong>de</strong> cette étape, les conclusions <strong>de</strong> toutes lesrègles validées seront affectées d’un <strong>de</strong>gré <strong>de</strong> vérité avantd’être enregistrée dans la base <strong>de</strong>s faits. De cettemanière, la phase d’initialisation va aboutir à une base<strong>de</strong>s faits saturée contenant un ensemble <strong>de</strong>s faitspondérés.La phase d’utilisation fait appel à la logique floueseulement lorsque l’utilisateur entre un fait contenant unattribut numérique pour une variable que l’expert avaitutilisé en tant que variable floue. Dans ce cas, une étape<strong>de</strong> fuzzification est nécessaire pour donner uneinterprétation linguistique unique à la valeur donnée parl’utilisateur. Le fonctionnement <strong>de</strong> l’algorithme n’est pasaffecté mais au lieu <strong>de</strong> manipuler <strong>de</strong>s faits simples iltraite avec <strong>de</strong>s faits pondérés.Par conséquent, lorsque le moteur d’inférence génère lescauses possibles affectées par <strong>de</strong>s coefficients <strong>de</strong> véritépouvant conduire à la réalisation <strong>de</strong> l’effet constaté parl’utilisateur. Les causes premières sont classées par ordredécroissant <strong>de</strong> <strong>de</strong>gré <strong>de</strong> certitu<strong>de</strong> ; ce qui est un indicateur<strong>de</strong> choix très utile à l’utilisateur pour faire son diagnosticsurtout si le système est compliqué et les causes sontmultiples.4.2 Conception du générateurPour développer le générateur, il est impératif <strong>de</strong> passerpar une phase <strong>de</strong> conception. Le choix d’une métho<strong>de</strong> <strong>de</strong>programmation appropriée aux besoins et au type <strong>de</strong>l’application reste toujours la clé <strong>de</strong> sa réussite.Ainsi, le choix <strong>de</strong>s métho<strong>de</strong>s <strong>de</strong> conception appropriéespour l’application « générateur <strong>de</strong> systèmes expertsflous » est indispensable. Cette application se composed’une interface graphique, contenant l’ensemble <strong>de</strong>sfonctionnalités permettant à l’utilisateur <strong>de</strong> créer etd’exploiter <strong>de</strong>s systèmes d’ai<strong>de</strong> à la décision, et d’unebase <strong>de</strong> données (Voir figure 6.).Base <strong>de</strong>donnéesInterface GraphiqueUtilisateurExpertFigure 6. Composantes <strong>de</strong> l’applicationMaintes métho<strong>de</strong>s <strong>de</strong> modélisation et <strong>de</strong> conceptionexistent parmi lesquelles XML, SADT, SART, UML etc.Afin d’arriver à nos fins, nous avons choisi <strong>de</strong> concevoirnotre application selon la métho<strong>de</strong> UML parce que estavant tout un langage <strong>de</strong> modélisation et un support <strong>de</strong>communication performant qui facilite la représentationet la compréhension <strong>de</strong>s solutions objet. L'aspect formel<strong>de</strong> sa notation graphique limite les ambiguïtés et lesincompréhensions.4.3 Développement du générateurUne fois la conception est effectuée, l’étape <strong>de</strong>l’implantation est abordée. Il suffit donc <strong>de</strong> choisir leslangages <strong>de</strong> programmation permettant <strong>de</strong> passer <strong>de</strong> laconception au développement informatique et puis àl’exploitation.Pour <strong>de</strong>s raisons <strong>de</strong> justesse <strong>de</strong> temps, les outils que nousavons utilisés pour développer ce progiciel sont lelangage <strong>de</strong> programmation Microsoft Visual Basic (VB)[3][15] dans sa version 6.0 pour le développement <strong>de</strong>l’interface graphique et le système <strong>de</strong> gestion <strong>de</strong> bases <strong>de</strong>données relationnelles Microsoft Access 2000 pourl’implantation <strong>de</strong> la base <strong>de</strong> données. Le moteur <strong>de</strong> base<strong>de</strong> données utilisé pour assurer la communication entreVB et Access 2000 est le Jet (« Join EngineTechnology ») dans sa version 4.0.Les figures 7, 8 et 9 représentent <strong>de</strong>s exemplesd’imprimes écran <strong>de</strong> l’environnement ainsi développé.Figure 7. Ecran Principal <strong>de</strong> l’applicationPage 5 sur 7
Figure 8. Ecran permettant la configuration <strong>de</strong>s ensembles flousFigure 9. Ecran <strong>de</strong> création d’une règle <strong>de</strong> production5. EXEMPLE APPLICATIFL’étu<strong>de</strong> comparative se base sur un exemple applicatifqui manipule <strong>de</strong>s variables indiquant la température [17].La nature <strong>de</strong>s informations traitées, étant linguistique,présente un aspect incertain. On va détailler dans ce quisuit la configuration du système, le fonctionnement <strong>de</strong>l’algorithme et les résultats. L’expertise est représentéepar l’arbre <strong>de</strong> défaillances schématisé dans la figure 10.A est chaudB est froidC est froidFigure 10. Intégration <strong>de</strong> la logique floue dans l’initialisationDans cet exemple symbolique, on se propose <strong>de</strong> chercherla cause la plus probable qui peut générer le défautsignalé dans le <strong>de</strong>rnier niveau <strong>de</strong> l’arbre <strong>de</strong> diagnostic.L’utilisateur se propose <strong>de</strong> créer un système expert à base<strong>de</strong> logique floue à partir du générateur. La création dusecond système d’ai<strong>de</strong> à la décision pour cet exemple,suppose la définition <strong>de</strong> variables floues ainsi que ladétermination <strong>de</strong>s ensembles floues correspondants. Cinqensembles flous sont définis avec les variableslinguistiques suivantes : Très Froid (TF), Froid (F),Moyen (M), Chaud (C), Très Chaud (TC). Le type <strong>de</strong>sfonctions est choisi entre les formes triangulaire,trapézoïdale et cloche. La base <strong>de</strong>s faits est la suivante :BF : {A est 44, B est 28, C est 21}Défauta est moyen b est très froid c est chaudc est froidd est froidD est chaudB est chaudLe système expert flou <strong>de</strong> diagnostic interprète lesdonnées numériques en leur donnant <strong>de</strong>s significationslinguistiques associées avec <strong>de</strong>s pondérationsCF (coefficients <strong>de</strong> certitu<strong>de</strong>).L’étape <strong>de</strong> la fuzzification intégrée dans le moteurd’inférence du système expert flou permet <strong>de</strong> calculer le<strong>de</strong>gré <strong>de</strong> vérité <strong>de</strong> chaque information. Le choix <strong>de</strong>sfonctions d’appartenance est fait généralement parl’expert lors <strong>de</strong> la création <strong>de</strong>s variables. Dans notre cas,pour <strong>de</strong>s fonctions triangulaires,A =44 µ(A est chaud)=0.64 ; µ(A est moyen)= 0.29B = 28 µ(B est froid)=0.85 ;C = 21 µ(C est froid)=0.49 ; µ(C est moyen)= 0.17La base <strong>de</strong>s faits <strong>de</strong>vient alors,BF : {(A est chaud, 0.64)), (B est froid, 0.85), (C estfroid, 0.49), (A est moyen,0.29)), (C est moyen, 0.17)}L’étape <strong>de</strong> l’initialisation, implique l’exécution <strong>de</strong>l’ensemble <strong>de</strong>s règles vali<strong>de</strong> avec chaque itération jusqu’àsaturation <strong>de</strong> la base <strong>de</strong>s faits.Etape 1 : Règles vali<strong>de</strong>s : {R1 - R7}Etape 2 : Règles vali<strong>de</strong>s : {R5-R1-R8-R6}Etape 3 : Règles vali<strong>de</strong>s : {R5-R1-R8-R6-R2}Saturation BFPour ce cas <strong>de</strong> figure, l’inférence est simple. Il suffitd’appliquer le calcul du minimum pour l’affectation et lapropagation <strong>de</strong>s coefficients.Les règles R1 et R2, comme le premier cas, concluent surle fait du défaut ce qui veut dire qu’il existe <strong>de</strong>ux cheminsmenant à la défaillance. Lors <strong>de</strong> l’étape <strong>de</strong> l’utilisation,les chemins sont construits jusqu’aux causes premières :Etape 1 : L1= {R1} ; L2= {R2}Etape 2 : L1= {R1-R5} ; L2= {R2-R6}Etape 3 : L1= {R1-R5} ; L2= {R2-R6-R8}De même, l’utilisateur se trouve dans ce cas <strong>de</strong>vant <strong>de</strong>uxcauses premières les prémisses <strong>de</strong> R5 et R8 :Cause première 1 : (A est chaud) et (B est froid) avecCF1= 0.64Cause première 2 : B est froid avec CF2 = 0.85⇒ L’utilisateur se trouve avec <strong>de</strong>ux alternatives <strong>de</strong>décisions comme le cas <strong>de</strong> système expert. Lesystème expert flou dans ce cas a pu donner àl’opérateur non expert un ensemble <strong>de</strong> choix et <strong>de</strong>solutions avec <strong>de</strong>s pondérations calculées lors <strong>de</strong> lavalidation <strong>de</strong>s règles. Ainsi, l’opérateur aura uncritère <strong>de</strong> sélection entre les alternatives.6. CONCLUSIONL’objectif principal <strong>de</strong> cette étu<strong>de</strong> est la synthèse d’unelogique permettant d’intégrer les notions floues dans lessystèmes experts <strong>de</strong> diagnostic. Dés lors, une applicationinformatique incorporant les métho<strong>de</strong>s déjà étudiées a étéanalysée, conçue et développée. Le générateur conçu viseà développer un ensemble d’outils permettant <strong>de</strong> créer <strong>de</strong>ssystèmes experts ordinaires et <strong>de</strong>s systèmes experts flous<strong>de</strong> diagnostic.On a pu conclure, ainsi, sur l’utilité <strong>de</strong> la notion <strong>de</strong> lalogique floue dans les systèmes experts <strong>de</strong> diagnostic.Lorsque le domaine étudié présente les caractéristiquesnécessaires à l’utilisation <strong>de</strong> la logique floue, cette<strong>de</strong>rnière ne peut être que bénéfique. En fait, les systèmesexperts flous d’ai<strong>de</strong> à la décision générés à partir <strong>de</strong>l’environnement conçu nous ont permis <strong>de</strong> dégager lespoints suivants : Ces systèmes d’ai<strong>de</strong> à la décision procurent unemétho<strong>de</strong> convenable pour incorporer la connaissanced’un expert humain dans un système expert en utilisant<strong>de</strong>s termes qualitatifs et proches du langage <strong>de</strong>l’expertise. Ils permettent, ainsi, grâce à l’introduction <strong>de</strong>la logique floue <strong>de</strong> manipuler <strong>de</strong>s informationsPage 6 sur 7
incomplètes et imprécises et <strong>de</strong> modéliser <strong>de</strong>sconnaissances subjectives. L’utilisation <strong>de</strong> la logique floue améliore l’efficacité etla cohérence <strong>de</strong>s systèmes experts. Puisque cettetechnologie fournit à l’utilisateur une interprétationlinguistique <strong>de</strong>s données numériques. Ainsi, elle garantitl’unicité <strong>de</strong>s résultats générés par le système pour unesituation donnée. Dés lors, il est possible <strong>de</strong> minimiserl’incertitu<strong>de</strong> <strong>de</strong>s interprétations humaines. L’utilisation <strong>de</strong>s règles floues dans le moteurd’inférence du système expert peut garantir la rapidité <strong>de</strong>son exécution. Lorsque l’expert trouve une bonnemodélisation floue <strong>de</strong>s connaissances du système, ilminimise le nombre <strong>de</strong> règle <strong>de</strong> production dans lemoteur d’inférence vu qu’il évite le découpage enintervalles <strong>de</strong> cas. Les systèmes experts flous <strong>de</strong> diagnostic sont surtoutplus crédibles et plus proches du raisonnement humainpar leur capacité à pondérer l’ensemble <strong>de</strong>s causespossibles d’une panne. Ils affectent à chaque alternativeun coefficient <strong>de</strong> vérité qui se calcule à partir du moteurd’inférence flou. Ces coefficients lors <strong>de</strong> l’i<strong>de</strong>ntificationd’une panne permettent <strong>de</strong> classer ses causes suivant lesplus probables. De cette manière, l’utilisateur est plusguidé dans sa prise <strong>de</strong> décision.Néanmoins, cet environnement reste toujours ouvert etaccepte plusieurs améliorations et enrichissements. Enfait, l’efficacité <strong>de</strong>s résultats <strong>de</strong> l’algorithme <strong>de</strong>diagnostic peut être améliorée en ajoutant un moduleinteractif avec les utilisateurs qui permettra <strong>de</strong> poser <strong>de</strong>squestions pertinentes afin d’éviter les cas où le systèmene conclut rien. Par ailleurs, le choix d’autres outils <strong>de</strong>développement pour le modèle conçu (Java pourl’interface et Oracle pour la base <strong>de</strong> données parexemple) pourra améliorer les performances <strong>de</strong>l’application si elle sera appliquée pour <strong>de</strong>s applicationscompliquées (portabilité et sécurité).En plus, la diversification <strong>de</strong>s métho<strong>de</strong>s d’application <strong>de</strong>la logique floue laisse le système ouvert pour undéveloppement plus profond pour qu’il puisse tenircompte <strong>de</strong> plusieurs cas et d’applications notamment lediagnostic <strong>de</strong>s systèmes continus et discrets. Il estintéressant, également, <strong>de</strong> développer un modulepermettant <strong>de</strong> faire l’apprentissage à l’ai<strong>de</strong> <strong>de</strong>s réseaux <strong>de</strong>neurones.RÉFÉRENCES[1] C. Baydar, Diagnosis of Complex Failures in RoboticAssembly Systems using Virtual Factories,AAAI/KDD/UAI, 2002.[2] H. Bühler, Réglage par logique floue, Collection Electricité,1994.[3] J. Connel, Accès aux bases <strong>de</strong> données avec Visual basic 6,Editions Eyrolles, 1999.[4] L. Doris, “La logique Floue, ” L’électron libre, 2001.[5] H. Fahmy, “Applications of hybrid Fuzzy Expert Systems incomputer Networks Design,” Journal of Information scienceand engineering, Vol. 14, pp. 53-69, 1997.[6] B. Faltings, “Intelligence artificielle au-<strong>de</strong>là <strong>de</strong>s systèmesexperts,” F1 10, 1994.[7] M. Fetiarison, “Les systèmes experts,” EIVD, Février 2004.[8] M. Gaberiel, J-C. Rantt, “Systèmes experts enmaintenance,” Masson, 1989.[9] M. Gabriel, D. Richet, “Les systèmes d’ai<strong>de</strong> au diagnostic,”Les Référentiels Dunod, 1999.[10] M.J. Garibaldi, C. Emmanuel, “The Development of aFuzzy Expert System for the Analysis of Umbilical CordBlood,” School of Electronic, PL4 8AA, U.K,2000.[11] A. Hegyi, et al., “A fuzzy <strong>de</strong>cision support system for trafficcontrol centers, ” Proceedings of the TRAIL 6th AnnualCongress 2000 | Transport, Infrastructure and Logistics, Part2, The Hague/Scheveningen, The Netherlands, Decembre2000.[12] G. Huguenin, “Logique floue et processeur flou,” EIAJ /GHU, 24 mars 2004.[13] G. Hwang, “A New Environment for Developing FuzzyExpert Systems,” Journal of Information science an<strong>de</strong>ngineering, Vol. 15, pp. 53-69, 1999.[14] H. Jae et al., “A Fuzzy Expert system for Integrated FalseDiagnosis,” IEEE Transactions on PowerDelivery, Vol. 5,N° 2, Avril 2000.[15] B.Mc. Kinney, “Microsoft Visual Basic 6.0,” MicrosoftPress, 1996.[16] C.C. Kontogiannis, A.N.Safacas, “An expert system forpower plant,” DEA, Department of Electrical & ComputerEngineering University of Patras, 2002.[17] O. Hall Lawrence, “Rule Chaining in Fuzzy ExpertSystems,” Department of Computer Science andEngineering, ENB 118, 2000.[18] M. Malik, “Le rôle <strong>de</strong> la logique floue dans leWeb sémantique,” DEA, Faculté <strong>de</strong> Mé<strong>de</strong>cine <strong>de</strong> la Timone,2002.[19] F. Manchy, “La fonction maintenance, formation à lagestion <strong>de</strong> la maintenance industrielle,” Masson, 1996.[20] A.Mathon, “Les réseaux <strong>de</strong> neurones comme outils d’ai<strong>de</strong> àla décision floue,” DEA, Ecole Nationale Supérieure <strong>de</strong>sMines <strong>de</strong> Saint-Etienne, 1992.[21] L. Negrello, “Systèmes experts et intelligence artificielle, ”CT 157 édition, Novembre1991.[22] G. Ron, Ph.D. Chen, “A Fuzzy Expert System for FaultManagement of Water Recovery and Supply,” ISSO, 1994-1995.[23] Sadiq R. et al, “Fuzzy cognitive maps for <strong>de</strong>cision support tomaintain water quality in ageing water mains, ” DMUCE 4,4éme Conférence Internationale <strong>de</strong> prise <strong>de</strong> décision dansl’ingenirie civile et urbaine, Porto, Portugal, Octobre 28-30,pp. 1-10, 2004.[24] S. Saini, “ Web Based Fuzzy Expert System for IntegratedPest anagement in Soybean, ” Internationel Journal ofInformation Technologie, Vol. 8, 1 Aout 2002.[25] J.L. Renaud-Salis, F. Bonichon, et all. “ Un modèlegénérique pour le développement <strong>de</strong> systèmes experts encancérologie clinique ”, Informatique et Santé, Vol. 2, 1989.[26] A.K.Sharma, C. Kumar, K. Mustafa, “ A fuzzy frame base<strong>de</strong>xpert shell,” National Workshop on IT Services andApplications (WITSA2003), Février 27-28, 2003.[27] R. Stemplowski, “ Application <strong>de</strong> l'ai<strong>de</strong> à la décisionmulticritère aux schémas d'aménagement <strong>de</strong>s eaux,” Thèse<strong>de</strong> D.E.A, Université Paris IX Dauphine, 1990.[28] M. Strasser, “The Development of a Fuzzy Decision-Support System for Dairy Cattle Culling Decisions,” Thèse,Département d’ingénierie d’agriculture et <strong>de</strong> bio systèmesUniversité <strong>de</strong> McGill, Mai 1997.[29] F. Taraboanta et al., “A non boolean logic to process signalsgenereted by ball bearing’s <strong>de</strong>fects,” Fascicile, Vol. 3, 2002.[30] K. Tomsovic, B. Baer, “Fuzzy Information Approaches toEquipment Condition Monitoring and Diagnosis,” DEA,School of Electrical Engineering and Computer ScienceWashington State University, 1994.[31] K.Tomsovic, M.Y. Chow, “Tutorial on Fuzzy LogicApplications in Power Systems,” IEEE-PES Winter Meetingin Singapore, 2000.[32] Y.M.Visetti, “ Des systèmes experts aux systèmes à base <strong>de</strong>connaissances : à la recherche d’un nouveau schémarégulateur,” Intellectica, pp. 221-279,1992.[33] C. Zajpt, et al., “ Système expert pour l'ai<strong>de</strong> a la décision età l'enseignement <strong>de</strong>s diagnostics infirmiers, ” Springer-Verlag, Vol. 9, 1997.[34] [G. Zwingelstein, “ Diagnostic <strong>de</strong>s défaillances,” EditionsHermes, 1995.Page 7 sur 7