Vous êtes sur la page 1sur 16

Systmes Experts

3eme Anne ENSIMAG 1999/00


James L. Crowley
Sances 1 :

6 octobre 1999

Introduction aux Systmes Experts


1) Qu'est-ce que la connaissance?
2) Introduction des Systmes Experts
3) Le Systme MYCIN
Reprsentation des faits
Les rgles
Combinaison des hypothses :
Contrle de raisonnement

Systmes Experts
INTELLIGENCE :

Sance 1

(Petit Robert) "La facult de connatre et comprendre,


incluant la perception, l'apprentissage, l'intuition, le jugement et la conception."
(Dictionnaire American Heritage ) "La facult de connatre et de raisonner."
(Newell et Simon) :
"Application de la connaissance la rsolution de problmes"
Qu'est-ce que la connaissance?

Connaissance = Donne + infrence


Le concept de "connaissance" est li l'interprtation des donnes.
Il exige un "interprte".
Le rle de l'interprte est la gnration de nouveaux faits partir de donnes.
=> Infrence
Infrence : la gnration de nouveaux faits
Techniques d'infrence :
Dduction : (p (p q) ) (q)
Abduction : (q (p q) ) peut-tre(p)
Induction: p(A) q, p(B) q, ... x ( p(x) q)
Quest-ce que la connaissance ? la comptence
En d'autres termes :
la connaissance est dfinie par sa FONCTION,
c.--d. se caractrise par ce qu'elle fait, non pas par son contenu structurel.

Systmes Experts

Sance 1

Qu'est-ce quun symbole?


Symbole : un signe qui reprsente une "chose" pour quelqu'un.

Un Symbole est une relation ternaire entre :


Un signe
Une chose
Un interprte
lment central de l'I.A. est l'Hypothse de Systmes de Symboles.
d'A. Newell ("Physical Symbol Systems").
Sortes de connaissance :

Dclarative : expression symbolique (abstraite) dune comptence.


Utiliser pour communiquer et pour raisonner
sur des connaissances.
Procdurale : expression compile dune comptence.
Utiliser pour optimiser le temps dexcution.

Skill Learning

Memorisation

Declarative
Knowledge

Explanation

External

Reasoning

Procedural
Knowledge

Introspection

Internal

Une autre distinction est la connaissance superficielle et connaissance profonde


Connaissance profonde : un modle permettant le raisonnement par simulation
Superficielle : une expression symbolique des associations des faits
permettant un raisonnement abstrait.
La plupart des systmes experts fonctionnent avec une connaissance superficielle.
3

Systmes Experts

Sance 1

Introduction des Systmes Experts

Domaines dApplication des Systmes Experts :

Les systmes experts sont applicables pour les domaines :


Subjectifs
mal-formaliss, et
exigeant des jugements
Par nature, ces domaines ne se prtent pas la programmation Algorithmique.
Donc, le processus dextraction de connaissance dun expert domine.
Il comprend
Dfinition du problme
Formalisation des faits et des relations du domaine.
laboration des rgles
Raffinement.
Cest un processus itratif. Il est difficile de faire avec un cycle de vie classique.
Les plupart des systmes experts fonctionnent avec une connaissance superficielle.

Algorithmique : programme = algorithme plus donn


La programmation algorithmique s'applique aux domaines o il existe une thorie
centrale qui prvoit le comportement des phnomnes.
Les exemples incluent la physique, la mcanique, et le calcul mathmatique.
Systme expert :

programme = connaissance plus infrence (et contrle)

Elle s'applique aux domaines o il n'existe pas de thorie centrale, mais seulement un
ensemble de connaissances peu structures.
Par exemple : la mdecine, la loi et la conception de tout sort
Pour les Systmes Experts, la comptence repose sur
1) un ensemble important des faits peu structurs,
2) et un peu de raisonnement par association.
4

Systmes Experts

Sance 1

Les faits : ce sont les expressions symboliques de description et relation


Le raisonnement : la gnration de nouveau fait - l'infrence.
Un systme expert est
1) une expression symbolique de la connaissance d'un domaine, combine avec
2) un moteur d'infrence
Le principe est de sparer la connaissance du domaine du mcanisme du
raisonnement.
Ceci pose le problme de technique de reprsentation de la connaissance
Techniques de Programmation des Systmes Experts

Trois techniques sont utilises pour reprsenter la connaissance :


Les rgles :
Les schmas :
La logique.
Souvent les systmes contiennent deux ou mme trois formes.
Les rgles :

ou

