Your SlideShare is downloading. ×
Les systèmes experts
Les systèmes experts
Les systèmes experts
Les systèmes experts
Les systèmes experts
Les systèmes experts
Les systèmes experts
Les systèmes experts
Les systèmes experts
Les systèmes experts
Les systèmes experts
Les systèmes experts
Les systèmes experts
Les systèmes experts
Les systèmes experts
Les systèmes experts
Les systèmes experts
Les systèmes experts
Les systèmes experts
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Les systèmes experts

2,329

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,329
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
146
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes experts SommaireLES PRINCIPES DE BASE.............................................................................................3 EN QUOI CONSISTE UN SYSTÈME EXPERT ?..............................................................................3 A QUOI SERT UN SYSTÈME EXPERT ?.....................................................................................3 QUELS SONT LES PRINCIPES DE BASE ?..................................................................................3 Que faut-il savoir sur les systèmes experts ?..............................................................3 Quel est le problème ?.............................................................................................4 Quel est le rôle de lexpert ?.....................................................................................4 Quelles doivent être les caractéristiques des connaissances ?.......................................4 En quoi consiste l’explication du raisonnement ?.........................................................4 Quelles sont les applications d’un système expert ?.....................................................4 Quelles sont les différences d’un système expert par rapport aux autres logiciels ?.........5 Quelle est l’organisation de base ?.............................................................................5 QUEL EST LE CYCLE DE BASE DUN SYSTÈME EXPERT ?................................................................6 En quoi consiste l’évaluation ?..................................................................................6 En quoi consiste l’exécution ?..................................................................................6 EN QUOI SE DIFFÉRENCIENT LES SYSTÈMES EXPERTS ?................................................................7 Quels sont les différents niveaux de faits ?.................................................................7 Quels sont les différents types de règles ?..................................................................7 QUEL EST L’ALGORITHME UTILISÉ ?.......................................................................................8 Qu’est-ce que la base de connaissances ?..................................................................8 Qu’est-ce que le démonstrateur de théorèmes (ou moteur dinférences) ?.....................8 Quelles sont les techniques de démonstration de théorème ?.......................................8 Quelles sont les étapes lors de l’exécution d’un système expert ?.................................8 QUELLE EST L’IDÉE PRINCIPALE ?.........................................................................................8 QU’ES-CE QU’UNE PROPOSITION ?........................................................................................9 QUELLE EST LA STRUCTURE DU PROGRAMME ?..........................................................................9 En quoi consiste le chaînage avant ?........................................................................10 En quoi consiste le chaînage arrière ?......................................................................10 QUEL EST L’ALGORITHME PRINCIPAL ?..................................................................................11 QUEL EST L’ALGORITHME DE LA VÉRIFICATION (ÉTAPE 1 DE LALGORITHME PRINCIPAL) ?......................11 QUEL EST L’ALGORITHME DE DÉMONSTRATION (ÉTAPE 2 DE LALGORITHME DE VÉRIFICATION) ?.............11 QUELS SONT LES TYPES DE CONNAISSANCES ?.......................................................................13 Quelles sont les caractéristiques des connaissances ?................................................13 Qu’est-ce qu’une connaissance de nature heuristique ?..............................................13 Qu’est-ce qu’une connaissance de nature procédurale (méta-connaissance) ?..............13 Qu’est-ce qu’une connaissance factuelle ?................................................................13 Quels sont les domaines dapplication ?....................................................................13 QUELS SONT LES CONSTITUANTS ?.....................................................................................14 Qu’est-ce qu’une base de connaissances ?................................................................14 Qu’est-ce qu’un dictionnaire ?.................................................................................14 QUEST-CE QUUNE BASE DE FAITS ?...................................................................................14 Qu’est-ce qu’un fait demandable ?...........................................................................14 Qu’est-ce qu’un fait affichable ?..............................................................................14 Qu’est-ce qu’une base de faits ?..............................................................................14 Qu’est-ce qu’un but ?.............................................................................................14 QU’EST-CE QU’UN MOTEUR DINFÉRENCE ?............................................................................15 Qu’est-ce que le moteur 0 ?....................................................................................15 Qu’est-ce que le moteur 1/2 ?.................................................................................15 Qu’est-ce que le moteur 1 ?....................................................................................15 1
  • 2. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes experts Qu’est-ce que le moteur 2 ?....................................................................................15 Qu’est-ce que le moteur 3 ?....................................................................................15 Quelle est la syntaxe des règles associées à un moteur 0 ?........................................15QUELLES SONT LES STRATÉGIES DE RÉSOLUTION ET RÈGLES DE DÉDUCTION ?..................................16 En quoi consiste le chainage avant ?........................................................................16 En quoi consiste le chainage arrière ?......................................................................18 Quels rapports entre le chainage avant et le chainage arrière ?..................................19QUELLES SONT LES RÈGLES DE DÉDUCTION ?.........................................................................19 Qu’est-ce que la règle du modus ponens ?................................................................19 Qu’est-ce que la règle du modus tollens ?................................................................19 2
  • 3. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes expertsLes principes de base En quoi consiste un système expert ? Les systèmes experts servent à la représentation des mécanismes généraux de raisonnement dans des domaines particuliers. Des informaticiens et des experts créent une partie programme et une partie connaissances séparées. A quoi sert un système expert ? Le but du système expert est la reconstitution du raisonnement humain (aide au dépannage,...) Quels sont les principes de base ? Que faut-il savoir sur les systèmes experts ? Lélaboration dun système expert nécessite lanalyse des comportements humains. Mais certains problèmes viennent encore se greffer à cette première difficulté. Un système expert fait appel à trois étapes : • Lexpert du domaine dapplication doit décrire lensemble des faits décrivant lunivers considéré. • Lutilisateur final doit définir du problème posé. • Elaborer le démonstrateur de théorèmes, ou moteur dinférences. Le système de traitement sera ainsi constitué. 3
  • 4. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes expertsQuel est le problème ? Un problème se pose. Cest celui des règles non explicitées : « Tout le monde le sait ... ». Il existe de nombreuses difficultés : • éléments relatifs au temps • degré de certitude • dégager des sous-buts à lintérieur des buts, ... afin de faciliter la constitution du moteur dinférences • le logiciel doit avoir de bonnes capacités conversationnelles • prévoir la possibilité de montrer à lutilisateur le chemin logique suivi • prévoir également le support dinterfaces agréables pour les expertsQuel est le rôle de lexpert ? Explication de ses connaissances et de ses stratégies de résolution à linformaticien.Quelles doivent être les caractéristiques des connaissances ? • déclaratives (séparées du programme) • lisibles (exprimées en langage clair) • facilement examinables => maintenance sans informaticienEn quoi consiste l’explication du raisonnement ? Le système expert montre les inférences successives quil fait pour aboutir aux conclusions quil donne. => lutilisateur a confiance en lordinateurQuelles sont les applications d’un système expert ? • aide à des non spécialistes • formations • sauvegarde de lexpertise des experts rares => méta-connaissances (des connaissances sur les connaissances) 4
  • 5. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes expertsQuelles sont les différences d’un système expert par rapport auxautres logiciels ? Ce qui différencie les systèmes experts des autres logiciels : • contiennent des connaissances importantes non algorithmiques sous forme de règles granules indépendants, associatifs, dans un langage proche du langage de lexpert, modifiable facilement • explication du raisonnement et justification des résultats • parfois possibilité de traiter des informations incertaines ou imprévues Lintérêt réside donc dans : • facilité daccès des connaissances chères et rares • préservation des connaissances qui pourraient disparaître • unification des connaissancesQuelle est l’organisation de base ? Il existe deux types dutilisateurs : • les utilisateurs experts (qui peuvent augmenter la base de connaissances) • les utilisateurs ordinaires (qui peuvent que consulter la base de connaissances) Les composants de base dun SE (Système Expert) sont : • langage dexpression des connaissances (langages à base de règles) • base de connaissances (programme) : • base de règles • base de faits (mémoire de travail) • moteur dinférence (les bases de fait et de règle senrivchissenet) • fonction de dialogue, dacquisition de connaissances : • utilisation normale • saisie, modification • facteurs de vérification, de compilation et délaboration Les règles consistent en : Condition de Déclenchement -> Effet Le filtrage est donc lopération de comparaison entre la base de faits et la condition de déclenchement dune règle (attention, lordre des règles a des influences sur le moteur dinférence). 5
  • 6. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes expertsQuel est le cycle de base dun système expert ? En quoi consiste l’évaluation ? • phase de restriction • R1 C Base de Règles • F1 C Base de faits • phase de filtrage pour comparaison entre F1 et R1 • R2 C R1 • phase de réduction du conflit • R3 C R2 En quoi consiste l’exécution ? Condition de Déclenchement -> Action sur la base de faits Lorsque F3 est vide, • on peut sarrêter (chaînage avant) • on peut revenir en arrière (chaînage arrière) • reconsidérer la situation antérieure exactement comme elle était (donc révocable) • reconsidérer la situation de la base de règles mais ne pas modifier les faits obtenus (donc irrévocable) La résolution dun conflit se fait comme suit : • prendre la première règle • faire du « back-tracking » (prendre la première règle non déjà essayée) On sarrête : • quand il ny a plus de but • quand le back-tracking peut être fait • quand R3 = 0 6
  • 7. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes experts Exemple :B, C et X sont des faits. H est le fait à établir.P -> B/D/E Si P est mon but, alors faire B et me fixer un but comme D et E/AB -> /D/G Si mon est A et si jai interrogé le passion alors me fixer comme but D et GEn quoi se différencient les systèmes experts ? Quels sont les différents niveaux de faits ? niveau 1 = le plus élémentaire (A, B, est_grand, est_un_homme) niveau 2 = (A, B, non A, non B) niveau 3 = faits symboliques (profession = médecin) niveau 4 = possitilité de manipuler des coefficients numériques (taille = 180), notion de priorité sur les opérateurs (taille = poids * 12 / 100 -5) niveaux plus élevés = variables Quels sont les différents types de règles ? "et" est toujours prévu, tandis que "ou" est rarement prévu, car on peut sen passer. taille <= 180 • Coefficient de vraissemblance Il peut varier dans [-1, +1], [0, 1], [-100, +100], ... Ici, on sintéresse au cas où il varie sur [-1, +1]. On affecte chaque règle dun coefficient de vraissemblance (CV). Les règles sont déclenchées si CV >= seuil. • Les problèmes de monotonie Si on a une base de faits à comparer BF1 et BF2, alors (BF1 C BF2) => conséquences (BF1) C conséquences (BF2) Plus on donne dinformation, plus on obtient de conclusions. • Moteur dinférence pour gérer des plans A chaque instant, il y a : • une pile de programme PP • une base de faits BF • un plan qui doit être généré • un numéro de noeud 7
  • 8. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes experts Remarques sur ce moteur : • interdiction de dépasser une certaine profondeur pour interdir le cycle • quand il y a un blocage, on utilise une règle qui rend ce fait vraiQuel est l’algorithme utilisé ? Un système expert est formé de deux grandes parties. Qu’est-ce que la base de connaissances ? Elle est constituée en un langage déclaratif et modulaire. Elle doit être lisible, indépendante du moteur dinférence, et enfin conçue par et pour lexpert. Qu’est-ce que le démonstrateur de théorèmes (ou moteur dinférences) ? Son rôle est dappeler et dutiliser les connaissances. Il doit induire les faits nouveaux à partir de la base de connaissances et de la règle : « si p vrai et si p => q, alors q est vrai. » Quelles sont les techniques de démonstration de théorème ? Il existe deux grandes techniques de démonstration de théorèmes : • Le chaînage avant. La base de faits initiale déclenche toutes les règles dont les prémisses sont satisfaites. Il y a donc accumulation de faits, ce qui peut entrainer une saturation. • Le chaînage arrière. On effectue une recherche dans les règles qui ont le but comme conséquence. Si les prémisses sont satisfaites, alors le but est atteint. Si les prémisses sont insatisfaites, alors on se fixe un nouveau but (prémisse insatisfaite). Quelles sont les étapes lors de l’exécution d’un système expert ? Lexécution dun système expert doit pouvoir procéder en trois étapes : • Détection. Il faut ici déterminer les règles applicables. • Choix. Il faut ici choisir les règles quil convient dappliquer. • Déduction. Cest la mise à jour de la base de faits.Quelle est l’idée principale ? 8
  • 9. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes experts Lélaboration dun système expert nécessite lanalyse des comportements humains. Mais certains problèmes viennent encore se greffer à cette première difficulté. Un système expert fait appel à trois étapes : • lexpert du domaine dapplication doit décrire lensemble des faits décrivent lunivers considéré • Lutilisateur final doit définir du problème posé • élaboration du démonstrateur de théorèmes, ou moteur dinférences. Le système de traitement sera ainsi constitué Un problème se pose : cest celui des règles non explicitées. « Tout le monde le sait ... ».Qu’es-ce qu’une proposition ? A cela viennent sajouter encore dautre difficultés : • éléments relatifs au temps • degré de certitude • dégager des sous-buts à lintérieur des buts, ... afin de faciliter la constitution du moteur dinférences • le logiciel doit avoir de bonnes capacités conversationnelles • prévoir la possibilité de montrer à lutilisateur le chemin logique suivi • prévoir également le support dinterfaces agréables pour les expertsQuelle est la structure du programme ? Un système expert est formé de deux grandes parties : • la base de connaissances; elle est constituée en un langage déclaratif et modulaire elle doit être lisible, indépendante du moteur dinférence, et enfin conçue par et pour lexpert • le démonstrateur de théorèmes (ou moteur dinférences); son rôle est dappeler et dutiliser les connaissance il doit induire les faits nouveaux à partir de la base de connaissances et de la règle : « si p vrai et si p => q, alors q est vrai. » Il existe deux grandes techniques de démonstration de théorèmes. 9
  • 10. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes expertsEn quoi consiste le chaînage avant ? La base de faits initiale déclenche toutes les règles dont les prémisses sont satisfaites. => accumulation de faits, ce qui peut entrainer => saturation La base de faits est constituée dune liste de propositions logiques de valeur de vérité VARI. On applique lalgorithme : • Existe-t-il une règle applicable ? Si oui, alors aller à létape suivante. Si non, alors fin. • Appliquer cette règle. • Désactiver cette règle. • Le but souhaité est-il démontré ? Si oui, alors fin. Si non, alors retourner en 1. Létape 1 permet de tester la condition darrêt. On dit que le moteur fonctionne par saturation. Pour le codage, on opère de la façon suivante. Chaque fait est codéé à laide dun dictionnaire de faits. La base de faits est donc constituée dune liste dentiers, chacun deux étant le code des faits dans le dictionnaire. Pour les règles, nous avons besoin dune variable liée à chacune delle afin de connaitre son état dactivité. Elle vaudra 1 si la règle est active, et 0 si elle est inactive. Mais la liste devra être dotée de quatre paramètres : • lindice de début de la liste des conditions dans la base des faits • lindice de fin de la liste des conditions dans la base de faits • lindice de fin de la liste des conclusions dans la base de faits • létat dactivité de la règleEn quoi consiste le chaînage arrière ? • Recherche dans les règles qui ont le but comme conséquence • Si les prémisses sont satisfaites, alors le but est atteint • Si les prémisses sont insatisfaites, alors on se fixe un nouveau but (prémisse insatisfaite) Lordinateur recherche si le but souhaité peut être démontré à laide des règles présentes dans la base des règles. 10
  • 11. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes expertsQuel est l’algorithme principal ? • Vérifier le but • Le but est-il satisfait ? • Si oui, alors fin avec succès. • Si non, alors fin avec échec.Quel est l’algorithme de la vérification (étape 1 de lalgorithmeprincipal) ? • Existe-t-il une règle concluante sur ce fait ? Si oui, alors passer à létape suivante. Si non, alors aller en . • Montrer la règle • La règle est-elle montrée ? Si oui, alors fin (fait vérifié). Si non, alors passer à létape suivante. • Existe-t-il une autre règle concluante sur ce fait ? Si oui, alors aller en 2. Si non, alors fin (on ne peut pas conclure).Quel est l’algorithme de démonstration (étape 2 de lalgorithme devérification) ? • On suppose la première condition de la règle comme fait. • Vérifier le fait. • Le fait est-il satisfait ? Si oui, alors passer à létape suivante. Si non, alors fin (règle non prouvée). • Existe-il dautres conditions ? Si oui, alors passer à létape suivante. Si non, alors fin (règle prouvée). • On suppose la condition suivante comme fait. • On retourne en 2. Le codage suivant est utilisé. 11
  • 12. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes experts A chaque proposition on lui associe un numéro correspondant à lindice dans le tableau du dictionnaire des faits. A laide dune variable, nous conservons linformation qui indique si le fait est initiale ou à démontrer. On pourra par exemple lui assigner : • 0 pour un fait initial, • )-1) pour un but à prouver, • 1 dans les autres cas. Chaque règle sera affectée dun poids. La liste des règles sera ordonnée selon ces poids. Pour chaque règle, nous conservons : • le début dans la liste des conditions • le fin dans la lite des conditions • le numéro du fait conclusion • son poids Le poids dune règle est égal au nombre de ses prémisses qui ne sont pas des faits initiaux. On propose comme méthode de codage la procédure suivante : • On construit le tableau : Poids Base de faits A, B Base de règles 1:A et B -> C 0 2:A et C -> D 1 etc ... • On construit un second tableau : Etat Liste ordonnée de règles concluant sur ce fait A 0 0 B 0 0 C -2 2 etc ... Lexécution dun système expert doit pouvoir procéder en trois étapes : • Détection; il faut ici déterminer les règles applicables • Choix; il faut ici choisir les règles quil convient dappliquer • Déduction; cest la mise à jour de la base de faits 12
  • 13. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes expertsQuels sont les types de connaissances ? Quelles sont les caractéristiques des connaissances ? Les connaissances sont : • déclaratives : Elles sont séparées du programme. • lisibles : Elles sont exprimées en langage clair. • facilement examinables => maintenance sans informaticien Le système expert montre les inférences successives quil fait pour aboutir aux conclusions quil donne. => lutilisateur a confiance en lordinateur Qu’est-ce qu’une connaissance de nature heuristique ? « Si A et B sont vérifiées, alors C est plausible, mais sûrement pas D. » => Chaque conclusion peut recevoir un poids. Qu’est-ce qu’une connaissance de nature procédurale (méta- connaissance) ? « Si lon connaît A, alors sintéresser à B puis à C, sinon sintérersser à C puis à B. » Qu’est-ce qu’une connaissance factuelle ? « A est composé de B, C et D. » Quels sont les domaines dapplication ? Les principaux domaines d’application sont : • l’aide à des non spécialistes, • les formations , • la sauvegarde de lexpertise des experts rares, • la reconnaissance , • l’aide à la décision. => méta-connaissances (des connaissances sur les connaissances) 13
  • 14. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes expertsQuels sont les constituants ? Qu’est-ce qu’une base de connaissances ? Couramment limitée à une base de règles, chaque règle étant exprimée en langage compréhensible par tous : NOM_REGLE : SI fait ET fait ET ... ET fait ALORS fait ET fait ET ... fait FINREGLE Qu’est-ce qu’un dictionnaire ? Ensemble des mots reconnus par le système (mots appartenant à la base de connaissances).Quest-ce quune base de faits ? Qu’est-ce qu’un fait demandable ? Informations manquantes pour la déduction (prévoir la possibilité de répondre « Je ne sais pas. ») Qu’est-ce qu’un fait affichable ? Faits que le créateur du système expert a jugés pas trop techniques. Qu’est-ce qu’une base de faits ? Ensemble des faits fournis initialement par lutilisateur et ensemble des faits déduits par le système. Qu’est-ce qu’un but ? Le système a un but, qui peut être « Je ne sais pas. » 14
  • 15. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes expertsQu’est-ce qu’un moteur dinférence ? Programme qui contient les mécanismes dinterprétation des règles ainsi que le programme permettant de déduire les mécanismes de déduction. Qu’est-ce que le moteur 0 ? Ne peut pas interpréter des règles contenant des variables. Qu’est-ce que le moteur 1/2 ? Peut évaluer des variables : SI véhicule ET carroserie ET nombre_de_roues = 4 ALORS voiture Qu’est-ce que le moteur 1 ? Peut interpréter des prédicats (de la forme Prédic (X), X étant une variable). Linstanciation se fait par une constante. SI homme (X) ALORS mortel (X) Qu’est-ce que le moteur 2 ? Linstanciation peut se faire par un prédicat. Qu’est-ce que le moteur 3 ? Linstanciation peut se faire par un prédicat de prédicat, ... (n - 1) fois en tout) de prédicat. Encore que de la théorie. Quelle est la syntaxe des règles associées à un moteur 0 ? <élément> := <mot> := <non mot> <mot> := <chaîne alphanumérique> <fait> := <élément> <règle> := <nom> <prémisse> ALORS <conséquent> <prémisse> := <élément> := <élément> ET <prémisse> <conséquent> := <prémisse> Une règle est validée si toutes ses prémisses sont vraies. On ajoute alors tous les conséquents à la base de faits. Une règle se déclenche au plus une fois. 15
  • 16. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes experts On distingue deux types de données de base : • les FAITS : « La personne a le nez qui coule. » « La personne tousse. » => Ce sont des certitudes, des vérités. • les REGLES : « SI la personne a de la fièvre ET elle tousse ALORS elle a la grippe. » « SI la personne a la grippe ET mal au sinus ALORS elle a la sinusite. » « SI la personne a le nez qui coule ALORS elle a le rhume. » etc ... => Elles permettent de déduires des faits à partir dautres faits. La partie à gauche de ALORS est lHYPOTHESE, la partie à droite de ALORS est la CONCLUSION.Quelles sont les stratégies de résolution et règles de déduction ? En quoi consiste le chainage avant ? A partir des faits initiaux, on déclenche itérativement toutes les règles qui peuvent lêtre jusquà : • satisfaction dun but donné • saturation complète dde la base de faits Le chaînage avant consiste à examiner toutes les règles et à partir de là, de déduire de nouveaux faits. On prend donc la première règle. Si ses hypothèses sont vérifiées (si elles figurent dans la base des faits), alors on ajoute les conclusions de cette règle dans la base des faits. Sinon, on passe à la règle suivante. La base des faits est donc : { « La personne a le nez qui coule. », « Elle tousse. » } • On commence à la première règle. « SI la personne a de la fièvre ET elle tousse ALORS elle a la grippe. » « La personne a de la fièvre. » ne figure pas dans la base des faits, bien que « Elle tousse. » y figure. La base des faits reste donc : { « La personne a le nez qui coule. », « Elle tousse. » } 16
  • 17. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes experts • On passe à la règle suivante. « SI la personne a la grippe ET elle a mal au sinus ALORS elle a la sinusite. » Ce nest pas vérifié (« Elle a mal au sinus. » et « Elle a mal au sinus. » ne sont pas dans la base des faits). La base des faits reste donc : { « La personne a le nez qui coule. », « Elle tousse. » } • On passe à la règle suivante. « SI la personne a le nez qui coule ALORS elle a le rhume. » Cest exact. « Elle a le rhume. » est ajouté à la base des faits. La base des faits est donc : { « La personne a le nez qui coule. », « Elle tousse. », « Elle a le rhume. » } Comme on a validé un nouveau fait, il faut recommencer les tests à la première règle, car de nouvelles règles ont pu ainsi être validées. • On repasse à la première règle. « SI la personne a de la fièvre ET elle tousse ALORS elle a la grippe. » Cest exact. « Elle a la grippe. » est ajouté à la base des faits. La base des faits est donc : { « La personne a le nez qui coule. », « Elle tousse. », « Elle a le rhume. », « Elle a la grippe. » } • On passe à la règle suivante. « SI la personne a la grippe ET elle a mal au sinus ALORS elle a la sinusite. » Ce nest pas vérifié (« Elle a mal au sinus. » nest pas dans la base des faits). « Elle a la sinusite. » nest pas ajouté à la base des faits. La base des faits est donc : { « La personne a le nez qui coule. », « Elle tousse. », « Elle a le rhume. », « Elle a la grippe. » } • On passe à la règle suivante. Celle-ci a déjà été testée et validée. On ne sen occupe donc pas. • On retente un troisième passage. Mais aucune règle nest validée. On arrête donc là la recherche. Cest fini. La conclusion fournie par le système expert est donc : Elle a le rhume et elle a la grippe. Il sensuit donc le traitement approprié ... 17
  • 18. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes experts Ce qui donne l’algorithme : POUR Toutes les règles de la liste Marquer chaque règle comme étant non vérifie; REPETER POUR Toutes les règles de la liste SI La règle nest pas déjà vérifie ALORS SI Les hypothèses de la règle sont dans la base des faits ALORS DEBUT Ajouter les conclusions de la règle à la base des faits; Marquer la règle comme étant vérifiée; Indiquer quil faudra faire un nouveau parcours; FIN; JUSQUA Ce quaucune nouvelle règle nait été vérifiée;En quoi consiste le chainage arrière ? A partir dun but donné par lutilisateur (ou choisi par le système), on remonte récursivement vers les faits initiaux. Dans ce cas, on interroge le système expert. Si on demande : « La personne a-t-elle le rhume ? ». • On va à la première règle. « SI la personne a de la fièvre ET elle tousse ALORS elle a la grippe. » La question « La personne a-t-elle le rhume ? » ne correspond pas à la conclusion « Elle a la grippe. ». • On passe donc à la règle suivante. « SI la personne a la grippe ET mal au sinus ALORS elle a la sinusite. » La question « La personne a-t-elle le rhume ? » ne correspond pas à la conclusion « Elle a la sinusite. ». • On passe donc à la règle suivante. « SI la personne a le nez qui coule ALORS elle a le rhume. » La question « La personne a-t-elle le rhume ? » correspond à la conclusion « Elle a le rhume. ». « La personne a le nez qui coule. » fait partie de la base des faits. Donc lordinateur répond « Oui. ». Par contre, si on ne lavait pas trouvé dans la base des faits, on aurait cherché à montrer « La personne a le nez qui coule. » à partir des règles de la même façon que lon a montré « Elle a le rhume. ». 18
  • 19. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes experts Ce qui donne l’algorithme : SI La question est dans la base des faits ALORS Elle est vraie SINON DEBUT Créer une base vide de questions; POUR Toutes les règles de la base des règles SI La question figure dans une conclusion ALORS Ajouter les hypothèses à la base des questions; SI La liste des questions nest pas vide ALORS Vérifier toutes les questions figurant dans la liste des questions SINON Demander à lutilisateur si la question est vraie ou non; FIN; Quels rapports entre le chainage avant et le chainage arrière ? Chainage avant Chainage arrière Cherche à être exhaustif. Limite du champs dinvestigation. Plus simple. Plus compliqué. Itératif. Récursif. Semble tenir compte de la chance et du hasard. Semble suivre un raisonnement précis. Interface en langage naturel difficile. Interface en langage naturel plus facile.Quelles sont les règles de déduction ? Qu’est-ce que la règle du modus ponens ? Pi ^ Pj ^ Pk -> Pz ^ Pl => Pz ^ Pl Si tous les prémisses sont vrais, alors les conséquents sont vrais. Qu’est-ce que la règle du modus tollens ? Pi ^ Pj ^ Pk -> Pz ^ Pl => Non (Pi ^ Pj ^ Pk) 19

×