Aide à la décision
Introduction au fonctionnement des systèmes experts
Un système expert est généralement conçu sous la forme d'un programme informatique. Pour les implémenter on utilise généralement des langages de programmation logique comme PROLOG ou des langages fonctionnels ou partiellement fonctionnels comme LISP (et ses variantes) qui sont particulièrement appréciés dans la recherche en intelligence artificielle.
Ces systèmes sont composés des éléments suivantes :
- Une « base de faits »
- Une « base de règle »
- Un « moteur d'inférences »
Une base de faits se présente sous la forme d'un ensemble d'axiome censé représenter les connaissances d'un spécialiste dans un domaine. Elles sont généralement très nombreuses. On les exprime de façon formelle.
Une base de règle quant à elle est un ensemble de règles présenté sous forme de conditions ou implications de la forme « Si A alors B » ou des implications plus complexes. Ces règles s'appliquent selon les connaissances (faits).
Le moteur d'inférence simule la déduction à partir de faits et de règles. Par exemple si on considère le fait A vrai et qu'on a la règle « Si A alors B » alors le moteur d'inférence en déduit B. Cet élément est le coeur des systèmes experts.
Il existe plusieurs types de moteurs d'inférence, Les moteurs à :
- « Chaînage avant » qui partent des faits pour en déduire des conséquences.
- « Chaînage arrière » qui partent des conséquences pour en déduire des faits.
- « Chaînage mixte » qui utilise une combinaison des deux chaînages.
De tels systèmes posent plusieurs problèmes. Comment représenter la connaissance ? Comment simuler la déduction humaine ? Comment avoir des résultats fiables ? Comme pouvoir donner des réponses « floues » c'est à dire évaluées par degrés et non de façon booléenne ?
Les systèmes experts les plus simples utilisent une logique propositionnelle pour formaliser les connaissances et les règles d'autre utilise une logique des prédicats ou plus généralement une logique du premier ordre.
Les systèmes experts devenant de plus en plus complexe, de nouveaux systèmes (en particulier basé sur la logique mathématique) ont dû intervenir comme par exemple :
- « La maintenance de la vérité » qui gère les dépendances entre les différents faits et règles. Ainsi si une règle ou un fait et altéré le système agit de façon cohérente en modifiant la base de fait et de règle pour maintenir la vérité.
- « Le raisonnement hypothétique » qui gère les hypothèses en générant de façon parallèle plusieurs possibilités de raisonnement.
- « La logique floue » qui une branche non-rigoureuse de la logique mathématique dans le sens où elle n'est pas basée sur un système booléen mais sur un système échelonné par degrés de vérité. Elle permet notamment de donner des réponses plus précises.
- « La classification par ontologies » qui utilise les logiques de description (qui correspond à un sous-ensemble de la logique du premier ordre). Dans les systèmes experts utilisant ce système on représente la connaissance sous forme d'entités appelées « classes » et d'instances de ces classes appelées « identités ». Les faits sont déduits à partir de l'ensemble des classes, l'ensemble des entités et des axiomes définis.
Article rédigé le 19/01/2015 par ENG Boris étudiant à l'IUT de Montreuil (DUT Informatique).
<< Retourner à la liste des articles