si <CONDITIONS> alors <ACTIONS>


si <CONDITIONS> alors <CONCLUSIONS> do <ACTIONS>

Les rgles encodent les associations et les lois causales.


Une partie du contrle est cod dans la rgle.
Ils sont une forme de rponses conditionnes semblable celle des animaux.
Pour l' I. A., les rgles sont une technique pour fournir une reprsentation des
connaissances pour le raisonnement.
Tous les calculs sont exprims par des rgles, avec chanage "avant".
(Rgles = base des connaissances)

Systmes Experts
Bas sur un algorithme de "mise en correspondance" rapide
permettant un nombre important de rgles.

Sance 1

Exemples : OPS-5 -> OPS-83


-> ART -> CLIPS
Les schmas :
Reprsentation dclarative de connaissances sur la forme des "objets"
Les schmas sont les structures de donnes (les objets).
Ils codent les relations entre faits.
Ils permettent un raisonnement par hritage, et une communication par
message.
Calculs : hritages, dmons et rgles (chanage avant et arrire)
Interrogation : calcul des prdicats
Exemples :
KRL -> KEE -> Nexpert (intgration des rgles, prdicats et schmas)
-> Knowledge Craft (Intgration d'OPS-5, Prolog et "KRL").
MYCIN -> EMYCIN -> S1 -> ???
La logique :
Outil dexcellence pour l'analyse.
La logique est un moyen de communication sans ambigut
Le prolog mlange les expressions logiques (clause d'Horn)
avec une smantique de programmation.
Tous les calculs sont exprims par des rgles en clause d'Horn
(Rgles avec chanage arrire).
Exemple : Prolog-1 => Prolog-2 => Prolog-3

Systmes Experts

Sance 1

Le Systme MYCIN

Dans les annes 1970, une quipe de Stanford University, sous la direction
d'Ed Feigenbaum, a fait lhypothse que lintelligence repose
sur le stockage des grandes quantits de connaissance.
Ils ont cherch des techniques de reprsentation de la connaissance.
= > Heuristic Programming Project (HPP)
Dans les annes 1970 - 1973 ils ont fait un systme danalyse des donnes
dun analyseur spectrographique. => Dendral.
Vers la fin du projet ils ont trouv utile de reprsenter la connaissance
sous forme de rgles.
En 1973 ils ont cherch un nouveau domaine pour refaire une
tude. Ils ont retenu le domaine de Thrapie Anti-Biotique.
Le rsultat a t le systme MYCIN : Conu 1973 - 1978
E-MYCIN (Essential Mycin) - gnralisation
Domaine : anti-microbien ou antibiotique
Il existe un grand choix de mdicaments anti-microbiens ainsi qu'un grand
nombre des microbes.
Chaque antibiotique agit diffremment avec chaque microbe.
cause de cette grande varit, seuls certains mdecins spcialiss connaissent
bien ce domaine.
Buts atteindre :
Facile utiliser
Fiable
Manipule un grand nombre de connaissances
Utilise des renseignements inexacts ou incomplets
Explique et justifie ses conseils

Systmes Experts
Sance 1
MYCIN est un "programme de consultation" :
Donner des avis aux mdecins concernant les thrapies anti-microbiennes.
Le premier "vrai" systme expert
- Programmation heuristique
- Connaissance experte du domaine
- Explication interactive
- Connaissance et jugements
Approximativement 500 rgles avec les faits fortement typs.
Le systme :
1) Demande des informations sur le cas.
2) Applique ses connaissances.
3) Donne son jugement et conseille.
4) Rpond aux questions sur son raisonnement.

Utilisateur

Interface Homme-Machine
Explication

Trace

Connaissance du Problme
Moteur d'Infrence
Connaissance du Domaine
Acquisition de Connaissance

Informaticien

Expert

Systmes Experts

Sance 1

Reprsentation des Faits

Les faits :
en termes orients objet :

(contexte paramtre valeur CF)


(objet attribut valeur CF)

En Mycin il y a 10 contextes.
Les CONTEXT contrle le raisonnement en MYCIN.
Contextes :
Personne : le malade
OPERS : oprations antrieures
CurCuls: prlvements effectus ( et mis en culture )
CurDrugs : mdicaments pris
CurOrgs : organismes prsents dans une culture
OpDrugs : mdicaments donns pour une opration
PosTher : thrapies possibles
PriorCuls : prlvements effectus dans le pass
PriorDrugs : mdicaments pris dans le pass
PriorOrgs : organismes trouvs dans le pass

