systemes experts

22
Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes experts Sommaire LES PRINCIPES DE BASE..........................................................3 EN QUOI CONSISTE UN SYSTÈME EXPERT ?...............................................3 A QUOI SERT UN SYSTÈME EXPERT ?...................................................3 QUELS SONT LES PRINCIPES DE BASE ?................................................3 Que faut-il savoir sur les systèmes experts ?.................................................................................................... 3 Quel est le problème ?........................................................................................................................................ 4 Quel est le rôle de l'expert ?............................................................................................................................... 4 Quelles doivent être les caractéristiques des connaissances ?....................................................................... 4 En quoi consiste l’explication du raisonnement ?............................................................................................ 4 Quelles sont les applications d’un système expert ?........................................................................................ 4 Quelles sont les différences d’un système expert par rapport aux autres logiciels ? ................................... 5 Quelle est l’organisation de base ?.................................................................................................................... 5 QUEL EST LE CYCLE DE BASE D'UN SYSTÈME EXPERT ?.....................................6 En quoi consiste l’évaluation ?........................................................................................................................... 6 En quoi consiste l’exécution ?............................................................................................................................ 6 EN QUOI SE DIFFÉRENCIENT LES SYSTÈMES EXPERTS ?......................................7 Quels sont les différents niveaux de faits ?....................................................................................................... 7 Quels sont les différents types de règles ?........................................................................................................ 7 QUEL EST LALGORITHME UTILISÉ ?...................................................8 Qu’est-ce que la base de connaissances ?........................................................................................................ 8 Qu’est-ce que le démonstrateur de théorèmes (ou moteur d'inférences) ?................................................... 8 Quelles sont les techniques de démonstration de théorème ?....................................................................... 8 Quelles sont les étapes lors de l’exécution d’un système expert ?.................................................................. 8 QUELLE EST LIDÉE PRINCIPALE ?....................................................8 QUES-CE QUUNE PROPOSITION ?....................................................9 QUELLE EST LA STRUCTURE DU PROGRAMME ?.............................................9 En quoi consiste le chaînage avant ?.............................................................................................................. 10 En quoi consiste le chaînage arrière ?............................................................................................................ 10 QUEL EST LALGORITHME PRINCIPAL ?................................................11 QUEL EST LALGORITHME DE LA VÉRIFICATION (ÉTAPE 1 DE L'ALGORITHME PRINCIPAL) ?..........11 QUEL EST LALGORITHME DE DÉMONSTRATION (ÉTAPE 2 DE L'ALGORITHME DE VÉRIFICATION) ?.......11 QUELS SONT LES TYPES DE CONNAISSANCES ?...........................................13 Quelles sont les caractéristiques des connaissances ?.................................................................................. 13 Qu’est-ce qu’une connaissance de nature heuristique ?............................................................................... 13 Qu’est-ce qu’une connaissance de nature procédurale (méta-connaissance) ?......................................... 13 Qu’est-ce qu’une connaissance factuelle ?...................................................................................................... 13 Quels sont les domaines d'application ?........................................................................................................ 13 QUELS SONT LES CONSTITUANTS ?....................................................14 Qu’est-ce qu’une base de connaissances ?..................................................................................................... 14 Qu’est-ce qu’un dictionnaire ?.......................................................................................................................... 14 QU'EST-CE QU'UNE BASE DE FAITS ?................................................14 Qu’est-ce qu’un fait demandable ?.................................................................................................................. 14 Qu’est-ce qu’un fait affichable ?....................................................................................................................... 14 1

description

Description des systèmes experts

Transcript of systemes experts

Page 1: systemes experts

Bruno Delb http://www.brunodelb.com Date : 27/10/1999

Les systèmes experts

Sommaire

LES PRINCIPES DE BASE.......................................................................................3

EN QUOI CONSISTE UN SYSTÈME EXPERT ?............................................................................................3A QUOI SERT UN SYSTÈME EXPERT ?....................................................................................................3QUELS SONT LES PRINCIPES DE BASE ?.................................................................................................3

Que faut-il savoir sur les systèmes experts ?.........................................................................3Quel est le problème ?.............................................................................................................4Quel est le rôle de l'expert ?....................................................................................................4Quelles doivent être les caractéristiques des connaissances ?.............................................4En quoi consiste l’explication du raisonnement ?..................................................................4Quelles sont les applications d’un système expert ?.............................................................4Quelles sont les différences d’un système expert par rapport aux autres logiciels ?...........5Quelle est l’organisation de base ?.........................................................................................5

QUEL EST LE CYCLE DE BASE D'UN SYSTÈME EXPERT ?............................................................................6En quoi consiste l’évaluation ?................................................................................................6En quoi consiste l’exécution ?................................................................................................6

EN QUOI SE DIFFÉRENCIENT LES SYSTÈMES EXPERTS ?.............................................................................7Quels sont les différents niveaux de faits ?............................................................................7Quels sont les différents types de règles ?.............................................................................7

QUEL EST L’ALGORITHME UTILISÉ ?......................................................................................................8Qu’est-ce que la base de connaissances ?.............................................................................8Qu’est-ce que le démonstrateur de théorèmes (ou moteur d'inférences) ?..........................8Quelles sont les techniques de démonstration de théorème ?..............................................8Quelles sont les étapes lors de l’exécution d’un système expert ?.......................................8

QUELLE EST L’IDÉE PRINCIPALE ?.........................................................................................................8QU’ES-CE QU’UNE PROPOSITION ?.......................................................................................................9QUELLE EST LA STRUCTURE DU PROGRAMME ?.......................................................................................9

En quoi consiste le chaînage avant ?....................................................................................10En quoi consiste le chaînage arrière ?..................................................................................10

QUEL EST L’ALGORITHME PRINCIPAL ?................................................................................................11QUEL EST L’ALGORITHME DE LA VÉRIFICATION (ÉTAPE 1 DE L'ALGORITHME PRINCIPAL) ?.............................11QUEL EST L’ALGORITHME DE DÉMONSTRATION (ÉTAPE 2 DE L'ALGORITHME DE VÉRIFICATION) ?...................11QUELS SONT LES TYPES DE CONNAISSANCES ?.....................................................................................13

Quelles sont les caractéristiques des connaissances ?........................................................13Qu’est-ce qu’une connaissance de nature heuristique ?.....................................................13Qu’est-ce qu’une connaissance de nature procédurale (méta-connaissance) ?.................13Qu’est-ce qu’une connaissance factuelle ?..........................................................................13Quels sont les domaines d'application ?...............................................................................13

QUELS SONT LES CONSTITUANTS ?.....................................................................................................14Qu’est-ce qu’une base de connaissances ?..........................................................................14Qu’est-ce qu’un dictionnaire ?..............................................................................................14

QU'EST-CE QU'UNE BASE DE FAITS ?..................................................................................................14Qu’est-ce qu’un fait demandable ?.......................................................................................14Qu’est-ce qu’un fait affichable ?...........................................................................................14Qu’est-ce qu’une base de faits ?...........................................................................................14Qu’est-ce qu’un but ?............................................................................................................14

QU’EST-CE QU’UN MOTEUR D'INFÉRENCE ?..........................................................................................15Qu’est-ce que le moteur 0 ?..................................................................................................15Qu’est-ce que le moteur 1/2 ?...............................................................................................15Qu’est-ce que le moteur 1 ?..................................................................................................15Qu’est-ce que le moteur 2 ?..................................................................................................15Qu’est-ce que le moteur 3 ?..................................................................................................15

1

Page 2: systemes experts

Bruno Delb http://www.brunodelb.com Date : 27/10/1999

Les systèmes experts

Quelle est la syntaxe des règles associées à un moteur 0 ?................................................15QUELLES SONT LES STRATÉGIES DE RÉSOLUTION ET RÈGLES DE DÉDUCTION ?...........................................16

En quoi consiste le chainage avant ?....................................................................................16En quoi consiste le chainage arrière ?..................................................................................18Quels rapports entre le chainage avant et le chainage arrière ?.........................................19

QUELLES SONT LES RÈGLES DE DÉDUCTION ?.......................................................................................19Qu’est-ce que la règle du modus ponens ?..........................................................................19Qu’est-ce que la règle du modus tollens ?............................................................................19

2

Page 3: systemes experts

Bruno Delb http://www.brunodelb.com Date : 27/10/1999

Les systèmes experts

Les principes de base

En quoi consiste un système expert ?

Les systèmes experts servent à la représentation des mécanismes généraux de raisonnement dans des domaines particuliers.

Des informaticiens et des experts créent une partie programme et une partie connaissances séparées.

A quoi sert un système expert ?

Le but du système expert est la reconstitution du raisonnement humain (aide au dépannage,...)

Quels sont les principes de base ?

Que faut-il savoir sur les systèmes experts ?

L'élaboration d'un système expert nécessite l'analyse des comportements humains. Mais certains problèmes viennent encore se greffer à cette première difficulté.

Un système expert fait appel à trois étapes :

L'expert du domaine d'application doit décrire l'ensemble des faits décrivant l'univers considéré.

L'utilisateur final doit définir du problème posé.

Elaborer le démonstrateur de théorèmes, ou moteur d'inférences. Le système de traitement sera ainsi constitué.

3

Page 4: systemes experts

Bruno Delb http://www.brunodelb.com Date : 27/10/1999

Les systèmes experts

Quel est le problème ?

Un problème se pose. C'est celui des règles non explicitées : « Tout le monde le sait ... ».

Il existe de nombreuses difficultés :

éléments relatifs au temps

degré de certitude

dégager des sous-buts à l'intérieur des buts, ... afin de faciliter la constitution du moteur d'inférences

le logiciel doit avoir de bonnes capacités conversationnelles

prévoir la possibilité de montrer à l'utilisateur le chemin logique suivi

prévoir également le support d'interfaces agréables pour les experts

Quel est le rôle de l'expert ?

Explication de ses connaissances et de ses stratégies de résolution à l'informaticien.

Quelles doivent être les caractéristiques des connaissances ?

déclaratives (séparées du programme)

lisibles (exprimées en langage clair)

facilement examinables

=> maintenance sans informaticien

En quoi consiste l’explication du raisonnement ?

Le système expert montre les inférences successives qu'il fait pour aboutir aux conclusions qu'il donne.

=> l'utilisateur a confiance en l'ordinateur

Quelles sont les applications d’un système expert ?

aide à des non spécialistes

formations

sauvegarde de l'expertise des experts rares

=> méta-connaissances (des connaissances sur les connaissances)

4

Page 5: systemes experts

Bruno Delb http://www.brunodelb.com Date : 27/10/1999

Les systèmes experts

Quelles sont les différences d’un système expert par rapport aux autres logiciels ?

Ce qui différencie les systèmes experts des autres logiciels :

contiennent des connaissances importantes non algorithmiques sous forme de règles granules indépendants, associatifs, dans un langage proche du langage de l'expert, modifiable facilement

explication du raisonnement et justification des résultats

parfois possibilité de traiter des informations incertaines ou imprévues

L'intérêt réside donc dans :

facilité d'accès des connaissances chères et rares

préservation des connaissances qui pourraient disparaître

unification des connaissances

Quelle est l’organisation de base ?

Il existe deux types d'utilisateurs :

les utilisateurs experts (qui peuvent augmenter la base de connaissances)

les utilisateurs ordinaires (qui peuvent que consulter la base de connaissances)

Les composants de base d'un SE (Système Expert) sont :

langage d'expression des connaissances (langages à base de règles)

base de connaissances (programme) :

base de règles

base de faits (mémoire de travail)

moteur d'inférence (les bases de fait et de règle s'enrivchissenet)

fonction de dialogue, d'acquisition de connaissances :

utilisation normale

saisie, modification

facteurs de vérification, de compilation et d'élaboration

Les règles consistent en : Condition de Déclenchement -> Effet

Le filtrage est donc l'opération de comparaison entre la base de faits et la condition de déclenchement d'une règle (attention, l'ordre des règles a des influences sur le moteur d'inférence).

5

Page 6: systemes experts

Bruno Delb http://www.brunodelb.com Date : 27/10/1999

Les systèmes experts

Quel est le cycle de base d'un système expert ?

En quoi consiste l’évaluation ?

phase de restriction

R1 C Base de Règles

F1 C Base de faits

phase de filtrage pour comparaison entre F1 et R1

R2 C R1

phase de réduction du conflit

R3 C R2

En quoi consiste l’exécution ?

Condition de Déclenchement -> Action sur la base de faits

Lorsque F3 est vide,

on peut s'arrêter (chaînage avant)

on peut revenir en arrière (chaînage arrière)

reconsidérer la situation antérieure exactement comme elle était (donc révocable)

reconsidérer la situation de la base de règles mais ne pas modifier les faits obtenus (donc irrévocable)

La résolution d'un conflit se fait comme suit :

prendre la première règle

faire du « back-tracking » (prendre la première règle non déjà essayée)

On s'arrête :

quand il n'y a plus de but

quand le back-tracking peut être fait

quand R3 = 0

6

Page 7: systemes experts

Bruno Delb http://www.brunodelb.com Date : 27/10/1999

Les systèmes experts

Exemple :

B, C et X sont des faits. H est le fait à établir.P -> B/D/E Si P est mon but, alors faire B et me fixer un but comme D et E/AB -> /D/G Si mon est A et si j'ai interrogé le passion alors me fixer comme but D et G

En quoi se différencient les systèmes experts ?

Quels sont les différents niveaux de faits ?

niveau 1 = le plus élémentaire (A, B, est_grand, est_un_homme)

niveau 2 = (A, B, non A, non B)

niveau 3 = faits symboliques (profession = médecin)

niveau 4 = possitilité de manipuler des coefficients numériques (taille = 180), notion de priorité sur les opérateurs (taille = poids * 12 / 100 -5)

niveaux plus élevés = variables

Quels sont les différents types de règles ?

"et" est toujours prévu, tandis que "ou" est rarement prévu, car on peut s'en passer.

taille <= 180

Coefficient de vraissemblance

Il peut varier dans [-1, +1], [0, 1], [-100, +100], ...Ici, on s'intéresse au cas où il varie sur [-1, +1].On affecte chaque règle d'un coefficient de vraissemblance (CV).Les règles sont déclenchées si CV >= seuil.

Les problèmes de monotonie

Si on a une base de faits à comparer BF1 et BF2, alors (BF1 C BF2) => conséquences (BF1) C conséquences (BF2)Plus on donne d'information, plus on obtient de conclusions.

Moteur d'inférence pour gérer des plans

A chaque instant, il y a :

une pile de programme PP

une base de faits BF

un plan qui doit être généré

un numéro de noeud

7

Page 8: systemes experts

Bruno Delb http://www.brunodelb.com Date : 27/10/1999

Les systèmes experts

Remarques sur ce moteur :

interdiction de dépasser une certaine profondeur pour interdir le cycle

quand il y a un blocage, on utilise une règle qui rend ce fait vrai

Quel est l’algorithme utilisé ?

Un système expert est formé de deux grandes parties.

Qu’est-ce que la base de connaissances ?

Elle est constituée en un langage déclaratif et modulaire. Elle doit être lisible, indépendante du moteur d'inférence, et enfin conçue par et pour l'expert.

Qu’est-ce que le démonstrateur de théorèmes (ou moteur d'inférences) ?

Son rôle est d'appeler et d'utiliser les connaissances. Il doit induire les faits nouveaux à partir de la base de connaissances et de la règle :

« si p vrai et si p => q, alors q est vrai. »

Quelles sont les techniques de démonstration de théorème ?

Il existe deux grandes techniques de démonstration de théorèmes :

Le chaînage avant.

La base de faits initiale déclenche toutes les règles dont les prémisses sont satisfaites. Il y a donc accumulation de faits, ce qui peut entrainer une saturation.

Le chaînage arrière.

On effectue une recherche dans les règles qui ont le but comme conséquence. Si les prémisses sont satisfaites, alors le but est atteint. Si les prémisses sont insatisfaites, alors on se fixe un nouveau but (prémisse insatisfaite).

Quelles sont les étapes lors de l’exécution d’un système expert ?

L'exécution d'un système expert doit pouvoir procéder en trois étapes :

Détection.Il faut ici déterminer les règles applicables.

Choix.Il faut ici choisir les règles qu'il convient d'appliquer.

Déduction.C'est la mise à jour de la base de faits.

Quelle est l’idée principale ?

L'élaboration d'un système expert nécessite l'analyse des comportements humains. Mais certains problèmes viennent encore se greffer à cette première difficulté.

8

Page 9: systemes experts

Bruno Delb http://www.brunodelb.com Date : 27/10/1999

Les systèmes experts

Un système expert fait appel à trois étapes :

l'expert du domaine d'application doit décrire l'ensemble des faits décrivent l'univers considéré

L'utilisateur final doit définir du problème posé

élaboration du démonstrateur de théorèmes, ou moteur d'inférences. Le système de traitement sera ainsi constitué

Un problème se pose : c'est celui des règles non explicitées. « Tout le monde le sait ... ».

Qu’es-ce qu’une proposition ?

A cela viennent s'ajouter encore d'autre difficultés :

éléments relatifs au temps

degré de certitude

dégager des sous-buts à l'intérieur des buts, ... afin de faciliter la constitution du moteur d'inférences

le logiciel doit avoir de bonnes capacités conversationnelles

prévoir la possibilité de montrer à l'utilisateur le chemin logique suivi

prévoir également le support d'interfaces agréables pour les experts

Quelle est la structure du programme ?

Un système expert est formé de deux grandes parties :

la base de connaissances; elle est constituée en un langage déclaratif et modulaire elle doit être lisible, indépendante du moteur d'inférence, et enfin conçue par et pour l'expert

le démonstrateur de théorèmes (ou moteur d'inférences); son rôle est d'appeler et d'utiliser les connaissance il doit induire les faits nouveaux à partir de la base de connaissances et de la règle : « si p vrai et si p => q, alors q est vrai. »

Il existe deux grandes techniques de démonstration de théorèmes.

9

Page 10: systemes experts

Bruno Delb http://www.brunodelb.com Date : 27/10/1999

Les systèmes experts

En quoi consiste le chaînage avant ?

La base de faits initiale déclenche toutes les règles dont les prémisses sont satisfaites.

=> accumulation de faits, ce qui peut entrainer

=> saturation

La base de faits est constituée d'une liste de propositions logiques de valeur de vérité VARI. On applique l'algorithme :

Existe-t-il une règle applicable ? Si oui, alors aller à l'étape suivante. Si non, alors fin.

Appliquer cette règle.

Désactiver cette règle.

Le but souhaité est-il démontré ? Si oui, alors fin. Si non, alors retourner en 1.

L'étape 1 permet de tester la condition d'arrêt. On dit que le moteur fonctionne par saturation.

Pour le codage, on opère de la façon suivante.

Chaque fait est codéé à l'aide d'un dictionnaire de faits. La base de faits est donc constituée d'une liste d'entiers, chacun d'eux étant le code des faits dans le dictionnaire.

Pour les règles, nous avons besoin d'une variable liée à chacune d'elle afin de connaitre son état d'activité. Elle vaudra 1 si la règle est active, et 0 si elle est inactive. Mais la liste devra être dotée de quatre paramètres :

l'indice de début de la liste des conditions dans la base des faits

l'indice de fin de la liste des conditions dans la base de faits

l'indice de fin de la liste des conclusions dans la base de faits

l'état d'activité de la règle

En quoi consiste le chaînage arrière ?

Recherche dans les règles qui ont le but comme conséquence

Si les prémisses sont satisfaites, alors le but est atteint

Si les prémisses sont insatisfaites, alors on se fixe un nouveau but (prémisse insatisfaite)

L'ordinateur recherche si le but souhaité peut être démontré à l'aide des règles présentes dans la base des règles.

10

Page 11: systemes experts

Bruno Delb http://www.brunodelb.com Date : 27/10/1999

Les systèmes experts

Quel est l’algorithme principal ?

Vérifier le but

Le but est-il satisfait ?

Si oui, alors fin avec succès.

Si non, alors fin avec échec.

Quel est l’algorithme de la vérification (étape 1 de l'algorithme principal) ?

Existe-t-il une règle concluante sur ce fait ? Si oui, alors passer à l'étape suivante. Si non, alors aller en .

Montrer la règle

La règle est-elle montrée ? Si oui, alors fin (fait vérifié). Si non, alors passer à l'étape suivante.

Existe-t-il une autre règle concluante sur ce fait ? Si oui, alors aller en 2. Si non, alors fin (on ne peut pas conclure).

Quel est l’algorithme de démonstration (étape 2 de l'algorithme de vérification) ?

On suppose la première condition de la règle comme fait.

Vérifier le fait.

Le fait est-il satisfait ? Si oui, alors passer à l'étape suivante. Si non, alors fin (règle non prouvée).

Existe-il d'autres conditions ? Si oui, alors passer à l'étape suivante. Si non, alors fin (règle prouvée).

On suppose la condition suivante comme fait.

On retourne en 2.

Le codage suivant est utilisé.

11

Page 12: systemes experts

Bruno Delb http://www.brunodelb.com Date : 27/10/1999

Les systèmes experts

A chaque proposition on lui associe un numéro correspondant à l'indice dans le tableau du dictionnaire des faits. A l'aide d'une variable, nous conservons l'information qui indique si le fait est initiale ou à démontrer. On pourra par exemple lui assigner :

0 pour un fait initial,

)-1) pour un but à prouver,

1 dans les autres cas.

Chaque règle sera affectée d'un poids. La liste des règles sera ordonnée selon ces poids. Pour chaque règle, nous conservons :

le début dans la liste des conditions

le fin dans la lite des conditions

le numéro du fait conclusion

son poids

Le poids d'une règle est égal au nombre de ses prémisses qui ne sont pas des faits initiaux. On propose comme méthode de codage la procédure suivante :

On construit le tableau :

Poids

Base de faits A, B

Base de règles 1:A et B -> C 0

2:A et C -> D 1

etc ...

On construit un second tableau :

Etat Liste ordonnée de règles concluant sur ce fait

A 0 0

B 0 0

C -2 2

etc ...

L'exécution d'un système expert doit pouvoir procéder en trois étapes :

Détection; il faut ici déterminer les règles applicables

Choix; il faut ici choisir les règles qu'il convient d'appliquer

Déduction; c'est la mise à jour de la base de faits

12

Page 13: systemes experts

Bruno Delb http://www.brunodelb.com Date : 27/10/1999

Les systèmes experts

Quels sont les types de connaissances ?

Quelles sont les caractéristiques des connaissances ?

Les connaissances sont :

déclaratives : Elles sont séparées du programme.

lisibles : Elles sont exprimées en langage clair.

facilement examinables

=> maintenance sans informaticien

Le système expert montre les inférences successives qu'il fait pour aboutir aux conclusions qu'il donne.

=> l'utilisateur a confiance en l'ordinateur

Qu’est-ce qu’une connaissance de nature heuristique ?

« Si A et B sont vérifiées, alors C est plausible, mais sûrement pas D. »

=> Chaque conclusion peut recevoir un poids.

Qu’est-ce qu’une connaissance de nature procédurale (méta-connaissance) ?

« Si l'on connaît A, alors s'intéresser à B puis à C, sinon s'intérersser à C puis à B. »

Qu’est-ce qu’une connaissance factuelle ?

« A est composé de B, C et D. »

Quels sont les domaines d'application ?

Les principaux domaines d’application sont :

l’aide à des non spécialistes,

les formations ,

la sauvegarde de l'expertise des experts rares,

la reconnaissance ,

l’aide à la décision.

=> méta-connaissances (des connaissances sur les connaissances)

13

Page 14: systemes experts

Bruno Delb http://www.brunodelb.com Date : 27/10/1999

Les systèmes experts

Quels sont les constituants ?

Qu’est-ce qu’une base de connaissances ?

Couramment limitée à une base de règles, chaque règle étant exprimée en langage compréhensible par tous :

NOM_REGLE : SI fait ET fait ET ... ET faitALORS fait ET fait ET ... faitFINREGLE

Qu’est-ce qu’un dictionnaire ?

Ensemble des mots reconnus par le système (mots appartenant à la base de connaissances).

Qu'est-ce qu'une base de faits ?

Qu’est-ce qu’un fait demandable ?

Informations manquantes pour la déduction (prévoir la possibilité de répondre « Je ne sais pas. »)

Qu’est-ce qu’un fait affichable ?

Faits que le créateur du système expert a jugés pas trop techniques.

Qu’est-ce qu’une base de faits ?

Ensemble des faits fournis initialement par l'utilisateur et ensemble des faits déduits par le système.

Qu’est-ce qu’un but ?

Le système a un but, qui peut être « Je ne sais pas. »

14

Page 15: systemes experts

Bruno Delb http://www.brunodelb.com Date : 27/10/1999

Les systèmes experts

Qu’est-ce qu’un moteur d'inférence ?

Programme qui contient les mécanismes d'interprétation des règles ainsi que le programme permettant de déduire les mécanismes de déduction.

Qu’est-ce que le moteur 0 ?

Ne peut pas interpréter des règles contenant des variables.

Qu’est-ce que le moteur 1/2 ?

Peut évaluer des variables :

SI véhicule ET carroserie ET nombre_de_roues = 4ALORS voiture

Qu’est-ce que le moteur 1 ?

Peut interpréter des prédicats (de la forme Prédic (X), X étant une variable).

L'instanciation se fait par une constante.

SI homme (X)ALORS mortel (X)

Qu’est-ce que le moteur 2 ?

L'instanciation peut se faire par un prédicat.

Qu’est-ce que le moteur 3 ?

L'instanciation peut se faire par un prédicat de prédicat, ... (n - 1) fois en tout) de prédicat. Encore que de la théorie.

Quelle est la syntaxe des règles associées à un moteur 0 ?

<élément> := <mot> := <non mot> <mot> := <chaîne alphanumérique> <fait> := <élément><règle> := <nom> <prémisse> ALORS <conséquent> <prémisse> := <élément> := <élément> ET <prémisse><conséquent> := <prémisse>

Une règle est validée si toutes ses prémisses sont vraies. On ajoute alors tous les conséquents à la base de faits. Une règle se déclenche au plus une fois.

15

Page 16: systemes experts

Bruno Delb http://www.brunodelb.com Date : 27/10/1999

Les systèmes experts

On distingue deux types de données de base :

les FAITS :

« La personne a le nez qui coule. »« La personne tousse. »=> Ce sont des certitudes, des vérités.

les REGLES :

« SI la personne a de la fièvre ET elle tousse ALORS elle a la grippe. »« SI la personne a la grippe ET mal au sinusALORS elle a la sinusite. »« SI la personne a le nez qui couleALORS elle a le rhume. »etc ...

=> Elles permettent de déduires des faits à partir d'autres faits. La partie à gauche de ALORS est l'HYPOTHESE, la partie à droite de ALORS est la CONCLUSION.

Quelles sont les stratégies de résolution et règles de déduction ?

En quoi consiste le chainage avant ?

A partir des faits initiaux, on déclenche itérativement toutes les règles qui peuvent l'être jusqu'à :

satisfaction d'un but donné

saturation complète dde la base de faits

Le chaînage avant consiste à examiner toutes les règles et à partir de là, de déduire de nouveaux faits.

On prend donc la première règle. Si ses hypothèses sont vérifiées (si elles figurent dans la base des faits), alors on ajoute les conclusions de cette règle dans la base des faits. Sinon, on passe à la règle suivante.

La base des faits est donc : { « La personne a le nez qui coule. », « Elle tousse. » }

On commence à la première règle.

« SI la personne a de la fièvre ET elle tousse ALORS elle a la grippe. »« La personne a de la fièvre. » ne figure pas dans la base des faits, bien que « Elle tousse. » y figure.La base des faits reste donc : { « La personne a le nez qui coule. », « Elle tousse. » }

16

Page 17: systemes experts

Bruno Delb http://www.brunodelb.com Date : 27/10/1999

Les systèmes experts

On passe à la règle suivante.

« SI la personne a la grippe ET elle a mal au sinusALORS elle a la sinusite. »Ce n'est pas vérifié (« Elle a mal au sinus. » et « Elle a mal au sinus. » ne sont pas dans la base des faits).La base des faits reste donc : { « La personne a le nez qui coule. », « Elle tousse. » }

On passe à la règle suivante.

« SI la personne a le nez qui couleALORS elle a le rhume. »C'est exact.« Elle a le rhume. » est ajouté à la base des faits.La base des faits est donc : { « La personne a le nez qui coule. », « Elle tousse. », « Elle a le rhume. » }Comme on a validé un nouveau fait, il faut recommencer les tests à la première règle, car de nouvelles règles ont pu ainsi être validées.

On repasse à la première règle.

« SI la personne a de la fièvre ET elle tousse ALORS elle a la grippe. »C'est exact.« Elle a la grippe. » est ajouté à la base des faits.La base des faits est donc : { « La personne a le nez qui coule. », « Elle tousse. », « Elle a le rhume. », « Elle a la grippe. » }

On passe à la règle suivante.

« SI la personne a la grippe ET elle a mal au sinusALORS elle a la sinusite. »

Ce n'est pas vérifié (« Elle a mal au sinus. » n'est pas dans la base des faits).« Elle a la sinusite. » n'est pas ajouté à la base des faits.La base des faits est donc : { « La personne a le nez qui coule. », « Elle tousse. », «

Elle a le rhume. », « Elle a la grippe. » }

On passe à la règle suivante.

Celle-ci a déjà été testée et validée. On ne s'en occupe donc pas.

On retente un troisième passage.

Mais aucune règle n'est validée. On arrête donc là la recherche. C'est fini.La conclusion fournie par le système expert est donc : Elle a le rhume et elle a la grippe. Il s'ensuit donc le traitement approprié ...

17

Page 18: systemes experts

Bruno Delb http://www.brunodelb.com Date : 27/10/1999

Les systèmes experts

Ce qui donne l’algorithme :

POUR Toutes les règles de la liste Marquer chaque règle comme étant non vérifie;REPETER POUR Toutes les règles de la listeSI La règle n'est pas déjà vérifie ALORS SI Les hypothèses de la règle sont dans la base des faits ALORS DEBUTAjouter les conclusions de la règle à la base des faits;Marquer la règle comme étant vérifiée;Indiquer qu'il faudra faire un nouveau parcours; FIN;JUSQU'A Ce qu'aucune nouvelle règle n'ait été vérifiée;

En quoi consiste le chainage arrière ?

A partir d'un but donné par l'utilisateur (ou choisi par le système), on remonte récursivement vers les faits initiaux.

Dans ce cas, on interroge le système expert.

Si on demande : « La personne a-t-elle le rhume ? ».

On va à la première règle.

« SI la personne a de la fièvre ET elle tousse ALORS elle a la grippe. »La question « La personne a-t-elle le rhume ? » ne correspond pas à la conclusion « Elle a la grippe. ».

On passe donc à la règle suivante.

« SI la personne a la grippe ET mal au sinusALORS elle a la sinusite. »La question « La personne a-t-elle le rhume ? » ne correspond pas à la conclusion « Elle a la sinusite. ».

On passe donc à la règle suivante.

« SI la personne a le nez qui couleALORS elle a le rhume. »La question « La personne a-t-elle le rhume ? » correspond à la conclusion « Elle a le rhume. ».« La personne a le nez qui coule. » fait partie de la base des faits. Donc l'ordinateur répond « Oui. ».Par contre, si on ne l'avait pas trouvé dans la base des faits, on aurait cherché à montrer « La personne a le nez qui coule. » à partir des règles de la même façon que l'on a montré « Elle a le rhume. ».

18

Page 19: systemes experts

Bruno Delb http://www.brunodelb.com Date : 27/10/1999

Les systèmes experts

Ce qui donne l’algorithme :

SI La question est dans la base des faitsALORS Elle est vraieSINON DEBUTCréer une base vide de questions; POUR Toutes les règles de la base des règlesSI La question figure dans une conclusion ALORS Ajouter les hypothèses à la base des questions; SI La liste des questions n'est pas videALORS Vérifier toutes les questions figurant dans la liste des questionsSINON Demander à l'utilisateur si la question est vraie ou non;FIN;

Quels rapports entre le chainage avant et le chainage arrière ?

Chainage avant Chainage arrière

Cherche à être exhaustif. Limite du champs d'investigation.

Plus simple. Plus compliqué.

Itératif. Récursif.

Semble tenir compte de la chance et du hasard. Semble suivre un raisonnement précis.

Interface en langage naturel difficile. Interface en langage naturel plus facile.

Quelles sont les règles de déduction ?

Qu’est-ce que la règle du modus ponens ?

Pi ^ Pj ^ Pk -> Pz ^ Pl => Pz ^ Pl

Si tous les prémisses sont vrais, alors les conséquents sont vrais.

Qu’est-ce que la règle du modus tollens ?

Pi ^ Pj ^ Pk -> Pz ^ Pl => Non (Pi ^ Pj ^ Pk)

19