You are on page 1of 12

Systèmes Experts et leurs Applications

Définition:
 Un système expert est un logiciel qui reproduit le comportement d’un
expert humain dans un domaine spécifique.
 Un SE collecte un ensemble de connaissances, les formalise, puis les
restituer comme un expert lorsqu’il interrogé par un utilisateur.

Principaux composants d’un SE


Un SE est fondé sur le principe de séparation des connaissances (la base
des connaissances) et les programmes qui les traitent (le moteur
d’inférence).
Avantages:
 Modification de la BC sans besoin de toucher aux programmes
 Possibilité de réutilisation du même moteur d’inférence avec d’autres
BC (Réduire le temps de développement)
Une BC est constituée de :
1. Une base de faits
2. Une base de règles
3. Une base de métarègles.

Fig III.1. Schéma d’un SE


1. La base des faits :
 Contient des faits prouvés (connus comme vrais)
 Evolue au cours du temps suivant l’exécution du SE.
 De nouveaux faits peuvent être ajoutés par l’utilisateur ou par le
moteur d’inférence (par déduction).

2. La base des règles


Permet de déduire de nouveaux faits (et rarement de nouveaux règles)

3. Les métarègles
Ce sont des règles qui déterminent comment utiliser les règles elles
même (conditions d’utilisation d’une règle, sélection de certaines règles,
priorités d’application, etc.).

4. Moteur d’inférence
 Indépendant de la BC
 Parcourir les faits et les règles de la BC.
 Sélectionner une règle et l’appliquer
 Travaille selon 03 façons :
- Chainage avant
- Chainage arrière
- Chainage mixte
5. Les interfaces : comporte
a. Un module d’interaction avec l’utilisateur : est composé d’un
ensemble de menus

b. Un module d’explication et de trace d’exécution :


- Un SE est capable de justifier la conclusion à laquelle il a abouti
- Expliquer les raisons pour lesquelles il a activé certaines règles
- Proposer une trace graphique restituant le chemin suivi lors de
raisonnement ainsi que les connaissances mobilisées.

c. Un module d’aide à l’acquisition de connaissances


- Aide à la génération automatique de la BC
- Vérification de la cohérence.
- Bonne formalisation

d. Une interface avec des applications externes


- Permet au SE d’interagir avec des BDD et des programmes externes

Moteur d’inférence

Base des
Base des faits Base des règles métarègles

Interfaces
Module Module Module d’aide à Interface avec
d’interface avec d’explication l’acquisition de des sources et
l’utilisateur connaissances des applications
externes

Fig III.2. Architecture d’un SE


Domaine d’application
1. Mathématiques :
MacSyma (1967) : résolution des problèmes mathématiques
(intégrales, différentielles, systèmes d’équations, …)
2. Géologie :
Prospector : pour l’exploration des gisements minéraux
3. Chimie :
Dendral (1969), Métadendral (1978) : identification de la structure
moléculaire d’un corps inconnu.
4. Médecine :
Mycine (1977): détection des maladies infectieuses
5. Linguistique :
Hearsay II : compréhension de la parole
6. Informatique :
Xcon : pour la configuration des systèmes informatique
Cyc : Outil pour la recherche documentaire intelligente
7. Autres domaines et utilisations :
- Aide à la FAO
- Commande de robots
- Maintenance (diagnostic de pannes et anomalies)
- Choix de produits dans une ligne de production.
- Planification et ordonnancement
- Contrôle de qualité
- Contrôle d’un atelier de production en temps réel
- Finances
- Marketing
- Ressources humaines
Apport d’un système expert
1. L’enrichissement de l’expertise au sein de l’entreprise :
 En collectant les connaissances de plusieurs experts du même
domaine ou de domaines différents (SE pluridisciplinaire).

