Les mécanismes d'exploitation

d'un système expert

____________________________________________________________________________

____________________________________________________________________________

On considère le système expert " pâtisserie "

Base de règles :

Base de faits :

  • R1 : Si farine et beurre et œufs et sel alors pâte
  • R2 : Si pommes et sucre alors pommes sucrées
  • R3 : Si pommes sucrées et pâte alors tarte aux pommes
  • R4 : Si abricots et pâte alors tarte aux abricots
  • R5 : Si poires et pâte alors tarte aux poires
  • R6 : Si cerises et pâte alors tarte aux cerises
  • Pommes
  • Poires
  • Abricots
  • Farine
  • Beurre
  • Sucre
  • Sel

Comment exploiter ce système expert ?

Description de la démarche 1, le " chaînage avant " :

C'est un mécanisme d'exploitation des règles guidé par les faits. C'est la traduction du modus ponens :
si f1 est vrai et f1 -> f2 alors f2 est vrai.
Le chaînage avant traduit un raisonnement déductif :


Description de l'algorithme :


Description de la démarche 2, le "chaînage arrière":

Est-ce que je peux faire une tarte aux abricots ?

Le chaînage arrière est un mécanisme d'exploitation guidé par les buts. Il traduit la règle du modus tollens.
Si est non vrai et si p implique q alors p est non vrai.
Le chaînage arrière traduit un raisonnement déductif :

On part d'un but qu'on cherche à vérifier.
But : Tarte aux abricots.

Algorithme de chaînage arrière :

Le système recherche, par la méthode du chaînage arrière, si le but souhaité peut être démontré à l'aide des règles présentes dans la base de règles.

L'algorithme est le suivant :

Avec comme définition de VERIFIER (fait) :

et avec comme définition de PROUVER (fait) :

Troisième démarche : le chaînage mixte

Le chaînage mixte utilise le raisonnement inductif et le raisonnement déductif. L'exemple suivant montre une recherche qui devient de plus en plus complexe.

Exemple 2.1 :

Base de connaissances :

Base de faits :

  • R1 : SI Tropiques ALORS Les_Saintes
  • R2 : SI Saint-Bart et hôtel ALORS Hôtel Paradisio
  • R3 : SI dépressif ALORS Tourisme chaud
  • R4 : SI tourisme chaud ALORS tropiques
  • R5 : SI Les_Saintes ALORS Hôtel Paradisio
  • R6 : SI Les_Saintes ALORS tourisme chaud
  • R7 : SI P.D.G. ALORS tourisme chaud
  • R8 : SI tourisme chaud et Les_Saintes ALORS tourisme chaud et voilier
  • R9 : SI Hôtel Paradisio ALORS Caraïbes

 

  • Les_Saintes

Base de faits état initial :
Les_Saintes

Règle déclenchée R5.
Base de faits état 1 cycle :

Les_Saintes
Hôtel Paradisio

Règle déclenchée R9.
Base de faits état 2 cycles :
Les_Saintes
Hôtel Paradisio
Caraïbes

Le moteur est maintenant bloqué en chaînage avant. Il n'existe pas de prémisse qui contienne Caraïbes.
Il passe donc en chaînage arrière mais il n'existe pas de règle activable ayant une partie droite (conclusion) qui contienne Caraïbes.
Le moteur passe à nouveau en chaînage avant.

Les règles activables sont R1, R2, R3, R4, R6, R7,R8.
La règle R6 est sélectionnée et activée.
Elle permet de déduire tourisme chaud.

etc...

Graphe du chaînage mixte :

 

Exercices :

Exercice 1:

Compléter les solutions proposées dans les cas chaînage avant et chaînage arrière pour le système suivant :

base de connaissances :

Base des faits :

  • R1 : Si B et D et E alors F
  • R2 : Si G et D alors A
  • R3 : Si C et F alors A
  • R4 : Si B alors X
  • R5 : Si D alors E
  • R6 : Si X et A alors H
  • R7 : Si C alors D
  • R8 : Si X et C alors A
  • R9 : Si X et B alors D

  • B
  • C

Dans chaque noeud figure le contenu de la base des faits.

Question : peut-on obtenir le fait H ?

Chaînage avant

vérifier son travail : consulter la solution.

 

Chaînage arrière

vérifier son travail : consulter la solution.

 

Exercice 2 :

1. Résoudre le problème suivant par chaînage avant :

Base de règles :

Base de faits initiale :

  • R1 : Si A et B alors C
  • R2 : Si F et D alors A
  • R3 : Si D et E alors B
  • R4 : Si B et D alors F
  • R5 : Si E et F alors D
  • E
  • F

 

On cherche à démontrer C

Solution

 

2. Résoudre le problème suivant par chaînage arrière :

Base de règles :

Base de faits initiale :

  • R1 : Si A et B alors C
  • R2 : Si F et D alors A
  • R3 : Si D et E alors B
  • R4 : Si B et D alors F
  • R5 : Si E et F alors D
  • E
  • F

 

On cherche à démontrer C

Solution

 

3. Résoudre le problème suivant par chaînage arrière avec "backtracking" :

Base de règles :

Base de faits initiale :

  • R1 : Si E et B alors C
  • R2 : Si B et D alors A
  • R3 : Si J et H alors B
  • R4 : Si D et E alors B
  • R5 : Si B et D alors F
  • R6 : Si E et F alors D
  • E
  • F

On cherche à démontrer C

Solution