Systmes Experts
Mycin rpond quatre questions :

Sance 1

1) Quelles infections importantes existent ?


2) Quel microbe est la cause de chaque infection ?
3) Quels mdicaments sont efficaces ?
4) Quel est le meilleur mdicament ?
Ceci correspond llaboration de larbre des contextes.
L'arbre "dynamique" est compos des instances des contextes.

Patient-1

Culture-1

Organism-1

Culture-2

Organism-2

Operation-1

Drug-1

Drug-2

Drug-3

En gnral, MYCIN suit les hypothses les plus sures, de plus il existe des mta-rgles
pour "focaliser" la recherche.

10

Systmes Experts
Les paramtres

Sance 1

Les paramtres sont fortement typs.


Les paramtres sont tiquets avec :
Expect : {Y/N, NUMB, ONE_OF, ANY_OF}
PROMPT : phrase pour demander une valeur
LABDATA : mesur dans le laboratoire : Y/N : utilis pour le contrle
( si Y le systme demande la valeur , sinon il infre pour la trouver )
LOOKAHEAD : liste des rgles faisant rfrence ce paramtre
TRANS : traduction en anglais ...
Trois catgories:
Single-Valued : (exclusive) beaucoup de valeurs possibles mais
une seule peut tre vraie. Exemple : nom
Multi-Valued : pas exclusive
Exemple : mdicaments, allergies
Binaire: Oui/Non
Croyance:
1) Tous les faits sont tiquets par un facteur de croyance, CF [-1, 1]
2) Toutes les rgles sont tiquetes par une "force" CF [-1, 1].

11

Systmes Experts
Les Rgles :

Sance 1

Raisonnement : chanage arrire, dirig par un but.


Les rgles en MYCIN sont sous forme d'abduction
A B

CF R > C

A tout instant, MYCIN a un "but" (C) qu'il cherche prouver.


Pour prouver C il faut prouver A et B, pour prouver A ...
Lgal :
A B C -> D
A (B C) -> D
(A B C) & (D E) -> F
Pas lgal
A B C -> D
A (B (C D)) -> E
MYCIN contient des "templates" qui permettent au systme d'interprter ses
propres rgles et mme de former automatiquement de nouvelles rgles.
Combinaison des hypothses :

Conjonction : croyance de H1 et H 2 : CF 1, CF2


CF(H1 H2) = min{ CF(H1), CF(H2) }
Disjonction : croyance de H1 ou H2
CF(H1 H 2 ) = max { CF(H1), CF(H2) }
Les rgles portent une force "CFR"
AB
A (B C)

CF R > C
CF R > D

CFC = CFR * min { CFA , CFB}


CFD = CFR * min { CFA , max{CF B, CFC}}

12

Systmes Experts
Si on arrive la mme hypothse par deux voies indpendantes ?

Sance 1

Fonction gnrale pour combiner des hypothses :


Combine( CF1,CF2 ) =
CF1 + CF 2 ( 1 - CF 1 )

Si CF1 0 et Si CF2 0

CF1 + CF 2
1 - min{ | CF 1| , | CF2 | }

Si CF1 CF 2 < 0

-Combine( -CF1, -CF2 )

Si CF1 0 et Si CF2 0

Alors :
(H1, CF1) et (H2 , CF2) et (H 1 = H 2) -> (H1, CF1 = Combine ( CF1, CF2 ) )
En MYCIN

CF(H) = - CF(H)

13

Systmes Experts

Sance 1

Contrle de raissonement

Procdure MONITOR :
Debut
Premier
Condition
Prochain
Condition
No

FINDOUT

Tout
Information
Disponible
?
Oui
Condition
Vrai
?
No

Oui
Oui

Autre
Conditions
?
No

Rejet
Regle

Faire
Conclusion

Sortie

Sortie

14

Systmes Experts
Procdure FINDOUT:

Sance 1

Debut

No

Oui

Donn
du Lab
?

Demande

Rappelle
Rgles
a propos
Donne

Oui
Sortie

Monitor

Trouve
?

No
Oui
Trouve
?
No
Demande

Sortie

Sortie

Rappelle
Rgles
a propos
Donne

Monitor

Sortie

15

Systmes Experts
Interactions :

Sance 1

A tout instant, l'utilisateur peut demander


WHY ? - Pourquoi ? - trace de la chane de raisonnement en cours.
How ? - Comment ? - trace la source d'un fait.

Le systme est capable de "d-compiler" les rgles et les contextes en pseudo


"anglais".

16