790 likes | 969 Views
Intelligence Artificielle. Chapitre III. Les systèmes experts. EPSI / Montpellier - Cycle CSII 2A. Les systèmes experts. Définition
E N D
Intelligence Artificielle Chapitre III Les systèmes experts EPSI / Montpellier - Cycle CSII 2A
Les systèmes experts • Définition Un système expert est un programme qui consiste à reproduire le comportement d'un expert humain dans un domaine particulier, en effectuant, selon une démarche intellectuelle, une tâche de résolution de problèmes pour laquelle une solution algorithmique est difficilement réalisable.
Les systèmes experts • A quoi sert un système expert ? • Les systèmes experts ont pour rôle d'assister l'homme dans un domaine où est reconnue une expertise humaine traduite par des connaissances : • Ayant un volume important • Plutôt qualitatives • Parfois incertaines, imprécises et/ou assujetties à des révisions • Insuffisamment structurées pour être traitées par une approche algorithmique
Les systèmes experts • Portée et domaines d’applications
Les systèmes experts • Architecture • Principe • Séparer les connaissances propres au domaine des mécanismes logiques d’interprétation de ces connaissances • Composantes essentielles • Base de connaissances • Moteur d’inférences • Module d’acquisition des connaissances • Interface utilisateur • Module d’explication
Les systèmes experts • Moteur d’inférences • Fonctionnement • Résolution de problèmes par l’exécution d’une séquence d’un cycle de base dit cycle d’EVALUATION-EXECUTION • Cycle de base • Cycle en 3 phases : 1. Filtrage 2. Résolution de conflits 3. Exécution EVALUATION EXECUTION
Les systèmes experts • Moteur d’inférences • Caractéristiques • Modes de raisonnement • Chaînage avant : raisonnement dirigé par les faits • Chaînage arrière : raisonnement dirigé par les buts • Rôle des variables : • Moteur d’ordre 0 : sans variables • Moteur d’ordre 0+ : avec variables globales • Moteur d’ordre 1 : les variables portent sur les arguments • Moteur d’ordre 2 : les variables portent sur les prédicats • Type de contrôle • Contrôle irrévocable : pas de retours possibles sur un choix fait lors de la résolution de conflits • Contrôle par tentatives : possibilité de revenir, lors de la résolution de conflits à un point de déduction précédent pour faire un autre choix (backtracking) • Pérennité des faits : • Logique monotone : pas de suppression des faits • Logique monotone : suppression possible des faits • Implémentation de la négation : • Monde clos : négation par l’absence (Les assertions qui ne sont pas explicitement présentes dans la BF sont fausses) • Monde ouvert : négation par la présence de not dans la BF (toute assertion doit être explicitée dans la BF)
Les systèmes experts • Moteur d’inférences • Caractéristiques • Résolution des conflits : stratégies • Première règle rencontrée • Règle qui a la moins servis • Règle la plus prioritaire • Règle la plus complexe • Règle la moins complexe • Règle la plus prometteuse • Règle la plus fiable • Règle la moins coûteuse • etc.
Les systèmes experts • Moteur d’inférences • Outils de développement • Langages classiques • C, Fortran, etc. • Langages objets • C++, Smalltalk, etc. • Langages IA • Prolog, Lisp • Générateurs (shell) de systèmes experts • Clips, FuzzyClips, Kappa, etc.
Les systèmes experts • Moteur d’inférences • Outils de développement
Les systèmes experts • Moteur d’inférences • Modes de raisonnement (types d ’inférences) • 2 modes de base • Chaînage avant • Chaînage arrière • 2 modes combiné • Chaînage mixte • Chaînage bidirectionnel • Ils induisent certaines différences dans le cycle de base
Les systèmes experts • Moteur d’inférences • Chaînage avant • Principe • On part à partir des données initiales et on essaye d’en déduire de nouvelles • On s’arrête quand aucune règle n ’est applicable • Inconvénients • On doit fournir toutes les informations disponibles même si elles ne sont pas pertinentes • Processus non interactif • Peut conduire à une explosion combinatoire • Utilité • Interprétation d’une série de faits • Vérification des conséquences d’un événement
Les systèmes experts • Moteur d’inférences • Chaînage arrière • Principe • On cherche à prouver un but (idem démonstration de théorèmes) • Les règles sélectionnées sont celles qui aboutissent au but recherché • Les conditions non vérifiées des règles déclenchées deviennent elles mêmes des sous buts à vérifier • On s’arrête quand le but est atteint • Avantages • Le système ne pose que des questions pertinentes • Interactivité • Espace de recherche moins important
Les systèmes experts • Moteur d’inférences • Chaînage arrière • Inconvénients • Peut conduire à un blocage • Pour démontrer A il faut démontrer B • Pour démontrer B il faut démontrer A • Utilité • Décomposition facile du problème en sous problèmes
Les systèmes experts • Moteur d’inférences • Chaînage mixte • Principe • Combiner les deux chaînages avant et arrière • 1. Chaînage avant : obtenir les informations suffisantes pour émettre une hypothèse • 2. Chaînage arrière : vérifier l ’hypothèse émise lors du chaînage avant • Une règle peut être utilisée en chaînage avant ou en chaînage arrière • Avantage • Optimiser la recherche et améliorer le raisonnement
Les systèmes experts • Moteur d’inférences • Chaînage bidirectionnel • Principe • Il existe deux type de règles • Règles dites « avant » utilisées en chaînage avant • Règles dites « arrière » utilisées en chaînage arrière • Avantage • Optimiser la recherche et améliorer le raisonnement
Les systèmes experts • Moteur d’inférences • Raisonnement en chaînage avant • Raisonnement : dirigé par les faits, déductif • Paramètres d’entrée : la base de règle (BR), la base de faits (BF) • Déclencheur : partie gauche de la règle (hypothèses) • Cycle de base : • Pour toutes les règles R de BR 1. Examiner si R est déclenchable : toutes ses hypothèses sont satisfaites (contenues dans BF) 2. Si oui, insérer R en haut ou en bas (selon les stratégies de résolution de conflits) de la liste des règles déclenchables (LRD) • Répéter Jusqu’à LRD soit vide Soit Ra la première règle de LRD Retirer Ra de LRD puis exécuter son membre droit Pour toutes les règles Rb de (BR-LRD) Si Rb est déclenchable alors insérer Rb dans LRD
Les systèmes experts • Moteur d’inférences • Raisonnement en chaînage avant • Cycle de base : cas de Clips • Pour toutes les règles R de BR • Si le membre gauche de R est vérifié • Alors insérer R dans l’agenda selon la stratégie de résolution des conflits (salience, set-strategy [breadth, depth, simplicity, complexity, etc.]) • Répéter • Soit Ra la première règle de l’agenda • Retirer Ra de l’agenda puis exécuter son membre droit • Pour toutes les règles Rb de (BR agenda) • Si le membre gauche de Rb est vérifié • Alors insérer Rb dans l’agenda selon la stratégie de résolution des conflits • Jusqu'à ce que l’agenda soit vide
Les systèmes experts • Moteur d’inférences • Raisonnement en chaînage avant Exemple d’algorithme Procédure CHAINAGE-AVANT Début Répéter REGLE_DECLENCHABLE := DECLENCHEMENT(ensemble des règles) Jusqu’à non REGLE_DECLENCHABLE; Fin CHAINAGE-AVANT FonctionDECLENCHEMENT (ensemble des règles) : booléen; Début DECLENCHE := Faux ; Pour toute règle appartenant à l’ensemble des règles Tant que non DECLENCHE faire Début SiTEST-SI(règle) Alors DECLENCHE := APPLICATION(règle) Fin Pour; Retourner(DECLENCHE) ; FinDECLENCHEMENT
Les systèmes experts • Moteur d’inférences • Raisonnement en chaînage avant Exemple d’algorithme Fonction TEST-SI(règle) : booléen; Début TEST := Vrai ; Pour tout élément de la partie Si de la règle Tant que TEST faire Début Si élément appartient à la base de faits Alors TEST := Vrai; Sinon TEST := Faux; Fin Pour; Retourner(TEST) ; Fin TEST-SI
Les systèmes experts • Moteur d’inférences • Raisonnement en chaînage avant Exemple d’algorithme Fonction APPLICATION(règle) : booléen; Début APPLIQUE := Faux ; Pour tout élément de la partie Alors de la règle Début Si élément n’appartient pas à la base de faits Alors Début APPLIQUE := Vrai; ajouter l ’élément à la base de faits; Fin Si; Fin Pour; Retourner(APPLIQUE) ; Fin APPLICATION
Les systèmes experts • Moteur d’inférences • Raisonnement en chaînage arrière • Raisonnement : dirigé par les buts • Paramètres d’entrée : la base de règles, la base de faits, le but initial à prouver (B) • Déclencheur : partie droite de la règle (conclusions) • Cycle de base : • Répéter • Fixer le but courant à prouver (B au départ) • Examiner les règles (LDR) concluant sur le but courant • Si LDR est vide Alors • Demander la réponse à l’utilisateur • Si la réponse est positive Alors le but courant est prouvé • Sinon Arrêt • Sinon • Sélectionner une règle de LDR • Appliquer la règle • Si les prémisses de la règle sont vérifiés Alors le but courant est prouvé • Sinon les prémisses de la règle deviennent de nouveaux sous-buts à atteindre • Jusqu’à ce que le but initial soit atteint
Les systèmes experts • Moteur d’inférences • Raisonnement en chaînage arrière Algorithme Procédure CHAINAGE-ARRIERE(liste des buts à vérifier) Début Si liste est vide Alors arrêt Sinon Début F = premier fait de la liste; Si VERIFICATION (F) Alors Début Afficher F comme vérifié; CHAINAGE-ARRIERE (reste de la liste); Fin; Sinon CHAINAGE-ARRIERE (reste de la liste); Fin Si; Fin; Fin Si; Fin CHAINAG-ARRIERE
Les systèmes experts • Moteur d’inférences • Phase de filtrage : optimisation • Temps nécessaire à la constitution de l’ensemble de conflits • T = k * (NR*NF*NFM) • k : temps nécessaire à la comparaison entre un filtre et un fait quelconque • NR : nombre de règles • NF : nombre de faits • NFM : nombre moyen de filtres par déclencheur • Nécessité d’optimiser cette phase par la mise au point de : • Techniques de compilation de la base de connaissances • Techniques de partition de la base de règles : distinction de différentes classes de règles (règles de déclenchement, règles d’inférences, règles d’affinement, etc.)
Les systèmes experts • Moteur d’inférences • Phase de filtrage : optimisation • Techniques de compilation de la base de conniassances • Objectif : optimiser le temps nécessaire à la constitution de l'ensemble de conflits • Phases : • Déterminer pour chaque règle un ensemble de tests élémentaires dont la satisfaction signifie que la règle est déclenchable (exemples : longueur des éléments d'un filtre , position des termes constantes, etc.) et en déduire les tests qu'il faut appliquer à tout fait qui sera comparé au filtre • Identifier les différentes occurrences des mêmes tests dans chaque ensemble de tests ainsi déterminé • Organiser un réseau global de tests en rassemblant en un seul les tests élémentaires communs à plusieurs règles
Les systèmes experts • Moteur d’inférences • Phase de filtrage : optimisation • Techniques de partition de la base de règles • Nécessite de définir : • Des règles stratégiques qui déterminent comment on utilise les règles : des métarègles • Les métarègles utilisent plutôt le contenu des règles que leur structure • Les métarègles sont des métaconnaissances : des connaissances sur des connaissances
Les systèmes experts • Moteur d’inférences • Phase de filtrage : optimisation • Techniques de partition de la base de règles • Exemples de métarègles (règles stratégiques): • Si le patient est un hôte à risque Et il existe des règles qui mentionnent des pseudomonlas dans une de leur conditions Et il existe des règles qui mentionnent des kiebsiellas dans une de leurs conditions Alors il faut utiliser les premières avant les secondes • Si l'on cherche une thérapie Alors il faut considérer les règles qui permettent de : 1- Acquérir les informations cliniques sur le patient 2- Trouver quels organismes, s'il en existe, sont causes de l'infection 3- Identifier les organismes les plus vraisemblables 4- Trouver tous les médicaments potentiellement utiles 5- Choisir les plus adaptés en plus petit nombre
Les systèmes experts • Générateurs de systèmes experts • Synonymes : noyau, coque, shell • Définition : • Système d’acquisition des connaissances permettant à un expert humain (appuyé par un cogniticien) d ’écrire un système expert dans son domaine d ’expertise • Composantes • Une interface homme-machine permettant de mettre des règles écrites en langage pseudo-naturel sous forme de clauses • Un moteur d’inférences • Un ensemble d’outils logiciels pour contrôler les différentes étapes de la réalisation du système expert • Editeurs spécialisés pour la gestion des connaissances • Dictionnaires des connaissances • Traceurs pour l’explication du raisonnement • Utilitaires de maintien de la cohérence et de compilation de la base de connaissances • Modules d’apprentissage automatique
Les systèmes experts • Générateurs de systèmes experts • Outils pour la gestion des connaissances • Maintien de la cohérence • Exemples de tests de validation • Redondance • Bouclage • Si A Alors C,D (1) • Si A Alors C,D,E (2) • La règle (1) est redondante • Si A Alors E (1) • Si E Alors B,F (2) • Si B,F Alors A (3) • Les règles (1), (2), (3) sont • en boucles
Les systèmes experts • Générateurs de systèmes experts • Outils pour la gestion des connaissances • Maintien de la cohérence • Exemples de tests de validation • Contradiction • Si A Alors C (1) • Si A Alors non(C),D (2) • Les règles (1) et (2) sont • contradictoires
Les systèmes experts • Générateurs de systèmes experts • Outils pour la gestion des connaissances • Compilation • Exemple : réduction de la base de règles • Si X1 Alors X • Si X1 alors Y • Si X1 Alors Z • Si X2 Alors Z • Si X2 Alors T • Si X3 Alors Z • Si X3 Alors T • Si X1 Alors X ou Y • Si X1 ou X2 ou X3 Alors Z • Si X2 ou X3 Alors T • Si X1 Alors X ou Y ou Z • Si X2 ou X3 Alors Z ou T • Si X1 Alors X • Si X1 Alors Y • Si X1 ou X2 ou X3 Alors Z • Si X2 ou X3 Alors T • Si X1 Alors X ou Y ou Z • Si X2 Alors Z ou T • Si X3 Alors Z ou T
Les systèmes experts • Choix des outils de développement • Il existe plus de : • 70 outils • Moteurs d ’inférences • Boîtes à outils • Générateurs • 120 langages spécialisés • Choisir un outil revient à chercher un compromis entre • des critères non techniques • Coût • Types de machines ciblées • Facilité d ’utilisation • des critères techniques • Représentation et gestion des connaissances (cogniticien, informaticien) • Stratégies de contrôle (cogniticien, informaticien) • Logique(s) proposée(s) (cogniticien, informaticien) • Utilitaires de mise au point et de validation • Explication (Utilisateurs) • Debugger (cogniticien, informaticien) • Ouverture (utilisateurs, cogniticien, informaticien) • Convivialité (utilisateurs, cogniticien, informaticien)
Les systèmes experts • Choix des outils de développement • Type de développement et complexité du problème : • Intérêt de l ’outil pour l ’une ou l ’autre phase de développement : démonstrateur, prototype, système final • Adéquation aux types de problèmes traités
Les systèmes experts • Méthodologie de développement • Développement de Systèmes Experts : scénario
Les systèmes experts • Méthodologie de développement • Cycles de vie d’un projet système expert Etude d’opportunité Identification des connaissances Acquisition Conceptualisation des connaissances Formalisation des connaissances Représentation Prototypage Validation Implantation
Les systèmes experts • Méthodologie de développement • Cycles de vie d’un projet système expert • Première Phase : Etude d’opportunité • Finalité Définir les objectifs globaux du projet et en déterminer l ’opportunité de réalisation (faisabilité, rentabilité, délais, charges de réalisation, conséquences pour le personnel) • Que doit-on faire ? - Spécifier les objectifs et l’intérêt du système expert : taches à accomplir et problème à résoudre - Etudier la faisabilité technique du projet - Identifier les différentes solutions possibles au problème - Localiser l’expertise - Identifier les futurs utilisateurs du système - Evaluer les ressources humaines, matérielles et logicielles à allouer au projet - Déterminer l’opportunité de réalisation du projet (Coûts/Intérêt)
Les systèmes experts • Méthodologie de développement • Cycles de vie d’un projet système expert • Première Phase : Etude d’opportunité • Questions à se poser - Quelle est l ’importance du problème? - Quelles seraient les avantages d ’un système expert ? - Le problème est-il fréquent ? - Quelle sera l ’importance du problème d ’ici quelques années ? - Le problème peut-il être défini facilement ? - Quelqu’un a-t-il travaillé ailleurs sur un problème similaire ? - Qui se servira du système expert et pourquoi ? - Y-a-t-il une coque de systèmes experts dont nous puissions utiliser ? - Existe-t-il une documentation quelconque ?
Les systèmes experts • Méthodologie de développement • Cycles de vie d’un projet système expert • Première Phase : Etude d’opportunité • Questions à se poser - Pouvons-nous nous passer du temps d ’un expert ? - Combien de temps faut-il pour devenir expert ? - Y a-t-il des moments ou les experts ne sont pas disponibles pour une consultation ? - De quelles ressources avons-nous besoin ? - Qu’est ce qui pourrait rendre ce projet difficile à réaliser ? - Est-ce que les experts sont en désaccord ? - Le savoir est-il complexe ? Nécessite-il plusieurs mécanismes d ’inférences et formalismes de représentation ? - Le système expert devra-t-il être mis à jour fréquemment ? - Pouvons-nous tolérer une réponse imparfaite ? - La réalisation d’interface exigera-t-elle de grands efforts ? - Combien coûtera le projet ?
Les systèmes experts • Méthodologie de développement • Cycles de vie d’un projet système expert • Phases d ’acquisition des connaissances • Finalités-Repérer les éléments de base constituant l’expertise : * Les objets : permettant de décrire un état du problème * Les relations : décrivent les liens entre les objets * Les opérateurs : indiquent comment modifier un état du problème * Les procédures : décrivent un ordre d ’application des opérateurs * Les règles : décrivent les inférences logiques * Les plans : organisent l ’application des règles * Les stratégies : organisent l ’enchaînement des plans- Définir le modèle conceptuel des connaissances • Que doit-on faire ? - Etudier la documentation existante - Planifier des entrevues avec l’expert - Appliquer des techniques et méthodes d ’acquisition des connaissances
Les systèmes experts • Méthodologie de développement • Cycles de vie d’un projet système expert • Phases d ’acquisition des connaissances • Identification des éléments clefs de la connaissanceExemple : Connaissances d ’un commercial spécialisé dans la vente des voitures TopObjet Objet Relation Opérateur Procédure Règle Plan Stratégie Clientèle Voiture Voiture de sport Voiture de tourisme Structure hiérarchique des éléments de la connaissance
Les systèmes experts • Méthodologie de développement • Cycles de vie d’un projet système expert • Phases d ’acquisition des connaissances • Identification des éléments clefs de la connaissanceExemple : Connaissances d ’un commercial spécialisé dans la vente des voitures OBJETS • propriétés : • {vitesse maximale : • type : • valeurs possibles : • valeur par défaut : • échelle coef de certitude : • distance de freinage à 100km/h : • type : • valeurs possibles : • valeur par défaut : • échelle coef de certitude : • } • opérateurs applicables : • utilisés dans les règles : • élément : Voiture de sport • est-une : Voiture • noms : {nom donné par l ’expert : • nom donné par l ’utilisateur : • autres synonymes : • } • description • en clair : • relations : {relation : Clientèle • valeur : Jeunes-Cadres-Supérieurs • relation : • valeur : • } Modèle descriptif des éléments de la connaissances
Les systèmes experts • Méthodologie de développement • Cycles de vie d’un projet système expert • Phases d ’acquisition des connaissances • Identification des éléments clefs de la connaissanceExemple : Connaissances d ’un commercial spécialisé dans la vente des voitures • élément : Règle VRP • est-une : Règles_Avantage_Fiscaux • utilisée dans les étapes : Evaluation avantages fiscaux • libellé :Si … Alors … • utilisent les objets :Voitures, Clientèle • nom : REGLES Modèle descriptif des éléments de la connaissances
Les systèmes experts • Méthodologie de développement • Cycles de vie d’un projet système expert • Phases d ’acquisition des connaissances • Questions à se poser avant les entrevues • - Quelles sont les données à l ’entrée (les problèmes) et en sortie (les solutions) • - Quelles sont les relations qui existent entre les données ? • - Peut-on fragmenter les problèmes en unités plus petites ? • - Dans quel ordre et sous quelle forme les données à l’entrée sont-elles acquises ? • - Dans quel ordre et sous quelle forme les données en sortie sont-elles produites ? • - Quelle est l ’importance et quelle est la précision des diverses données ? • - Quelles sont les données susceptibles de manquer ? • - Quels sont les types d’entrées qui causent des difficultés à l ’expert ? - Quels sont les postulats de l ’expert ? • - Quelles sortes d’inférences fait-il ? • - Comment en arrive-t-il à des hypothèses ? • - Quelles sont les relations entre ces hypothèses ? • - Comment l ’expert passe-t-il d ’un stade d ’opinion à un autre ?
Les systèmes experts • Méthodologie de développement • Cycles de vie d’un projet système expert • Phases d ’acquisition des connaissances • Techniques- Les entretiensTypes* discussion ouverte * discussion guidée * inversion des rôlesRègles à respecter Techniques* caractéristiques et décisions * reclassification et division du domaine * grille répertoire- Les questionnaires- Les observations sur le site - L ’induction par la machine
Les systèmes experts • Méthodologie de développement • Cycles de vie d’un projet système expert • Phases d ’acquisition des connaissances • Techniques- Les entretiensRègles à respecter dans la conduite des entretiens • - Préparer l ’entretien • - Enregistrer l’entretien • - Planifier les entretiens qui doivent régulier et espacés dans le temps • - Motiver l ’expert en lui présentant une vue objective du projet • - Veiller à conserver voir augmenter la motivation de l ’expert • - Ne pas imposer d’outils à l ’expert • - Ne pas imposer sa propre compréhension du problème • - Poser des questions générales au début, puis spécifier • - Maîtriser la durée de l ’entretien
Les systèmes experts • Méthodologie de développement • Cycles de vie d’un projet système expert • Phases d ’acquisition des connaissances • Techniques- Les entretiensTechnique « Caractéristiques et Décisions »
Les systèmes experts • Méthodologie de développement • Cycles de vie d’un projet système expert • Phases d ’acquisition des connaissances • Techniques- Les entretiensTechnique « Reclassification » décision critères succès partiel et contrôles continus toutes matières succès toutes matières matière non obligatoire et fort ailleurs succès échec dans un partiel ou un contrôle continu et succès dans le reste maladie échec marginal dans une matière capable de continuer connaissances évidentes problème personnel échec dans une matière avec raison valable succès attendu mais problème défaillance matériel
Les systèmes experts • Méthodologie de développement • Cycles de vie d’un projet système expert • Phases d ’acquisition des connaissances • Techniques- Les entretiensTechnique « Division du domaine » différents problèmes critères formation A référence et formulaires OK formation A bons résultats aux examens acceptation complément d’infos Formation B rejet manque de motivation résultats moyens aux examens bonnes références motivation pas bon en maths bon en maths mauvaises références
Les systèmes experts • Méthodologie de développement • Cycles de vie d’un projet système expert • Phases d ’acquisition des connaissances • Techniques- Les entretiensTechnique « Grille Répertoire » • Une technique permettant de mettre en évidence les objets et les relations entre objets utilisés par un expert dans son domaine de connaissances • Une technique qui s ’articule en 4 étapes : • Identification de la liste des objets et de leurs caractéristiques • Etablissement de la grille • Analyse de la grille • Classification des objets • Classifications des caractéristiques • Interprétation des résultats
Les systèmes experts • Méthodologie de développement • Cycles de vie d’un projet système expert • Phases d ’acquisition des connaissances • Techniques- Les entretiensTechnique « Grille Répertoire » Identification de la liste des objets et de leurs caractéristiques