Intelligence Artificielle AI - Prolog : Chapitre 5 Systèmes Experts et Moteurs d’Inférence
Télécharger PDFDéfinition d'un Système Expert (SE)
Un système expert est un logiciel ou circuit intégré conçu pour remplacer ou assister l'homme dans des domaines nécessitant une expertise humaine importante. Il permet une expression directe et facile des connaissances d'un expert humain, exploitant cette expertise avec logique lors d'un dialogue avec l'utilisateur. Grâce à sa capacité à enchaîner des déductions, il infère ou produit de nouvelles connaissances.
Les systèmes experts manipulent des connaissances variées (idées, jugements, décisions, propositions, prédictions, etc.). Ils facilitent les révisions, ajouts ou suppressions de faits et de règles. Ces systèmes simulent la démarche d'un expert humain pour résoudre des problèmes spécifiques, tout en offrant l'avantage d'être duplicables et disponibles à tout moment. De plus, leurs connaissances peuvent provenir de plusieurs experts humains et être enregistrées dans leur mémoire sans risque d'oubli.
Exemples et Évolution des Systèmes Experts
Les systèmes experts ont connu une évolution majeure depuis leur apparition. Aujourd'hui, on observe des systèmes experts de 2ème génération, capables de communiquer en langage naturel, d'expliquer leur raisonnement et de détecter les contradictions. Ces systèmes s'adaptent aux changements d'avis et intègrent des capacités d'apprentissage.
Voici quelques exemples de systèmes experts emblématiques dans divers domaines :
- DENDRAL (Chimie, 1969) : Premier système expert, il reconstitue la formule développée d'un composé chimique à partir de sa formule brute et de son spectrogramme de masse.
- MYCIN (Médecine, 1972-1974) : Aide au diagnostic et au traitement des maladies infectieuses du sang et des méningites. Basé sur la logique floue et probabiliste, il utilise des règles comme : « Si le site de l'infection est le sang, et l'organisme est à Gram négatif, et l'organisme est de forme bâtonnet, et le patient est un hôte à risque, alors il est probable (0,6) que l'organisme soit le Pseudomonas aeruginosa. »
- EMYCIN (Général, 1974) : Moteur extrait de MYCIN, sans règles, applicable à plusieurs domaines et servant à créer d'autres systèmes experts.
- OPS (Général, 1977) : Moteur d'inférence indépendant, utilisé pour écrire des règles de production et générer divers systèmes experts.
- PROSPECTOR (Géologie, 1978) : Évalue la probabilité d'existence d'un gisement de minerai dans un site étudié, en combinant observations géologiques et nature des minéraux.
- DART (Informatique, 1981) : Diagnostic des pannes d'ordinateurs et de systèmes, avec 190 règles.
- LPS (Mathématiques, 1979) : Résout des problèmes de géométrie.
- SOPHIE (Électricité, 1975) : Aide à l'enseignement des techniques de détection des pannes dans des circuits électroniques.
- PEGASE (Gestion, 1984) : Étude des dossiers de demande de crédits.
- CAMA (Automobile, 1982) : Diagnostic et dépannage automatique de véhicules, avec 100 règles.
- PDS (Contrôle de Processus, 1983) : Diagnostic en temps réel d'incidents dans des processus automatisés surveillés par ordinateur.
- SONEX (Traitement de la parole, 1984) : Interprétation de sonagrammes pour la reconnaissance vocale.
Composants d'un Système Expert
Architecture de Base
Un système expert se compose de deux parties complémentaires :
- Base de Connaissances : Contient l'ensemble des connaissances dans un domaine spécifique. Elle inclut :
- Base de Faits (BDF) : Faits établis avec une valeur de vérité vraie, partie statique de la base.
- Base de Règles (BDR) : Règles de production appliquées aux faits pour déduire de nouveaux faits. Partie dynamique et essentielle, car un SE ne peut raisonner sans règles.
- Moteur d'Inférence (MI) : Simule le raisonnement humain en appliquant les règles aux faits pour obtenir des résultats. Il génère des faits intermédiaires jusqu'à atteindre le but ou une impasse.
La base de connaissances forme la mémoire du SE, tandis que le moteur d'inférence agit comme son cerveau.
Éléments Complémentaires
Pour faciliter la résolution des problèmes et améliorer l'expérience utilisateur, un SE peut inclure :
- Module d'acquisition de la connaissance : Permet d'ajouter ou de modifier des règles et faits.
- Module de justification : Explique le raisonnement et les déductions effectuées.
- Interface utilisateur : Utilise le langage naturel pour une communication intuitive.
Réalisation d'un Système Expert
Phase de Conception
La conception d'un SE suit des étapes clés :
- Établir un contact avec un ou plusieurs experts du domaine.
- Lister les données logiques disponibles.
- Déterminer les faits à déduire et les règles associées.
- Attribuer un degré de certitude aux règles si nécessaire.
- Préparer la base de connaissances : choix des prédicats et représentation symbolique ou graphique des règles.
- Définir l'interface utilisateur : communication en langage naturel et écrans adaptés.
Phase d'Implantation
Le développement du noyau (Base de Connaissances + Moteur d'Inférence) est crucial. Deux approches existent :
- Utiliser un langage doté d'un moteur d'inférence intégré, comme PROLOG, offrant une flexibilité dans la représentation des connaissances.
- Développer un moteur d'inférence personnalisé en utilisant un langage d'Intelligence Artificielle tel que LISP, pour une adaptabilité optimale aux besoins spécifiques du domaine.
Structure et Caractéristiques d'un Moteur d'Inférence
Cycles d'un Moteur d'Inférence
Un moteur d'inférence fonctionne en cycles composés de deux phases :
- Phase d'Évaluation : Sélection des règles applicables en trois étapes :
- Sélection/Restriction : Optionnelle, limite la recherche à un sous-ensemble pertinent de règles et faits.
- Filtrage/Génération de Conflits : Identifie les règles dont les prémisses correspondent aux faits de la BDF.
- Résolution de Conflits : Trie les règles sélectionnées et choisit celles à déclencher.
- Phase d'Exécution : Applique les règles sélectionnées, ajoutant ou retirant des faits selon le résultat. Le cycle se répète jusqu'à l'atteinte du but ou une impasse.
Types de Moteurs d'Inférence
Les moteurs d'inférence se distinguent par leur mode d'invocation des règles :
- Chaînage Avant (Forward Chaining) : Déduit le but à partir des faits de la BDF. Les règles déclenchées modifient la BDF jusqu'à ce que le but soit atteint.
- Chaînage Arrière (Backward Chaining) : Décompose le problème en sous-problèmes pour atteindre le but. Les règles déclenchées remplacent le problème initial par des faits à établir.
- Chaînage Mixte : Combine les deux approches lorsque certains faits sont déjà établis et d'autres doivent être déduits.
Stratégies de Recherche
Deux stratégies principales existent :
- Recherche en Largeur : Développe toutes les règles d'un même niveau avant de passer au suivant.
- Recherche en Profondeur : Applique une règle après l'autre, en profondeur, et revient en arrière (backtracking) si la solution n'est pas trouvée.
Régime de Contrôle
Un moteur peut être :
- Irrévocable : Ne remet jamais en cause une règle appliquée, sans backtracking.
- Par Tentatives : Remet en cause les règles non concluantes et retire les faits associés via le backtracking.
Monotonie
Un moteur peut être :
- Monotone : Conserve tous les faits initiaux et ajoutés, sans contradiction. Les règles ne sont jamais éliminées.
- Non-Monotone : Peut retirer des faits ou des règles en cas de contradiction ou de backtracking.
FAQ
Qu'est-ce qu'un système expert ?
Un système expert est un outil informatique qui reproduit le raisonnement d'un expert humain pour résoudre des problèmes complexes dans un domaine spécifique.
Comment fonctionne un moteur d'inférence ?
Un moteur d'inférence applique des règles à des faits pour déduire de nouvelles informations. Il alterne entre phases d'évaluation (sélection des règles) et d'exécution (application des règles).
Quelle est la différence entre un moteur à chaînage avant et un moteur à chaînage arrière ?
Un moteur à chaînage avant part des faits pour déduire le but, tandis qu'un moteur à chaînage arrière part du but pour identifier les faits nécessaires à sa résolution.