SlideShare ist ein Scribd-Unternehmen logo
1 von 19
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 L’ALGORITHME 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 L’IDÉE PRINCIPALE ?.........................................................................................8
  QU’ES-CE QU’UNE 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 L’ALGORITHME PRINCIPAL ?..................................................................................11
  QUEL EST L’ALGORITHME DE LA VÉRIFICATION (ÉTAPE 1 DE L'ALGORITHME PRINCIPAL) ?......................11
  QUEL EST L’ALGORITHME 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
    Qu’est-ce qu’une base de faits ?..............................................................................14
    Qu’est-ce qu’un but ?.............................................................................................14
  QU’EST-CE QU’UN MOTEUR D'INFÉRENCE ?............................................................................15
    Qu’est-ce que le moteur 0 ?....................................................................................15
    Qu’est-ce que le moteur 1/2 ?.................................................................................15
    Qu’est-ce que le moteur 1 ?....................................................................................15


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

                                      Les systèmes experts

  Qu’est-ce que le moteur 2 ?....................................................................................15
  Qu’est-ce que le moteur 3 ?....................................................................................15
  Quelle est la syntaxe des règles associées à un moteur 0 ?........................................15
QUELLES SONT LES STRATÉGIES DE RÉSOLUTION ET RÈGLES DE DÉDUCTION ?..................................16
  En quoi consiste le chainage avant ?........................................................................16
  En quoi consiste le chainage arrière ?......................................................................18
  Quels rapports entre le chainage avant et le chainage arrière ?..................................19
QUELLES SONT LES RÈGLES DE DÉDUCTION ?.........................................................................19
  Qu’est-ce que la règle du modus ponens ?................................................................19
  Qu’est-ce que la règle du modus tollens ?................................................................19




                                                       2
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
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
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
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
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
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 ?




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

                          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é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
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
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
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
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
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 fait
    ALORS fait ET fait ET ... fait
    FINREGLE


 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
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 = 4
    ALORS 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
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 sinus
    ALORS elle a la sinusite. »
    « SI la personne a le nez qui coule
    ALORS 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
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 sinus
  ALORS 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 coule
  ALORS 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 sinus
  ALORS 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
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 liste
    SI 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 DEBUT
    Ajouter 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 sinus
    ALORS 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 coule
    ALORS 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
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 faits
     ALORS Elle est vraie
     SINON DEBUT
     Créer une base vide de questions;
      POUR Toutes les règles de la base des règles
     SI La question figure dans une conclusion
      ALORS Ajouter les hypothèses à la base des questions;
      SI La liste des questions n'est pas vide
     ALORS Vérifier toutes les questions figurant dans la liste des questions
     SINON 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

Weitere ähnliche Inhalte

Was ist angesagt?

Présentation soutenance du PFE
Présentation soutenance du PFEPrésentation soutenance du PFE
Présentation soutenance du PFEmarouan barssa
 
Rapport stage pfe
Rapport stage  pfe Rapport stage  pfe
Rapport stage pfe rimeh moussi
 
Systèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introductionSystèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introductionLilia Sfaxi
 
Pfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEEPfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEEOussama Djerba
 
l'Intelligence Artificielle Jean-Antoine Moreau
l'Intelligence Artificielle Jean-Antoine Moreaul'Intelligence Artificielle Jean-Antoine Moreau
l'Intelligence Artificielle Jean-Antoine MoreauJean-Antoine Moreau
 
AI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigAI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigFelipe Sanchez Garzon
 
Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...Ayoub Mkharbach
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Ramzi Noumairi
 
Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015Ghali Rahma
 
Ch_1 - Généralités sur la sécurité informatique.pdf
Ch_1 - Généralités sur la sécurité informatique.pdfCh_1 - Généralités sur la sécurité informatique.pdf
Ch_1 - Généralités sur la sécurité informatique.pdfNafissa11
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratiqueAbdelouahed Abdou
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsMohamed Ayoub OUERTATANI
 
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision Yassine Badri
 
Le problème de voyageur de commerce: algorithme génétique
Le problème de voyageur de commerce: algorithme génétiqueLe problème de voyageur de commerce: algorithme génétique
Le problème de voyageur de commerce: algorithme génétiqueRima Lassoued
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementNassim Bahri
 
Sécurité informatique
Sécurité informatiqueSécurité informatique
Sécurité informatiqueoussama Hafid
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrigeAmineMouhout1
 
Soutenance de stage : comment la réussir ? ( www.ramzi-orientation.blogspot.c...
Soutenance de stage : comment la réussir ? ( www.ramzi-orientation.blogspot.c...Soutenance de stage : comment la réussir ? ( www.ramzi-orientation.blogspot.c...
Soutenance de stage : comment la réussir ? ( www.ramzi-orientation.blogspot.c...RAMZI EL IDRISSI
 

Was ist angesagt? (20)

Présentation soutenance du PFE
Présentation soutenance du PFEPrésentation soutenance du PFE
Présentation soutenance du PFE
 
Rapport stage pfe
Rapport stage  pfe Rapport stage  pfe
Rapport stage pfe
 
Systèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introductionSystèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introduction
 
Pfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEEPfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEE
 
l'Intelligence Artificielle Jean-Antoine Moreau
l'Intelligence Artificielle Jean-Antoine Moreaul'Intelligence Artificielle Jean-Antoine Moreau
l'Intelligence Artificielle Jean-Antoine Moreau
 
AI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigAI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine Learnig
 
Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...
 
Algorithmes de jeux
Algorithmes de jeuxAlgorithmes de jeux
Algorithmes de jeux
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...
 
Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015
 
Ch_1 - Généralités sur la sécurité informatique.pdf
Ch_1 - Généralités sur la sécurité informatique.pdfCh_1 - Généralités sur la sécurité informatique.pdf
Ch_1 - Généralités sur la sécurité informatique.pdf
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratique
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clients
 
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision
 
QCM Sécurité Informatique
QCM Sécurité InformatiqueQCM Sécurité Informatique
QCM Sécurité Informatique
 
Le problème de voyageur de commerce: algorithme génétique
Le problème de voyageur de commerce: algorithme génétiqueLe problème de voyageur de commerce: algorithme génétique
Le problème de voyageur de commerce: algorithme génétique
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignement
 
Sécurité informatique
Sécurité informatiqueSécurité informatique
Sécurité informatique
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 
Soutenance de stage : comment la réussir ? ( www.ramzi-orientation.blogspot.c...
Soutenance de stage : comment la réussir ? ( www.ramzi-orientation.blogspot.c...Soutenance de stage : comment la réussir ? ( www.ramzi-orientation.blogspot.c...
Soutenance de stage : comment la réussir ? ( www.ramzi-orientation.blogspot.c...
 

Andere mochten auch

El debate sobre las prácticas estudiantiles universitarias, el marco normativ...
El debate sobre las prácticas estudiantiles universitarias, el marco normativ...El debate sobre las prácticas estudiantiles universitarias, el marco normativ...
El debate sobre las prácticas estudiantiles universitarias, el marco normativ...Universidad Autónoma de Barcelona
 
Evaluación de recursos financieros para la implementación del Plan Nacional d...
Evaluación de recursos financieros para la implementación del Plan Nacional d...Evaluación de recursos financieros para la implementación del Plan Nacional d...
Evaluación de recursos financieros para la implementación del Plan Nacional d...Gobernabilidad
 
GUIÓN TÉCNICO
GUIÓN TÉCNICOGUIÓN TÉCNICO
GUIÓN TÉCNICOoscarbui
 
Discusión sobre la existencia de uno o dos Expedientes de Regulación de Emple...
Discusión sobre la existencia de uno o dos Expedientes de Regulación de Emple...Discusión sobre la existencia de uno o dos Expedientes de Regulación de Emple...
Discusión sobre la existencia de uno o dos Expedientes de Regulación de Emple...Universidad Autónoma de Barcelona
 
QMX Corporate Presentation (French)
QMX Corporate Presentation (French) QMX Corporate Presentation (French)
QMX Corporate Presentation (French) QMX Gold Corporation
 
Evidencia skype carlos chavarria
Evidencia skype carlos chavarriaEvidencia skype carlos chavarria
Evidencia skype carlos chavarriaCARLOS CHAVARRIA
 
Los cinco colores que te darán salud!!
Los cinco colores que te darán salud!!Los cinco colores que te darán salud!!
Los cinco colores que te darán salud!!Adriana Moreira
 
These
TheseThese
Thesekcmei
 
Entrepreneurs & Solutions Cloud : réussir la mutation du S.I
Entrepreneurs & Solutions Cloud : réussir la mutation du S.IEntrepreneurs & Solutions Cloud : réussir la mutation du S.I
Entrepreneurs & Solutions Cloud : réussir la mutation du S.IYann Dieulangard
 
Negocios Inclusivos: Invertir en mujeres es un buen negocio
Negocios Inclusivos: Invertir en mujeres es un buen negocioNegocios Inclusivos: Invertir en mujeres es un buen negocio
Negocios Inclusivos: Invertir en mujeres es un buen negocioEmbajada de EE.UU. en el Perú
 
Reflexiones sobre la inmigración y cómo están impactando los cambios normativ...
Reflexiones sobre la inmigración y cómo están impactando los cambios normativ...Reflexiones sobre la inmigración y cómo están impactando los cambios normativ...
Reflexiones sobre la inmigración y cómo están impactando los cambios normativ...Universidad Autónoma de Barcelona
 
Société R2C System
Société R2C SystemSociété R2C System
Société R2C SystemMyDataBall
 

Andere mochten auch (20)

Fiestas salobreña
Fiestas salobreñaFiestas salobreña
Fiestas salobreña
 
El debate sobre las prácticas estudiantiles universitarias, el marco normativ...
El debate sobre las prácticas estudiantiles universitarias, el marco normativ...El debate sobre las prácticas estudiantiles universitarias, el marco normativ...
El debate sobre las prácticas estudiantiles universitarias, el marco normativ...
 
Evaluación de recursos financieros para la implementación del Plan Nacional d...
Evaluación de recursos financieros para la implementación del Plan Nacional d...Evaluación de recursos financieros para la implementación del Plan Nacional d...
Evaluación de recursos financieros para la implementación del Plan Nacional d...
 
GUIÓN TÉCNICO
GUIÓN TÉCNICOGUIÓN TÉCNICO
GUIÓN TÉCNICO
 
Digestivo amir
Digestivo amirDigestivo amir
Digestivo amir
 
Propuesta tics
Propuesta ticsPropuesta tics
Propuesta tics
 
Actividad 6.0
Actividad 6.0Actividad 6.0
Actividad 6.0
 
Discusión sobre la existencia de uno o dos Expedientes de Regulación de Emple...
Discusión sobre la existencia de uno o dos Expedientes de Regulación de Emple...Discusión sobre la existencia de uno o dos Expedientes de Regulación de Emple...
Discusión sobre la existencia de uno o dos Expedientes de Regulación de Emple...
 
QMX Corporate Presentation (French)
QMX Corporate Presentation (French) QMX Corporate Presentation (French)
QMX Corporate Presentation (French)
 
Evidencia skype carlos chavarria
Evidencia skype carlos chavarriaEvidencia skype carlos chavarria
Evidencia skype carlos chavarria
 
Los cinco colores que te darán salud!!
Los cinco colores que te darán salud!!Los cinco colores que te darán salud!!
Los cinco colores que te darán salud!!
 
Contenido curso
Contenido cursoContenido curso
Contenido curso
 
These
TheseThese
These
 
Entrepreneurs & Solutions Cloud : réussir la mutation du S.I
Entrepreneurs & Solutions Cloud : réussir la mutation du S.IEntrepreneurs & Solutions Cloud : réussir la mutation du S.I
Entrepreneurs & Solutions Cloud : réussir la mutation du S.I
 
Negocios Inclusivos: Invertir en mujeres es un buen negocio
Negocios Inclusivos: Invertir en mujeres es un buen negocioNegocios Inclusivos: Invertir en mujeres es un buen negocio
Negocios Inclusivos: Invertir en mujeres es un buen negocio
 
Reflexiones sobre la inmigración y cómo están impactando los cambios normativ...
Reflexiones sobre la inmigración y cómo están impactando los cambios normativ...Reflexiones sobre la inmigración y cómo están impactando los cambios normativ...
Reflexiones sobre la inmigración y cómo están impactando los cambios normativ...
 
Las Redes
Las RedesLas Redes
Las Redes
 
Société R2C System
Société R2C SystemSociété R2C System
Société R2C System
 
Fotospresentacion
FotospresentacionFotospresentacion
Fotospresentacion
 
Reglamento sena
Reglamento senaReglamento sena
Reglamento sena
 

Ähnlich wie Les systèmes experts

La base de données Oracle
La base de données OracleLa base de données Oracle
La base de données OracleBruno Delb
 
Skan it 6.0 user manual french
Skan it 6.0 user manual frenchSkan it 6.0 user manual french
Skan it 6.0 user manual frenchLenin TaMe
 
Théorie des organisations
Théorie des organisationsThéorie des organisations
Théorie des organisationsAmina Yahyai
 
Théorie des organisations
Théorie des organisationsThéorie des organisations
Théorie des organisationsAmina Yahyai
 
Cours gratuit.com--id-2614
Cours gratuit.com--id-2614Cours gratuit.com--id-2614
Cours gratuit.com--id-2614SergeCowouvi1
 
Conception bd 2
Conception bd 2Conception bd 2
Conception bd 2hassan1488
 
Référentiel e-Société
Référentiel e-SociétéRéférentiel e-Société
Référentiel e-SociétéGenève Lab
 
La boîte à outils de l'Intelligence Economique
La boîte à outils de l'Intelligence EconomiqueLa boîte à outils de l'Intelligence Economique
La boîte à outils de l'Intelligence EconomiqueTerry ZIMMER
 
Scrum and XP from the trenches french
Scrum and XP from the trenches frenchScrum and XP from the trenches french
Scrum and XP from the trenches frenchOlivier Eeckhoutte
 
Les fonctions avancées du système d’exploitation
Les fonctions avancées du système d’exploitationLes fonctions avancées du système d’exploitation
Les fonctions avancées du système d’exploitationDa Mi
 
Construire un Design System
Construire un Design SystemConstruire un Design System
Construire un Design SystemWORLD OF DIGITS
 
These hec -_ecole_des_mines_sur_le_tableau_de_bord_prospectif
These hec -_ecole_des_mines_sur_le_tableau_de_bord_prospectifThese hec -_ecole_des_mines_sur_le_tableau_de_bord_prospectif
These hec -_ecole_des_mines_sur_le_tableau_de_bord_prospectifAbdelhak Essoulahi
 
CYBER-ATTAQUE: OÙ EN SONT LES ENTREPRISES FRANÇAISES ? Enquête 2015
CYBER-ATTAQUE: OÙ EN SONT LES ENTREPRISES FRANÇAISES ? Enquête 2015CYBER-ATTAQUE: OÙ EN SONT LES ENTREPRISES FRANÇAISES ? Enquête 2015
CYBER-ATTAQUE: OÙ EN SONT LES ENTREPRISES FRANÇAISES ? Enquête 2015provadys
 
Conception et développement d'une marketplace basée sur l'architecture micros...
Conception et développement d'une marketplace basée sur l'architecture micros...Conception et développement d'une marketplace basée sur l'architecture micros...
Conception et développement d'une marketplace basée sur l'architecture micros...Adem Amen Allah Thabti
 
Rapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueRapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueYosra ADDALI
 
Devoir de synthèse N°1
Devoir de synthèse N°1 Devoir de synthèse N°1
Devoir de synthèse N°1 Wael Ismail
 

Ähnlich wie Les systèmes experts (20)

La base de données Oracle
La base de données OracleLa base de données Oracle
La base de données Oracle
 
Skan it 6.0 user manual french
Skan it 6.0 user manual frenchSkan it 6.0 user manual french
Skan it 6.0 user manual french
 
Théorie des organisations
Théorie des organisationsThéorie des organisations
Théorie des organisations
 
Théorie des organisations
Théorie des organisationsThéorie des organisations
Théorie des organisations
 
Cours gratuit.com--id-2614
Cours gratuit.com--id-2614Cours gratuit.com--id-2614
Cours gratuit.com--id-2614
 
Conception Base de Données
Conception Base de DonnéesConception Base de Données
Conception Base de Données
 
Conception bd 2
Conception bd 2Conception bd 2
Conception bd 2
 
Référentiel e-Société
Référentiel e-SociétéRéférentiel e-Société
Référentiel e-Société
 
La boîte à outils de l'Intelligence Economique
La boîte à outils de l'Intelligence EconomiqueLa boîte à outils de l'Intelligence Economique
La boîte à outils de l'Intelligence Economique
 
siem.pdf
siem.pdfsiem.pdf
siem.pdf
 
Scrum and XP from the trenches french
Scrum and XP from the trenches frenchScrum and XP from the trenches french
Scrum and XP from the trenches french
 
Les fonctions avancées du système d’exploitation
Les fonctions avancées du système d’exploitationLes fonctions avancées du système d’exploitation
Les fonctions avancées du système d’exploitation
 
Construire un Design System
Construire un Design SystemConstruire un Design System
Construire un Design System
 
These hec -_ecole_des_mines_sur_le_tableau_de_bord_prospectif
These hec -_ecole_des_mines_sur_le_tableau_de_bord_prospectifThese hec -_ecole_des_mines_sur_le_tableau_de_bord_prospectif
These hec -_ecole_des_mines_sur_le_tableau_de_bord_prospectif
 
CYBER-ATTAQUE: OÙ EN SONT LES ENTREPRISES FRANÇAISES ? Enquête 2015
CYBER-ATTAQUE: OÙ EN SONT LES ENTREPRISES FRANÇAISES ? Enquête 2015CYBER-ATTAQUE: OÙ EN SONT LES ENTREPRISES FRANÇAISES ? Enquête 2015
CYBER-ATTAQUE: OÙ EN SONT LES ENTREPRISES FRANÇAISES ? Enquête 2015
 
Conception et développement d'une marketplace basée sur l'architecture micros...
Conception et développement d'une marketplace basée sur l'architecture micros...Conception et développement d'une marketplace basée sur l'architecture micros...
Conception et développement d'une marketplace basée sur l'architecture micros...
 
Rapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueRapport pfe isi_Big data Analytique
Rapport pfe isi_Big data Analytique
 
Devoir de synthèse N°1
Devoir de synthèse N°1 Devoir de synthèse N°1
Devoir de synthèse N°1
 
Ds1
Ds1Ds1
Ds1
 
B1
B1B1
B1
 

Mehr von Bruno Delb

Introduction to Swift (tutorial)
Introduction to Swift (tutorial)Introduction to Swift (tutorial)
Introduction to Swift (tutorial)Bruno Delb
 
Android Lab Test : Storage of data with SharedPreferences (english)
Android Lab Test : Storage of data with SharedPreferences (english)Android Lab Test : Storage of data with SharedPreferences (english)
Android Lab Test : Storage of data with SharedPreferences (english)Bruno Delb
 
Android Lab Test : Using the sensor gyroscope (english)
Android Lab Test : Using the sensor gyroscope (english)Android Lab Test : Using the sensor gyroscope (english)
Android Lab Test : Using the sensor gyroscope (english)Bruno Delb
 
Android Lab Test : Using the network with HTTP (english)
Android Lab Test : Using the network with HTTP (english)Android Lab Test : Using the network with HTTP (english)
Android Lab Test : Using the network with HTTP (english)Bruno Delb
 
Android Lab Test : Managing sounds with SoundPool (english)
Android Lab Test : Managing sounds with SoundPool (english)Android Lab Test : Managing sounds with SoundPool (english)
Android Lab Test : Managing sounds with SoundPool (english)Bruno Delb
 
Android Lab Test : Using the text-to-speech (english)
Android Lab Test : Using the text-to-speech (english)Android Lab Test : Using the text-to-speech (english)
Android Lab Test : Using the text-to-speech (english)Bruno Delb
 
Android Lab Test : Reading the foot file list (english)
Android Lab Test : Reading the foot file list (english)Android Lab Test : Reading the foot file list (english)
Android Lab Test : Reading the foot file list (english)Bruno Delb
 
Android Lab Test : Creating a menu dynamically (english)
Android Lab Test : Creating a menu dynamically (english)Android Lab Test : Creating a menu dynamically (english)
Android Lab Test : Creating a menu dynamically (english)Bruno Delb
 
Android Lab Test : Creating a dialog Yes/No (english)
Android Lab Test : Creating a dialog Yes/No (english)Android Lab Test : Creating a dialog Yes/No (english)
Android Lab Test : Creating a dialog Yes/No (english)Bruno Delb
 
Android Lab Test : The styles of views (english)
Android Lab Test : The styles of views (english)Android Lab Test : The styles of views (english)
Android Lab Test : The styles of views (english)Bruno Delb
 
Android Lab Test : Creating a menu context (english)
Android Lab Test : Creating a menu context (english)Android Lab Test : Creating a menu context (english)
Android Lab Test : Creating a menu context (english)Bruno Delb
 
Android Lab Test : Using the camera preview (english)
Android Lab Test : Using the camera preview (english)Android Lab Test : Using the camera preview (english)
Android Lab Test : Using the camera preview (english)Bruno Delb
 
Android Lab Test : The views, the Gallery (english)
Android Lab Test : The views, the Gallery (english)Android Lab Test : The views, the Gallery (english)
Android Lab Test : The views, the Gallery (english)Bruno Delb
 
Android Lab Test : Using the WIFI (english)
Android Lab Test : Using the WIFI (english)Android Lab Test : Using the WIFI (english)
Android Lab Test : Using the WIFI (english)Bruno Delb
 
Android Lab Test : Managing the telephone calls (english)
Android Lab Test : Managing the telephone calls (english)Android Lab Test : Managing the telephone calls (english)
Android Lab Test : Managing the telephone calls (english)Bruno Delb
 
Android Lab Test : Reading the SMS-inbox (english)
Android Lab Test : Reading the SMS-inbox (english)Android Lab Test : Reading the SMS-inbox (english)
Android Lab Test : Reading the SMS-inbox (english)Bruno Delb
 
Android Lab Test : Installation of application in Java (english)
Android Lab Test : Installation of application in Java (english)Android Lab Test : Installation of application in Java (english)
Android Lab Test : Installation of application in Java (english)Bruno Delb
 
Android Lab Test : Ecrire un texte sur le canevas (français)
Android Lab Test : Ecrire un texte sur le canevas (français)Android Lab Test : Ecrire un texte sur le canevas (français)
Android Lab Test : Ecrire un texte sur le canevas (français)Bruno Delb
 
Android Lab Test : La connectivité réseau avec HTTP (français)
Android Lab Test : La connectivité réseau avec HTTP (français)Android Lab Test : La connectivité réseau avec HTTP (français)
Android Lab Test : La connectivité réseau avec HTTP (français)Bruno Delb
 
Android Lab Test : Le capteur gyroscope (français)
Android Lab Test : Le capteur gyroscope (français)Android Lab Test : Le capteur gyroscope (français)
Android Lab Test : Le capteur gyroscope (français)Bruno Delb
 

Mehr von Bruno Delb (20)

Introduction to Swift (tutorial)
Introduction to Swift (tutorial)Introduction to Swift (tutorial)
Introduction to Swift (tutorial)
 
Android Lab Test : Storage of data with SharedPreferences (english)
Android Lab Test : Storage of data with SharedPreferences (english)Android Lab Test : Storage of data with SharedPreferences (english)
Android Lab Test : Storage of data with SharedPreferences (english)
 
Android Lab Test : Using the sensor gyroscope (english)
Android Lab Test : Using the sensor gyroscope (english)Android Lab Test : Using the sensor gyroscope (english)
Android Lab Test : Using the sensor gyroscope (english)
 
Android Lab Test : Using the network with HTTP (english)
Android Lab Test : Using the network with HTTP (english)Android Lab Test : Using the network with HTTP (english)
Android Lab Test : Using the network with HTTP (english)
 
Android Lab Test : Managing sounds with SoundPool (english)
Android Lab Test : Managing sounds with SoundPool (english)Android Lab Test : Managing sounds with SoundPool (english)
Android Lab Test : Managing sounds with SoundPool (english)
 
Android Lab Test : Using the text-to-speech (english)
Android Lab Test : Using the text-to-speech (english)Android Lab Test : Using the text-to-speech (english)
Android Lab Test : Using the text-to-speech (english)
 
Android Lab Test : Reading the foot file list (english)
Android Lab Test : Reading the foot file list (english)Android Lab Test : Reading the foot file list (english)
Android Lab Test : Reading the foot file list (english)
 
Android Lab Test : Creating a menu dynamically (english)
Android Lab Test : Creating a menu dynamically (english)Android Lab Test : Creating a menu dynamically (english)
Android Lab Test : Creating a menu dynamically (english)
 
Android Lab Test : Creating a dialog Yes/No (english)
Android Lab Test : Creating a dialog Yes/No (english)Android Lab Test : Creating a dialog Yes/No (english)
Android Lab Test : Creating a dialog Yes/No (english)
 
Android Lab Test : The styles of views (english)
Android Lab Test : The styles of views (english)Android Lab Test : The styles of views (english)
Android Lab Test : The styles of views (english)
 
Android Lab Test : Creating a menu context (english)
Android Lab Test : Creating a menu context (english)Android Lab Test : Creating a menu context (english)
Android Lab Test : Creating a menu context (english)
 
Android Lab Test : Using the camera preview (english)
Android Lab Test : Using the camera preview (english)Android Lab Test : Using the camera preview (english)
Android Lab Test : Using the camera preview (english)
 
Android Lab Test : The views, the Gallery (english)
Android Lab Test : The views, the Gallery (english)Android Lab Test : The views, the Gallery (english)
Android Lab Test : The views, the Gallery (english)
 
Android Lab Test : Using the WIFI (english)
Android Lab Test : Using the WIFI (english)Android Lab Test : Using the WIFI (english)
Android Lab Test : Using the WIFI (english)
 
Android Lab Test : Managing the telephone calls (english)
Android Lab Test : Managing the telephone calls (english)Android Lab Test : Managing the telephone calls (english)
Android Lab Test : Managing the telephone calls (english)
 
Android Lab Test : Reading the SMS-inbox (english)
Android Lab Test : Reading the SMS-inbox (english)Android Lab Test : Reading the SMS-inbox (english)
Android Lab Test : Reading the SMS-inbox (english)
 
Android Lab Test : Installation of application in Java (english)
Android Lab Test : Installation of application in Java (english)Android Lab Test : Installation of application in Java (english)
Android Lab Test : Installation of application in Java (english)
 
Android Lab Test : Ecrire un texte sur le canevas (français)
Android Lab Test : Ecrire un texte sur le canevas (français)Android Lab Test : Ecrire un texte sur le canevas (français)
Android Lab Test : Ecrire un texte sur le canevas (français)
 
Android Lab Test : La connectivité réseau avec HTTP (français)
Android Lab Test : La connectivité réseau avec HTTP (français)Android Lab Test : La connectivité réseau avec HTTP (français)
Android Lab Test : La connectivité réseau avec HTTP (français)
 
Android Lab Test : Le capteur gyroscope (français)
Android Lab Test : Le capteur gyroscope (français)Android Lab Test : Le capteur gyroscope (français)
Android Lab Test : Le capteur gyroscope (français)
 

Les systèmes experts

  • 1. 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 L’ALGORITHME 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 L’IDÉE PRINCIPALE ?.........................................................................................8 QU’ES-CE QU’UNE 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 L’ALGORITHME PRINCIPAL ?..................................................................................11 QUEL EST L’ALGORITHME DE LA VÉRIFICATION (ÉTAPE 1 DE L'ALGORITHME PRINCIPAL) ?......................11 QUEL EST L’ALGORITHME 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 Qu’est-ce qu’une base de faits ?..............................................................................14 Qu’est-ce qu’un but ?.............................................................................................14 QU’EST-CE QU’UN MOTEUR D'INFÉRENCE ?............................................................................15 Qu’est-ce que le moteur 0 ?....................................................................................15 Qu’est-ce que le moteur 1/2 ?.................................................................................15 Qu’est-ce que le moteur 1 ?....................................................................................15 1
  • 2. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 Les systèmes experts Qu’est-ce que le moteur 2 ?....................................................................................15 Qu’est-ce que le moteur 3 ?....................................................................................15 Quelle est la syntaxe des règles associées à un moteur 0 ?........................................15 QUELLES SONT LES STRATÉGIES DE RÉSOLUTION ET RÈGLES DE DÉDUCTION ?..................................16 En quoi consiste le chainage avant ?........................................................................16 En quoi consiste le chainage arrière ?......................................................................18 Quels rapports entre le chainage avant et le chainage arrière ?..................................19 QUELLES SONT LES RÈGLES DE DÉDUCTION ?.........................................................................19 Qu’est-ce que la règle du modus ponens ?................................................................19 Qu’est-ce que la règle du modus tollens ?................................................................19 2
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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 ? 8
  • 9. Bruno Delb http://www.brunodelb.com Date : 27/10/1999 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é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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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 fait ALORS fait ET fait ET ... fait FINREGLE 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
  • 15. 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 = 4 ALORS 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
  • 16. 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 sinus ALORS elle a la sinusite. » « SI la personne a le nez qui coule ALORS 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
  • 17. 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 sinus ALORS 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 coule ALORS 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 sinus ALORS 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
  • 18. 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 liste SI 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 DEBUT Ajouter 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 sinus ALORS 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 coule ALORS 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
  • 19. 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 faits ALORS Elle est vraie SINON DEBUT Créer une base vide de questions; POUR Toutes les règles de la base des règles SI La question figure dans une conclusion ALORS Ajouter les hypothèses à la base des questions; SI La liste des questions n'est pas vide ALORS Vérifier toutes les questions figurant dans la liste des questions SINON 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