2. La transmission du savoir
L’expérience humaine est :
 Indispensable dans les décisions stratégiques
 Volatile (départ, maladie, décès, voyage, …).
 Couteuse (coût d’intervention en temps et en argent, coût de
formation
La mise en place d’un SE comme solution alternative permet :

 Un moyen efficace pour conserver et transmettre le savoir


 Ayant un coût négligeable
 Augmenter la productivité
 Immédiatement opérationnel (pas de formation préalable)

3. Amélioration des compétences et d’efficacité du personnel


 Une très grande disponibilité de l’expertise à des niveaux bas
 Amélioration des conditions de travail, son efficacité, sa productivité
 Amélioration des compétences de ses acteurs

4. Cohérence de décision
 L’expert humain est sensible aux conditions de l’environnement (la
fatigue, la nervosité, …)  décisions incohérentes
 Un SE donnera les mêmes décisions sous les mêmes conditions
(cohérence des décisions avec moins d’erreurs).
5. Augmentation de volume d’affaires
Un SE de qualité + rapide
 Accroissement du volume d’affaires
 Augmentation de rentabilité de l’entreprise.
6. Ouverture de nouveaux types de problèmes
Un SE ne s’intéresse pas aux problèmes classiques, mais des problèmes
ouverts qui demandent de l’expertise humaine.
7. L’image d’une entreprise innovatrice
L’utilisation de technologies de pointe renforce l’image de l’entreprise
devant ses clients ainsi que ses concurrents

Phases de développement
1. Spécification du cahier des charges
2. Choix d'une architecture du système, de son interface utilisateur, et
d'un langage de traitement.
3. Prévision des mécanismes de modification ultérieure du système
4. Sélection d'un sous-ensemble représentatif du problème pour
l'élaboration d'un démonstrateur
5. Acquisition des informations et élaboration du mécanisme d'ajout et
de modification de la base de connaissances
6. Implantation du "moteur d'inférences" (règles d'inférence)
7. Test, ajustement et documentation du système.
Méthodologie et outils de construction d’un SE
Les différents acteurs
1. L’ingénieur de connaissances (le cogniticien)
 L’extraction des connaissances auprès des experts (conduire des
interviews avec eux).
 Représente les connaissances acquises selon l’un des formalismes
 Travaille en collaboration avec les experts

2. Les développeurs (les informaticiens)


 Choisir un outil de développement (un langage de programmation)
 Développe le programme du SE en faisant la programmation
proprement dite.

3. Les experts du domaine concerné


 Constituent le point d’articulation du développement d’un SE
 Doivent être disponible lors de la phase de d’extraction de la
connaissance et lors de suivi de l’application
 Ils ne devront pas percevoir le nouvel outil développé comme un
rival qui leur prendra une partie de leur pouvoir.
 Ils devront percevoir l’application comme un outil les décharge des
taches routinières au profil de problèmes qui requièrent leur savoir-
faire.

4. Les utilisateurs
 Participent efficacement dans le développement du SE surtout
l’interface avec le système (simple, performant, ergonomique).
 Devront être convaincus des avantages de l’outil développé sur leur
travail quotidien
 Peuvent donner leurs critiques relatifs au SE

5. Les managers
 Suivre le projet de développement dès le départ
 Organiser le travail des différents acteurs
 Pourra programmer une formation relative aux techniques des SE au
profit des différents intervenants

Les différentes phases de développement


1. Etude préalable
Mener une étude détaillée sur l’entreprise, cette étude doit traiter :

 L’Adéquation de l’application aux techniques des SE et que


d’autres alternatives (logiciels simples) ne sont pas envisageables.

 La faisabilité technique
- S’assurer qu’on dispose des moyens matériels et humains suffisants
pour le mettre en œuvre.
- L’accueil réservé à cette nouvelle technique par les différents acteurs

 Etude économique du projet


- Vérifier la rentabilité de la mise en œuvre du système
- Dresser une liste des bénéfices directs et indirects attendues
- Enumérer les différents coûts engendrés par le développement du
projet. (matériel requis [ordinateurs, imprimantes, supports de
stockage, …]), du logiciel [shell, langages de programmation, …) ou
personnel [formation, disponibilité des experts, …]
- Donner une estimation chiffrée du coût total

2. Réalisation
 Fixer un planning envisageant les différentes étapes de
développement.
 Etablir des états périodiques d’avancement du projet
 Entamer la phase de développement proprement dite.
 Plusieurs méthodes peuvent être utilisées (celles connues en GL)
 Utiliser l’approche par prototypage rapide proposée par Hayes Roth
et Waterman et Lenat en 1983.
 L’approche de prototypage rapide est constituée de 05 phases :
1. L’identification (rôles des acteurs, objectifs du projet, moyens
requis)
2. La conceptualisation (conception du logiciel)
3. La formalisation (représentation des connaissances en utilisant les
formalismes connues dans le domaine)
4. L’implantation (développement du SE)
5. Les tests

Outils de construction des SE


1. Les langages classiques
Fortran
Cobol
Basic
Pascal et C

2. Les langages spécifiques à l’IA


a. Les langages fonctionnels
 Lisp
b. Les langages logiques
 Prolog
3. Les langages orientés objets
 C++
 C#
 Delphi

4. Les générateurs des SE (Shell)


 Un outil conçu spécialement pour la génération des SE
 Dispose de : moteurs d’inférence, interfaces utilisateurs,
formalismes de représentation de connaissances, gestion de
connaissances incertaines, aide au développement
Ingénierie de connaissances (sciences cognitives)
Questions que doit résoudre un cogniticien
1. Quelles sont les données à fournir au système ?
2. Quels sont les résultats produits par le système, comment sont-ils
présentés ?
3. Quels sont les types de problèmes ?
4. Quelles sont les caractéristiques des solutions ?
5. Quels types de connaissances doit-on acquérir ?
6. Quelles sont les relations entre données ?
7. Quel est le degré de précision des données et des résultats à fournir ?
8. Quels sont les postulats de base (parfois implicites) de l'expert ?
9. Quelles sont les contraintes à respecter dans les données ou les
solutions ?
10. Quels sont les problèmes faciles, fréquents, difficiles ou intéressants?

Tâches en ingénierie des connaissances


Identifier la connaissance

Expliciter la connaissance

Structurer la connaissance

Représenter la connaissance

Utiliser, valider, raffiner, et

mettre à jour la connaissance


Nature de la connaissance d'un expert
La connaissance de l'expert est :
• compilée
• volatile
• subjective
• répartie

Exemples de systèmes experts


1. Systèmes d'interprétation de données. Des systèmes permettant de
classifier de nouvelles observations par référence à des observations
pré-stockées.
2. systèmes de diagnostic en médecine ("de quelle maladie s'agit-il?"),
3. système d'interprétation géologique ("les mesures seismologiques
permettent-elles de croire à l'existence de dépôts minéraux
importants?"),
4. systèmes d'évaluation psychologique ("s'agit-il d'un cas suicidaire?"),
etc.
5. Systèmes de prédiction. Des systèmes effectuant une interprétation
prédictive à partir d'observations pré-stockées.
6. systèmes de prédiction météorologique ("Il pleut aujourd'hui en
France. Va-t-il pleuvoir en Suisse demain?"),
7. prédictions géopolitiques ("Les conflits de guerre sont
particulièrement fréquents en situation de crise économique. Quelles
combinaisons précises de facteurs économiques, sociologiques et
politiques prédisent un déclenchement d'hostilités?"),
8. Systèmes de planification. Des systèmes capables de planifier des
actions humaines ou robotiques dans un univers complexe caractérisé
par des contraintes ou règles connues.
9. Système de réservation de vols aériens, planification des altitudes de
vol selon les vents connus et les corridors disponibles.
10. planification des actions d'assemblage d'un robot industriel.
11. Planification des interventions requis pour la construction d'un
bâtiment, etc.
12. Systèmes de conception. Des systèmes de configuration ou de
découverte selon un cahier des charges précises.
13. Développement et simplification de circuits intégrés, aménagement
d'une cuisine optimale dans un espace donné, clonage de gènes, création
d'un nouveau composé chimique, etc.

You might also like