N° D'ORDRE: 1235
ANNEE: 1992
TIIESE
présentée devant
L'UNIVERSITE PAUL SABATIER DE TOULOUSE (SCIENCES)
en vue de J'obtention
DU GRADE DE DOCTEUR DE L'UNIVERSITE PAUL SABATIER
spécialité : Informatique
par
Souleymane KOUSSOUBE
LE RAISONNEMENT TEMPOREL DANS LES SYSTEMES A BASE DE
CONNAISSANCE: AIDE A LA CONDUITE DE LA REANIMATION
, Soutenue le 6 juillet 1992 devant le jury composé de :
Président:
Mf.
LAUDET M.
Professeur à l'Université Paul Sabatier
Rapporteurs :
MM.
BAZEX P.
Professeur à l'Université Paul Sabatier
CHAUVETG.
Professeur à l'Université d'Angers
Examinateurs:
MM.
DOUSSET B.
Maître de Conférences à l'U.P.S.
FARRENY H.
Professeur à l'LN.P. de Toulouse
Mme
GENESTAL M.
Professeur au C. H. U. de Toulouse-Purpan
Mf.
LONGEVIALLE C. Docteur d'Etat, Ingénieur Civil des Armées
Institut Je Recherche en Infonnati4ue Je Toulouse
Université Paul Sabatier - 118, Route Je Naroonne - 31062 Toulouse Cèdex


LE RAISONNEMENT TEMPOREL DANS LES SYSTEMES A BASE DE
CONNAISSANCE: AIDE A LA CONDUITE DE LA REANIMATION
**********
Souleymane KOUSSOUBE
Thèse de doctorat de l'Université Paul Sabatier
Spécialité: Informatique
Laboratoire: Institut de Recherche en Informatique de Toulouse
(1RIT)
**********
MOTS-CLES:
Conduite de processus,
Systèmes à bases de connaissances,
Raisonnement temporel,
Cohérence des bases de connaissances.
RESUME :
Le travail porte sur la conception des systèmes de surveillance et de conduite de processus.
Les caractéristiques fondamentales découlant des spécificités des problèmes de contrôle par
système expert sont analysées. L'hypothèse généralement faite - surtout dans les systèmes de
diagnostic - est que l'environnement de travail est statique. Cette assertion, qui représente une
véritable limitation, dérive en partie de la difficulté d'introduire des formes structurées de
connaissances temporelles dans des règles heuristiques.
Un système expert d'aide à la surveillance -temps réel- en réanimation (médecine
d'urgence) est présenté. Ce système utilise une approche permettant d'intégrer l'aspect temporel
des énoncés (analyse d'évolution, gestion de la volatilité des paramètres, délai, ... ) dans une
structure à base de règles de production. Une architecture modulaire et un mode d'inférence
permettant de couvrir et de coordonner les différentes tâches du contrôle (acquisition, diagnostic,
détermination des stratégies de correction, ... ) sont employés.
Enfin, un ensemble d'outils et de méthodologies d'étude de la cohérence des bases de
connaissances est
présenté.
Une
approche
visuelle
utilisant
les
méthodes de
l'analyse
multidimensionnelle des données est proposée, de même que des méthodes issues de la recherche
opérationnelle ou des schémas de propagation de contraintes.


AVANT-PROPOS
~ ~ ~ rrw .iauJ.d, ~ m'aooitt, ~ au ~ ~ ~ ~ el ~
wMv ~ tmk, ~ œ jwuf. f2u-'J ~, ici, l'~ ~
~
mA};
el ~
~.
~ UJ~ (JJ(1IfIL, ~ à, t'~ UJad ~, F a, ~ ~ UM
~ ~ cJk ~. f2u-'J ~
~ ~ ~ ~
QJT),

à, fa ~
d'~.
~ h;ih;J Cbmd, ~ à, t'~ d'A1UfM F
fui
1WWY a,
l'~ d'UM
~ el F a, ~ ~ ~ r~ !Nwai1.
~ ~ 3aNiMl1f ~ à, l':Jmiifd nJiMwl UJ~ ~ J~, F 1WWY
fui l'~ ~ ~ à, fa ~ d'QJIALmQff&.
~ C~ ~, ~ d'QkL
~, ~ civil ~ ~, F
QJT),
a,
~ ~. el cft rMIIr ~ ~ el ~ ~ pmJ à, ~jwuf.
~ œ~ JJ~, rrwJiM cft ~ à, l'~ UJad ~ F a, F ~
pwJ ~ à, fa wJiwLm cft ~ !Nw<Jil. lwru aiJ:k el w>- ~ cYni Qft ~ ~ wn, ~
~.
~ lTliJwk h~, ~
~
QJT),
au C.JtU. cft J~-UJ~) ~
~ ~ ~ el ~ dmM fa ~ el ~ rrV.M au ~ cft ruJM ~MM
~.

~bNr~Fcr,~~àt~~k~élwkJm~
UITlPJ~~~.
~ ~ V~ poo;v ~ ~ ~. f2/N'Jk ~, ici, e'~ ck f7W,
~~.
~ 9WJn,-~ C~ J 9WJn,-(JJÎVJIIh 03a1li1am1 poo;v looi ~ ~ fN'~ ~ ~ àt
~~~ckcNt~.
Aua, ~ ck f~
~ J~
Ml,
J)W;" poo;v b ~ ~ F' j'ai
eae6- avro eutL d fOOh' l'~ ~ F cr, ~ cm COO/L6, k CM- ~
-

TABLE DES MATIERES
INTRODUCTION
1
CHAPITRE 1:
SURVEILLANCE ET CONTROLE PAR SYSTEME EXPERT
3
1.1) fonctions et nature d'un système expert de contrôle
3
1. 1. 1) principales fonctions
3
1.1.2) spécifications de l'environnement..
4
1. 1.3) nature du système
4
1.2) l'acquisition et la gestion des données
6
1.2.1) concurrence acquisition/inférence
6
1.2.2) portée temporelle d'un paramètre
7
1.2.3) mode d'acquisition des données
9
1. 2. 3.1) l'acquisition systématique
9
1.2.3.2) l'acquisition asynchrone
9
1.2.4) fiabilité des mesures :
10
1.3) diagnostic et caractérisation de l'état courant
10
1.3.1) diagnostic et degré de déviation d'un état
10
1.3.2) intégrer une dimension temporelle dans le diagnostic
Il
1.3.3) quelques difficultés
12
1.3.3.1) le problème de l'observabilité partielle du
processus
'"
12
1.3.3.2) complétude
12
1.4) les actions correctives
13
1.4.1) protocoles de conduite et traduction des expressions
linguistiques
13
1.4.2) valeur d'une action:
14
1.4.3) prise en compte des priorités
14
1.4.4) détermination d'un plan d'action optimum
15
1.4.4.1) le critère "coût d'exécution des actions"
15
1.4.4.2) autres critères: valeur et pression temporelle d'une
action
16
1.5) communication et systèmes multi-agents
18
1.5.1) la conduite des processus et les systèmes multi-agents
18
1.5.2) modèles des systèmes multi-agents
18
1.5.2.1) modèles de communication entre agents
18
1.5.2.2) répartition des connaissances et des tâches
20
1. 6) formalismes de spécification des systèmes faisant intervenir le temps
21
1. 6. 1) le problème du temps
21
1. 6. 2) les statecharts et STATEMATE
22
1.6.3) la logique temporelle
23
1. 7) conclusion
23

CHAPITRE II :
SYSTEMES ET MODELES DE RAISONNEMENT TEMPOREL.
25
11.1) introduction
25
II.2) le système de Allen
26
II.3) le système de Kowalski et Sergot.
28
1104) le système de McDennott
33
11.5) conclusion
36
CHAPITRE III :
LE DOMAINE D'APPLICATION DU SYSTEME EXPERT REA
37
Ill. 1) la réanimation
37
Ill. 2) apport d'un système expert
39
CHAPITRE IV :
LE SYSTEME REA
41
IV.l) spécifications de l'environnement du système
41
IV.2) principe du contrôle
41
IV. 3) éléments de base du système expert
42
IV.3.1) la base des faits:
42
IV.3.2) la base de connaissance :
42
IV.3.3) le moteur d'inférence:
43
IV.3A) environnement de développement et langages: ....•................. 43
IV A) les différents types de connaissances:
44
IV.5) structure de la base de connaissance
45
IV.5.l) notion de protocole de correction
45
IV.5.2) organisation hiérarchique de la base de connaissance:
45
IV.5.2.1) niveau 1 : la caractérisation de la situation
46
IV.5.2.2) niveau 2 : la détennination des candidats
47
IV.5.2.3) niveau 3 : les électeurs
47
IV. 5.2.4) niveau 4 : les stratégies correctives
47
IV.5.2.5) avantages de cette organisation hiérarchique
48
IV.6 ) exemples de règles :
48
IV.7) notions de priorité et intégration au raisonnement
50
IV. 7. 1) prise en compte des priorités de correction
50
IV. 7.2) score de gravité d'un état
50
IV. 7.3) valeur d'une action
52
IV.8) principes de l'élection et classification des groupes de règles
candidats
53
IV.8.1) objectif
53
IV. 8.2) les éléments à prendre en compte
54
IV. 8. 3) algorithme de classification et d'élection
55
IV. 8.4) exemple :
56
IV.9) gestion des différents groupes de règles:
58
IV.9.1) statut et mode d'exploitation des différents groupes de
règles
58

IV.9.2) spécification du succès et de l'échec d'un protocole de
correction.. "
"
,
60
IV. 10) les différents éléments du système:
62
IV. 10.1) le tableau de bord:
62
IV.l O. 2) explication:
64
CHAPITRE V:
TRAITEMENT DE QUELQUES SPECIFICITES DU SySTEME
65
V.l) traduction des protocoles de conduite
65
V.2) raisonnement temporeL
69
V. 2.1) le temps dans le système "REA"
69
V. 2. 2) modélisation
69
V.2.3) exemples de raisonnement sur le temps:
72
V.2.3.1) prendre en compte le passé du processus
72
V.2.3.2) raisonner sur l'évolution et les tendances
72
V.2.3.3) tests thérapeutiques et délais
76
V.2.3A) portée temporelle et contraintes temporelles
77
V. 3) non-monotonie:
80
V.3.1) rappel:
80
V.3.2) problèmes liés à la mise à jour de la base des faits et des
règles
81
V.3.3) portée temporelle d'un fait temporaire
84
V. 3 A) aspect implémentation
85
VA) stabilité de la commande :
85
V.5) mode de fonctionnement et communication:
88
V.6) coopération Homme-Machine et intégration des commandes
externes
, 89
CHAPITRE VI :
OUTILS ET METHODOLOGIES D'ETUDE DE LA COHERENCE
ET DE LA COMPLETUDE DES BASES DE CONNAISSANCE
92
VI. 1) introduction :
92
VI.2) les bases de règles étudiées
94
VI.3) étude de la cohérence des bases de connaissances et propagations de
contraintes sur les intervalles
95
VI.3.1) intérêt de la propagation des contraintes
95
VI.3.2) définition: problème de satisfaction de contraintes sur les
intervalles
95
VI.3.3) algorithmes
_
96
VI. 3. 4) exemples:
100
VIA) analyse des données et étude de la cohérence: une approche visuelle
de l'étude de la cohérence
102
VIA.l) principe général
102
VI.4.2) détermination du treillis de points
103
VI.4.3) analyse des données et visualisation
103
VIA.3.1) principe
103

VIA.3.2) l'analyse en composantes principales (A.C.P.)
104
VI.4.3.3) le logiciel d'analyse des données:
105
VI.4A) exploration du graphique, exemple d'exploitation pour
l'étude de la cohérence
, . . . . . . . .. 106
VI.4A.I) détennination des règles inutiles
106
VIAA.2) règles antagonistes et zones de conflits
106
VIA04.3) la complétude. .. .. . . . .. . . . .. . . . .. . . . .. . . .. . . .. .. . . . . . . . .. . . . ... 107
VI.4A.3.1) détermination de l'incomplétude
107
VIAA.3.2) classification automatique des situations
108
VI.4.5) résultats et limites:
III
VI. 5) cohérence temporelle :
113
VI. 5. 1) les contraintes temporelles dans les règles............................ 113
VI.5.2) vérification de la cohérence temporelle: cas de relations
symboliques
,.
. .. .. .. . .. .. . . . .. .. 114
VI.5.3) cas numérique: propagation des contraintes
115
VI. 5 A) méthode des potentiels sur un graphe :
116
VI.5A.I) définition et intérêt de la méthode
116
VI.5A.2) les règles comme sommets du graphe
117
VI.5A.3) Les faits comme sommets du graphe
120
CHAPITRE VII :
SIMULATIONS
123
CONCLUSION GENERALE
127
ANNEXE 1:
LISTE DES PARAMETRES
129
ANNEXE II:
TABLEAU RECAPITULATIF DES DEGRES DE GRAVITE
132
ANNEXE III:
BASE DES DIAGNOSTICS
134
ANNEXE IV:
LES MOYENS THERAPEUTIQUES
136
ANNEXE V:
LE SYSTEME DE ALLEN:
TABLE DE TRANSmVITE ET ALGORlTHME DE PROPAGATION
139
ANNEXE VI:
ENSEMBLE DE POTENTIELS (E.D.P.) SUR UN GRAPHE
143
ANNEXE VII:
PROPAGATION DE CONTRAINTES SUR LES INTERVALLES
145
BIBLIOGRAPHIE
148

TABLE DES FIGURES
CHAPITRE 1 : SURVEILLANCE ET CONTROLE PAR SYSTEME EXPERT
.
Figure 1: fonctions d r un système de conduite
3
Figure 2: les tâches concurrentes du contrôle
6
Figure 3: différents types d'évolution des paramètres
8
Figure 4: structure d'un système à tableau noir
19
Figure 5: structure d'un système à transmission de messages
20
CHAPITRE 2 : SYSTEMES ET MODELES DE RAISONNEMENT TEMPOREL ..........••..••..... 1
Figure 6: différentes configurations des entités temporelles
30
CHAPITRE 3 : LE DOMAINE D'APPLICATION DU SYSTEME EXPERT REA
1
Figure 7 : une feuille de bilans
"
38
Figure 8: fonctionnement en feed-back du système
40
CHAPITRE 4 : LE SYSTEME REA
1
Figure 9: le principe du contrôle
.42
Figure 10 : structure hiérarchique de la base de connaissance
.46
Figure Il : structure du tableau des scores de gravité
51
Figure 12 : matrice d'incompatibilité des classes d'action
"
54
Figure 13 : tableau associant les protocoles de correction aux classes d'action
55
Figure 14 : les priorités
57
Figure 15 : graphe d'incompatibilité
57
Figure 16: principe général d'une procédure de correction
60
Figure 17 : table des posologies et critères d'arrêt de quelques protocoles
61
CHAPITRE 4 : TRAITEMENT DE QUELQUES SPECIFICITES DU SySTEME
2
Figure 18 : fonctionnement du test de remplissage
66
Figure 19 : fonctionnement du test de remplissage modifié
68
Figure 20 : protocoles de correction et délais
69
Figure 21: différents attributs temporels
71
Figure 22 : principe de construction de l' historique du processus
72
Figure 23 : dépendance entre les paramètres 002 et V02
73
Figure 24 : exemple de délais associés aux protocoles
76
Figure 25 : portées temporelles du paramètre PAPa
78
Figure 26 : dépendance actions-portées temporelles
79
Figure 27 : schéma de revision des faits
81
Figure 28 : exemple de contenu de la base des faits
83
Figure 29 : base des vues
84
Figure 30 : intervalle de validité des règles
_
_
85

Figure 31: schéma de fluctuaction des paramètres
86
Figure 32 : exemple d'instabilité
86
Figure 33 : la communication entre les différents modules
88
Figure 34 : les informations partagées par les différents modules
89
CHAPITRE 6 : OUTILS ET METHODOLOGIES D'ETUDE DE LA COHERENCE ET DE LA
COMPLETUDE DE LA BASE DE CONNAISSANCE .......•....•.••.••........••••.•..•.•..••....•... 3
Figure 35 : un réseau de contraintes
,
" .,
99
Figure 36 : schéma général de l'étude de la cohérence
102
Figure 37 : type de matrice obtenue après discrétisation
103
Figure 38 : les axes factoriels
104
Figure 39 : présentation d'une zone de conflit
107
Figure 40 : distance situation-règle
109
Figure 41 : matrice de classification situations-règles
109
Figure 42 : table de classification simplifiée
110
Figure 43 : le domaine de trois règles sans zone de conflit
111
Figure 44 : le domaine de trois règles présentant un éventuel conflit
, .. 112
Figure 45: un graphe temporel
115
Figure 46 : graphe associé à la règle 7-3
, "
"
118
Figure 47 : un faisceau convergent
'"
118
Figure 48 : principe de construction des groupes non conjonctifs
119
Figure 49 : faisceau convergent, cas général
120
Figure 50 : graphe obtenu avec les faits
, .. ,
121
Figure 51 : graphe associé aux nouveaux faits
122
Figure 52 : les bilans traités
"
123
Figure 53 : traitement du premier bilan .. '" .,
'"
124
Figure 54 : traitement du deuxième bilan
,
" 125
«

INTRODUCTION
Notre recherche porte sur l'étude et la conception des systèmes de surveillance et de
conduite de processus. Nous analysons dans un premier temps,
les caractéristiques
fondamentales découlant des spécificités des problèmes de contrôle de processus par
système expert. Dans un deuxième temps, nous présentons un système expert d'aide à la
conduite en réanimation que nous avons réalisé.
Un système de contrôle doit recueillir les données essentielles, les analyser, en déduire un
diagnostic, si nécessaire, et indiquer ou prendre des mesures pour corriger d'éventuelles
déviations et ce, dans un délai compatible avec les exigences propres au processus sous
contrôle.
Le temps est un élément important dans de tels systèmes. Il intervient de deux manières :
D'abord en tant que contrainte, il exprime le fait que tout système de surveillance doit
être temps-réel. Dans l'application que nous avons développée, les contraintes de temps de
réponse ne sont pas très critiques; nous n'insisterons pas beaucoup sur ce problème.
Toutefois, nous montrons en quoi certains choix d'implémentation permettent de palier, au
moins partiellement, aux inconvénients que représente l'expression granulaire de la
connaissance en tenue de temps de réponse.
Le temps intervient par ailleurs, en tant qu'élément clé du raisonnement. L'hypothèse
généralement
faite
-
surtout dans
les
systèmes experts
de
diagnostic
- est
que
l'environnement de travail est statique. Cette assertion, qui représente une véritable
limitation, dérive en partie de la difficulté d'introduire des formes structurées de
connaissances temporelles dans des règles heuristiques. Au chapitre deux, nous présentons
un ensemble de systèmes de raisonnement sur le temps considéré comme représentatifs en
intelligence artificielle.
Dans les chapitres trois et suivants, nous présentons le système expert d'aide à la
surveillance en réanimation. Ce système utilise une approche permettant d'intégrer l'aspect
temporel des énoncés (analyse d'évolution, gestion de la volatilité des paramètres, délai, ... )
dans une structure à base de règles de production. Une architecture modulaire et un mode
d'inférence permettant de couvrir et de coordonner les différentes tâches du contrôle
(acquisition, diagnostic, détermination des stratégies de correction, ... ) sont employés.
Les actions menées peuvent et doivent modifier les variables d'état du processus. Il
s'ensuit un effet d'auto-contrôle du système expert, par des mécanismes de contre-réaction
avec l'application de méthodes d'analyse basées sur les tests thérapeutiques (détermination
et prise en compte des échecs).

Nous insistons ensuite, sur les méthodes envisagées ou développées pour résoudre les
problèmes rencontrés. La plupart de ces méthodes sont applicables à une large classe de
Idomaines ayant un rapport avec la conduite de processus.
Les difficultés, liés au contrôle, ne doivent pas cacher les problèmes inhérents à tout
système expert, en particulier, la cohérence de grandes bases de connaissances. Ce
problème est même rendu plus complexe du fait de l'introduction d'informations
temporelles dans le raisonnement. En conséquence, nous proposons, au chapitre six, un
ensemble d'outils et de méthodologies d'étude de la cohérence.
Une approche visuelle utilisant les méthodes de l'analyse multidimensionnelle des
données est proposée, de même que des méthodes issues de la recherche opérationnelle ou
des schémas de propagation de contraintes.
Nous ne consacrons pas de chapitre aux rappels sur les principes des systèmes experts,
car ce sujet est maintenant largement diffusé. Nous indiquons dans la bibliographie des
ouvrages [Farreny, 85; Bonnet, 86] que le lecteur intéressé pourra consulter.
2

CHAPITRE 1:
SURVEILLANCE ET CONfROLE PAR SYSTEME EXPERT
résumé : les différents éléments à prendre en compte dans la construction d'un système
expert de surveillance sont introduits. Quelques spécificités d'un tel système par rapport aux
systèmes experts classiques ainsi que les difficultés qui en résultent sont présentées.
1.1) fonctions et nature d'un système expert de contrôle
1.1.1) principales fonctions
Un ensemble de conduite doit recueillir les données essentielles, les interpréter, en
déduire un diagnostic et indiquer ou prendre des mesures pour corriger d'éventuelles
déviations dans un délai compatible avec les règles de l'art.
Objectifs
1 -------1
.--------+Décisions
Mesures
Actions
T
Environnement...
...JI
figure 1: fonctions d'un système de conduite
Dans la plupart des cas, le système de surveillance est chargé de mener un monitorage de
façon continue. Il doit diagnostiquer, si possible, les causes des mauvais fonctionnements
du processus. Il ne doit pas s'arrêter aux conseils initiaux, mais au contraire, il doit
continuer à les mettre à jour selon l'évolution de la situation.
Cette activité de contrôle peut s'exercer à différents niveaux et porter sur:
- des problèmes courants (acuités des problèmes immédiats)
- des problèmes d'arrière plan (problèmes détectés mais non prioritaires)
- des problèmes susceptibles de survenir.
3

Le système de surveillance doit se focaliser sur l'un de ces aspects en fonction de l'état du
processus contrôlé, quitte à
s'interrompre et reprendre par la suite le problème laissé en
suspens.
Dans le cadre d'un système expert, la base de connaissance devra inclure notamment :
- le comportement souhaité du processus surveillé sous diverses situations.
- les causes les plus importantes ou les plus communes de déviations par rapport à l'état
normal.
- des critères pour décider si une cause incriminée l'est à raison. Pour ce faire, on fait
souvent appel à l'analyse de l'évolution et des tendances ou à des entrées manuelles de la
part d'un opérateur.
En résumé, un système expert de surveillance doit assurer les trois grandes fonctions
suivantes:
- l'acquisition des paramètres : recueillir les données essentielles.
- la caractérisation de l'état du processus surveillé : interpréter les données recueillies
pour en déduire, si nécessaire, un diagnostic.
- la correction des déviations : indiquer les mesures à prendre dans l'immédiat, ou par
anticipation, en analysant l'évolution de la dérive, les mesures qu'il y aura lieu de prendre
lorsqu'une anomalie se présentera.
Les deux dernières fonctions constituent l'ossature du mécanisme d'inférence.
1.1.2) spécifications de l'environnement
L'une des premières tâches à réaliser, lors de la construction d'un système de surveillance
et de contrôle, est la détermination des caractéristiques de l'environnement à contrôler.
De façon générale, le processus à surveiller est caractérisé par :
- son état interne exprimé au travers d'un certain nombre de paramètres d'état. Ces
paramètres doivent être identifiés et répertoriés.
- sa dynamique propre c'est à dire l'évolution des paramètres d'état du processus en
dehors de toute action externe. Une question se pose : un modèle (mathématique ou
qualitatif) complet ou partiel de cette dynamique est-il disponible? Dans le cas général, la
réponse à cette question est négative.
Le fonctionnement normal du processus doit être spécifié : le système de surveillance doit
connaître l'ensemble des états ou le comportement souhaités du processus. Par dualité, les
états anormaux sont déduits.
Le but à atteindre dans une situation donnée doit être connu.
1.1.3) nature du système
Un système de surveillance est nécessairement un système temps-réel ou un système
réactif.
4

- systèmes réactifs
Pnueli [Pnueli, 86] définit de tels systèmes comme des systèmes qui ne peuvent pas être
décrits de manière complète par une approche relationnelle ou fonctionnelle. Typiquement
le rôle principal des systèmes réactifs est de maintenir une interaction avec leur
environnement. Ils doivent donc être décrits et spécifiés en terme de leur comportement. Le
mot "réactif' est ici opposé au mot "transformationnel". Un système réactif, en général, ne
calcule pas une fonction mais maintient une interaction avec son environnement. [Harel, 85]
le représente comme un "cactus noir" .
Un système transformationnel, lui, accepte des entrées, les transforme et produit des
sorties. II peut être représenté par une boîte noire.
- système temps réel :
Les systèmes temps-réels sont souvent assimilés au cas particulier des systèmes réactifs.
Un système temps-réel est défini comme "un système qui maintient une relation
continuelle avec un environnement asynchrone c'est à dire un environnement qui progresse
indépendamment du système temps-réel, d'une manière non coopérante; par conséquent un
système temps-réel est pleinement responsable de la propre synchronisation de ses
opérations par rapport à son environnement" [Koymans, 88].
Un système temps-réel doit résoudre des problèmes, qui par nature, ne peuvent ignorer la
réalité du temps (chaîne d'acquisition de mesures, commande de fabrication, ... ) ou bien
dont la solution est exigée avec une contrainte de temps plus forte qu'un simple délai
raisonnable (interactions conversationnelles, réseaux, ... ). Réagir trop tard (ou trop tôt) ne
conduirait pas seulement à sacrifier une commodité ou un confort mais à ne pas résoudre du
tout le problème.
Les difficultés suivantes sont souvent évoquées dans l'écriture des systèmes temps-réels:
- difficultés de formalisation: ces systèmes font intervenir des notions (délais, occurrences
d'un événement, ... ) dont la représentation, en particulier, dans le cadre d'un système
expert, posent quelques difficultés qui n'existent pas dans les systèmes classiques.
Ces difficultés sont aggravées par la pauvreté de la plupart des langages de
programmation en matière de représentation d'entités liées au temps.
- la survenance aléatoire d'événements: les événements peuvent arriver à des instants
imprévisibles et doivent être rapidement intégrés dans le raisonnement.
- les conflits causés par des ressources limitées : cette difficulté bien réelle, est inévitable
car le temps étant limité, il est impossible de sérier complètement l'emploi des ressources; il
peut donc survenir des conflits d'emploi simultané qu'il faut résoudre.
- l'inadaptation de beaucoup de matériels, la nécessité de disposer de périphériques
spéciaux engendrent des problèmes spécifiques.
Le traitement en temps réel ou en ligne est caractérisé par une double garantie:
5

- la capacité de prendre en compte "instantanément" des événements prédéterminés et
d'analyser l'ensemble de la situation qui en résulte.
- l'élaboration d'une réponse correspondant aux besoins, dans un temps prédéterminé. Si
l'architecture des
systèmes experts est
bien
adaptée
pour
la
représentation
des
connaissances, elle présente, en contre-partie, des inconvénients en ce qui concerne le temps
de réponse. L'accès associatif aux connaissances est un facteur pénalisant.
1.2) L'acquisition et la gestion des données
1.2.1) concurrence acquisition/inférence
Une des caractéristiques importantes des systèmes temps-réels et notamment des systèmes
de surveillance est que le processus de décision doit être correctement alimenté en données
sur l'environnement. Le système de surveillance ne peut pas identifier entièrement l'état de
l'environnement, mais il peut étendre la connaissance qu'il a de cet environnement par des
actions sensorielles discrètes (mesures). Il faut donc mettre en oeuvre un processus
d'acquisition "intelligente" des données.
Typiquement les données sont acquises à partir de capteurs sensoriels de façon
automatique. Les mesures automatiques sont généralement complétées par des entrées
manuelles de la part d'un opérateur humain.
D'un point de vue fonctionnel, la tâche d'acquisition se pose comme une tâche
concurrente au processus de déduction et de décision; ces deux tâches échangeant par
ailleurs des informations (figure 2).
INFERENCE
(CARACTERISATION)
') _e$
décis'
ACQUISITION)
(AcnONS)
figure 2 : les tâches concurrentes du contrôle.
A un instant donné, les informations disponibles dans la base du système constituent une
vue partielle sur l'environnement.
Pour respecter les contraintes de temps de réponse ainsi que pour des raisons
méthodologiques, il convient de rendre parallèles ces deux tâches, quitte à utiliser des
tâches de contrôle ou de synchronisation si nécessaire. Le processus d'acquisition peut donc
être asynchrone. Sa bonne gestion influe de façon importante sur le comportement du
système parce que, d'une part, les performances en terme de temps de réponse du système
6

dépendent largement des perfonnances du module d'acquisition; d'autre part, les résultats
issus de la déduction dépendent des données utilisées. Il faut en effet s'assurer que les
données recueillies caractérisent correctement le système à un instant donné, compte tenu du
fait que l'environnement de travail est fortement évolutif. Cela veut dire qu'il faut tenir
compte du fait que certaines données disponibles peuvent se périmer assez rapidement. Il est
donc nécessaire de rafraîchir la base des données en entrée du système de déduction en se
basant sur la volatilité des paramètres.
Toutefois, la cadence de rafraîchissement du système en données sur l'environnement est
limitée pour plusieurs raisons:
- certaines ressources d'acquisitions sont partagées.
- il faut ajuster le flot de données rentrant à la capacité du processeur utilisé.
- des critères économiques interviennent pour minimiser le coût d'exécution des tâches
périphériques.
Dans une situation donnée, l'urgence ou la nécessité d'une réaction, mise en rapport avec
le besoin de disposer d'informations complémentaires pour affiner la caractérisation de la
situation vont déterminer la conduite à tenir, c'est à dire, indiquer s'il faut lancer des
actions correctives ou s'il faut au contraire réaliser des actions périphériques d'acquisition.
1.2.2) Portée temporelle d'un paramètre
Pour éviter qu'il n'y ait une trop grande différence entre l'état apparent du processus et
son état réel, les mesures des paramètres d'état doivent être réalisées assez souvent.
Pour pouvoir bien gérer les données, nous introduisons la notion de portée temporelle
d'un paramètre définie comme suit :
- Soit ToI' instant où est réalisée la dernière mesure du paramètre "P".
- Soit d, la durée de persistance estimée de cette mesure (d est une durée assez courte pour
que la mesure soit considérée comme stable pendant cet instant).
Dans ces conditions, la portée temporelle de cette mesure du paramètre P est l'intervalle
de temps [To, To+d]. La structure des réels est utilisée pour représenter le temps. Par
simplification, nous parlerons de la portée temporelle du paramètre P.
Les paramètres peuvent être classés en plusieurs groupes selon leurs types d'évolution
dans le temps :
7

(
B
A
A
1
a)
b)
c)
figure 3 : différents types d'évolution des paramètres
Dans le cas a), les données changent lentement dans le temps. Il n y a pas d'augmentation
ou de diminution brusque de la valeur du paramètre. Les contraintes sur la fréquence
d'acquisition sont assez relâchées. Les valeurs passées - mais pas "trop vielles" toutefois -
peuvent être utilisées, le cas échéant, comme des valeurs courantes. La portée temporelle
d'un tel paramètre est assez large pour que des informations passées constituent une bonne
approximation des mesures courantes.
Dans le cas b) un changement brusque (sur une courte période) est possible. Mais les
points A et B étant considérés comme des événements, il est possible de prédire
l'événement B quand l'événement A survient.
Une diminution de la portée temporelle du paramètre permettra une surveillance plus
resserrée de sorte à pouvoir intercepter des variations brusques.
Par exemple, la valeur d'un paramètre peut changer de façon substantielle après une
action dont le but est effectivement d'augmenter la valeur de ce paramètre. La prédiction
sera alors faite sur la base d'une analyse de l'effet attendu de cette action.
Nous montrerons la nécessité de modifier de façon dynamique la portée temporelle des
paramètres de sorte à pouvoir raisonner sur les bonnes valeurs et comment, dans la
pratique, ceci introduit des contraintes d'ordre temporel dans le raisonnement.
Le cas c) est similaire au b) à la différence qu'ici, il n'est pas possible de prédire
l'événement en B, à partir de A. C'est la situation la plus délicate à traiter.
En prenant une portée temporelle très petite - plus petite que dans le cas précédent - pour
de tels paramètres, on pourra intercepter les changements brusques. Mais ce faisant, on
augmente la fréquence de rafraîchissement des données, ce qui pénalise, par ailleurs, le
temps de réponse du système d'inférence.
Il faut assurer un certain équilibre entre ces deux tâches concurrentes: d'une part des
opérations discrètes d'acquisition
servant à augmenter la connaissance du système
décisionnel sur l'état de l'environnement doivent être menées avec une fréquence telle que
8
G

les données disponibles soient acceptables, c'est à dire, assimilables aux valeurs courantes.
D'autre part, le temps imparti à ce système, pour mener les inférences, doit être compatible
avec les contraintes de temps de réponse.
Une alternative consiste à mettre en oeuvre un mécanisme plus ou moins sophistiqué basé
sur un raisonnement par défaut, de sorte à pouvoir raisonner sur des états non prévisibles.
1.2.3) mode d'acquisition des données
Suivant la nature du problème, plusieurs formes non exclusives de coopération entre le
module d'acquisition et le module décisionnel sont possibles. Deux modes principaux
d'acquisition existent. Il s'agit de :
I.2. 3.1 ) l'acquisition systématique
Dans ce mode, le système de décision procède au rafraîchissement de sa base des faits de
façon régulière et avec une cadence
impérative fixée. Le raisonnement du système est
effectué en fin d' acquisition. Pour avoir une précision suffisante, il faut détenniner
soigneusement la période de scrutation adéquate. En général, cette période est une fraction
plus ou moins faible du temps de réponse "en boucle ouverte" du processus.
Cette méthode al' avantage d'être
simple à mettre en oeuvre. Malheureusement, dans
certains cas, elle est insuffisante.
L'un des inconvénients majeurs de ce mode est la pénalisation du temps de réponse du
système, du fait que l'inférence ne peut se faire qu1après l'acquisition.
D'autre part, les paramètres n'ayant pas tous le même mode d'évolution, il paraît
inadapté de les acquérir tous avec la même càdence.
1.2.3.2) l'acquisition asynchrone
Il est souvent nécessaire de mettre en oeuvre un rafraîchissement asynchrone de la base
des faits en entrée du système.
Dans ce cas, les informations venant du processus peuvent intervenir pendant le
raisonnement du système pour en modifier le cours.
Par exemple, lorsque la valeur d'un paramètre d'état varie substantiellement et de façon
brusque, il est utile que le système de décision puisse être averti ft rapidement" de façon
automatique de ce changement qui peut être vu comme un événement significatif.
De même, à l'issue d'une action réalisée par le système de décision, il est nécessaire de
mener une surveillance plus soutenue sur certains paramètres directement corrélés à cette
action.
Ce deuxième mode d'acquisition est intéressant parce qu'il garantit la prise en compte
rapide, dans l'inférence, des événements significatifs émanant de l'environnement. En
contre-partie, il est plus complexe à utiliser. Il nécessite la mise en oeuvre de protocoles de
communication inter-processus (envoi de signaux, de messages, interruption asynchrone,
... ).
9

Dans la mesure où le temps de calcul d'une inférence peut être rendu aussi petit que
nécessaire, par exemple, en utilisant une génération automatique de code, ou dans la mesure
où les contraintes sur le temps de réponse ne sont pas critiques, la première méthode peut
être choisie.
1.2.4) Fiabilité des mesures :
Les données en entrée du système de déduction peuvent être erronées, qu'elles soient
recueillies manuellement (erreurs de saisie, erreurs d'unité, ... ) ou de façon automatique
(matériels défectueux, échantillonnage incorrect, ... ).
Il faut donc introduire dans le module d'acquisition un système de vérification de la
validité des mesures recueillies. Ce contrôle peut être réalisé de plusieurs façons, par
exemple, par comparaison des mesures aux bornes usuelles de validité ou en introduisant
des règles plus élaborées de test de validité faisant appel à une analyse des valeurs passées.
En cas d'écart trop important, il peut y avoir une remise en cause de la mesure, suivie
d'une mesure supplémentaire de confirmation.
1.3) diagnostic et caractérisation de l'état courant
1.3.1) diagnostic et degré de déviation d'un état
A partir des données recueillies (aussi bien les données courantes que celles relatant le
passé du système), ce module a pour fonction de caractériser l'état courant c'est à dire
d'établir un diagnostic. Cette tâche conditionne la suite car c'est à partir des diagnostics que
seront déterminées les actions correctives à appliquer.
- degré de gravité d'une situation:
Dans les processus de contrôle, on calcule très souvent le degré de gravité d'une situation
défini comme la mesure de la déviation par rapport à une situation normale.
Si l'état de l'environnement contrôlé est spécifié par l'ensemble P={pJ,P2, ... ,Pn} de
paramètres.
soit S* = (s 1*, s2 *, ... , Sn*) une situation considérée comme normale.
soit S = (51052, ... ,Sn) une situation quelconque. Le degré de déviation de S est:
Grave(S) = Dist(S,S*). C'est la distance entre S et l'état but S*.
Si la distance classique est utilisée pour évaluer cette mesure, on a l'expression :
Grave(S) = Dist(S,S*) = (E (Si-st)2)1J2
i= 1, n
La distance de Hamming peut aussi être utilisée. Elle donne la valeur:
Grave(S) = E 1Si-Si *1·
i= l, fi
10

Le principal défaut de ces distances est qu'elles ne tiennent pas compte des échelles des
paramètres. Les unités utilisées pour définir les paramètres sont rarement homogènes. Ces
distances favorisent donc les paramètres définis sur des intervalles larges ou celles ayant les
plus grandes échelles de valeurs. Nous utilisons, au chapitres 4, une mesure de la gravité
qui tient compte de ce fait.
1.3.2) intégrer une dimension temporelle dans le diagnostic
Pour réaliser le diagnostic, deux visions sont possibles: intégrer un dimension temporelle
ou pas.
Si la dimension temporelle n'est pas intégrée - et c'est le cas de la plupart des systèmes de
diagnostic pour un appareillage -, le système réalise le diagnostic d'un état figé résultant
d'une panne par exemple. Lorsque, dans de tels systèmes, on évoque le temps, c'est pour
parler de la vitesse avec laquelle les diagnostics sont réalisés et non pour prendre en compte
l'évolution du processus en cours d'examen.
Cette première option est relativement simple à traiter mais elle présente de nombreux
inconvénients :
- l'état figé du processus après la déviation n'est généralement pas suffisant pour
remonter à la cause de la déviation, plusieurs causes pouvant provoquer les mêmes effets.
La parade généralement tentée est d'aller chercher un supplément d'informations sur le
système afin d'obtenir un diagnostic plus fin. Mais plusieurs objections s'opposent à cette
démarche à savoir les informations supplémentaires ne sont pas toujours suffisantes; de
plus, elles induisent des surcoûts non négligeables (main d'oeuvre, matériels, temps, ... ).
- la négligence de l'aspect temporel est une des sources fréquentes de non disponibilité
des systèmes complexes et de leurs taux élevés de "RAS" (Rien A Signaler). Généralement
provoqué par des pannes intermittentes, ce type de problème affecte le comportement
opérationnel du système.
La détection des tendances dans le fonctionnement du processus est importante car elle
permet au système de réagir, si possible, avant l'établissement d'une situation non
souhaitée. Le système devrait donc avoir une capacité à intégrer l'évolution et disposer de
fonctions d'analyse des tendances.
Tous ces éléments plaident en faveur dé l'intégration d'un raisonnement temporel dans le
processus général de raisonnement.
Pour que le système fonctionne correctement en ligne et dans un environnement
dynamique, il devra prendre en compte les inévitables changements qui interviennent au
niveau de l'état du processus. Ces évolutions impliquent éventuellement la péremption ou
l'invalidation des faits déduits lors de l'identification de la situation. Les faits sont de deux
natures différentes. Ils peuvent être statiques : ils représentent alors des caractéristiques
intrinsèques et constantes du processus,
ou dynamiques s'ils Sont relatifs à des
caractéristiques temporaires, dont l'évolution est calquée sur celle du vecteur d'état du
processus. Pendant son raisonnement, le système à base de connaissance doit donc prendre
II

en compte les informations nouvelles provenant du processus et gérer les éventuelles
incohérences induites par celles-ci. Cela pose le problème de la non monotonie du
raisonnement.
1.3.3) quelques difficultés
1,3.3.1) le problème de l'observabilité partielle du processus
On ne dispose pas toujours de toutes les mesures. En fait il est rare d'avoir tous les
paramètres sur le processus avant de commencer les déductions. Il est donc utile de mener
d'une façon ou d'une autre, un raisonnement approché qui palie au manque d'informations.
Cette approximation peut prendre plusieurs formes:
- l'utilisation des mesures relevant du passé, c'est à dire, raisonner à Partir de l'historique
et en considérant "la portée temporelle" des mesures.
- par des mécanismes de prédictions si possible.
- une autre approche dont nous avons largement usée est l'introduction de paramètres
secondaires moins précis, mais disponibles plus souvent, pour mener des diagnostics
approchés quand les paramètres les plus "parlants" font défaut.
Ces diagnostics approchés conduisent à des actions. L'analyse de la dynamique induite
par ces actions servira à étayer, à affiner ou tout simplement à remettre en cause de tels
diagnostics. Par ce mécanisme de "test thérapeutique", on arrive à corriger d'éventuelles
erreurs de diagnostics.
Mais, il ne faut pas abuser des mécanismes d'approximation. Il est en effet toujours
préférable de disposer du maximum possible d'informations sur l'état du processus surveillé
pour décider. Il est par conséquent plus important de disposer d'un module d'acquisition
fiable et efficace que de mettre en oeuvre des schémas d'approximation aussi sophistiqués
soient-ils.
1.3.3.2) complétude
Le problème de la complétude est un problème général à tous les systèmes à bases de
connaissances.
Dans le cadre du diagnostic, il s'agit de s'assurer que le module de diagnostic est
complet, c'est à dire qu'il associe une caractérisation à tout état réaliste du processus. Un
état réaliste étant vu comme une assignation de valeurs aux différents paramètres d'état,
compatible avec la réalité qu'on cherche à modéliser.
Ce problème se pose avec
d'autant plus d'acuité si l'on ne dispose pas de modèle
"profond" complet du système et que par conséquent les connaissances utilisées sont
essentiellement des connaissances dites "de surface". Dans ces conditions, il faut que toutes
les classes de cas possibles soient répertoriées au niveau de la base de connaissance. Nous
étudions ce problème dans un chapitre dédié à la cohérence des bases de connaissances.
12
- - - -
n

1.4) les actions correctives
1.4.1) protocoles de conduite et traduction des expressions linguistiques
Le but de la surveillance est de détecter les états perturbés (caractérisation) en vue
d'entreprendre des actions correctives.
Ces actions peuvent être directes : le système met alors en oeuvre un certain nombre de
commandes qui agissent sur son environnement ou indirectes : dans ce cas, le système
soumet des conseils ou des propositions sur les actions à mener, la décision finale re\\'enant
à un opérateur à qui les sorties du système servent comme point d'appui. Le système expert
est utilisé à titre consultatif ou bien il fonctionne en double commande.
Généralement les actions ne sont pas menées de façon ponctuelle et isolée. Elles obéissent
à des règles chronologiques bien définies. Toute action engagée impose un suivi particulier
que nous appelerons protocole de conduite.
Un protocole de conduite peut être défini comme une stratégie particulière de correction
et est constitué d'une suite d'actions concourant à la réalisation d'un but ou d'un sous-but
particulier. Un sous-but correspond en pratique à la correction partielle de l'état de
l'environnement.
Les protocoles de conduite qui indiquent les différentes actions à mener, sont décrits à
l'aide d'expressions linguistiques correspondant à des ordres précis qu'il faut traduire, et
faisant intervenir notamment:
- quelques verbes spécifiques: commencer, arrêter, attendre, déclencher, suspendre, ...
- des conjonctions ou locutions conjonctives telles que:
- toutes les fois que, chaque fois que, etc ... qui expriment l'attente d'un événement
cyclique (répétition d'un événement).
- jusqu'au moment où: survenance d'un événement (postériorité d'un instant)
- quand, lorsque, au moment où : survenance d'un événement (simultanéité d'un
instant).
- pendant que, tandis que, aussi longtemps que, en même temps que: attente d'un
événement (simultanéité d'un laps de temps).
- dès que, depuis que: survenance d'un événement (antériorité d'un instant)
- avant que, en attendant que, : attente d'un événement (postériorité d'un laps de
temps).
Le module action a pour tâche de définir la ou les stratégies à mettre en oeuvre à partir
des paramètres d'état et de la caractérisation qui en a été faite, pour corriger les paramètres
ayant une valeur anormale.
Dans la pratique, pour un état donné, plusieurs protocoles de correction sont applicables.
Pour des raisons liées au domaine d'application, certaines de ces stratégies ne peuvent pas
être mises en oeuvre en même temps (incompatibilité, double emploi, ... ). Il faut donc
choisir dans un groupe de protocoles possibles (candidats), ceux qui seront effectivement
mis en oeuvre ou proposés à l'opérateur.
Plusieurs considérations sont à prendre en compte dans l'élaboration d'un plan d'action.
13

Il faut assurer la cohérence des actions suggérées ou réalisées. Un problème essentiel se
pose: toute action réalisée à une date donnée, engendre des contraintes sur les actions
possibles ultérieurement; en d'autres termes, agir maintenant, dépend des effets de l'action
immédiatement après qu'elle ait cessé d'être effective mais aussi des contraintes (limitations
des actions futures possibles) qu'elle engendre.
De même, la nature réversible ou irréversible et plus généralement la valeur des actions
sont à considérer.
1.4.2) valeur d'une action:
On peut associer à toute action une valeur. Pour une action corrective, sa valeur est son
aptitude à faire évoluer la situation courante vers le but c'est à dire vers une situation
normale. La valeur d'une action indique combien il est approprié de mener cette action.
Cette valeur dépend en principe de la situation en cours.
Très souvent, la non observabilité du processus ainsi que les incertitudes liées aux effets
des actions, entraînent une évaluation à posteriori du succès ou de l'échec des actions
menées.
On peut associer, de la même façon, une valeur à des actions sensorielles (action
d'acquisition de mesures). La valeur d'une action de collecte de données indique, elle, la
qualité de l' infonnation collectée dans le but de réduire les éventuelles incertitudes sur
l'identification de la situation.
1.4.3) prise en compte des priorités
La mise en oeuvre d'un protocole d'actions revient à exécuter un séquence d'actions liées
entre elles et qui, souvent, ne doivent pas interférer avec d'autres actions. Il y a des
problèmes critiques qui requièrent une séquence de commandes excluant toute interférence
avec d'autres commandes ou requêtes.
D'une façon ou d'une autre, il faut donc étendre la phase de résolution des conflits par un
"mode priorité". Plusieurs approches sont possibles pour implémenter cette notion: ainsi,
pour prendre en compte les priorités dans le système YES/MVS [Kastner, 86], il est
rajouté, dans chaque règle, une condition supplémentaire de la forme:
(Task
lask_id
xxx) où xxx est un nom unique de tâche ou une liste - en fait une
disjonction - de tâches dont la règle relève. A chaque tâche est associée une priorité. La
phase résolution de conflit commence par une réduction temporaire de l'ensemble de
conflits actif, par exclusion de toutes les règles actives qui n'ont pas la tâche de priorité
maximale dans l'ensemble. Le processus nonnal de résolution des conflits s'applique alors
sur cet ensemble réduit.
Une autre approche consiste à utiliser des méta-règles pour gérer les priorités. Notons que
Benjamin & Harrison [Benjamin, 83] utilisent les méta-règles pour un tout autre but:
raisonner sur le contenu de l'ensemble de conflit.
Lorsqu1elle est bien exploitée, la notion de priorité, tout en permettant une bonne gestion
de l'ensemble de conflit, fournit un paradigme de groupement des règles.
14

A cause de la nature essentiellement évolutive de l'environnement, les priorités ne
peuvent pas être fixes. Il est donc inadapté de les intégrer directement aux règles.
1.4.4) détermination d'un plan d'action optimum
1.4.4.1) le critère "coût d'exécution des actions"
Sous des circonstances de contraintes sur les ressources disponibles, un agent capable de
contrôler un environnement en utilisant moins de ressources que les autres agents possibles,
est considéré comme plus rationnel et donc supérieur à ces derniers.
L'un des problèmes importants auxquels un agent intelligent est confronté, est celui du
choix de la méthode à exploiter en premier panni plusieurs méthodes censées résoudre un
problème. La minimisation du coût attendu par l'application d'une méthode est souvent
prise comme critère de sélection. La sélection d'une méthode fait partie, tout comme son
exécution, de la résolution d'un problème.
Les principes qui sous-tendent la sélection peuvent être considérés comme des
connaissances de contrôle.
Prenons, pour se fixer les idées, le cas de base où l'on a le choix entre deux méthodes
indépendantes pouvant satisfaire toutes deux le même objectif; l'indépendance de ces deux
méthodes veut dire que leur ordre d'application n'influe pas sur leur comportement.
Suivant que l'on dispose ou non d'informations de contrôle, la sélection pourra se faire
selon l'une des trois manières suivantes:
- pas d'utilisation d'informations de contrôle : dans ce cas, la méthode à appliquer en
premier est choisie de façon aléatoire par tirage au sort ou arbitrairement.
- utilisation d'informations à priori sur les méthodes pour trouver un ordre d'application
optimal.
- utilisation d'informations sur les méthodes, ces informations étant dépendantes de la
situation.
- Le coût d'un ordre:
Soient x et y deux méthodes indépendantes censées satisfaire le même objectif. Soient Px
la probabilité que la méthode x , lorsqu'elle est appliquée, satisfasse le but et Cx le coût
attaché à l'exécution de x. Définissons de façon similaire Py et Cy relatifs à la méthode y.
x et y étant indépendants, ces valeurs Px' cx' Py, cy ne dépendent pas de l'ordre
d'application de x et y.
Considérons le programme qui exécute d'abord x puis y en cas d'échec :
programme x_d_abord; début
EXECUTER(x);
Si échec EXECUTER(y).
fin
Le coût de cette stratégie est :
C(xy) = cx+(l-px)cy.
15

Ce coût contient Cx car x est exécuté à coup sûr.
Le deuxième terme exprime le fait que y est exécuté (avec le coût Cy) seulement quand x
échoue; la probabilité de cet échec étant I-Px.
De même C(yx) =Cy+ (l-Py)cx.
La stratégie qui consistérait à tirer au sort la méthode (x ou y) à appliquer en premier, a
un coût égal à la moyenne de ces deux coûts c· est à dire :
C = 112 *[C(xy)+C(yx)]
= Cx +Cy -1/2 (PxCy +Pycx)
- le critère de meilleur choix :
Le programme xy est exécuté si et seulement si
C(xy) =::; C(yx),
cx +(1-px)Cy < Cy+(1-Py)Cx.
Le critère de sélection est donc le ratio de la probabilité de succès et du coût attendu. La
méthode de plus fort ratio ri =Pilci est exécutée en premier.
Ceci peut se généraliser aux cas de plus de deux alternatives.
Le gain de ce choix optimal par rapport au choix alternatif est:
Gl = Max(C(xy),C(yx» - Min(C(xy),C(yx»,
= 1PxCy-Pycx 1
le gain par rapport au choix aveugle est:
G2 = Min(C(xy),C(yx» - 112 [C(xy)+C(yx)]
= G1 /2
1.4.4.2) autres critères: valeur et pression temporelle d'une action
Pour décrire une action, dans le cadre du contrôle de processus, il faut considérer trois
éléments:
16

- le temps d'exécution de l'action qui peut être vu comme un coût (en temps).
- le coût de l'action: les ressources autres que le temps qui sont consommées lors de
l'exécution de l'action.
- la valeur de l'action. Cette valeur indique le degré d'adéquation entre l'action et la
situation en cours. On peut la considérer ou la traduire sous la forme de la probabilité que
l'action en question résolve le problème posé par la situation en cours.
Considérons une situation Si à un instant Ti. Pour exprimer les contraintes en temps de
réponse, supposons donné un délai Di maximum pour corriger la situation. Di dépend en
général du degré de déviation de la situation. Il exprime l'urgence de mener des actions
correctives.
TM = Ti + Di est la date au plus tard pour rétablir la situation.
On dispose d'un ensemble d'actions A = {a..a2, ...an}. Exprimons par :
- t(ai): le temps d'exécution de l'action ai
- c(ai) : le coût de ai
- v(ai) : la valeur de ai;
En faisant le rapprochement entre les délais d'exécution des actions et le temps maximum
pour rétablir la situation, on introduit une fonction fP qui exprime la "pression temporelle"
qui s'exerce sur chaque action. On pourra prendre par exemple, pour fP l'expression
suivante:
fP(ai) = t(ai)/(TM - Ti) , vai e A
Le symbole "e" exprime dans tout le texte, l'appartenance à un ensemble.
Notons que:
- si fP(ai) > l, alors l'action ai ne satisfait pas les contraintes temporelles imposées par le
délai maximum d'intervention; elle n'est donc pas applicable.
- si fP(ai) < l, alors l'action ai peut être décalée dans le temps (d'au maximum TM-Ti-
t(ai»·
- si fP(ai) = l, l'action ai est critique en ce sens que si elle est éligible, son exécution doit
avoir lieu immédiatement.
- fP(ai) est corrélée positivement avec le temps d'exécution de l'action ai; il peut donc
servir comme un indicateur du coût temporel engendré par l'exécution de l'action ai (en lieu
et place du temps d'exécution).
17

Si l'on néglige la contrainte temporelle pour ne tenir compte que du coût et de la
probabilité de succès des actions, c'est à dire, leur valeur, on se retrouve dans le cas
précédent.
En intégrant la "pression temporelle", on peut mener deux formes de raisonnement qui
n'aboutissent pas au même résultat.
Considérons deux actions al et a2 indépendantes pouvant servir à
la correction d'une
situation Si.
a) On peut considérer "la pression temporelle" (qui exprime un coût en temps), comme
un paramètre agissant négativement. On favorisera donc les actions ayant la plus faible
"pression temporelle" toute chose étant égale par ailleurs.
b)
On peut mener le raisonnement inverse, en considérant que les actions ayant une
faible "pression temporelle" peuvent être différée et que, par conséquent, il vaut mieux
tenter d'abord les actions qui risquent de ne plus être applicables si on ne les exécute pas
rapidement.
Dans ce cas, on cherche à augmenter les chances de pouvoir essayer les deux actions
séquentiellement c'est à dire le programme :
lancer ai
si échec lancer aj
(avec i < > j)
1.5) communication et systèmes multi-agents
1.5.1) la conduite des processus et les systèmes multi-agents
Les systèmes de surveillance font le plus souvent, appel à plusieurs processus distribués.
Ces processus doivent être capables d'interagir en temps raisonnable.
Il faut introduire une phase de communication dans le cycle normal d'inférence
(reconnaissance, résolution des conflits, actions). Pendant cette phase de communication, le
système de déduction procède à la lecture des messages externes et des messages instanciés
sont envoyés en sortie.
Les systèmes d'intelligence artificielle distribués semblent bien adaptés aux problèmes de
contrôle de processus. La conception de ces systèmes présente toutefois un certain nombre
de difficultés liées au problème de la construction des bases de connaissances, à la
multiplicité des sources de connaissances, à l' incohérence des bases de règles et au fait que
le raisonnement peut dépendre de plusieurs points de vues.
1.5.2) Modèles des systèmes multi-agents
1.5.2.1) modèles de communication entre agents
Les systèmes multi-agents sont généralement différenciés par le mode de communication
entre les différents agents.
On distingue essentiellement deux modèles de communication associés à deux types
d' architecture multi-agents :
18

- les systèmes communiquant par partage d'informations
- les systèmes communiquant par transmission de messages.
- communication par partage d'infonnations
Ce type de communication implique que tous les agents travaillent en utilisant et en
mettant à jour une zone commune regroupant les informations nécessaires à leur bon
fonctionnement, c'est à dire, à la résolution du problème posé.
Les systèmes de tableau noir (blackboard) constituent le prototype du genre. Ces systèmes
s'articulent autour de trois composants :
- les agents, appelés aussi Knowledge Source (KS) ou spécialistes.
- la base partagée c'est à dire le tableau noir à proprement Parlé. Elle comprend toutes les
informations que doivent s'échanger les agents, notamment, les états Partiels du problème
en cours de résolution. Dans certains systèmes plus sophistiqués [Laasri, 87], chaque agent
peut posséder en plus de cette mémoire commune, une base de faits ou d'informations
locale, visible de lui seul et éventuellement des agents qui lui sont hiérarchiquement
supérieurs.
- un dispositif de contrôle: il est chargé de gérer les éventuels conflits entre les agents. il
peut être conçu comme un module totalement distinct des autres composants ou être conçu,
lui aussi, comme un tableau noir, c'est le cas dans des systèmes comme BBI et ses dérivés
[Hayes-Roth, 80].
Les systèmes HearsayII[Erman, 80], AGE[Nii. 79] et ATOME[Laasri, 87] fonctionnent
selon le schéma du tableau noir.
Agents (K.S)
Tableau noir
'\\
/
(
""
(
).
,
(
)
figure 4 : structure d' un système à tableau noir
19

- communication par envoi de message
Dans les systèmes utilisant la communication par envoi de messages, les informations ne
sont pas stockées dans une structure commune. Les connaissances, aussi bien que les
résultats partiels sont totalement distribués au niveau des agents (appelés aussi acteurs dans
ce cadre [Hewitt, 77]).
Comme réalisations fonctionnant sur ce principe, on peut citer les systèmes MACE
[Gasser, 87], [Durfee, 87], MEDIA [Vailly].
agent
O+-I-----(
)
!messages
(
)
figure 5 : structure d'un système à transmission de messages
1.5.2.2) répartition des connaissances et des tâches
Les systèmes faisant intervenir plusieurs agents peuvent être différenciés aussi au niveau
de la répartition des connaissances et des tâches. Il existe principalement trois approches:
- l'approche modulaire.
- l'expertise en concurrence.
- la simulation d'univers.
- l'approche modulaire
Elle consiste à découper le système global en un ensemble de modules ou sous-systèmes
qui doivent travailler ensemble. Chaque module - qui peut être conçu comme un système
expert ayant sa propre base de connaissance - doit réaliser une certaine tâche, en
communicant, pour ce faire, avec les autres modules.
Chaque spécialiste -c'est le nom généralement donné aux différents modules- remplit une
tâche particulière qui n'est assignée qu' à lui seul. Les conflits entre spécialistes sont ainsi
évités. Par exemple, on pourra distinguer dans un système industriel, le diagnostiqueur, le
planificateur, le contrôleur, etc...
Cette première approche qui est à priori la plus simple, est bien adapté à une large classe
de problèmes dans l'industrie. Elle est assimilée, parfois, à un mode de structuration de la
base de connaissance.
20

- l'expertise en concurrence
Dans cette approche, chaque agent dispose d'une base de connaissance qui reflète un
point de vue spécifique du problème à résoudre. Ainsi, par exemple, un système de
diagnostic peut comprendre deux agents spécialisés l'un dans le raisonnement profond et
l'autre dans l'analyse de surface.
Les différents points de vue, bien que relatifs au même problème, peuvent ne pas
converger. Il est donc nécessaire de mettre en oeuvre un processus de gestion des conflits
qui peuvent apparaître entre les différents agents.
Ces systèmes qui sont souvent appelés systèmes multi-experts, posent beaucoup de
problèmes théoriques liés en particulier aux nombreux risques d'incohérences entre les
différentes expertises.
- la simulation d'univers
Dans cette approche, il s'agit de définir une population d'agents dont les règles de
comportement vont amener le système à résoudre le problème posé.
Par exemple, dans le cadre de la surveillance d'un processus faisant intervenir un grand
nombre de capteurs et d'éléments mécaniques ou électroniques, il peut paraître adéquat de
distribuer la connaissance dans ces modules et capteurs plutôt que de les rassembler en un
lieu unique. A chacun de ces éléments serait alors associé un agent dont le rôle sera de
surveiller l'élément physique correspondant, de récupérer les informations provenant des
sous-systèmes, d'en faire une analyse et de transmettre ses conclusions aux modules
supérieurs. n pourra, à l'inverse, recevoir des ordres ou des requêtes provenant des
systèmes situés à un plus haut niveau; il aura alors la tâche de déterminer et d'appliquer la
meilleure méthode pour répondre à ces sollicitations.
Compte tenue de la façon dont ces systèmes sont conçus, ils comportent en général un
grand nombre d'agents.
1.6) Formalismes de spécification des systèmes faisant intervenir le temps.
1.6.1) le problème du temps
Les systèmes temps-réels font intervenir le temps en général de deux manières:
- le temps comme durée: les contraintes de temps de réponse sont spécifiques au temps
réel. De telles contraintes peuvent prendre plusieurs formes:
- temps minimal ou maximal entre l'apparition d'un événement et la réponse du système.
- temps minimal ou maximal entre deux occurrences successives d'un signal.
- temps minimal ou maximal entre la réponse à un événement et l'occurrence suivante du
même événement.
etc...
21

- le temps comme suite d'instants :
Les instants considérés individuellement, apparaissent dans les spécifications par
l'intermédiaire de la notion d'événements.
Les spécifications imposent au système de déclencher ou d'arrêter l'exécution d'une
activité à un certain instant explicité de façon absolue (démarrer le processus P à 14h 05) ou
de façon relative (démarrer P quand l'événement "en survient).
Les instants considérés dans leur ensemble, apparaissent reliés par des relations: relations
avant, après, complétées par la relation d'égalité qui définit la notion d'événements
simultanés. Quand cette simultanéité est physique, un modèle synchrone est utilisé.
Dans ce qui suit, nous présentons quelques fonnalismes utilisés pour spécifier les
problèmes où le temps intervient.
1.6.2) Les statecharts et STATEMATE
STATEMATE est un environnement graphique de spécification qui utilise essentiellement
trois langages: les "stateeharts", les "activity-eharts" et les "modules-charts".
Les statecharts [Harel, 87] constituent un fonnalisme visuel pour la description de
systèmes réactifs complexes, comme par exemple un système de pilotage automatique
d'avion.
Pour décrire le comportement dynamique de tels systèmes, Harel a décidé de se baser sur
un modèle d'états du système à développer (le SUD: System Under Development). Suivant
ce modèle, un système est défini par un ensemble d'états. Des transitions se passent entre
les différents états consécutivement à l'apparition de certains événements. Les stateeharts
décrivent ainsi
le comportement du
système en
tenne d'états,
de transitions,
et
d'événements qui sont en fait des signaux envoyés à l'ensemble du système et reçus
instantanément. La réception des signaux provoque au moment même de leur émission
toutes les transitions d'états spécifiées par le statechart. Le modèle est donc un modèle
synchrone puisque les émissions/réceptions des événements sont instantanées.
les activity-chart permettent, quant à eux, de décrire la fonctionnalité du système, c'est à
dire, l'identification des fonctions ainsi que les signaux ou les données circulant à l'intérieur
du système ou entre le système et son environnement. Cette description se fait en terme
d'actions atomiques d'activités. Une activité est composée hiérarchiquement d'actions et/ou
de sous-activités.
.
Statecharts et activity-chart sont intimement liés. D'une part, un statechart est associé à
chaque activité: il décrit la décomposition de cette activité en déterminant les moments où
chaque sous-activité doit être démarrée ou arrêtée. D'autre part, une activité peut, par
l'envoi d' un signal, causer des transitions d'états.
Les module-charts spécifient la structure du système tel qu'il doit être implémenté. ils
spécifient les modules, composants et sous-systèmes et leur interconnexions via des canaux.
22

1.6.3) la logique temporeUe
A la fin des années soixante dix, l'idée d'utiliser la logique temporelle comme langage de
spécification fut émise dans quelques articles [Pnuelli, 77] par exemple.
En résumé, deux approches sont proposées : la logique temporelle linéaire et la logique
temporelle arborescente. Plusieurs présentations de ces approches sont fournies, chacune
proposant une liste d'opérateurs caractérisant son pouvoir expressif,
la différence
fondamentale se situant au niveau de l'aspect linéaire et l'aspect arborescent.
La spécification d' un système en logique temporelle linéaire se présente sous la forme
d'un ensemble de formules donnant des contraintes sur la suite d'états par lesquels passera
le système lors de ses exécutions successives.
On se donne, suivant la nature du système à décrire, un ensemble de formules atomiques
de la forme : le processus P est arrêté , le paramètre p a la valeur 12, le capteur C indique
une température > 45 0 C.
Une exécution est spécifiée par la suite <eo, eb ...~> d'états par lesquels le système
passe. ej caractérisant l'état du système à l'instant i.
A partir de ces éléments, sont construites des formules utilisant par exemple:
- les connecteurs propositionnels classiques non, et, ou , = = > , ...
- des opérateurs temporels unaires :
- 0:( à l'instant suivant) OF sera satisfaite dans un état si F est satisfait à l'état suivant.
- [] (toujours) : []F est satisfait par un état si F est satisfait dans cet état et tous les états
qui le suivent.
- < > un jour
etc ...
Utilisée pour exprimer les notions de sûreté et de robustesse, cette logique est le langage
par excellence de la spécification des exigences. Elle reste cependant d'un intérêt pratique
assez faible, et est surtout utilisée pour prouver la validité de quelques petites parties
"délicates" de certains programmes.
I.7) conclusion
D'autres problèmes
sont à
prendre en
compte
:
l'utilisation
de
connaissances
contextuelles, le raisonnement sur les tendances, le méta-eontrôle des conseils. Il faut éviter
les interactions indésirables entre différentes portions de la base de connaissance, permettre
l'entrée et fournir les informations au système en fonctionnement à l'initiative soit de
l'opérateur, soit du système, coordonner la conduite pour assurer une bonne collaboration
système/opérateur, assurer la stabilité des propositions et des commandes en sortie du
système.
Par ailleurs, le maintien d'un fonctionnement, en mode continu, implique des précautions
particulières.
23

En effet, pour qu'un système expert de contrôle puisse fonctionner correctement en mooe
continu, il faut que les conditions suivantes soient remplies:
- Le système ne doit pas se terminer quand il n'y a plus de règles éligibles à prendre en
compte. Il faut que le moteur d'inférence soit mis en état d'attente. Il doit reprendre à la
réception d'un message externe ou d'un événement quelconque, en particulier à la réception
d'un événement timer avec les nouvelles données.
Le lancement du système peut être synchrone; dans ce cas, le moteur d'inférence est
lancé de façon régulière, à une fréquence fixée d'avanœ.
- Les données qui ont été exploitées doivent être détruites. Il faut éviter l'accumulation de
données inutiles car elles peuvent créer des problèmes tels que l'encombrement mémoire ou
pire, de mauvaises instanciations dans le moteur d'inférence. Toutefois, l'élimination de ces
données doit être menée de façon prudente car le déclenchement de certaines règles dépend
non seulement de la présence dans la base des faits de certaines données mais aussi de
l'absence de quelques autres. Pour le raisonnement sur les tendances, par exemple,
certaines informations passées sont nécessaires.
24

CHAPITRE II :
SYSTEMES ET MODELES DE RAISONNEMENT TEMPOREL
résumé : les modèles de représentation du temps sont introduits. Trois systèmes considérés
comme représentatifs du raisonnement sur le temps en intelligence artificielle sont
présentés.
II.1) Introduction
Un système expert qui fonctionne dans un environnement dynamique ou qui a une vocation
de temps réel, doit être capable de percevoir la notion de temps écoulé, c'est à dire, se situer
par rapport à un événement ou une date à l'aide de concepts tels que avant, après, pendant,
etc ...
La plupart des systèmes experts de première génération n'intègrent pas cette notion.
L'hypothèse faite généralement par ces systèmes, en particulier par ceux dédiés au
diagnostic, est que l'environnement de travail est statique autrement dit, le domaine
d'application ne nécessite pas qu'on y intègre des infonnations temporelles.
D'après [Console, 89], cette hypothèse, qui représente une véritable limitation, dérive au
moins en partie, de la difficulté d'introduire des formes structurées de connaissances
temporelles dans des règles heuristiques. Toutefois, quelques systèmes heuristiques de
première génération - des exceptions - ont fait des tentatives pour intégrer des informations
temporelles. On peut citer les systèmes VM[Fagan, 80], RX[Blum, 82].
Face à la nécessité, le problème de l'intégration du raisonnement temporel dans les
systèmes informatiques, est devenu un sujet d'actualité notamment en intelligence artificielle
[Tsang, 90], [Rit, 88].
La logique classique ne prend pas en compte directement l'aspect temporel des énoncés.
Comme il n'existe pas de méthode unifiée pour ce traitement, le problème du temps est
souvent appréhendé par deux grandes approches:
- l'approche numérique,
- l'approche logique.
L'approche numérique fait intervenir essentiellement les méthodes de la Recherche
Opérationnelle (PERT, potentiel-tâche, ...). Dans cette approche, le temps est considéré
comme une droite temporelle où les événements sont situés numériquement et le problème est
traité, par exemple, en terme de recherche des dates au plus tôt ou de dates au plus tard. La
25

méthode du chemin cnttque [Vere, 8I] est souvent utilisée. Quelquefois, les relations
temporelles entre événements sont gérées par la programmation linéaire.
L'approche logique présente trois formalismes différents:
- la logique classique,
- la logique modale,
- la logique réifiée.
Dans la logique classique, le temps est banalisé et pris en compte au niveau des prédicats.
Ainsi, dans la logique temporelle propositionnelle, on manipule des expressions de la forme
p(a,b,c,q ,t2, ... ) où les "ti" représentent des entités temporelles.
La logique modale fait intervenir le temps, en introduisant des modalités associées au
domaine d'interprétation.
Au niveau de la logique réifiée, on manipule des couples <a,t> où "a" est une expression
atemporelle et "t", une qualification temporelle par rapport à laquelle "a" est considérée.
Deux formalismes ont été développés qui considèrent le temps de deux manières différentes:
- Le temps "subjectif' qui s'attache à l'aspect causal et irréversible des phénomènes dans le
temps. L'exemple le plus connu de ce formalisme est l'algèbre des instants défini par
McDennott[McDennott, 82]. Nous décrivons ce système dans la section suivante.
- Le temps "objectif' plus descriptif, se traduit le plus souvent par la construction d'un
"gestionnaire de graphe temporel" qu'il faut gérer. On peut citer comme exemple, les travaux
de Dean [Dean, 87] qui utilise la logique des instants de McDermott pour réaliser un
gestionnaire de base de données temporelles. Ses travaux constituent une des premières
approches intégrant un système de maintient de vérité. Mais le système le plus célèbre en la
matière est le système de Allen encore appelé algèbre des intervalles [Allen, 84].
Dans ce qui suit, nous présentons trois systèmes considérés comme représentatifs du
raisonnement sur le temps en intelligence artificielle.
II.2) Le système de Allen
a) base
Le système de Allen [Allen, 84] est fondé sur une théorie du premier ordre typée. Il définit
plusieurs entités, sur lesquelles il propose des axiomes; ce sont la propriété, l'événement, le
processus et l'action. Cette théorie est basée sur l'algèbre des intervalles définie par Allen et
qui introduit essentiellement treize relations symboliques entre des intervalles temporels:
avant, après, ....
26

Ces relations interviennent en tant que prédicats binaires typés. Par exemple: il s i2 (en
notation logique s(ibi~) où il et i2 sont des intervalles temporels signifie que l'intervalle il
débute (starts) l'intervalle i2.
Les relations entre les intervalles sont utilisées en général, pour bâtir un graphe qui peut
être vu comme un réseau de contraintes. La cohérence du réseau est étudiée par des
algorithmes de propagation de contraintes, qui exploitent la table de transitivité des relations
(voire annexe AS).
b) les entités :
* la propriété: Appelée aussi fait, elle est considérée comme vraie sur un intervalle si et
seulement si elle est vraie sur tout intervalle qui le contient. Le prédicat HOLD est introduit
pour exprimer qu'une propriété est vraie sur un intervalle. Il vérifie l'axiome suivant:
HOLD(i,p) < = = > 'ri j (ING,i) = = > HOLDG,p»
où i et j sont des intervalles; p, une propriété définie par une expression atemporelle.
IN désigne le prédicat d'intervalle égale à la réunion des trois prédicats "start" , "during" et
"end" (s, d, e).
exemple: le dimanche, le magasin est fermé.
(i= dimanche) = = >
HO LD(i, Fermé(magasin».
* l'événement: c'est une entité de nature ponctuelle donc non décomposable. Un
événement n'est vrai sur aucun sous-intervalle de l'intervalle où il est défini.
En rajoutant le prédicat OCCUR au langage, l'axiome suivant caractérise l'événement:
OCCUR(i,e) 'IN(j,i) = = > non OCCUR(j,i).
où e est une expression atemporelle définissant un événement et i et j des intervalles.
exemple: apparition temporaire d' une étoile
OCCUR(i,Apparu(étoile» = = >
(3 i 1,i2,i3)
IN(i1,i) 'IN(i2,i) 'IN(i3,i) ,
s(i1,i) 'm(il,i~ 'm(i ,i
2 3) 'e(i3,i) ,
HOLD(il' Visible(étoile» ,
HOLD(i3, Invisible(étoile»).
s, m et e représentent les relations binaires starts (débute), meets(rencontre) et ends
(termine) définies entre les intervalles.
27

* le processus: un processus, contrairement à l'événement, est une entité décomposable
temporellement. Il doit être vrai sur au moins un sous-intervalle de tout intervalle où il est
vrai.
En introduisant le prédicat "OCCURING", on l'exprime par l'axiome:
OCCURING(i,p) = = > (3 j) (ING,i) AOCCURINGG,p)
P est un processus, i et j des intervalles.
* action : Les actions sont réalisées par des agents. Ces actions peuvent engendrer soit des
événements , soit des processus. Les éléments de type agent peuvent donc être des arguments
pour les prédicats "OCCUR" et "OCCURING". La description d'une action comprend les
conditions nécessaires pour sa réalisation et des indications sur la façon dont elle sera
réalisée.
c) Causalité:
Pour exprimer la causalité, Allen fait intervenir le prédicat ECAUSE à quatre arguments:
ECAUSE(ehi}7e2,iz) exprime le fait que l'événement
el qui a lieu en il a causé
l'événement i2 qui a lieu en i2.
exemple : pour exprimer que le personnel a enclenché une grève ce jeudi à cause de
l'annonce la veille, de la fenneture prochaine de l'usine, on pourra écrire :
((il = mercredi) A(Ï]. = jeudi» = = >
ECAUSE(Annonce(fermeture_usine), il'
Entrée_en~rève(personnel), iz).
II.3) Le système de Kowalski et Sergot
- base et objectifs
Ce système [Kowalski, 86] a pour objectif la gestion des mises à jour dans les bases de
données et la construction de systèmes de représentation du temps pour exprimer des
séquences d'énoncés. Il utilise trois notions fondamentales:
- l'événement
- la période
- la proposition.
L'événement est de nature ponctuelle tout comme dans le système de Allen.
A un
événement est associé un instant (de déclenchement de cet événement). Toutefois,
l'événement peut servir lui même de référence temporelle.
28

La période est la donnée simultanée d'un intervalle et d'une proposition vraie sur cet
intervalle. Une période peut être définie de manière implicite en donnant un événement
correspondant soit au début, soit à la fin de cette période.
Une période (élément de nature durative) est définie par la donnée d'un événement, d'une
-période et d'un terme reliant ces deux éléments. Ce terme prend la valeur avant ou après.
~·I.J1":'j~'~.·
" ,P = avant(e,u) défmit "p" comme la période de temps qui se situe avant l'événement "e"
et qui est terminée par l'instant associé à cet événement (1a proposition "un se situe avant
l'événement "en).
De la même façon, p = après(e,u) définit "p" comme la période de temps qui se situe
après l'événement "e" et qui est commence à l'instant
associé à cet événement (1a
proposition "un se situe après l'événement "e").
Les auteurs de ce système ont définit un certain nombre de prédicats et d'axiomes généraux
pour traduire les énoncés. Dans une application particulière ces prédicats doivent être
explicitement définis.
Pour indiquer qu'une proposition est vraie sur une période donnée, ils introduisent une
notation qui ne fait pas apparaître la proposition de façon explicite:
Holds(p) est vraie pour la proposition associée à la période p.
Ce système introduit un ensemble d'axiomes généraux décrivant la structure des
événements. Ces axiomes sont exprimés au travers d'un certain nombre de prédicats
spéciaux:
- TIme : prédicat de datation.
Ce prédicat sert à associer un instant à un événement. TIme(Cj,ti) est vrai si l'événement
"e·" a lieu à l'instant to
1
1.
La datation sert, en outre, à définir une relation de précédence " <" entre les événements:
- Tenninates(e,u) est vrai si l'événement "e" termine la proposition "u".
- Initiates(e,u) , pendant du prédicat tenninates, il est vrai si l'événement "e" débute la
proposition "u".
- axiomes généraux
Nous présentons à présent les axiomes généraux de ce système.
Les deux axiomes Al et A2 ci-dessous permettent de vérifier la valeur de vérité d'une
proposition par l'intermédiaire de l'événement associé à l'une ou l'autre borne de la période
considérée.
Al : Holds(avant(e,u» :- Tenninates(e,u).
29
::J.:::::

A2 : Holds(après(e,u» :- Initiates(e,u).
L'axiome Al traduit le fait que la proposition associée à la période de temps située avant
l'événement "e" est vraie si cet événement tennine la période "u".
Pour pouvoir étudier la cohérence relative des énoncés, deux prédicats supplémentaires
Start et End correspondant à la borne gauche (respectivement droite) d'une période sont
introduits :
- Start(Pi,ei) est vrai si l'événement "et débute la période "Pi".
- End(pi,ei) est vrai si l'événement "et tennine la période "Pi".
Les axiomes A3 et A4 découlent directement de la définition des prédicats Start et End.
A3 : Start(après(e,u),e).
A4 : End(avant(e,u),e).
De façon générale, pour une application, il faut analyser les configurations ci-dessous pour
s'assurer de la cohérence des données.
-------+
el
1-,
Ui
(a)
- - - . . . . ; . - - - - t l
C j
Ui
- - - - . : . . - - - - 1 1 Ci
(b)
UI
ci
1-1- - - . . . ; . . . - - -
Uj
(e)
ei ....---=-----
(d)
figure 6 : différentes configurations des entités
- cas a : ce cas est relatif à une configuration où la période est définie par la donnée à la
fois d'un événement initiateur et d'un événement terminal. Ces deux événements définissant
30

deux périodes pouvant à priori être différentes, il faut en assurer l'égalité. Les deux axiomes
As et ~ traduisent ces contraintes :
Les conditions d'égalité entre deux périodes sont explicitées par l'axiome A7 :
A7 : après(ei,ui) = avant(ej,ui) :-
Holds(après(ei,ui»,
Holds(avant(ej' ui»,
ei < ej'
Not(Broken(ei,Ui,ej».
Ici "et est un événement initial de la période "ut et "e{ en est un événement terminal.
Pour établir l'égalité, il faut vérifier:
- que la proposition est satisfaite sur les deux périodes.
- que les deux événements "et et "ej" ont une position relative cohérente: ei < ej; cette
relation étant définie à partir du prédicat de datation Times.
- et qu'il n'existe pas d'incohérence dans la base de données du fait de l'égalité.
L'incohérence est étudiée à partir du prédicat Broken défini ci-dessous:
Ag : Broken(ei,Ui,ej) :-
Holds(après(ek> uk»,
Exclusive(Uj,uk)' ei < ek < ej.
A9 : Broken(ei,Ui,ej) :-
Holds(avant(~,uk»'
Exclusive(ui,uk)'
ej < ek < ej"
Les deux axiomes précédents établissent qu'il y a incohérence si l'on peut trouver un
événement intermédiaire ek entre les événement ei et ej qui, soit affecte la proposition
initiale, soit est temporellement incompatible avec cette proposition initiale.
Dans les cas b), c) et d) ci-après, il s'agit de pouvoir déterminer les deux bornes -non
données explicitement- d'une
période dans
le
cas

les
deux
propositions
sont
temporellement incompatibles.
On introduit la détermination d'un événement commençant (respectivement terminant) une
période par les termes :
31

init(avant(e,u» (respectivement fin(après(e,u»).
- cas b :la fin de chacune des deux périodes est connue. Le début de la période Uj est
défini par les règles suivantes:
Holds(avant(ei, ui»,
Holds(avant(ej' Uj»,
Exclusive(Ui, Uj),
ei < ej,
NOT(Broken(ei, Uj, ej».
- cas c : le début de chacune des deux périodes est connu. Ce cas est symétrique du
précédent.
Holds(après(ei' Uj»,
Holds(après(ej, Uj»'
Exclusive(Uj' Ui) ,
ej < ei,
NOT(Broken(ej' Uj,eï».
- cas d :
A I4 : frn(après(ei,ui) :s; init(avant(ej,uj») A
Start(avant«e.j, uj),init(avant«ej' Uj») A
End(après(ei' uï>, fin(après(ei, Uj»)
Holds(après(ei, ui»,
Holds(avant(ej' Uj»,
Incompatible( ui' Uj),
ei < ej'
not (Broken(ei,ui,ej».
Pour palier aux descriptions partielles, les deux règles suivantes sont rajoutées:
AIS: Tenninates(ej,ui) :- End(après(ej,ui),ej).
A 16 : lrutiates(ej,ui) :- Start(avant(ej,uj),ej)'
32

Pour signifier qu'une proposition est vraie à un instant donné, le prédicat Holds_at est
introduit. Il est défini par les règles:
An: Holds_at(u,t):-
Holds(apres(e,u)),
In(t,après(e, u)).
AI8 : Holds_at(u,t):-
Holds(avant(e, u»,
In(t,avant(e,u)).
A I9 : In(t,p):-
Start(p,ei),
TlUle(ei,lï),
End(p,ej),
Thne(ej' ~),
lï < t <~.
A20 : In(t,p):-
Start(p,e),
TlUle(e,lï),
End(p,ej),
ti < tj'
Not(End(p,ej))'
II.4) Le système de McDermott
- base
Le système de McDermott [McDermott, 82] fait intervenir à la fois les instants et la notion
d'intervalle; un intervalle étant défini à partir de deux instants ordonnés. Il utilise une
structure arborescente pour les événements tandis que la structure temporelle est isomorphe à
l'axe des réels. Le langage utilisé est de deuxième ordre.
Les deux éléments de bases sont:
- l'ensemble S des états.
- l'ensemble T des instants.
L'ensemble T est isomorphe à R et muni de la relation d'ordre «).
L'ensemble S est dense, partiellemen~ ordonné par la relation de précédence «) vers le
futur et linéaire vers le passé (ramification vers le futur mais pas vers le passé).
Un lien est établi entre S et T par l'intermédiaire d'une fonction de datation "d" :
d : S ------- > T est une application strictement croissante:
(
V s},s:Û s} < ~ = = > des}) < d(~.
J3

Un ensemble d'états totalement ordonnés définit une chronique qui peut être vue comme un
historique.
- entités et axiomes
* Fait: c'est une entité analogue aux propriétés de Allen. Un fait est défini comme un
sous-ensemble de l'ensemble des états.
Le prédicat TRUE est introduit pour exprimer la véracité d'un fait:
TRUE(s,f) signifie que le fait "f" est vrai en l'état "S".
Un fait "f' est donc défini par l'ensemble des instants pendant lesquels il est vrai.
* Evénements : Leur traitements a nécessité l'introduction des intervalles sur S défini
comme un ensemble totalement ordonné et convexe d'états. Un intervalle pourra être désigné
par un couple d'états [sbS2l. Un événement e est défini comme un ensemble d'intervalles
donc comme un ensemble de sous-ensemble de S.
La valeur de vérité OCC([sl,S2l,e) est "vrai" si et seulement si le sous-ensemble dénoté
par [sitS2] est membre de l'ensemble dénoté par l'événement "en.
Pour que le prédicat True puisse être interprétable sur les intervalles, le prédicat
TTRUE([SI ,S2],P) est introduit.
- Causalité: McDermott considère que quand un événement en déclenche un autre, il y a
en général un certain retard qui doit être exprimé en même temps que la causalité:
Une unité de mesure absolue du retard n'est pas utilisée, mais de nouveaux types d'objets
appelés échelles, de durée arbitraire, permettant d'établir des relations sur les durées, sont
rajoutés. Par exemple, la durée (*6 heure) utilise l'échelle "heure" et définit une durée de 6
unités.
La notation ECAUSE(p,eb~,rbdl Av veut dire que l'événement "el " est toujours suivi
de l'événement "~~ après un retard se trouvant à l'intérieur de l'intervalle de durée [db d2],
à moins que "p" ne devienne faux entre temps; "ri ~ étant un paramètre auxiliaire dénotant le
retard effectif.
- Axiomes:
ECAUSE(p,el ,~,rl ,dl ,dz) < = = = >
OCC([sl,s2],el) ==> «v CI) (C I(s0 ==>
«3 s3) (C I(s3) ~dans_délai(s3,rl>dl,dZ,sl'S2)
~ O(TTRUE([S2,S3],P) Il (3 s4)
CI (s4) ~ OCC(s3,s4),eZ»)))
avec
dans_délai(s3,rl ,dl ,dZ,sl,s2) < = = = >
(SI < S2 < s3r« d.2-d 1) = (date(s3)-(l-rl )*(date(sl) + ri *date(s2»'
34

S3 est postérieur à SI et s:l avec un retard de durée (dz-d1)·
exemple:
"Si un capteur indique une valeur anormale, une alarme se déclenchera à moins qu'elle ne
soit en panne". En définissant deux événements "indique_valeur_anormale(capteur)" et
"déclencher(alarme)" ainsi que le fait "bon_état(alarme)", l'énoncé peut se traduire par :
(V cap) (3 al) ECAUSE(bon_état(al), indique_valeur_anormale(cap), déclencher(al),
0, (*1 sec), (*5 sec)).
Fait produit par un événement - persistance d'un fait
L'apparition d'un événement peut provoquer un fait qui peut être permanent, mais le plus
souvent, il est de nature temporaire.
Pour prendre en compte cette différence, McDermott introduit la notion de persistance
d'un fait. Un fait persiste pendant un temps donné si, dans toutes les chroniques, il reste vrai
tant que le temps limite n'est pas dépassé ou bien s'il "cesse d'être vrai"; cesser d'être vrai
étant compris dans le sens que si le fait persistait, cela rendrait le système incohérent. Il faut
noter que pour gérer tous ces éléments, un mode de raisonnement non monotone est requis.
La persistance est définie comme suit :
PERSIST(sltP,r)
< = = >
TRUE(SI'P) ACV Sz} (Within_lifetime(Sz,r,sl) A
( ! TRUE(Sz,p)) = = > Occ_between([sltSzl,(cease p))))
où par définition :
WithinJifetime(Sz,r,sl) < = = > (SI < Sz}A«date(s2)-date(sl)< r).
systèmes évolutifs et changement continu
Pour prendre en compte les évolutions, McDermott introduit la notion de flot (fluent). Un
flot est une entité dont les caractéristiques peuvent varier de façon continue au cours du
temps. Ces entités qui peuvent être considérées comme des constantes non rigides, sont
représentées par des réels.
Deux ex.pressions Vf(s,v) et VTRANS(i(sl,s2),vl,rl,r2) sont introduites. Elles sont
définies comme suit:
Vf(si, Vi) représente l'état du flot Vi en l'état Si.
VTRANS(i(sltsz), vl>rl ,rz) dénote les événements qUi correspondent aux instances de
changements du flot VI de ri à rz-
35

action et planification
La planification consiste à trouver une suite ordonnée d' actions à réaliser pour résoudre un
problème donné.
Des constructeurs sont définis :
- l'action qui empêche un événement de se produire.
- l'action qui autorise un événement à se produire.
Des opérateurs sur les actions sont également définis :
- rendre une action inévitable.
- rendre une action impossible.
- exécuter une action en fonction de certaines conditions.
- etc .,.
ILS) conclusion
Dans le cadre de la construction de systèmes de surveillance et de la conduite des
processus, -en général, la seule gestion de relations symboliques sur des entités temporelles,
telles que les relations définies par Allen sur les intervalles, est insuffisante.
En effet, il est très souvent nécessaire dans de tels systèmes, de faire intervenir une
datation des faits et des actions afin de
pouvoir utiliser les notions de délais entre les
occurrences des différents événements et de durées des actions.
Le fait que l'algèbre des intervalles de Allen ne permettent pas de définir ni la durée ni la
date d'une entité temporelle constitue donc un inconvénient majeur pour ces systèmes.
L'algèbre des instants de McDermott a un très grand pouvoir expressif, qui a l'avantage de
permettre la définition des dates et des durées des événements. Toutefois, l'assimilation entre
un fait et l'ensemble des instants où il est vrai, constitue une limitation notable : il n'est pas
possible de distinguer deux faits concomitants. En outre, la complexité de la représentation
(la logique utilisée fait abondamment appel à des formules de deuxième ordre), rend difficile
son implémentation et à fortiori, son intégration dans un système expert de surveillance.
36

CHAPITRE DI :
LE SYSTEME EXPERT REA: LE DOMAINE D'APPLICATION
résumé:
Le domaine d'application (la réanimation dans le cadre de la médecine d'urgence) est
présenté ainsi que les motivations qui ont amené à la conception d'un système expert d'aide
à la surveillance.
ID.l) la réanimation
Le concept de réanimation médicale a été introduit vers les années 1950. il exprime le
fait qu'au concept physiologique de constance du milieu intérieur, les médecins doivent
répondre par la création d'un dispositif de surveillance pennanente et de correction de tout
déséquilibre de l'homéostasie.
La réanimation se base sur l'approche diagnostique et la décision thérapeutique. Elle
implique la surveillance de systèmes complexes et en interaction permanente (ca.rdio-
vasculaire, respiratoire, métabolique,...).
C'est une discipline qui comporte très peu de spécialistes très expérimentés et qui exige
une mise à disposition permanente des meilleures compétences.
Elle est dotée d' appareillages, de procédés de surveillance et de traitement coûteux.
Les moyens de mesure modernes permettent de recueillir en temps réel un nombre de plus
en plus élevé de paramètres importants que le cerveau humain arrive difficilement à
synthétiser. Par exemple, l'exploration hémodynamique par un cathéter de Swan Ganz
fournit, à elle seule, simultanément une dizaine de paramètres.
Les données de certains bilans chronologiques recueillies ainsi que les traitements
appliqués sont transcrits à la main sur des feuilles de bilan (figure 7).
37

~I
1 .... ' ....... ' 1')0 v ...
f Q ......
• .co
-j. 1. (
't... U.J...,
-1, S f -...
urolCA'tJOtI:
c
;
.
~
c
.>
rUCo".14e (-9)
i
:,. W A. W -
'"' ... toi ..
I.e, ~ î.C:I~ \\ Î.':,c.1, 1.
. . . .fI. 1 1
• 4 ·.xploc.. ~10..
~
L
J
S-
b
:r
~~-!o~-:~L__~~_S 1 z1 11 J ~ 1...,s-
Z~
JI:r
-
.. ..
/.40
.. ~l:~!!~~-!:~.:?~~ ______:._____
..
-rJ1--l---!-\\_-~-
: 2"3 .
·
1
.~
al;; ~~t~
m~'"1.0 -t::A...L+...!...!.-+ -1.- oh i
~
.. - e ~t.c.,to.:t..
·
',i
I,"J
0;
,=
M L. t '7:1- c-! 'L.

T...
r'''C\\l''.C.:-.fO-":,,,
,.'::~
..>c"
>..... ~
T
·~=
c
l.~
::
figure 7
exemple de feuille de bilans
38

111.2) apport d'un système expert
La transcription manuelle et la synthèse intellectuelle de ce flot toujours grandissant
d'informations est une source d'erreur et de perte de temps. La décision est, de plus, gênée
par la dispersion des informations, leur hétérogénéité, leur aspect de plus en plus technique
et leur nature très fortement évolutive dans le cadre très particulier de la réanimation.
L'informatique, qui est déjà plus ou moins intégrée mais de façon peu homogène dans les
services de réanimation, doit aussi permettre l'optimisation des moyens thérapeutiques en
analysant directement l'ensemble des données recueillies, de manière automatique, au lit du
malade.
D'autre
part,
en
réanimation,
de
nombreux
auteurs
font
état
des
difficultés
d'interprétation du cathétérisme de l'artère pulmonaire, technique invasive et coûteuse,
posant le problème de son rendement actuel.
Sans le soutien de l'informatique, l'utilisation de nouvelles technologies de surveillance
intégrant toujours plus de paramètres, associée aux progrès constants de la connaissance
médicale, rend de plus en plus complexe la prise en charge des patients. Le recueil,
l'analyse, la surveillance des informations relatives au malade en réanimation, combinés à
l'augmentation des connaissances médicales et à la mise à disposition de technologies
performantes rendent difficile le travail des réanimateurs. Il est désormais possible
d'automatiser le recueil d'un grand nombre de paramètres:
· les résultats des examens de biochimie et d'hématologie peuvent être directement
intégrés à partir des équipements informatiques des laboratoires,
· les matériels de proximité tels que analyseur des gaz du sang ou captomètre peuvent être
reliés à l'ordinateur présent au lit du malade,
· les monitorages cardiaques, respiratoires et métaboliques peuvent être directement
intégrés quelque soit leur provenance (constructeurs, types de sorties, protocoles de
connexion... ).
La mise à disposition d'un système d'aide regroupant les bases du raisonnement médical
est un élément important de la formation permanente des membres de l'équipe médicale.
La création de dossiers médicaux informatisés, facilement accessibles doit faciliter le
travail administratif mais aussi d'investigation clinique.
De plus, l'exploitation à posteriori de ces dossiers archivés par les méthodes statistiques
ou celles relevant de l'analyse des données multidimensionnelles représente un atout majeur
pour la recherche médicale.
L'automatisation de la saisie et de l'interprétation des paramètres de surveillance libérera
le clinicien d'un travail fastidieux au profit de ses malades, de même des propositions
thérapeutiques faites par un système expert permettront la recherche d'un consensus
thérapeutique au sein du département.
Toutes ces considérations ont amené le service de réanimation du CHR de Toulouse-
Purpan à envisager l'élaboration d'un système temps-réel d'aide à l'acte de réanimation. La
réalisation d'un tel objectif ne pouvant s'envisager que sous la forme d'un système expert
(le système "REA"). L'environnement des opérations étant caractérisé par une évolution
39

continue et complexe, il est, en effet, très difficile d'implémenter et de maintenir un
programme procédural, ayant la charge de fournir une aide automatique.
L'objectif du système REA correspond à une analyse de l'aspect évolutif de l'état du
patient, intégrant en temps-réel, les variations successives des paramètres sous l'influence
des tests thérapeutiques appliqués par le réanimateur, suite aux propositions du système.
Quatre grands principes sont à prendre en compte:
- le temps réel (temps de réponse compatible avec l'objectif de correction "rapide" des
déséquilibres).
- l'évocation de diagnostic (tableaux cliniques .. )
- la décision thérapeutique et son contrôle (objectifs)
- la surveillance (monitoring, dossier, ... )
L'essentiel du fonctionnement de ce système se fera sous la forme de tests thérapeutiques,
dont les conséquences évaluées en temps-réel~ affmeront le diagnostic primitif et induiront
des corrections éventuelles voir un abandon pur et simple des décisions initiales (figure 8).
ETAT s O u H A I T E - - - - - -
1
ETAT REEL
0-~-T-IO-N-S-'--C-O-RR-E-C-TlVE-......~
L
~
ETAT APPARENT
l
@CaUISITIO~
figure 8: fonctionnement en feed-back du système.
40

CHAPITRE IV :
LE SYSTEME REA
résumé: les principes de base du système expert : l'organisation de la base de connaissance
et son exploitation sont détaillés.
IV.!) spécifications de l'environnement du système
le processus surveillé est défini par son état (constitué par les valeurs des paramètres), par
sa dynamique propre et par la dynamique induite sous l'influence d'une action quelconque.
Nous ne disposons pas d'un modèle de cette dynamique.
Le système de surveillance et de contrôle peut être considéré comme un agent qui agit
pour amener le processus dans un état souhaité et l'y maintenir. Ces états qui sont les buts
à atteindre doivent être connus.
De même, Il n'y a pas d'incertitude au sujet du but à atteindre par le système dans une
situation donnée.
Du fait de la complexité de l'environnement et du manque de modèle complet du
processus, il existe des incertitudes sur l'effet des actions menées ou conseillées par le
système. Il y a par contre des conjectures ou des présomptions sur les conséquences de ces
actions.
L'exécution d'une action (qu'elle soit une action corrective ou une action sensorielle)
requiert
un certain coût (temps, matériel, ... )
et induit en principe un certain effet
bénéfique connu sur le processus.
Le
système
de
surveillance
ne
peut
identifier
en
général,
l'état
complet
de
l'environnement. Il doit augmenter ses connaissances sur cet environnement par des actions
discrètes d'acquisition de mesures.
IV.2) principe du contrôle
Le principe du contrôle peut être schématisé par la figure 9 ci-dessous.
Le but à atteindre (objectif thérapeutique) détermine la nature de l'activité. Ce même
objectif définit une norme (quantitative); cette norme est comparée à l'état actuel du
système pour prendre des décisions.
Mais la plupart du temps, l'objectif général peut se décomposer en plusieurs objectifs
partiels qu'il est possible de hiérarchiser.
41

La réalité concrète du système est détenninée par les flux qui caractérisent les activités.
Les décisions prises interviennent en modulant l'intensité des actions vers telle ou telle
variable d'état.
Détermination de
l'objectif
l
DEaSIONI
1 NORME 1
1
l
Comparaison et
1
Evaluation
4
T
1 Détection et Mesures 1
./
(ACTIVITE )I-_--=-J
----..
figure 9 : le principe du contrôle
IV.3) éléments de base du système expert
IV.3.1) la base des faits :
Elle est constituée au départ par les valeurs courantes des paramètres qui caractérisent
l'état du processus (paramètres d'état). A ces valeurs, sont rajoutés un certain nombre
d'éléments servant à spécifier le contexte du processus (actions déjà menées, actions en
cours, ... ).
En cours de session, de nouveaux faits seront déduits tandis que d'autres disparaîtront
selon l'évolution du processus.
IV .3.2) la base de connaissance:
Le formalisme adopté est celui de la traduction de la connaissance de l'expert sur le
processus en un ensemble de règles de production de la forme:
Si < conditions> alors < conclusions>
42

Les conditions sont en général des tests particuliers sur les paramètres d'entrée du
système. Elles sont exprimées à la fois par les opérateurs usuels de comparaison « , > , ~ ,
... ) et par des prédicats ad-hoc (compris_entre, membre_de, ... ).
Les conclusions sont de plusieurs sortes et seront explicitées dans la suite.
Avec le formalisme (représentation sous forme de clauses Prolog) une règle a la forme
suivante:
R(N) :- Cl' Cz, ... ,Cn ' Co + Io Co + 2'···' Cn + p.
0 .. D2, ... , Op
où le premier membre R(...) est un prédicat unaIre umque dont l'argument indique le
numéro de la règle.
Les "n" premiers termes (C]oC2, ••• , Cn) du second membre représentent la partie
condition de la règle et les "p" derniers qu'on peut renommer D},D2, ••• , Dp représentent
non pas des conditions mais des déductions. Tous ces termes sont décrits sous forme
prédicative. Pour rendre apparente la distinction entre les conditions et les déductions et
pour la lisibilité des règles, l'écriture ci-dessus est légèrement transformée en introduisant le
prédicat AWRSO sans argument défini par la clause unique: "ALORSO."; prédicat dont
l'évaluation donne toujours "VRAI".
Une règle à donc la forme suivante:
R(N) :- CIo C2, .•• ,Cn ,
ALORS,
DIoD2, •.. , Op.
IV.3.3) le moteur d'inférence:
Il fixe le mode d'exploitation de la base des règles et de la base des faits.
Au départ, le moteur d'inférence utilisé consiste à tirer les règles une à une, dans l'ordre
et à les déclencher si leurs conditions sont vérifiées.
Les premières simulations ont montré que ce moteur est inadapté pour le fonctionnement
souhaité. Des aménagements ont du être portés à la fois sur la base de connaissance et sur
son mode d'exploitation.
IV.3.4) environnement de développement et langages:
Le système a été développé avec le langage PROLOG (Sicstus prolog) notamment pour
l'expression de la connaissance et son exploitation. D'autres parties du système comme
l'interface utilisateur, les acquisitions des données. certains calculs, ont été réalisées en
langage C et dans l'environnement XWINDOWS sous station de travail SUN.
43

IV.4) les différents types de connaissances:
Le système intègre plusieurs types de connaissances:
- les règles de type monitoring :
* règles servant à afficher des messages de types monitoring
exemple:
SI HYPOPERFUSION ET PCP > 18
ET DOBUTAMINE = 15 ET PH ART> 7.35
ET RYTHME CARDIAQUE CORRECT ET SA02 > 900
ALORS "ELIMINER LES ERREURS TECHNIQUES".
* règles servant à ordonner des examens complémentaires
exemple:
SIPH_ART < 7.35 ET PaC0 <
2
38
ET TC02 < 21 ET NON ACIDOSE EN COURS
ALORS "GAZOMETRIE A LA FIN DE LA PERFUSION".
- les règles permettant d'activer des objectifs
* règles de déclenchement de diagnostic
exemple:
SI HYPOPERFUSION ET PCP > 18
ALORS CHOC CARDIOGENIQUE.
* règles de déclenchement de thérapeutiques
exemple:
SI SYNDROME HYPERKINETIQUE ET DH < 50
ET EVOLUTION SATISFAISANTE
ET PAS DE FUROSEMIDE LES QUATRE HEURES AVANT
ALORS INJECTION DE FUROSEMIDES.
* règles de contrôle des effets d'une action thérapeutique
exemple:
Slà T+ 10
ET SYNDROME HYPERKINETIQUE
ET PERFUSION DE NORADRENALINE ET TA > 90
ALORS BAISSER LA POSOLOGIE DE NORADRENALINE DE 0.5
44

IV.5) Structure de la base de connaissance
IV.5.1) notion de protocole de correction
Lorsqu'un état anormal est détecté, l'objectif de la conduite est de faire converger cet état
vers un état souhaité (objectif thérapeutique) en mettant en oeuvre un certain nombre
d'actions. Cet objectif général est décomposable, le plus, souvent en plusieurs objectifs
partiels.
La conduite fait intervenir plusieurs procédures de conduite que nous appellerons
indifféremment stratégies thérapeutiques ou protocoles de correction.
Une stratégie
thérapeutique est la description détaillée d'une suite d'actions chronologiques concourant au
même objectif de correction.
Les instructions de la procédure adéquate doivent être appliquées pas à pas jusqu'à la
situation fmale souhaitée. Les étapes d'une stratégie de correction sont soumises à de
multiples contraintes (contraintes temporelles, contraintes d'évolution, ... ). Les étapes de
la procédure globale peuvent être comparées à un problème de cheminement dans un
graphe.
Dans une situation donnée, deux sortes de connaissances sont appliquées pour corriger les
déviations. Ce sont, d'une part, la détermination des stratégies adéquates à appliquer et
d'autre part, l'application des instructions détaillées des protocoles de correction retenus.
La première phase qui consiste à choisir les "bons" protocoles de correction à appliquer
constitue la tâche la plus importante.
il convient de séparer ces deux niveaux de la connaissance car outre le fait que cela
corresponde aux principes appliqués par l'expert, des difficultés dues, pour une large part, à
l'hétérogénéité des règles, sont apparues lors des première simulations avec une base de
connaissance à plat : ainsi sont apparus des conflits, des interactions indésirables entre
règles de nature hétéroclite rendant difficile le contrôle.
IV.5.2) organisation hiérarchique de la base de connaissance:
Le principe du contrôle comporte plusieurs phases (voir figure 10) : l'acquisition des
mesures, la caractérisation de la situation et la détennination des actions correctives.
Nous avons utilisé une décomposition hiérarchique pour décrire la base de connaissance.
Elle est découpée en modules (sous-bases) qui seront lancés les uns à la suite des autres.
Cette hiérarchisation n'était pas obligatoire mais elle présente de nombreux avantages.
Notons que certaines parties du problème ne se prêtent pas à une hiérarchisation figée.
Nous avons adopté pour ces parties une structure plus ouverte faisant intervenir notamment
des méta-règles pour les contrôler.
La décomposition de la base de connaissance (figure 10) n'a pas été faite de façon
artificielle. Elle tient en effet compte des différentes phases (diagnostic, actions) du contrôle
45

et du concept de procédure de correction qui fournissent de bons critères de regroupement
des règles.
-'p_a_ra_m_è_tr_es-i(::_-_-:;i==D=ia=g=n;:;os=ti::;;C=1====-~-=-,+---.-Œi3
1
1 é~at 1 vues 1
Détermination Tab. cliniques
&
Stratégies de correction
incompatibles
l
Electeurs
rotocole but
figure 10: structure hiérarchique de la base de connaissance
TV.5.2.1) niveau 1: la caractérisation de la situation
Le premier niveau de la structure hiérarchique correspond à la sous-base regroupant
l'ensemble des règles ayant une fonction de diagnostic. Ces règles se rétèrent pour
l'essentiel aux paramètres d'état. Leur exploitation par le moteur d'inférence fournit un
diagnostic caractérisant l'état courant du processus. Ces règles constituent en fait un
découpage de l'espace paramétrique en domaines (voir chapitre VI). Les diagnostics sont
regroupés dans une base de faits que nous appelons "VUES" et dont le contenu est évolutif
compte tenue de la dynamique du processus.
Le processus de diagnostic, ici, se différencie des systèmes classiques de diagnostic, en ce
qu'il intègre une dimension temporelle dans Je raisonnement (raisonnement sur l'évolution
des paramètres, sur les tendances, ... ).
D'autre part, la dynamique du processus induit un mode de raisonnement non monotone.
46

Pour évaluer l'état de choc du sujet, il est nécessaire de surveiller l'oxygénation tissulaire
et les circulations locales de même que la fonction cardio-eirculatoire centrale, l'échangeur
pulmonaire et l'équilibre acido-basique. Chacune de ces fonctions est explorée et analysée à
partir d'un certain nombre de paramètres choisis parcequ'ils constituent des critères
objectifs et qu'ils sont disponibles assez souvent, ainsi qu'à partir de l'évolution de quelques
uns de ces paramètres avec le temps.
Quelques détails sur cette phase de diagnostic sont donnés dans l'annexe A3.
IV.5.2.2) niveau 2 : la détennination des candidats
Ce groupe de règles exploite la caractérisation issue du diagnostic. Il établit les différentes
configurations rencontrées appelées "tableaux cliniques", détennine les buts à atteindre en
fonction de ces situations et propose des stratégies thérapeutiques à mettre en oeuvre pour
atteindre ces buts. Cette phase du raisonnement est très importante car, dans le processus de
conduite, la détennination des procédures de correction
est plus importante que la
description détaillée de ces procédures.
L'ensemble des protocoles retenus constitue les stratégies candidates qui sont regroupées
dans une base de données "CANDIDATS". Ces règles ont la fonne générale:
SI < conditions> alors proposer( < stratégie> ,buts), .,.
Le niveau 2 produit comme sorties, un ensemble de procédures de correction associées à
des objectifs précis. Chacune de ces procédures est décrite sous la fonne d'un groupe de
règles.
IV.5.2.3) niveau 3 : les électeurs
Le troisième niveau a pour fonction d'élire parmI
les candidats,
les stratégies
thérapeutiques à mettre en oeuvre, autrement dit, les groupes de règles à activer
effectivement. Les règles de ce niveau assument, de fait, la fonction de résolution des
conflits à la différence, qu'ici, l'arbitrage se fait entre des groupes de règles et non pas
entre des règles isolées.
Les sorties à la fin de cette phase sont un sous-ensemble de l'ensemble des groupes de
règles candidats. Les groupes de règles élus sont activés c'est à dire qu'ils sont inclus dans
la base de règles courante.
Dans le fonnalisme choisi, un groupe de règles se présente sous la fonne d'un ensemble
de clauses associées à un prédicat unique. Son activation s'apparente au APPLY de certains
LISP.
L'élection
utilise
une classification
faisant
intervenir
les
notions de
priorité et
d'incompatibilité. Son principe est décrit au §7.
IV.S.2A) niveau 4 : les stratégies correctives
Ce dernier niveau regroupe les descriptions détaillées de la plupart des procédures de
correction. Il détermine la suite d'actions chronologiques à réaliser lorsqu'une procédure
47

particulière est activée.
Ces actions sont soumises très souvent à des contraintes
temporelles.
IV.5.2.S) avantages de cette organisation hiérarchique
Cette hiérarchisation de la base des connaissances n'était pas obligatoire maIS elle
présente plusieurs avantages:
Exprimées ainsi, les connaissances sont plus maîtrisables et l'étude de la cohérence de la
base des connaissances est rendue moins difficile. En effet, il faut assurer dans un premier
temps la cohérence de chaque groupe de règles - donc des bases de règles de taille
relativement petite - avant de considérer la totalité de la base de connaissance.
n y a moins d' indétenninisme dans l'inférence; et les interactions indésirables entre les
règles sont détectables plus aisément.
le temps de réponse du moteur d'inférence est réduit de façon sensible. A un instant
donné, le moteur ne traite que les groupes de règles concernés par la situation en cours,
c'est à dire les groupes de règles ayant le statut "actif'.
La base des règles active est toujours strictement inférieure en taille à la base complète à
cause de l'incompatibilité de certains groupes de règles.
L'accès associatif aux connaissances, un des principaux facteurs du temps de réponse
médiocre des systèmes à bases de règles, est donc quelque peu atténué.
Notons enfin, que cette présentation de la base des connaissances est conforme au mode
de raisonnement de l'expert.
Les notions de procédures de correction et de priorité intégrées dans le raisonnement
fournissent naturellement un paradigme de groupement des règles comparables à l'utilisation
des "rules groups" de HHRuies [Weiss, 79].
Les connaissances utilisées étaient supposées sûres. Nous n'avons donc pas intégré de
raisonnement incertain du type de ceux décrits dans [Dubois&Prade, 85].
Les incertitudes au niveau des effets réels des actions correctives menées, sont prises en
compte par les notions de succès (total ou partiel) et d'échec liées au principe du
raisonnement par test thérapeutique et à la détermination à posteriori des conséquences des
décisions prises.
IV.6 ) exemples de règles :
- règles de diagnostic:
R_diagnostic(37) :- comp(PAPO," >" ,20), comp(pod, " > =",10),
comp(is," >" ,40), comp(pam," > ",82),
ALORS, diagnostic(surcharge_cardioyulmonaire).
48

- proposition de stratégies thérapeutiques :
* R_TH(56) :- degré(pam,O),
diag_courant(hypoxie_tissulaire)
comp(1actatémie," > ",2),
ALORS,
choix_th("V02_CHALLENGE" ,(vo2]).
Cette règle stipule que dans la situation décrite par les tennes situés avant le prédicat
"alors" c'est à dire : une pression artérielle de rang 0 (pam normale), une lactatémie
supérieure à 2 et un état d'hypoxie tissulaire, il faut envisager la stratégie de correction
"V02_CHALLENGE" avec pour but principal, la nonnalisation du paramètre "V02"
L'application effective ou le rejet de ce protocole sera décidé lors du mécanisme
d'élection. Une même règle peut faire plusieurs propositions comme sur l'exemple suivant:
* R_TH(150);- diag_courant(défaillance_coeur~auche),
degré(dC,3),
in(pam,[40,60]),
ALORS,
choix_th(" DOPAMINE" ,[pam]),
choix_th( "DOBUTAMINE" ,[pam,ic]).
- exemple de protocole de correction
V02_CHALLENGE
:
l'objectif
du
V02_CHALLENGE
est
de
maintenir
la
consommation d'oxygène (VÜ2) dans une fourchette de 170 à 200 mUrnn/m2
R_vo2_challenge( 1) :- passé(vo2_challenge, 10),
comp(ivo2, " < ", 170),
comp(PAPO," <",12),
ALORS,
params(poids,P), Volume is P*lO,
maj(vo2_challenge, Volume),
thérapeutique( vo2_challenge),
ti me(vo2_challenge).
R_vo2_challenge(2) :- passé(vo2_challenge, 10),
comp(ivo2, .. < ",170),
comp(PAPO, ">",12),
ALORS,
choix_th(dobutamine,[ vo2l).
49

R_V02_challenge(3):- comp(iv02," >" ,200),
diag_courant(hypoxie_tissulaire),
comp(lactatémie," >" ,2),
ALORS,
m_thérap(" indication ventilation artificielle"),
m_therap("antimédiateur : baisser la demande").
La clause R_V02_challenge(2) montre qu'un protocole de correction peut faire référence
à un autre protocole considéré comme un "sous-protocole".
Quand une même règle du niveau deux propose plusieurs stratégies de correction, le
mécanisme d'élection les considère indépendamment les unes des autres. Ce qui compte,
c'est l'objectif qui leur est individuellement assigné.
IV.7) Notions de priorité et intégration au raisonnement
IV.7.1) prise en compte des priorités de correction
La notion de priorité, quoique non spécifique à la surveillance, a une importance
particulière dans les systèmes de contrôle. Dans certains systèmes. cette notion est intégrée
directement aux règles sous la forme d'un nombre exprimant l'importance de la règle.
Une autre approche importante, est l'utilisation de méta-règles pour gérer cette notion de
priorité.
Dans le cas du système REA, la méthode qui fixe une priorité, une fois pour toute, au
différentes règles n'est pas possible du fait de la dynamique du processus.
Nous avons intégré dans les règles, non pas les priorités, mais des éléments qui
permettent de calculer, de façon dynamique, les priorités à associer aux différents groupes
de règles, priorités qui sont exploitées par le mécanisme d'élection.
Cette notion utilisée dans le raisonnement est relative aux groupes de règles associés aux
différents protocoles de correction.
Les règles de deuxième niveau qui proposent des protocoles de correction intègrent le but
assigné au protocole. C'est cet élément qui permet le calcul de la priorité du protocole en
question.
IV.7.2) score de gravité d'un état
La notion de priorité d'une procédure de correction est étroitement liée à la gravité de la
situation à corriger. Pour apprécier cette situation, il faut considérer les écarts des valeurs
courantes des paramètres par rapport aux valeurs normales.
Un certain nombre de paramètres "vitaux" pour lesquels une fourchette de normalité peut
être définie, ont été choisis.
Les écarts observés par rapport à cette fourchette, permettent de définir quatre classes de
gravité fixant l'ordre de priorité des procédures thérapeutiques et donc les objectifs
thérapeutiques.
50

Soit P l'ensemble des paramètres P= {Pl, P2' .... Pn}'
posons D = {-4, -3, -2, -l, 0, 1,2,3, 4}
On définit la fonction :
fi: P x R -------- > D
fl(Pi,v) = d avec Pi e P , veR, de D signifie que:
si la valeur du paramètre Pi est v, alors, par rapport à ce paramètre, la situation présente
un degré de gravité égal à "d".
Les valeurs négatives de "d" indiquent le fait que la valeur du paramètre est inférieure à
la normale; les valeurs positives indiquent au contraire, un niveau supérieur à la normale.
Comme chaque paramètre est défini sur un intervalle fini de R, cette fonction n' est, bien
sûr, pas définie pour toute valeur v de R. En pratique, pour un paramètre donné, les degrés
de gravité sont associés à des intervalles. On introduit donc la fonction f2 suivante:
f 2 : Px R2 -------- > D
Pour Pi e P, (al ,a2) e R2 avec al ::; a2' d e D,
f 2(Pi, (aba:z» = d veut dire qu'une valeur du paramètre Pi comprise dans l'intervalle
[aba2], associe à la situation en cours, une gravité égale à "d" relativement à ce paramètre
Pi·
La fonction fi peut se définir par l'équivalence :
V peP, V veR, V d e D,
fl(p,v) =d <===> 3(aba:z)eR2/
al ::;v::;a2; f 2(p,(al,a2» = d
Nous utilisons plutôt la fonction f2 plus condensée, qui peut se résumer sur un tableau de
la forme:
1 gravité 1
4
3
2
1
0
1
2
3
4
PAM
160
130
110
70
50
0
(mmHg)
400
159
129
109
69
49
FC
180
140
110
70
55
40
0
(bl. mn-l)
400
180
139
109
69
54
39
...
...
...
figure Il : structure du tableau des scores de gravité
Le tableau récapitulatif des degrés de gravité utilisés dans le système est donné dans
l'annexe A2-
51

Ce tableau se lit comme suit:
La ligne n° 1 relative à la pression artérielle moyenne signifie que si la pression du sujet
est supérieure à 160 mmHg ou si elle est inférieure à 49, alors, par rapport à ce paramètre,
le degré de gravité du sujet est de 4 (gravité la plus élevée).
Si la pression prend une valeur entre 110 et 129 ou entre 50 et 69, alors, le degré de
déviation est de 2. Un valeur entre 70 et 109 corresJX>nd à une situation normale (degré 0).
La fonction f 2 vérifie la condition suivante:
Cela traduit le fait - évident-, que chaque paramètre admet nécessairement une fourchette
de valeur qui corresJX>nd à un bon fonctionnement, c'est à dire, à la normalité.
Cette condition ne peut pas être généralisée aux autres degrés de gravité:
L'assertion:
V P, V de D, 3 (altaV e R2 tel que al ~ a2 et f 2(p, (al ,aV) = d. est fausse.
Pour une situation
S donnée,
où les paramètres (PltP2' ... 'Pn) ont les valeurs
(slt~, ... ,Sn), on peut calculer le score de gravité totale:
r(s) = E 1crI (Pi,Si)) 1
i= l, n
Si l'on associe une imJX>rtance relative Ài à chaque paramètre Pi, on a :
f(S) = E Ài 1(fI (Pi ,Si)) 1·
i= l, n
La valeur ainsi obtenue est bien plus significative que celle qu'on obtiendrait en utilisant
la notion de distance euclidienne par rapport à une situation normale car elle tient compte
des bornes de variation spécifique de chaque paramètre. De plus, les résultats obtenus sont
plus fins en ce sens qu'ils fournissent "des scores de gravité partiels" c'est à dire relatifs à
chaque paramètre.
IV.7.3) valeur dl une action
Le tableau des scores de gravité est exploité par les "électeurs" pour fixer de façon
dynamique (en fonction de l'évolution des paramètres), les priorités à associer aux
différents groupes de règles.
Nous ne disposons pas des probabilités de succès Px des différents protocoles de
correction teUes que définies au chapitre 1. Nous définissons donc subjectivement la valeur
d'une action, à partir de l'objectif qui lui est assigné. Elle ne peut pas être fixée à priori et
une fois pour toute, car elle dépend de la situation courante. Elle sera définie sous la forme
52

d'une priorité à partir de la situation courante et de la fonction de gravité fi définie plus
haut. Pour une situation S= (sl,8:2, ... , sn) donnée, la valeur d'une action A est:
VS(A) = f(S,f l )·
= E (r1(Pi,si»
Pi G BUT(A)
où BUT(A) est l'ensemble des paramètres que le protocole A est chargé de normaliser.
Ces valeurs sont fixées en faisant un rapprochement entre les degrés de gravité courants
des différents paramètres et les buts associés aux différents groupes de règles. Ces buts sont
représentés par une liste de paramètres que les stratégies concernées sont sensées
normaliser. Ainsi, le protocole V02_cha1lenge, donné en exemple, est chargé de la
normalisation du paramètre V02; son but est donc une liste contenant ce paramètre.
Les paquets de règles prioritaires sont en principe ceux pour lesquels les buts à atteindre
correspondent aux paramètres ayant les degrés de perturbation les plus élevés en valeur
absolue, au moment où on envisage leur activation.
Les objectifs des différents protocoles ont été bien ciblés et limités aux principaux index
de gravité corrigés. Les listes de paramètres correspondants contiennent en général moins de
trois éléments. Cela permet de mettre l'accent sur les objectifs les plus importants mais
aussi de favoriser, dans le principe d'élection, les paramètres les plus perturbés. Un choix
plus large aurait avantagé les protocoles ayant les listes les plus longues.
IV.8) principes de Il élection et classification des groupes de règles
candidats
IV.8.1) objectif
La phase trois du raisonnement
consiste en la classification et l'élection d'un sous-
ensemble des groupes de règles proposés en candidature. Le but de cette section est de
détailler le principe de cette élection qui peut être vue comme une généralisation de la phase
résolution des conflits dans le cycle classique d'inférence.
Les groupes de règles concernés sont associés à des procédures de correction. La phase
élection retient en général plusieurs groupes de règles.
"L'élément directeur" de l'élection est de dégager un plan d'action optimal, c'est à dire
un ensemble de procédures de correction à lancer, qui soit optimal vis à vis de la situation
courante.
Quand on décide d'appliquer une action donnée, on rend, en général, impossible
l'exécution d'un certain nombre d'autres actions (incompatibilité) dans le cycle courant et
même probablement pendant un certain temps. Or le principe du raisonnement est basé sur
la notion de tests thérapeutiques; il faut donc, si possible, minimiser les blocages des
53

actions. Autrement dit, à valeur égale, il faut privilégier les actions ne s'opposant pas à
l'exécution des autres actions ou qui présentent, en tout cas, le minimum d'opposition.
L'objectif global de correction est divisible, souvent, en un ensemble de sous-objectifs
dont certains présentent un caractère urgent donc prioritaire. Il faut tenir compte de ces
priorités relatives.
D'autre part, le plan d'action devrait couvrir le maximum possible de sous-objectifs si
l'objectif global ne peut être traité de façon totale dans l'immédiat.
Ces considérations permettent d'établir que le plan d'activation retenu devra vérifier
notamment les trois conditions suivantes:
- tous les éléments de l'ensemble des stratégies élues doivent être compatibles deux à
deux. Cette notion de compatibilité est élucidée plus loin. On assure, ainsi, l'activation de
groupes de règles non conflictuels et la prévention d'interactions indésirables entre les
différentes parties de la base de connaissance.
- l'ensemble des protocoles élus doit prendre en compte le maximum de déviations
- les corrections prioritaires doivent être privilégiées.
IV.8.2) les éléments à prendre en compte
On dispose d'un ensemble S = {SI, S2' ... , Sp} de protocoles de correction,
d'un ensemble A= {al> al> ... ,Cln} de grandes classes d'actions (classes thérapeutiques).
Une relation d'incompatibilité est définie sur l'ensemble A:
j : A ----- > A.
(<li'a.ï) E j si <li et ~ ont des effets antagonistes.
On définit aussi une relation de S sur A:
A: p ----- > A. La relation Aassocie à tout protocole de correction Si, les actions qu'il
exerce.
(Si,~) e A veut dire que le protocole Si exerce l'action ~ (le protocole Si
appartient à la classe thérapeutique <ij). Un protocole peut appartenir à plusieurs classes
thérapeutiques.
Ces deux relations peuvent être résumées sous la forme de deux matrices de la forme
suivante:
A
al
vaso-
a3
...
3.n
A
dilatateur
al
X
al
X
X
vasopresseurs
X
...
an
X
X
figure 12 : matrice d'incompatibilité des classes d'action
54

classe
inotropes
vasopress
protocole
al
eurs
...
an
sI
X
X
s2
X
dopamine
X
X
...
Sp
X
X
figure 13 : tableau associant les protocoles de correction aux classes d'action
Le premier tableau, indique, par exemple, que les classes thérapeutiques "vasopresseur"
et "vasodilatateur" présentent un antagonisme d'action. Le deuxième tableau indique, quant
à lui, que la dopamine fait partie de la classe des vasopresseurs et de la classe des inotropes.
Par composition des deux relations A. et J, on induit une relation d'incompatibilité Jp sur
l'ensemble des procédures d'actions: Jp : S -----> S.
(Sj,S) e Jp < = = = > 3 (ai,aj) e A2 tel que:
(Si,ai) e A. et (Sj,aj) e A. et (ai,aj) e J
La relation Jp peut être matérialisée également sous la forme d'une matrice d'incidence
similaire aux deux premières.
IV.8.3) algorithme de classification et d'élection
L'élection commence par une classification des différentes stratégies suivant leur ordre de
priorité respectif. Ensuite le choix peut être décrit par l'algorithme suivant:
procédure élection
début
CANDIDATS < ------ ensemble des candidats;
ACTIFS < ------ ensemble des protocoles de correction déjà actifs;
ELUS = {};
tant que CANDIDATS < > {} faire
début
T < ------ ensemble des éléments de priorité maximale dans CANDIDATS;
ELUS < ------ ELUS U RESOUDRE_CONF(ACTIFS,ELUS, T);
CANDIDATS < ------ CANDIDATS - T;
fin tant-que
fin élection
A la fin de la procédure, la variable" ELUS" contient la liste des protocoles retenus pour
être acti vés.
La
fonction
RESOUDRE_CONF(ACTIFS,ELUS,T)
calcule
le
sous-ensemble
S
d'éléments de T à rajouter à l'ensemble ELUS.
55

Conformément aux critères définis plus haut, tout élément de S doit être compatible avec
n'importe quel élément appartenant à l'ensemble "ELUS" ou à l'ensemble des groupes déjà
actifs (regroupés dans la base "ACTIFS").
De plus S doit être maximal en terme de cardinal.
Il faut donc éliminer de T, tout élément incompatible avec au moins un élément de ELUS
ou un élément de ACTIFS et rechercher un sous-ensemble maximal à partir de l'ensemble
obtenu en appliquant le principe suivant:
Soit T un ensemble de stratégies de même priorité. On recherche un sous-ensemble
maximal d'éléments compatibles deux à deux:
Soit le graphe G=(T,I), la restriction de la relation Jp aux éléments de T, c'est à dire le
graphe ayant pour sommets les éléments de T et tels que l'ensemble 1 des arêtes (les
orientations sont négligées) est défini par :
1 = { (Si,Sj) / (Si,Sj) eT et (Si,Sj) e Jp }
On modifie G de façon itérative par la fonction "REDUIRE" jusqu'à l'obtention d'un
graphe dont tous les sommets sont isolés; la fonction REDUIRE élimine à chaque itération
un sommet du graphe G. L'ensemble des sommets restants constitue alors un ensemble de
protocoles de T compatibles deux à deux.
REDUIRE(G=(T,I»
début
tant que 1 < > {} faire:
début
choisir Xi un sommet d'incidence maximale dans G;
G < ----- G\\T-{Xi};
/* éliminer Xi et tous les arcs incidents à Xi */
fin tant que
fin
RESOUDRE_CONF(ACTIFS,ELUS,T)
début
T < ----- T-{ti/ti eT et 3 Si e (ELUS U ACTIFS) et (Si, ti) e Jp };
G < ----- (T,I);
(T,I) < ----- REDUIRE(G);
retoumer(T) ;
fin
IV.8.4) Exemple:
soient {SI' S2, S3, S4, S5, S6, S7, S8} la liste des procédures candidates. Supposons que
la classification ait donné l'ordre de priorité suivant:
56

priorités
décroissantes
figure 14 : les priorités
SI, S2, S6 et Sg ont la même priorité.
Considérons, par ailleurs, le graphe d'incompatibilité suivant:
@----\\@i----@
®
/
@--@
figure 15 : graphe d'incompatibilité
Supposons, enfin, qu'aucun groupe de règles associé aux protocoles n'est actif (la liste
ACTIFS = {}).
Les ensembles suivants seront construits par itération:
Le troisième sous-ensemble {SS,S7,SbSg} correspond au traitement de l'ensemble
{SbS2,S6,Sg} avec comme élus [SS,S7]. S2 est éliminé car il est incompatible avec S7· S6
est éliminé par appel de la fonction REDUIRE appliquée sur le graphe composé par les
sommets restants {SI,S6,Sg}.
Le traitement de {S3} ne change pas l'ensemble des élus temporaires {SS,S7,St>Sg} car S3
est rejeté pour cause d'incompatibilité avec Ss et SI
remarques :
- Nous avons limité l'élection aux seuls candidats. Un groupe de règles déjà actif n'est
pas directement remis en cause ou rejeté par le processus d'élection. Il doit passer d' abord
par une phase de désactivation opérée par des règles de contrôle (voire paragraphe gestion
57

des groupes). Nous allons montrer l'intérêt de cette limitation dans le cadre de la résolution
du problème de l'instabilité des commandes.
- Ce principe d'élection a tendance à cacher les incohérences du système. En sortie du
système d'élection, l'ensemble des propositions obtenu est toujours cohérent. Mais ceci ne
garantit pas que l'ensemble de la base de connaissance chargé de déterminer les candidats
est cohérent. Certains conflits sont normaux tandis que d'autres traduisent une incohérence.
Il convient donc d'étudier non pas l'ensemble des propositions - qui sont cohérentes par
construction - mais plutôt l'ensemble des candid:lts.
IV.9) Gestion des différents groupes de règles:
IV.9.1) statut et mode d'exploitation des différents groupes de règles
Les différents niveaux de la hiérarchie des connaissances, définis plus haut, correspondent
à des groupes de règles qui sont exploités différemment lors du cycle d'inférence.
Les deux premiers niveaux (diagnostic, propositions) sont mis en oeuvre à chaque cycle
du moteur. Chaque règle applicable est déclenchée. On applique donc un moteur
d'inférence à saturation sur ces deux paquets de règles.
Les électeurs "statuent" ensuite sur les candidats suivant la procédure d'élection décrite
précédemment.
Ces trois sous-groupes sont des éléments permanents de la base de connaissance active.
Les autres groupes de règles, correspondants à la description des étapes des différentes
procédures de correction, ne sont activés, c'est à dire, rajoutés dans la base des
connaissances que quand ils sont élus. Le contenu de la base de connaissance active est donc
défini dynamiquement.
- les règles d'arrêt
Le problème des règles d'arrêt est important, car nous avons constaté lors des premières
simulations, que certains protocoles de correction, une fois lancés, ne s'arrêtaient pas au
bon moment. Les groupes de règles associés à ces protocoles restaient indûment actifs et
produisaient des résultas erronés, c'est à dire des conseils inadaptés à la situation courante.
Ce mauvais fonctionnement -opposé du problème d'instabilité des conseils- était dû à la
mauvaise spécification des contextes d'arrêt des différents protocoles. En particulier,
l'omission de certains contextes d'arrêt peut entraîner un fonctionnement anormal.
Or la disqualification des protocoles a été dissociée du processus d'élection. il faut donc
définir méticuleusement, pour chaque groupe de règles, ses contextes de désactivation.
Pour gérer les entrées et sorties de ces groupes dans la base de connaissance, nous avons
défini des prédicats spéciaux :
58

- ACTIVER, STOPPER, SUSPENDRE : assignent un statut actif, arrêté (inactif) ou
suspendu, aux différents groupes.
- SUCCES, ECHEC: jugent des résultats obtenus par l'exécution d'un protocole.
a) activation: tout groupe de règles non actif est activé quand il est élu, c'est à dire, qu'il
est rajouté dans la base de connaissance active. L'activation est donc normalement
équivalente à l'élection.
b) désactivation : pendant de l'action précédente, la désactivation correspond à la
disqualification d'un groupe de règles ayant le statut actif ou suspendu.
c) suspension: un groupe de règles actif peut être "mis en entente" pour un temps spécifié.
Le groupe reste dans la base active, mais il est masqué (inhibé) jusqu'à l'apparition d'un
certain événement, le plus souvent, un événement timer, sous la forme d'une contrainte
temporelle spécifiant un délai à observer avant de pouvoir juger des conséquences des
actions conseillées par les groupes de règles.
Il existe plusieurs raisons de désactivation des règles:
- la raison la plus immédiate correspond au fait que tous les buts assignés au groupe de
règles en question, au moment de son activation, sont atteints. Cela correspond à un arrêt
consécutif à l'atteinte du but visé (un succès).
- les buts ont été partiellement atteints et/ou ne représentent plus une priorité.
- la troisième raison découle du fait que le système a évolué vers un état qui ne permet
plus l'application "sans danger" du groupe de règles (cas de surdosage par exemple). C'est
un "arrêt urgent" décrété par des règles d'arrêt.
- la dernière raison correspond au constat d'un échec. Après plusieurs tests, il s'avère que
la stratégie retenue n'est manifestement pas la bonne. Le groupe de règles en question est
désactivé au profit, éventuellement, d'un autre groupe, lors des prochaines inférences. C'est
le principe même du test thérapeutique. Cette
notion d'échec doit être correctement
caractérisée.
Certaines de ces causes d'arrêt sont décrites sous forme de règles spécifiques - dites règles
d'arrêt - et sont incorporées directement dans les paquets de règles concernés. Il s'agit d'un
arrêt local qui concerne essentiellement les troisième et quatrième types de causes.
Les arrêts dûs aux deux premiers types de causes sont décidés en général par des méta-
règles et non par les règles d'élection qui travaillent en amont.
Les arrêts correspondant à un succès nécessitent qu'on puisse déterminer à un instant
donné, si tous les buts assignés à une stratégie sont atteints. Dans notre représentation, cela
revient à vérifier que les paramètres, dont le protocole en question se proposait de corriger
les déviations, ont pris des valeurs "acceptables", c'est à dire, en général, des valeurs qui
correspondent à des degrés de gravité O.
59

Les méta-règles qui réalisent ces arrêts (et donc réduisent la base des règles active)
devront notamment être synchronisées avec l'anivée de nouvelles mesures de paramètres.
IV.9.2) spécification du succès et de l'échec d'un protocole de correction.
Dans la majorité des cas que nous avons traités, une procédure de correction peut être
modélisée comme l'application, sous certaines conditions, d'une ou de plusieurs actions,
avec une intensité croissante (figure 16). Une intensité maximale est définie, qui correspond
à l'intensité ou à la dose d'échec. L'échec correspond, alors, à l'atteinte de cette intensité
maximale sans que l'objectif ne soit atteint, ne serait-ee que partiellement.
Intensité
Intensité
Intensité Max.
échec
Intensité Max.
succès
diminution
ou arrêt
entretien
ou arrêt
t
t
a)
b)
figure 16 : principe général d'une procédure de correction
L'échec d'un stratégie S peut être défini comme suit:
La stratégie S a été appliquée jusqu'à son intensité maximale, sans que les buts qui lui
étaient assignés aient été atteints, autrement dit, le groupe de règles associé reste toujours
un candidat à l'activation.
Sous forme de clause, l'échec est défini par:
ECHEC(X):- ACTIF(X)
CANDIDAT(X),
Intensité_max(X, Max),
Intensité_courant(X, Max).
Le succès est défini par le fait que le groupe actif a atteint son but et n'est donc plus
candidat. Il est spécifié par la clause:
SUCCES(X) :- ACTIF(X),
not(CANDIDAT(X».
60

exemples :
unité
posologie
posologie
augmenter
diminuer
entretient si
initiale
d'échec
par palier de par palier de si succès
adrénaline
mcg.kg
0.1
3
0.5
0.5
perfusion
.mn
continue
dobutamine
mcg.kg
5
20
5
5
.mn
dopamine
mcg.kg
5
20
5
5
perfusion
.mn
continue
dopexamine
mcg.kg
1
4
1
1
perfusion
.mn
continue
énoximone
mcg.kg 1 mg.kg
3 mg.kg
0.5 mg.kg
0.5 mg.kg
dose initiale
en 20 mn
par bolus
par
bolus par
dose efficace
toutes les
d'entretient
toutes les 6h
30 mn
figure 17 : tableau des posologies et critères d'arrêt de quelques protocoles
* DOBUTAMINE :
Les règles 1 et 2 décrivent des contextes où il faut arrêter de façon immédiate le
protocole:
R_Dobutamine(l) :- actif(dobutamine),
in(fc, [40,54]),
ALORS,
STOP(dobutamine).
R_dobutamine(2) :- actif(dobutamine),
compc(tachycardie," =" ,sinusale"),
comp(fc," <" ,40),
alors,
STOP(dobutamine).
initialisation du protocole: dose de charge 5 unités
r_dobutamine(3) :- actif(dobutamine),
comp(dobutamine," ~ .. ,0),
comp(svo2," < ",60),
alors,
maj(dobutamine,5),
thérapeutique(dobutamine),
time(dobutamine).
61

augmentation progressive de la dose
r_dobutamine(4) :- actif(dobutamine),
passe(dobutamine,1O),
comp(dobutamine," <",20),
comp(fc ," >" ,54),
comp(sv02," < ",60),
alors,
param(dobutamine,Dose),
NlleD is Dose + 5,
maj(dobutamine,NlleD),
thérapeutique(dobutamine),
time(dobutamine).
r_dobutamine(5) :- actif(dobutamine),
passe(dobutamine,lO),
échec(dobutamine),
alors,
maj(dobutallÙne,20),
thérapeutique(dobutamine),
time(dobutamine).
L'objectif est atteint. On procède à un sevrage, c'est à dire à une diminution
progressive de la dose.
r_dobutamine(6) :- actif(dobutamine),
passe(dobutamine, 10),
succès(dobutamine),
alors,
param(dobutamine,Dose), NlleD is Dose-5,
maj (dobutamine, NlleD) ,
thérapeutique(dobutamine),
time(dobutamine).
IV.I0) les différents éléments du système :
IV.IO.l) le tableau de bord:
Il permet la visualisation, dans plusieurs zones écran, de différents types de sorties du
système et d'informations relatives à la situation en cours.
Les éléments suivants sont fournis dans les différentes zones:
62

- hiérarchisation des paramètres, diagnostic de gravité:
Dans cette partie, le système classifie un certain nombre de paramètres vitaux selon leur
degré de perturbation. Ce tableau donne donc une vue synthétique sur la situation courante
du sujet. Il constitue, en outre, une base de justification des stratégies correctives proposées
et leur ordre (voir paragraphe principe de l'élection). Le score de gravité total associé à la
situation courante est aussi indiqué dans cette zone.
- diagnostic antérieur:
Cette zone regroupe l'ensemble des diagnostics établis (et entérinés) lors du cycle
précédent. Il permet d'apprécier rapidement les changements qui se sont produits, depuis
lors, en faisant la comparaison avec les nouvelles propositions diagnostiques.
- thérapeutiques en cours :
Cette rubrique présente l'ensemble des actions thérapeutiques qui ont été engagées et qui
n'ont pas encore été arrêtées.
Ces actions déjà engagées sont, bien-sûr, prises en compte par le mécanisme d'inférence.
- les propositions du système:
Les diagnostics établis par le système et les actions correctives retenues sont envoyés dans
deux zones distinctes.
Un filtrage sur les sorties du processus d'inférence est parfois nécessaire (élimination de
messages en double ou peu utiles dans le contexte courant, différenciation des diagnostics
intermédiaires et terminaux).
Au delà des propositions du système, le clinicien accède à une liste non exhaustive de
médicaments qui sont regroupés en classes thérapeutiques, lui permettant, ainsi, une liberté
totale de choix.
- les messages:
Des messages à orientation diagnostique, thérapeutique ou de monitorage (demande
d'explorations complémentaires, demande de confirmation d' un diagnostic plausible,
demande d'arrêt de certaines actions en cours qui ne correspondent plus à la situation, ... )
sont affichés dans cette zone.
La plupart de ces messages incorporent, en guise d'explication, les raisons qui ont motivé
la requête ou la proposition exprimée dans le message.
- visualisation d'état et évolution
Après chaque bilan hémodynamique, le système matérialise automatiquement, sur des
diagrammes, les coordonnées paramétriques des patients.
Certains diagrammes sont prédéfinis (courbe de fonction cardiaque gauche, diagramme de
Davenport, index cardiaque et résistance vasculaire systémique, ... ) mais l'évolution dans le
temps de n'importe quel paramètre peut être visualisée.
63

- les paramètres :
Le système "REA" prend en compte un nombre important de paramètres comprenant
l'ensemble des renseignements fournis par le cathétérisme de l'artère pulmonaire et les
paramètres de surveillance habituels en réanimation. Ces paramètres peuvent être mesurés
ou calculés, de nature quantitative ou qualitative (voire Annexe A}).
L'ensemble de ces paramètres est visualisé dans l'ordre habituel utilisé par le clinicien.
IV.10.2) explication:
Le
système inclut un mécanisme assez rudimentaire d'explication ou plutôt de
justification. L'utilisateur peut demander la justification d'une proposition diagnostique ou
thérapeutique.
En ce qui concerne les diagnostics, le système rappelle simplement les prémisses des
règles qui ont abouti à ce diagnostic.
Pour les thérapeutiques, il est rappelé, outre les prémisses des règles qui les ont activées,
les buts assignés à ces thérapeutiques. Rappelons que ces buts font partie du processus
d'inférence.
La plupart des messages en sortie mentionnent également leurs motivations.
exemples:
- le diagnostic obstruction pulmonaire découle des faits suivants:
défaillance_coeur_droit,
papo < 20,
mpap> 25
- confirmer une tamponnade cardiaque par échocardiographie
- contrôler la glycémie
- modifier le réglage de la ventilation mécanique car tamponnade gazeuse.
64

CHAPITRE V:
TRAITEMENT DE QUELQUES SPECIFICITES DU SYSTEME
résumé : présentation de différents aspects du système (expression des protocoles de
correction, raisonnement temporel, non monotonie, ... ). De même quelques problèmes qui
sont apparus tels que l'instabilité des commandes et leurs solutions sont présentés.
V.I) traduction des protocoles de conduite
Les protocoles de correction qui indiquent les différentes actions à mener, sont décrits à
l'aide d'expressions linguistiques correspondant à des ordres précis et faisant intervenir,
notamment,
quelques verbes spécifiques (commencer,
arrêter,
attendre,
déclencher,
suspendre, ... ) et des conjonctions ou locutions conjonctives.
Il faut donc traduire, de façon adéquate, ces protocoles sous forme de règles de
production.
Au lieu de faire une étude formelle sur cette traduction, nous allons l'illustrer par un
exemple.
exemple: protocole de remplissage règle 5/2
* base: conduite à tenir en fonction de la PVC initiale
SI PVC < 8 cmH20 alors remplissage avec 200 ml/lOmn
Si 8 < =
PVC < 14 alors lOOmlllOmn
Si 14> =PVC alors 50mUlOmn
* contrôle de la PVC toutes les dix minutes:
Si PVC augmentée de plus de 5 cmH20 : ARRET.
Si PVC augmentée de 2 à 5 cmH20 alors SUSPENDRE le remplissage (5-2) pendant
dix minutes.
Sinon REPRISE du remplissage.
* Contrôle dix minutes plus tard (en cas de suspension)
Si PVC reste supérieure de 2 cmH20 par rapport au niveau de départ: ARRET.
Sinon REPRISE.
Ce protocole peut se traduire par la procédure suivante:
65

procédure règle_5_2
début
fin _deyrocédure : = faux;
tant que (non fin_deyrocédure) faire
début
1: volume < ------ f(PVC_initiale);
Administrer volume pendant 10 mn; /* temps d'exécution lOmn*/
2: si (PVC <PVC_initiale+2) alors aller en 1; /* reprise du remplissage */
si (PYC > PVC initiale+ 5) alors allez en 4; /* fin de la procédure */
sinon pause(lO); /* suspension de 10 mn */
3: si (PYC > = PYC_initiale+2) alors aller en 4;
sinon allez en 1;
/* reprise */
4: finyrocédure=vrai;
fin tant que
fin
Ce fonctionnement peut être modélisé par le réseau suivant:
200
'i~200
.200
.200
o
200s
.1X200'
le
.,~O ~
/ ' 0 0
.100
0
100
.100/
.100s
'1~'><100'
l
1
0
0
0
l
/50 150
.50
50
150
.50s
,50.><0'
l
1

0
figure 18 : fonctionnement du test de remplissage
La procédure décrite plus haut ne peut pas être exécutée, telle quelle, car elle implique
des pauses de plusieurs minutes. Or plusieurs protocoles peuvent tourner simultanément. Il
est donc hors de question de les mettre tous en attente.
Au lieu de faire un attachement procédural, nous avons décrit ce protocole par un paquet
de règles:
66

règle 1 : SI passé(ev, JOmn)
/* test si le masquage dure depuis 10 minutes */
et R 5 2 =(masqué)
et pve > = pep initiale+5
ALORS R_5_2 = arrêté,
time(ev).
règle 2 : SI passé(ev, lOmn)
et R_5_2 =masqué
et pve > = pve initiale + 2
et pve < PVC initiale+5
ALORS R_5_2 = suspendu,
time(ev).
règle 3 : SI passé(ev, lOmn)
et R_5_2 = (masqué)
et pve < PVC initiale+2
ALORSR_5_2 =actif,
time(ev).
/* reprise */
règle 4 : SI passé(ev, lOmn)
et R_5_2 = suspendu
et pep < PCP initiale + 2
ALORS R_5_2 = actif,
time(ev).
/* arrêt du remplissage */
règle 5 : SI passé(ev, JOmn)
et R_7_3 = suspendu
et pve > = pve initiale+2
ALORSR_5_2 = arrêté,
time(ev).
/* masquage de la procédure; action de lOmn */
règle 6 : SI R_5_2 =actif
ALORS
calcul dose(dose ev), administrer(dose ev)
-
-
-
Time(ev),
R_7_3 = masqué.
Le protocole de remplissage, tel que décrit, cache deux difficultés liées l'une à une
ambiguïté dans la description et l'autre à une mise à jour inappropriée du paramètre
pve initiale.
67

- le calcul du volume de remplissage
Il est stipulé qu'il faut reprendre le remplissage en cas d'une augmentation de la PVC
inférieure à 2 cmH20, soit directement, soit après une suspension. On peut se poser la
question de savoir si la dose de remplissage, qui est fonction de la valeur de la PVC, doit
être recalculée à chaque reprise du processus.
Supposons, en effet, que le remplissage commence avec une valeur de la PVC égale à
7cmH20. Le volume de remplissage initial sera de 200 ml/lO mn. Si dix minutes plus tard,
la PVC passe à 8.5, on- aura une augmentation de 1.5 (inférieure à 2); il faut donc
reprendre le remplissage; il se fera soit avec un volume de 200 ml, si le processus doit
continuer toujours avec le même volume (le volume initial), soit avec 100 ml (deux fois
moins), si le volume est recalculé en fonction de la valeur courante de la PVC.
La représentation du processus, qui a été faite ci-dessus, correspond au choix d' un
volume unique de remplissage pendant le déroulement du processus. Si le volume de
remplissage était recalculé, on aurait un schéma un peu plus complexe de la fonne :
200---+
:--~4.200----..200~-----+
~o
2oos---+,200s
!o
/1'Oo----.·'r
/
Q - - - - - - ' 0 0 - -....1
1
100s
.1Ts
o
0
o
i
/ " 5 0 ----+.50 ~-/---......
50 ~--t. 50
.50s - -....
!o
figure 19 : fonctionnement du test de remplissage modifié
- mauvaise mise à jour des paramètres :
Le paramètre PVC_initiale, représentant la valeur initiale du paramètre PVC, est un
paramètre qui reçoit une affectation par les règles. La décision de continuer le processus
dépend de sa variation relative.
Si le paramètre PVC_initiale est mis à jour à chaque reprise du processus, alors, dans
certains cas, il peut survenir une anomalie.
Prenons, en effet, l'exemple d'une PVC initiale de 7 cmH20; supposons que ce
paramètre augmente de 1.5 cmH20 chaque dix minutes.
68

Dans ce cas, chaque dix minutes, la variation de la PVC étant inférieure à 2 cmH20, il y
aura une reprise du remplissage. Ce remplissage continuera tandis que la valeur de la PVC
va augmenter en prenant les valeurs 7, 8.5, 10, 11.5, etc ...
La mise à jour du paramètre PVC_initiale doit donc se faire au début du processus de
remplissage et une fois pour toutes.
V.2) Raisonnement temporel
V.2.1) le temps dans le système "REA"
Le temps est un élément important du raisonnement: un délai s'écoule entre une décision
et ses conséquences ou encore entre le début d'une activité et son achèvement.
De façon générale, une action corrective fait intervenir trois sortes de temps (figure 20) :
- le temps d'exécution de l'action.
- un délai à observer pour attendre les effets de l'action.
- le temps mis pour réaliser les opérations de perception (mesures) afin de déduire les
effets réels de l'action qui a été menée.
temps d'exécution
délai à observer
-----mesures
III
D~+-'~:~--------'---+-'+-1-------...TEMPS
figure 20 : protocole de correction et délai
Les décisions
prises devront
donc,
non
seulement,
être
cohérentes,
mais
être
synchronisées entre elles. De même, il faut avoir la possibilité de mener un raisonnement
sur l'évolution et les tendances du processus.
V.2.2) modélisation
Le but visé est la modélisation adéquate des différentes relations temporelles existant
entre faits, événements et actions; ceci, pour permettre essentiellement de raisonner sur les
valeurs que prennent les attributs sur plusieurs cycles d'exécution et de raisonner sur les
tendances et l'évolution du processus surveillé.
69

Dans le cas que nous traitons, une datation des faits, et notamment des actions, par
rapport à l'axe temporel, suffit. Cet axe étant pris isomorphe à l'axe des réels.
A priori, on peut faire référence aux instants de deux manières :
- dans l'absolu, exemple: exécuter l'action A à lOh 45.
Ceci ne pose pas de problème particulier.
- en relatif, exemple : vérifier la valeur du paramètre P, 10 mn après le lancement de
l'action A.
Dans le système REA, les relations temporelles que nous avons eues à traiter sont
pratiquement toutes du deuxième type.
Dans le formalisme choisi, nous introduisons des attributs temporels, pour indexer les
actions et les événements significatifs. En considérant les faits, les actions et les événements
comme des objets, on leur associe des attributs temporels (instants de début, de fin,
durées, ... ).
Ces attributs sont initialisés par appel à un prédicat de datation comparable à celui de
Kowalski et Sergot [Kowalski, 86].
Cependant, l'introduction de ces attributs permet de ne pas confondre
un fait ou un
événement et l'instant auquel il survient évitant, ainsi, le problème des événements
concomitants. Elle confère, en outre, une plus large liberté de raisonnement et de
manipulation de ces attributs qui peuvent être modifiés, si nécessaire, comme des attributs
normaux.
A partir de ces marqueurs temporels simples, on peut créer des attributs composés et
raisonner, ainsi, en terme d'intervalles temporels; un intervalle ayant la définition classique
sur R, c'est à dire des éléments de la forme [i l, i2] où il et i2 sont des éléments temporels
. <.
et II - 12'
On associe, par exemple, à un paramètre sa portée temporelle (figure 21). Cette notion
que nous avons introduite au chapitre l, est définie comme un intervalle de persistance
comparable à la persistance d'un fait dans [McDermott, 82 ] ou de période dans le système
de Kowalski.
De même, on intègre des opérateurs symboliques de la logique temporelle: avant, après,
pendant, ... Les actions étant marquées temporellement, des fonctions internes permettent
l'évaluation des durées et le raisonnement sur celles-ci.
Ainsi, à chaque protocole sont attachés deux attributs temporels: l'instant où le protocole
est lancé, l'instant où il est arrêté (ou sa durée). Ces deux attributs sont mis à jour, l'un au
moment de l'activation du protocole et l'autre au moment de son arrêt:
70

::::::':':-O:':':":A':-:G-:-:'N:':-:O-:-:"S":-T1:':':':C':':S-:-:·:-:::::: :,:·.:.'·.::.·.':.:.:.'·:·:·P:-:·~~:RA':·:-:':'M:':·:·E:-:·T:·:··R'·:-:E·:-:'S:-:-:-·.·,::,::::.':.·,':,:
~~mj':':':':-:':~:êTI'Ô:N'S:':':':':':'~~~:j:
::::::
:::>
'"
:::::::.:.:.:.:.:.:.:.:-:.:.:.:.:-:.:.:.:.:-:.:.:.:.:.:.:.:::::::
:.:.:.:.:.:.:.:.:.:.:.:.:-:.:.:-:.:-:.:.:.:.:.:-:.:.:.:.:.:.:.:.:
:::::::':':':':':':':':':K':':':':':':':':':':':':':':.:::::::
!
PORTEE
PORTEE
DEBUT
TEMPORELLE
TEMPORELLE
OUREE
1_ _11_ _
figure 21 : différents attributs temporels
Les flèches de la figure 21 indiquent les dépendances entre les différents attributs.
exemple de mise à jour des attributs :
ACTIVER(ST, .. ) :- assertz(actifs(ST, ... )),
TIME_B(ST).
STOP(ST, .. ) :- retract(actifs(ST, ... )),
TIME E(ST).
On peut, de la sorte, raisonner en terme de durée pour les actions et d'instant pour les
événements et leurs occurrences successives.
Avant( ST.. ST2) :- TIME_BE(STI,TBI'~' TIME_BE(ST2,TB2'~'
précède_h(TB l ,TB2)·
Après( ST., ST2) :- TIME_BE(ST.,TB.,~, TIME_BE(ST2,_,T~),
précède_h(TE2,TB. ).
Où ST. et ST2 sont des protocoles de correction.
Pour exprimer qu'un fait F est apparu pendant que le protocole ST était en cours, on
écrira:
Pendant(F,ST) :- TIME(F,T), TIME_BE(ST,TB,TE) ,
précède_h(TB, T), précède_h(T, TE).
Cette représentation permet, en outre, une implémentation assez aisée en Prolog.
71

Nous présentons, ci-dessous, plusieurs modes de raisonnement sur le temps utilisés dans
le système.
V.2.3) exemples de raisonnement sur le temps :
V.2.J.I) prendre en compte le passé du processus
Le processus de décision fait intervenir simultanément un certain nombre d'événements
instantanés et la trace qu'ils ont laissée, c'est à dire le passé du processus.
Les actions passées ainsi que les états antérieurs interviennent dans le raisonnement :
exemple:
SI syndrome hyperkinétique et
dh < 50
et "pas de furosémide dans les 4h"
AUJRS, injection de furosémide.
L'état du processus aura donc pour composante, le présent, mais aussi le passé sous la
forme d'un historique plus ou moins complet des états et des actions antérieurs.
A chaque lancement du système, la base des faits comporte les informations relatives -ou
considérées comme telles- à l'état courant du processus (état correspondant aux dernières
mesures). Elle contient aussi des informations relatives au passé du processus (les valeurs
des paramètres d'état, les actions déjà menées, les éventuels échecs ou succès enregistrés).
A la fin du processus d'inférence, et avant de relancer le moteur, il faut agréger l'état
présent dans le passé du processus.
Par exemple, le paramètre PCP transfère sa valeur actuelle au paramètre pep_1. Ainsi,
les règles faisant référence à l'état passé du processus pourront le faire par l'intermédiaire
des attributs substantivés par" _1".
Cette notion d'historique (figure 22) peut être extensible en autant d'états antérieurs que
nécessaire.
Etat_courant
•••
figure 22 : principe de construction de 1f historique du processus
V.2.3.2) raisonner sur l'évolution et les tendances
Un élément important, dans le contrôle des processus, est la détection rapide des
tendances d'évolution du processus. Cela peut permettre au système de réagir, si possible,
72

avant l'établissement d'une situation non souhaitée, c'est à dire d'anticiper sur les actions à
mener.
Nous avons montré, par ailleurs, que le diagnostic dans ce genre de problème nécessite
l'intégration d'une dimension temporelle dans l'inférence.
Le système devra donc inclure des fonctions pour réaliser l'analyse de ces tendances. Ces
fonctions peuvent être combinées avec des expressions logiques comme dans l'exemple
suivant.
exemple:
Au cours des états de choc, il peut apparaître une dépendance de la consommation
d'oxygène (V02) à l'égard de la délivrance en oxygène (D02). L'analyse de cette
dépendance pennet de préciser le statut du métabolisme oxydatif de l'organisme comme sur
la règle ci-dessous:
R_diagnostic{~ :- diag_courant{inadé<Lcirculation_demande),
comp{eso2,' < ',30),
comp{v02,' <',70),
fonctionj)Ositive{vo2,do2),
alors,
diagnostic{hYpodensité_capillaire).
Cette règle fait
apparaître le prédicat "fonction-POsitive"
à deux arguments. Sa
signification est la suivante:
fonction..J>Ositive{X, Y) est vraie si le premier argument X, qui est un paramètre d'état du
processus, a une variation corrélée positivement avec celle du deuxième argument.
Il est à noter que, pour raisonner sur les tendances et l'évolution, il est nécessaire de
disposer de plusieurs états chronologiques du processus.
En disposant de trois mesures indiquant les états successifs du processus, on aurait, par
exemple, la représentation suivante:
V02
CD
002
figure 23 : dépendance entre les paramètres D02 et V02
73

A partir de trois mesures consécutives des deux paramètres 002 et V02' on peut tracer
la courbe V02 = f(002) par interpolation. On considérera alors la valeur de la pente de
cette courbe, pour déterminer s'il existe une corrélation (positive ou négative) ou s'il n'en
existe pas entre ces deux paramètres.
Dans le cas général, on peut adopter l'une des deux méthodes suivantes:
- coefficient de corrélation linéaire :
On dispose des points (XQ,yO),(xI,Yt), ... , (xn,Yn)' Ces points peuvent être pris comme
des observations "statistiques" sur deux variables "aléatoires" X et Y. Le degré de
corrélation entre ces deux variables peut être apprécié par le coefficient de corrélation
linéaire défini par :
p(X, Y) = Cov(X, Y) 1 (a(X).o{Y))
avec Cov(X): la covariance des variables X et Y,
a(X),et a(Y) ,les racines carrées des variances de X et de Y.
Rappelons que X étant une variable aléatoire, on a les définitions suivantes:
- E(X) est l'espérance mathématique de la variable X. Dans le cas qui nous concerne
E(X) est tout simplement la moyenne arithmétique des valeurs prises par la variable X.
- la variance a2 est égale à E(X-E(X)).
- la racine carrée de la variance a est l'écart type.
- la covariance de deux variables aléatoires X et Y vaut:
cov(X, Y) = E[(X-E(X). (Y-E(Y)J.
En comparant le coefficient ainsi calculé avec un limite "L" fixée, on déduit la corrélation
positive ou négative ou l'absence de corrélation entre X et Y.
Notons que, si Y peut se mettre sous la forme Y = aX + b alors,
p(X,Y) = 1 si a>O
-1 sinon.
- interpolation
On cherche à interpoler un "polynôme généralisé", en utilisant les points:
(xo, YO), (Xl' YI), ... , (xn, Yn) comme points d'interpolation.
Soit donc la fonction f(x) qu'on cherche à déterminer. On sait que f(xk) = Yk ' pour
k=O, l, ... , n.
On dispose d'une base d'interpolation üo(x) , uI(x), ... , un(x). Pour simplifier, on
utilisera la base des monômes: l, x, x2, ... , xn car n reste faible (n <5).
On dispose aussi d' un ensemble de points d'interpolation: XQ, XI, ••• , Xn.
74

Le polynôme généralisé est:
Pn(x) = ao uo(x) +al ul (x) +
qui vérifie les (n + 1) conditions:
en posant v·· =u·(x·)
f(x·) = r-
D
J I '
1
1
et en introduisant les matrices
fO
Voo vOl
... vOn
fI
vlO VII
... VIn
[F] =
[V] =
V··
IJ
VnO Vnl
... Vnn
fn
ao
al
[A] =
rU] = [uo(x) ui (x) ... un(x)]
(1) ==> [V][A] = [F] (2)
Si [V] est inversible, posons:
[L] = [V]-l
(2) = = > [A] = [L][F]
(2')
Le système se résoud en [P(x)] = [U][L][F].
Il suffit alors de comparer la dérivée de cette fonction au point courant xo' à une borne
fixée.
D'autres
fonctions
plus
simples
permettent
d'évaluer
la
variation,
en
terme
de
pourcentage, d' un paramètre :
DECROIT_PCT(X,V, NB_BILAN)
signifie que la valeur du paramètre X a décrut d'au
moins V% en considérant les NB_BILAN dernières mesures de ce paramètre.
CROIT_PCT(X, V, NB_BILAN)
:
similaire
au
précédent
prédicat
mais
relatif
à
l'augmentation de la valeur d' un paramètre.
75

Toutes ces fonctions utilisent l'historique retraçant les états successifs du patient.
V.2.3.3) tests thérapeutiques et délais
Il s'agit d'observer un délai après une action (application d'une thérapeutique) avant de
pouvoir juger de ses effets et conséquences afin de diminuer son intensité ou l'augmenter.
Une bonne partie des protocoles peut être décrite par la procédure générale:
procédure protocole~énéral :
début
administrer la dose de charge;
tant que non finyrocédure faire
début
observer un certain délai;
tester les effets produits;
agir en conséquence ( modifier éventuellement la dose ou arrêter);
fin tant que
fin
exemple:
Délais
Délai minimum pour modifier la posologie
Protocoles
ou admettre un échec
adalate
5mn
esmolol
30mn
dopamine
lOmn
nicardipine
5rnn
figure 24 : exemples de délais
protocole vasopresseurs (dopamine) :
La stratégie "vasopresseurs" est activée. Le système propose la dopamine avec une dose
initiale de 5 ml.
Par appel au prédicat de datation TimeO, l'indicateur temporel de l'action est initialisé
avec la valeur de l'heure courante.
/* dose de charge */
R_vasopresseur(1) :- actif(vasopresseurs),
comp(dopamine," =" ,0),
alors,
maj(dopamine,5),
thérapeutique(dopamine),
Time(dopamine).
76

/* la dose est augmentée de cinq unités */
R_ vasopresseur(2) :- acti f( vasopresseurs),
passé(dopamine, 10),
comp(dopamine," >" ,0),
comp(dopamine," <" ,20),
not (succès(dopamine»,
alors,
param(dopamine,D), ND is D+ 5,
maj (dopamine, ND),
thérapeutique(dopamine),
Time(dopamine).
/* ce protocole s'avère inefficace, l'échec est constaté, la dose est ramenée à cinq */
R_vasopresseur(3) :- actif(vasopresseurs),
passé(dopamine, 10),
échec(dopamine),
alors,
maj(dopamine,5), thérapeutique(dopamine),
Tirne(dopamine).
/* le succès du protocole est constaté; la procédure de sevrage commence */
R_vasopresseur(4) :- actif( vasopresseurs),
passé(dopamine, 10),
succès(dopamine),
alors,
param(dopamine,D), ND is D-5,
maj(dopamine, ND) ,
thérapeutique(dopamine),
Time(dopamine),
comp(dopamine, ":$", 0),
STOP(dopamine).
/* condition d'arrêt */
R_vasopresseur(5) :- actif(dopamine, 10),
comp(pam," >",70),
alors STOP(dopamine).
V. 2. 3. 4) PQrtée temPQrelle et contraintes temPQrelles
Compte tenue de la dynamique de l'état du processus, nous avons introduit la notion de
portée temporelle d'un paramètre qui est donnée sous la forme d'intervalle de temps. La
portée temporelle est un attribut temporel associé aux différents paramètres du processus.
Elle exprime l'intervalle de temps pendant lequel, on peut faire confiance à une mesure.
77

- modification de la portée temporelle d'un paramètre
Dans certaines circonstances, il convient de modifier la valeur de cet attribut. En effet,
les actions qui sont menées ont pour but d'agir sur la valeur des paramètres d'état (les
baisser, les augmenter ou les maintenir). Il apparait "logique" que la portée temporelle d'un
paramètre puisse (et doive) être raccourcie, consécutivement à une action dont le but est,
par exemple, d'augmenter la valeur de ce paramètre.
Nous montrons, sur un exemple, que ces considérations introduisent, de fait, des
contraintes supplémentaires (implicites) d'ordre temporel dans le raisonnement.
Ainsi, des conditions relatives à la validité des mesures dont on dispose peuvent être
rajoutées dans les règles.
- exemple: test d'expansion volémique (règles des 7/3)
Ce test appelé aussi "FLUID-CHALLENGE" représente une stratégie thérapeutique. Il
est défini comme suit:
* conduite à tenir en fonction de la Pression Artérielle Pulmonaire Occlusive (PAPO)
initiale:
Si PAPO < 12 mmHg alors, remplissage avec 200 ml/lOmn
Si 12 < = PAPO < 16 alors, lOOml/lOmn
Si 16 < =PAPO < 20 alors, 50ml/lOrnn
* contrôle de la PAPO toutes les dix minutes:
Si PAPO augmenté de plus de 7mmHg : arrêter.
Si PAPO augmenté de 3 à 7 mmHg alors suspendre le "FLUID-CHALLENGE"
pendant dix minutes.
Sinon Reprise du "FLUID-CHALLENGE".
* Contrôle dix minutes plus tard (en cas de suspension):
Si PAPO reste> de 3 mmHg par rapport au niveau de départ: arrêter.
Sinon reprise.
Tl
T2
T3
--1--------,
1
~ TEMPS
Remplissage
Premier contrôle
deuxième contrôle
initial.
sur PAPO
PAPO
PAPO [al, az]
[b l , bz]
[cl, cz]·
figure 25 : portées temporelles du paramètre PAPO
78

[a .. a2J, [b l, b21et [c). c2J sont les portées temporelles de la mesure du paramètre PAPa
disponibles respectivement aux temps Tl, T2 et T3·
Les contraintes supplémentaires suivantes sont à envisager:
- T2 > = Tl + IOmn :
le délai de 10 mn doit être respecté (voir ci-dessus: tests thérapeutiques et délais).
- b l > al : le premier test sur le paramètre PAPO doit utiliser une mesure plus récente
que celle disponible au moment de l'initialisation.
- b l > Tl: la mesure utilisée pour le test doit être une mesure réalisée après le début du
remplissage.
- b l > = Tl + 10 une condition, plus restrictive que la précédente, postule que cette
mesure doit être réalisée au moins IOmn après le remplissage initial.
Il existe des conditions similaires pour le deuxième contrôle:
T3 >= T2+1O; cI>b1; cl>T2; cl>T2+1O·
Ces contraintes traduisent le fait que la portée temporelle du paramètre PAPa doit être
raccourcie. Avec l'action de remplissage, on s'attend, en effet, à une augmentation
substantielle de ce Paramètre. Cette éventuelle augmentation conditionne la suite des
actions.
- Agenda des actions d'acquisition
Cela montre la nécessité de pouvoir modifier la portée temporelle de certains paramètres.
On pourra utiliser une table (figure 26) indiquant, pour chaque action importante, les
Paramètres qu'il faudra surveiller plus spécifiquement.
Paramètrel
Paramètr~
...
paramètrem
Actionl
X
X
Action2
Actionn
X
X
figure 26 : dépendance actions-portées temporelles
Chaque fois qu'une action est menée, la consultation de cette table permet de modifier la
portée temporelle des paramètres concernés (et de déclencher, en même temps, une requête
79

de mesure sélective) de sorte à pouvoir prendre en compte les contraintes du type de celles
consignées ci-dessus.
La construction de telles tables ne pose pas de problème particulier. Elle est en général
très corrélée avec les buts assignés aux actions. Comme dans notre démarche, ces buts sont
explicitement consignés, cette table est établie de façon quasi-immédiate.
Remarques :
Les contraintes temporelles introduites dans les règles, qu'elles soient relatives à la notion
de délai ou qu'elles servent à la prise en compte de la validité des mesures, constituent des
sortes de censeurs (inhibiteurs) des différentes règles où elles interviennent.
Comme le plus souvent, ces contraintes ne sont pas vérifiées, nous les avons placées en
première position dans les prémisses des règles; ceci induit une économie de temps, car on
évite le test des autres conditions, dès lors que les contraintes relatives au temps ne sont pas
respectées.
L'historique qui est construit est limité pour des raisons évidentes. li ne pennet donc de
faire référence qu'aux états et aux décisions d'un passé "assez récent". Or quelques fois, il
est fait appel à des actions pouvant dater de plusieurs heures. On a, par exemple, besoin de
savoir si les furosémides ont été appliquées lors des 4 dernières heures. Les traces de telles
actions risquent de ne plus être dans la base des faits si l'on se limite au principe de
construction de l'historique tel que décrit précédemment. Nous avons donc décidé de
conserver, dans la base des faits courante, toute action qui a été menée au moins une fois,
ainsi que ses derniers attributs temporels, c'est à dire le début et la fin éventuelle de la
dernière occurrence de cette action.
Comme il est apparu que certaines incohérences dans la base de connaissance sont dues à
la mauvaise synchronisation entre les actions, de même que certaines règles sont
indéclenchables à cause de la mauvaise traduction des contraintes temporelles, nous avons
été amenés à étudier, au chapitre six, la cohérence du réseau temporel induit par les
contraintes sur les attributs temporels.
V.3) non-monotonie:
V.3.1) rappel:
On dit d'un système expert qu'il fonctionne de façon monotone ou qu'il est monotone si :
- aucune connaissance (fait établi ou règle) ne peut être retirée de la base. La base des
faits ne peut donc que s'agrandir.
- aucune connaissance ajoutée à la base n'introduit de contradiction.
La plupart des systèmes de diagnostic actuels sont monotones car ils font l'hypothèse que
l'état du sujet est stable en cours de diagnostic, à moins que ce ne soit par un souci de
simplicité.
80

Ces systèmes sont surtout basés sur les modèles des démonstrateurs ordinaires de la
logique des prédicats.
Dans le cas du système "REA", il faut réaliser un diagnostic interactif du sujet et une
correction en temps-réel de tout déséquilibre, l'état du sujet étant susceptible de variations
importantes en cours de traitement. En fait, la plupart du temps, l'état courant étant
diamétralement opposé à l'état souhaité, l'objectif du système est la modification de cet état
- dans le bons sens - par la mise en oeuvre d'un certain nombre d'actions. Un état qui reste
statique, correspond, dans ce contexte, à un échec total du système.
Un diagnostic établi peut donc être remis en cause ultérieurement. Certains éléments de la
base des faits matérialisés par la caractérisation courante de l'état du patient peuvent donc
être retirés de celle-ci.
V.3.2) problèmes liés à la mise à jour de la base des faits et des règles.
Il faut assurer une synchronisation entre les faits -notamment les diagnostics temporaires-
et les causes qui ont pennis de les déduire (figure 27). C'est un problème important des
systèmes fonctionnant en temps-réel dans un environnement fortement évolutif.
1MESURES 1
1
l
\\ INFERENCE II-------+~1DIAGNOSTIC 1
REVISION
figure 27 : schéma de révision des faits
Les faits déduits sont de deux sortes : les faits permanents, qui restent vraIS, une fois
qu'ils ont été établis et les faits de nature temporaire.
Les faits temporaires doivent être révisés chaque fois qu'une nouvelle mesure intervient.
Il Y a plusieurs méthodes pour réaliser cette révision:
Dans la mesure où des changements peuvent apparaître en cours de raisonnement, il
paraît utile de cibler les règles à réviser quand de nouvelles mesures interviennent. Pour ce
faire, on peut construire, une fois pour toutes les trois tables suivantes:
- la table TAB 1 qui associe à chaque paramètre la liste des règles où il intervient en partie
condition.
- la table TAB2 respectivement la table TAB3 qui associent à chaque fait la liste des règles
où il intervient comme condition, respectivement, la liste des règles qui le déduisent.
81

Lorsque des mesures arrivent, on détermine la liste LP= {Pl' P2,
, Pk} des paramètres
dont la valeur a changé. En exploitant la table TABl, on détermine une première liste
LR I = {Rb R2, •.. , Rn} de règles à réviser. On applique alors à chaque règle de cette liste
les actions suivantes:
* Si la règle n'a pas encore été déclenchée alors passer à la suivante.
* sinon remettre en cause les faits déduits à partir de cette règle c'est à dire, pour chacun
de ces faits :
- vérifier s'il est encore déductible; si oui, passer au fait suivant
- sinon le retirer de la base des faits et réviser l'ensemble des règles où il intervient
comme conditions (en exploitant TAB2) et démasquer les règles qui le déduisent si elles
étaient masquées (en exploitant TAB3).
Ce processus doit être poursuivi jusqu'à obtenir la stabilité de la base des faits.
Dans les tableaux TABl et TAB2, ne sont consignées que les règles qui déduisent au
moins un fait temporaire. En effet, les faits permanents ne sont pas concernés par le
processus de révision. Cette restriction permet de diminuer le nombre de règles à revoir et
donc de diminuer le temps d'exécution du processus de révision.
exemple:
R_diag(l) :- comp(ic, <, 25), comp(is ,< ,0.03),
comp(pam, >, 70), comp(rvs, >, 900),
alors,
diagnostic(syndrome_hypokinétique).
R_diag(2) :- diag_courant(syndrome_hypokinétique) ,
comp(pcp, >, 18),
alors,
diagnostic(choc cardiogénique).
R th(X):-
diag_courant(choc cardiogénique),
pha > 7.35,
in(fc,50, 100),
alors,
choix_thedobutamine, [ J).
Si les paramètres IS, IC, PA, PCP et Fe sont dans des fourchettes de valeurs compatibles
avec les conditions des trois règles, la base des faits obtenue, après le déclenchement de ces
règles, contiendra les éléments suivants:
82

stratégies candidates
état courant
...
...
dobutamine
syndrome hypokinétique
...
choc cardiogénique
...
figure 28 : exemple de contenu de la base des faits
Supposons que le paramètre PAM (pression artérielle moyenne) passe à 80 mmHg; la
règle n° 1 n'est plus applicable. S'il n'existe pas d'autres règles qui déduisent le diagnostic
de "syndrome hypokinétique", il faut retirer ce fait de la base. Mais de ce fait, la règle n02
devient à son tour invalide de même que le diagnostic "choc_cardiogénique" qu'elle avait
établi. La candidature de la dobutamine comme stratégie possible est aussi remise en
question.
Cette méthode présente quelques défauts, car elle nécessite la construction préalable des
trois tables décrites ci-dessus. En outre, c'est un procédé de mise à jour assez lourd.
Nous avons adopté un mécanisme de mise à jour plus simple. A un fait temporaire, on
associe une ou plusieurs "vues", c'est à dire, l'ensemble des règles qui ont déduit ce fait et
qui restent encore valides. Ces vues sont consignées dans une base de données dynamique
(au sens de prolog) construite et mise à jour lors de l'inférence.
exemple:
R_diag(l) :- comp(DH, < ,5), comp(score_glasgow, <,15),
alors,
diagnostic(hypoxie_tissulaire).
R_diag(2) :- comp(DH, < ,5), comp(fréquenceJespiratoire, >, 30),
alors,
diagnostic(hypoxie_tissulaire).
R_diag(3) :- diag_courant(inadéquation_débit_cardiaque),
comp(ic, <, 2.5), comp(PAM, <, 82),
comp(RVS, >,1500),
alors,
diagnostic(" choc_cardiogénique/obstructi f").
Le déclenchement de ces trois règles introduira les entrées suivantes dans la base des
vues:
83

Paits
vues
...
hypoxie tissulaire
RI
hypoxie tissulaire
R2
choc cardiogénique/obstructif
R3
...
...
figure 29 : base des vues
Si les valeurs des paramètres "fréquenceJespiratoire" et RVS (résistances vasculaires
systémiques) passent respectivement à 28/mn et 1300 dyne/sec/cm-S, les règles R2 et R3 ne
sont plus valides. Le moteur détectera l'invalidité de ces règles et mettra à jour la base des
vues. L'entrée "choc cardiogénique/obstructif" disparaît de la base, tandis-que la présence
du fait "hypoxie_tissulaire" n'est plus justifiée que par la seule vue RI.
Cette deuxième méthode, relativement simple à mettre en oeuvre, présente l'avantage de
fournir une base d'explication de la présence des faits déduits, en consignant les règles qui
les justifient.
V.3.3) portée temporelle d'un fait temporaire
De la même façon que nous avons défini la portée temporelle d'un paramètre, on peut
associer à tout fait temporaire une portée temporelle. Cette portée est tributaire des
paramètres qui interviennent dans l'établissement du fait. On peut établir une loi d'héritage
définie comme suit:
Soit un fait temporaire "P" ayant pour vue courante, les règles RI, R2, ... , Rn'
Chaque règle Ri est conditionnée par l'ensemble des paramètres {Pij avec 1~ j ~ kil
Chaque paramètre Pij ayant la portée temporelle [aij , bijJ.
Pour chaque règle Ri, on définit un intervalle Ii de temps où la règle reste déclenchable
du point de vue de la validité des paramètres utilisés (figure 30).
Ii =[Ai,BiJ = n [aij , bijJ
j=l, ki
Si toutes les mesures sont réalisées en même temps (tous les aij sont égaux), l'intervalle Ii
aura la valeur Ii = Lail, min(bij) / 1~j~ki]'
84

figure 30 : intervalles de validité des règles
La portée temporelle du fait Fest l'intervalle [T" T2] avec:
T,=min(Ai) / Isisn
T2 =max(Bi) / Isisn.
Sur l'exemple de la figure ci-dessus, la portée temporelle du fait F est l'intervalle [Al' B2].
Un fait statique peut être assimilé à un fait dynamique, qui, une fois établi à l'instant t, a
la portée temporelle infinie [t, + 00] .
V.3.4) aspect implémentation
La prise en compte de ces notions au niveau de l'implémentation est facilitée, en
PROLOG, par l'utilisation de prédicats dits dynamiques (appelés aussi bases de données
dynamiques) et disponibles dans la plupart des versions récentes de PROLOG.
Un prédicat dynamique est un prédicat dont les clauses peuvent être modifiées. En cours
de fonctionnement, des clauses peuvent être ajoutées ou retranchées par appel à des
prédicats spéciaux :
- assertz(P(F», asserta(P(F» qui insèrent une clause dans la liste des clauses associées au
prédicat P.
- retract(P(F» qui détruit une clause.
La plupart du temps, les clauses de tels prédicats sont une collection de faits qui peuvent
être comparés à des enregistrements d'un fichier de données.
V.4) stabilité de la commande:
Une des difficultés apparues, lors des simulations, est le problème de l'instabilité des
commandes. Ce problème inhérent aux systèmes de commandes de processus est dû, ici,
aux fluctuations des valeurs des paramètres du processus.
Lorsqu'une règle utilise, par exemple, la valeur d'un paramètre avec un certain seuil, si
ce paramètre oscille autour de ce seuil, cette règle sera alternativement valide et invalide
(figure 31). La situation est encore plus critique si deux règles antagonistes sont déclenchées
et mises au repos alternativement et pendant un intervalle de temps très court.
85

VALEUR
SEUIL
T
figure 31 : fluctuation des valeurs
Ces situations, assez fréquentes à cause de la nature évolutive du processus, doivent être
traitées car la cohérence du système entier en dépend.
L'instabilité peut survenir aussi bien au niveau des diagnostics émis qu'à celui des actions
envisagées ou proposées ( c'est la situation la plus gênante) par le système.
Pour l'illustrer, considérons, par exemple, un protocole de correction S, dont la mise en
œuvre nécessite 2 minutes. Supposons que l'action S est conditionnée par la valeur d'un
paramètre P par le biais de règles de la forme :
Si P > a et ...
Alors S.
avec la règle d'arrêt:
Si P ~ a et ...
Alors STOP(S).
Supposons, enfin, que ce paramètre ait une portée temporelle de cinq minutes et que sa
valeur oscille autour du seuil Cï.
Comme on peut le constater sur le schéma ci-dessous, le protocole S reste actif pendant
une durée de trois minutes. Son activation est amorcée ou réamorcée toutes les cinq
minutes; toutes les cinq minutes, il est arrêté. Il n'est pas possible, dans ce contexte, de
juger correctement les véritables effets de S et de ce qui n'est qu'un phénomène normal de
variations de la mesure de P.
re-activation
1miseenoe~vre
ranet
~, [:"êl
actif
inactif
.
""""""'-'4
••
.~.~.
UI
U 1 1 1TEMPS
o
5
10
12
15
20
figure 32 : exemple d'instabilité
86

Il faut donc arriver à stabiliser un tant soit peu les sorties du système. Cela ne veut pas
dire qu'il faille figer complètement les décisions du systèmes - ce serait contraire à la nature
essentiellement évolutive du processus et au principe de raisonnement non monotone qui en
découle - mais il faut que les décisions prises restent valables pendant un intervalle de temps
raisonnable.
En ce qui concerne les diagnostics, nous avons vu qu'ils héritent de la portée temporelle
des paramètres qui permettent de les établir. Une portée temporelle raisonnable permet donc
de résoudre leurs cas.
Le cas des actions est plus délicat pour plusieurs raisons:
- l'exécution d'une action requiert elle même un certain temps
- l'interruption d'une action engagée requiert très souvent des précautions particulières.
Plusieurs composantes du principe d'activation/désactivation des protocoles permettent de
résoudre ce problème. L'idée de base est d'assurer la stabilité des décisions en déplaçant
l'instabilité au niveau des candidatures.
Nous la réalisons par les deux choix suivants:
- les stratégies actives ne sont pas remises en cause directement par les électeurs. En
effet, lors de la procédure d'élection, seules sont en concurrence les stratégies candidates et
non encore actives. Les simulations que nous avons faites, ont montré qu'en remettant en
jeu les stratégies déjà actives à chaque fois que la procédure d'élection est lancée, le
système a un comportement très instable: certains protocoles, à peine engagés, sont stoppés
pour être
remplacés,
par exemple,
par des protocoles d'orientation
opposée.
Ce
comportement instable remet en cause la cohérence du système tout entier.
- l'arrêt des protocoles actifs est décidé par des règles spécifiques:
Nous avons donc isolé le problème de l'arrêt des stratégies déjà engagées.
Les
désactivations sont intégrées dans des mécanismes de sevrage qui décrivent explicitement
les contextes de disqualification d'une stratégie. Des règles dites de sevrage décrivent
comment arrêter "en douceur", un protocole. Le plus souvent, cela prend la forme d'une
diminution progressive de l'intensité de l'action engagée jusqu'à l'arrêt totale.
En procédant ainsi, on force un protocole à rester actif quand bien même, certaines des
conditions initiales qui ont motivé son élection ne sont plus vérifiées. On lui impose donc
une certaine persistance qui détermine un délai raisonnable pendant lequel une action
engagée n'est pas interruptible. Ce délai prend en compte notamment le temps de réaction
du réalisateur de l'action.
Cependant, certains arrêts - urgents - doivent être réalisés instantanément; par exemple en
cas de surdosage. Il n'est pas raisonnable dans ces situations, d'inhiber les demandes
d'arrêt, la promptitude de réaction du système à de tels dépassements de borne, étant plutôt
considérée comme un critère de performance.
87

V.S) mode de fonctionnement et communication:
Le système est composé de plusieurs processus (interface utilisateur-acquisition, gestion
des courbes d'évolution, processus de déduction).
Pour assurer un fonctionnement continu, les différents processus - au moins l'inférence -
doivent fonctionner en continu.
Lorsque le moteur d'inférence est lancé et que la base des règles est saturée (il n' y a plus
de règles éligibles), le système n'est pas arrêté mais le moteur d'inférence est mis au repos,
en attente d'un événement qui peut être:
- un événement TIMER : lorsque le moteur d'inférence est suspendu, un timer est armé.
Al' expiration de ce timer, le moteur se remet en marche.
- un événement externe provenant des autres processus. Ces événements sont associés
selon leurs types à des signaux qui, lorsqu'ils sont reçus par le moteur d'inférence,
provoquent son réveil et éventuellement un traitement spécifique avant le parcours de la
base des règles.
OONNEES
SIGNAUX
figure 33 : la communication entre les différents modules
Les signaux peuvent survenir pendant la phase de suspension du système. Il est alors
activé pour traiter le signal reçu. Si de nouvelles données sont disponibles, elles sont
d'abord lues; après quoi le moteur est lancé.
Lorsque des signaux parviennent au processus de décision alors qu'il est en cours, ils
peuvent causer la reprise intégrale de tout le processus de raisonnement, c'est à dire,
l'invalidation des déductions qui ont été déjà faites.
Les différents protocoles actifs peuvent être vus comme autant d'agents, comparables aux
"sources de connaissances"
(K.S) dans une architecture blackboard (tableau noir),
s'exécutant en parallèle et partageant une base de données communes constituée des valeurs
des paramètres, des diagnostics courants ou précédents, des actions en cours, des protocoles
actifs, ... (figure 34). Dans le cadre de la classification des systèmes multi-agents faite au
chapitre I, le système est comparable à une approche modulaire où les agents fonctionnent
sur le principe d'une communication par partage d'informations.
88

protocoles actifs
[ s.c. diagnOS~
( m e s u r e s )
( diagnostic
)
( S.C. actives)
( Historique)
figure 34 : les informations partagées
V.6) coopération Homme-Machine et intégration des commandes externes
Lorsque le système de contrôle marche en boucle fermée et qu'il est chargé de mettre en
oeuvre les décisions issues de l'inférence, ou quand ces décisions ne sont jamais remises en
cause par un opérateur externe, alors la cohérence des sorties du système est tributaire
uniquement de la cohérence du couple base de connaissance/moteur d'inférence. Par contre,
lorsque le système est utilisé à titre consultatif, ou en double commande, certaines des
actions qu' il suggère seront vraisemblablement rejetées. D'autres actions non proposées
seront appliquées par le praticien. Pour éviter une divergence entre ces deux raisonnements
parallèles, le décideur final doit "infonner" le système des actions qu'il a réellement
appliquées (et par conséquent celles qu'il a ignorées).
Nous avons été confrontés au fait qu'il y avait une mauvaise intégration, dans le
raisonnement du système, des décisions qui émanaient du médecin et qui étaient en
opposition avec les décisions issues de l'inférence : le système enregistrait ces décisions
externes mais n'en tenait pas vraiment compte, se focalisant sur ses propres stratégies. Cela
pose le problème de la coopération homme/système dans la résolution d'un problème.
Pour un fonctionnement correct, il faut que le système puisse intégrer le mieux possible,
dans les inférences futures, toute décision émanant de son propre raisonnement ou prise de
façon unilatérale par le médecin comme si cette décision était le résultat de l'application de
sa stratégie de décision.
Or dans le processus de décision décrit au §IV. 7, à tout protocole d'action sont associés à
la fois un ensemble de causes motivant cette action et un but sous la fonne d'une liste de
paramètres à normaliser. Si ces éléments, qui permettent de mener le raisonnement basé sur
89

les notions de priorité, d'échec et de succès, ne sont pas indiqués dans le système, tout le
processus de sélection est perturbé.
Deux situations se présentent:
- l'action imposée Paf le médecin était candidate dans le système lors de l'exploitation des
règles du niveau 2. mais elle a été rejetée par le processus d'élection.
Ce cas peut se résoudre assez facilement. En effet, les déviations responsables de la
proposition ainsi que les objectifs partiels à assigner à ce protocole sont alors présents dans
le système. Il est donc immédiat de l'intégrer dans le raisonnement. Pour cela. il suffit de
rendre active le groupe de règles associé à la stratégie en question. Le processus d'inférence
reprend alors son cours normal. Cela revient à court-circuiter le mécanisme d'élection en
favorisant un candidat.
- l'action n'est pas candidate: cela signifie que dans la situation où l'on se trouve, le
protocole imposé n'a Pas été consigné comme stratégie possible pour corriger une partie des
déviations.
Pour retrouver les éventuelles motivations de cette action, il y a trois solutions :
la première consiste à retrouver toutes les règles du niveau 2 qui proposent ce protocole et
à considérer, parmi celles-ci, la règle dont la partie condition décrit une situation la plus
proche de la situation courante.
La deuxième solution consiste tout simplement à demander au médecin, ce qui a motivé
son action et quels objectifs il entend réaliser. Cette solution présente un grand
inconvénient: elle accroit très sensiblement les interactions entre le système et l'utilisateur.
Pour peu que ce dernier dévie un peu des propositions du système, il lui faudra, en contre-
partie, alimenter le système avec un certain nombre de données. Or la réduction de l'aSPect
conversationnel, notamment des saisies, est un critère majeur de la facilité d'utilisation et
donc de l'acceptation de tels systèmes.
Une dernière solution consiste à enregistrer l'activation du protocole, à en tenir compte
au niveau du processus d'élection surtout pour les incompatibilités, mais en lui assignant un
statut particulier pour que son contrôle (suspension, arrêt) soit laissé aux soins du décideur.
Notons que dans tous les cas, il est utile de vérifier si l'ensemble des protocoles résultant
de la décision du clinicien obéit, au moins, au critère de la compatibilité des stratégies
appliquées.
D'une manière générale, les divergences entre les décisions du système et celles du
clinicien mettent en évidence des défauts dans le mécanisme qu'il faut considérer pour la
mise à jour et la validation de ce système.
Le premier cas met surtout en évidence un décalage entre les priorités considérées par le
médecin et ceux du système. Il faut donc revoir les situations en cause, pour déterminer la
source de divergence.
90

Le deuxième cas pose un problème plus fondamental qui est celui de la complétude de la
base de connaissance. Certaines situations n'ont pas été prises en compte soit parce qu'il
manque des règles soit parce que les seuils de comparaisons des règles existantes sont trop
restrictives. Ce problème est étudié au prochain chapitre.
91


CHAPITRE VI :
OUTILS ET METHODOLOGIES D'ETUDE DE LA COHERENCE
ET DE LA COMPbETUDE DES BASES DE CONNAISSANCE.
résumé : des outils pour l'étude de la cohérence des bases de connaissance sont présentés
ou proposés.
VI.l) introduction :
Pour être crédibles et acceptés, les systèmes experts, tout comme les systèmes classiques,
doivent être validés.
La validité d'un système est définie par le degré d'adéquation entre le système et la réalité
modélisée. On utilise les outils classiques de validation issus notamment des techniques de
simulation ou des tests statistiques.
Mais, en ce qui concerne les systèmes experts, le problème de leur validité passe par celui
de la cohérence des bases de connaissance. Cette cohérence est souvent abordée en terme de
recherche d'anomalies dans la base des règles. La recherche et l'élimination de ces
anomalies sont justifiées par le fait qu'elles peuvent induire des résultats suspects ou
franchement erronés dans la base des faits.
Il Ya deux types d'anomalies :
- anomalie de nature statique ou locale:
Il s'agit des anomalies qui peuvent être détectées et traitées sans l'utilisation d'un moteur
d r inférence. L'élimination de ces anomalies garantit la cohérence statique de la base des
connaissances. Pour cela, on recherche dans le cas général :
- des règles contradictoires; par exemple des règles contenant "P" en partie condition et
"Non P" en partie conclusion.
- des règles antagonistes, c'est à dire, des couples de règles ayant en partie conclusion
~'une "P" et j'autre "Non P".
- des règles indéclenchables donc inutiles.
- les circuits. Mais pour ce problème, il faudrait tenir compte du mode de fonctionnement
du moteur d'inférence. En effet, pour un moteur fonctionnant en chaînage avant, la
92

-'~résence de circuits ne pose en général pas de problèmes. En chaînage arrière ou mixte, des
précautions particulières sont à prendre.
- anomalies de nature dynamique:
La cohérence statique d'une base de connaissance ne garantit pas en général, la cohérence
globale du système. En effet, certaines anomalies ne peuvent être détectées que quand la
base de connaissance est exploitée. Pour être complet, il faudrait assurer la cohérence
dynamique de la base des règles;-en-considérant le couple base de règles et moteur
d'inférence pour tenir compte des enchaînements possibles des différentes règles.
L'étude de la cohérence dynamique pose des problèmes dûs essentiellement au fait que la
détermination des tous les enchaînements possibles des règles est un problème combinatoire.
Plusieurs approches ont été utilisées pour étudier ce problème:
- des approches utilisant des simulations et la détection à posteriori de certaines
anomalies.
- la compilation de la base de connaissance en une structure interne plus facile à
appréhender (généralement en un arbre de décision).
- une autre approche consiste à fixer des conjectures associées à des faits incohérents et
chercher, par des mécanismes d'inférence, à trouver les spécifications de la base des faits
qui peuvent générer ces incohérences.
L'importance du sujet justifie que ce domaine soit devenu un axe important de recherche.
Ainsi plusieurs systèmes ont vu le jour. On peut citer par exemple:
- le système COVADIS [Rousset, 87] : son objectif est de prouver la cohérence globale
de la base de règles indépendamment des bases de faits.
Les bases de règles traitées sont exprimées sous forme de règles de production. Certaines
de ces règles concluent sur le fait spécial INC (pour incohérence). Des contraintes
d'intégrité sur les faits du domaine sont aussi exprimées. L'idée de base est de calculer,
pour chaque fait particulier ne faisant pas partie de la base des faits initiale, les
spécifications que doivent vérifier les bases de faits permettant de les déduire.
Le calcul se fait par un mécanisme de propagation de type chaînage avant s'appliquant à
des faits contextuels. Quand on atteint le fait spécial INe (considéré comme fait non
initial), le contexte associé fournit un contre-exemple à soumettre à l'expert. S'il le juge
réaliste, alors la base des règles présente des incohérences. Sinon, on lui df':mande d'ajouter
des contraintes d'intégrité traduisant le caractère non réaliste du contexte.
- le système INDE [Pipard, 88] qui permet de détecter l'incohérence globale et
l'incomplétude d'une base de règles.
- le système SACCO [Ayel, 87] permet quant à lui, l'acquisition contrôlée des
connaIssances.
93

VI.2) les bases de règles étudiées
Dans beaucoup de systèmes experts, les règles sont décrites sous la forme (objet, attribut,
valeur) comme sur l'exemple suivant:
SI IC > 15 et PCP < 16
ALORS <conclusion>.
Lorsque toutes les conditions peuvent s'exprimer sous cette forme, une approche très
utilisée est la traduction de la base des règles sous la forme d' un arbre de décision - en fait
un latticiel par regroupement maximal des sous-arbres identiques - par des techniques de
compilation [Ippolito, 88]. L'étude de la cohérence et de la complétude de la base est alors
axée sur la structure obtenue.
Mais, dans bien des problèmes comme le diagnostic ou la caractérisation de situation, on
est confronté - c'est le cas dans le système REA -, à des attributs composés, c'est à dire
calculés à partir d'autres attributs; ce qui rend l'étude plus complexe.
Par exemple, dans le système REA, la surface corporelle "S.C" d'un patient est calculée
à partir de sa taille "T" et de son poids "p" par la formule:
S. C = (TO·725 * pO.425)/1 00
Ce système fait intervenir plusieurs index comme l'index cardiaque ou l'index de
consommation en oxygène:
IC = DC/SC
IVÜ2 = V02/SC
Nous considérerons donc les bases où les règles sont sous la forme plus générale :
SI FI (pl} ,p1 2, )
et F2(p2}.p22, )
et .....
et Fn(pn l ,P~, ... )
ALORS < décisions>
où les plj sont des paramètres du système. Chaque paramètre prend ses valeurs sur un
intervalle ou sur un ensemble donné de valeurs discrètes.
Les Fi, pour i = I. .. n, expriment des contraintes sur ces paramètres.
exemple:
SIX2 + 2Y s 70
et (Z + Y) 1 X < 40
ALORS < décision> .
X, Y,Z sont des paramètres.
Notons qu'on peut toujours se ramener à un système linéaire en introduisant des variables
"calculées". Par exemple, avec les nouvelles variables AUX 1 et AUX2 :
94

AUXI = X2 +2Y
AUX2 = (Z+Y)/X,
la règle se réécrit:
SI AUXI ~ 70 et AUX2 < 40
ALORS < décision> .
En procédant ainsi, on obtient des règles plus simples mais malheureusement un système
d'étude de la cohérence s'appuyant uniquement sur celles-ci n'est pas complet car il ne tient
pas compte des relations entre les différents paramètres.
Dans ce qui suit, nous présentons une approche possible de l'étude de la cohérence, basée
sur la propagation de contraintes sur des intervalles ainsi qu'un système d'analyse graphique
de la cohérence dans les bases de connaissances [Koussoube&al, 92].
VI.3) Etude de la cohérence des bases de connaissance et propagations de
contraintes sur les intervalles.
VI.3.1) intérêt de la propagation des contraintes
Pour étudier la cohérence des bases de connaissance ayant la structure défuiie ci-dessus,
par exemple, pour pouvoir déterminer les éventuels recouvrements entre deux règles
concluant sur des faits opposés (règles antagonistes) ou les règles indéclenchables, il est
important de pouvoir propager les contraintes définies dans les règles. Cela peut être réalisé
par l'utilisation des opérateurs de l'arithmétique dC!s intervalles [Alefred , 83]: intersection,
multiplication des intervalles, ...
Ainsi, pour établir qu'une règle est indéclenchable, on doit montrer que les conditions
exprimées dans cette règle - pas toujours triviales - ne peuvent être satisfaites, en prenant en
compte les restrictions de domaine exprimées par les intervalles de définition des paramètres
apparaissant dans les conditions de la règle.
Il s'agit d'étudier la satisfaction de contraintes sur des intervalles. Ce problème est connu
sous le nom de "Interval Constraint Problem Solving"(lCPS en abrégé).
VI.3.2) définition: problème de satisfaction de contraintes sur les intervalles
Le problème de la satisfaction de contraintes sur des intervalles [Hyvônen 89; 91] peut
être représenté par la donnée de :
El, E2, .... , En
PI:=XI,
Pm:=Xm

G Il ~ i < n sont des équations (au sens large).
Pj des variables apparaissant dans les équations G.
Xj des intervalles fermés de la forme [a,b]={x/a~x~b}
P: =X assigne l'intervalle X à la variable P.
95

Si auc·une assignation n'est explicitée pour la variable X, par défaut, on posera:
X :=[-00, +00].
exemple: conversion des température "Celsius" en "Fahrenheit"
F = C*1.8+ 32
(Et>
C : = [1,5], F: = [27,35].
Les équations El,
... En peuvent être remplacées par un ensemble équivalent de
contraintes en introduisant pour chaque f(x l, ... ,xp), une nouvelle variable implicite
y=f(xi ,... ,xp) et en remplaçant f(xi ,... ,xp) par cette variable.
L'exemple ci-dessus peut se réécrire:
y = C*1.8; F:= Y+32
Y:= [-00, +00]
C:= [1,5], F:= [27,35]
Les solutions exactes
{{Pl: = x}. ... , Pn : = xn} /xi e Xi, 1~ i < n} d'un problème
ICPS sont appelées extensions de ce problème.
Une contrainte sur {x}. ... ,xm} correspondant à une fonction xm=f(xl, ... ,xm-t> est
satisfaite par une extension si f(xt> ... xm-l) évalue xm dans cette extension.
Un ICPS est dit admissible s'il existe une extension satisfaisant toutes les contraintes,
c'est à dire admettant une solution pour toutes les équations. L'exemple donné est
admissible car il admet une solution {C: = l, F=33.8}.
Une variable P: =X est consistante si et seulement si chaque interprétation P: =x, x e X,
est satisfaite par une extension, c'est à dire que l'intervalle X ne doit pas contenir des
valeurs "externes" qui ne peuvent pas être satisfaites à l'intérieur des autres intervalles.
Une situation {Pl := Xl, ... , Pm := Xml est consistante (et constitue par conséquent
une solution) si et seulement si toutes ses variables sont consistantes. L'exemple donné est
globalement inconsistante car c: = 5 ne peut être satisfait dans F: = [27, 35]. On peut définir
une consistance locale qui ne considère, pour chaque variable, que les contraintes qui lui
sont directement liées.
Résoudre un problème ICSP revient à trouver les plus petits intervalles consistants <Pi
(<PiC Xi) qui contiennent exactement les mêmes solutions que les domaines Xi originaux.
La solution de l'exemple ci-dessus est {C:=[l, 1.666], F:=[33.8, 35]}
VI.3.3) algorithmes
Pour résoudre un problème ICPS, ni les schémas discrets de satisfaction de contraintes
[Meseger, 89] qui se focalisent sur l'existence d'une solution exacte, ni les schémas de la
programmation en logique avec contraintes [Jaffar 86; Colmerauer 87 ; Aiba & al 88] ne
sont applicables.
96

Deux classes d'algorithmes de consistance sont généralement utilisées.
D'une part, les algorithmes de consistance [Davis, 87] issus de "l'algorithme de Waltz"
[Waltz, 75]. Le principe de ces algorithmes est d'éliminer les valeurs localement
impossibles, c'est à dire insatisfaisables, des variables intervalles. Seules les contraintes
liées à la variable--sont considérées. Quand la valeur d'une variable a été modifiée, les
contraintes associées sont testées jusqu'à trouver soit un point fixe, qui est alors une
situation localement consistante, c'est à dire une solution, soit une impossibilité.
Une deuxième approche consiste à utiliser une propagation d'intervalle [Hyvoven, 89] qui
généralise les systèmes de propagation de valeurs exactes [Leler, 88].
Les conditions locales de consistance d'une contrainte sont définies en terme de fonctions
solutions symétriques basées sur l'arithmétique des intervalles [Moore 66; Alefred 83].
Par exemple pour la contrainte X + Y = Z, les fonctions solutions sont:
X=Z-Y;
Y=Z-X;
Z=X+ Y.
Si les fonctions YI =FI(Xt> ... , Xn), ... , Yn=Fn(X}, ... , Xn) sont les fonctions
solutions d'une contrainte C, alors les variables sont localement consistantes par rapport à
C, si et seulement si:
y} C F}(X},···,Xn) , ... ; Yn C Fn(X}, ...,Xn).
Une méthode généralement utilisée est l'implémentation de l'ensemble des équations sous
la forme d'un réseau de contraintes qui est exploité pour réaliser des inférences dont le but
est de calculer des labels consistants, c'est à dire les domaines de défmition associés aux
paramètres compatibles avec les contraintes.
Un réseau de contraintes est une structure déclarative qui exprime des relations entre des
paramètres. Il consiste en un ensemble de noeuds connectés par des contraintes. Un noeud
représente un paramètre unique ayant une valeur particulière connue ou inconnue. Une
contrainte relie souvent un petit nombre de noeuds.
L'inférence sur un réseau de contraintes est faite en propageant les contraintes à travers le
réseau : des informations sont déduites à partir d'un groupe local de noeuds et de
contraintes et sont enregistrées comme des changements dans le réseau. Ces changements
sont à leur tour propagés et ainsi de suite, ...
-
Pour l'étude menée ici, il s'agit de déduire les bons labels. A chaque noeud, est associé
un label, c'est à dire l'ensemble des valeurs possibles de ce noeud. L'inférence a pour but
d'utiliser les contraintes pour réduire les labels. Cette réduction est réalisée au travers d'une
procédure d'épuration définie comme suit:
Soit C : une .,;ontrainte sur des noeuds {Xl," . ,Xk}.
{Si} : l'ensemble des labels des {Xi}
EPURER(C, Xj) = { ~ e Sj 1 3 (éij e Si, i = 1... k, i < > j)
C(al' .,.,~, ... ,ak)}
97

EPttRER(C, Xj) donne l'ensemble des valeurs de Xj qui sont consistantes à la fois avec la
contrainte C et avec tous les labels Si : une valeur aj appartient à cet ensemble si aj
appartient au label de départ Sj et fait partie d'un k-uple al ... ak qui satisfait à la fois la
contrainte C et les différents labels Si.
L'algorithme de Waltz, décrit ci-dessous, consiste à appliquer cette fonction sur chaque
contrainte et chaque noeud du réseau, jusqu'à ce qu'il n'y ait plus de changement de label
dans le réseau. Dans ce cas, l'algorithme converge.
La fonction "Revise" ci-dessous réduit les labels de tous les paramètres X ..... ,Xk d'une
contrainte C donnée et retourne la liste des paramètres dont les labels ont changé.
fonction Revise(C(X l,' .. ,Xk»
début
CHANGES < ------ {};
pour chaque argument Xi faire
début
S < ----- EPURER(C,Xi);
si S = {} alors halt; /* les contraintes de départ sont inconsistantes */
sinon si S < > Si alors
début
Si < ------ S;
/* changement de label */
ajouter Xi dans CHANGES;
fin
fin
Retourner(CHANGES); /* la liste des paramètres dont le label a été réduit */
fin
L'algorithme de Waltz peut s'implémenter comme suit:
procédure Waltz
début
Q < ---------- la liste de toutes les contraintes
tant que Q < > {} faire
début
retirer la contrainte C de Q;
CHANGES < ----- REVISE(C);
pour chaque Xi ê CHANGES faire
pour chaque contrainte C' < > C ayant Xi dans son domaine, faire
ajouter C' dans Q;
fin tant que
fin
98

L'ordre de complexité et la convergence ~cœtalgorithme varient selon la nature des
contraintes (voire annexe A4).
exemple:
CONTI :XY = Z; CONT2 : Y ~ X,
avec les labels initiaux: xe [5,80]; y e [8,50]; Z e [20,250].
Ces spécifications sont représentées par le réseau de contraintes suivant:
1CONT, : X'(: Z 1
1 CONTz :Y<:X 1
figure 35 : un réseau de contraintes
L'application de l'algorithme précédent donne les résultats suivants:
Q contient au départ les deux contraintes CONTI et CONT2.
* CONT1 est retirée de la liste pour être exploitée par la fonction Revise:
- Z : (X > =5 et y> =8) = = > Z > = 40. Nouveau label de Z : = [40,250];
Z est rajouté dans la liste CHANGES.
- Y : inchangé.
- X: (Z< =250 et y> =8) = = > X s 250/8. X est rajouté dans CHANGES et son label
courant devient [5, 250/8].
Comme X fait partie de la liste CHANGES, CONT2 est rajoutée dans Q (en fait, c'est une
action sans effet car CONT2 se trouve déjà dans Q).
* CONT2 est retirée de la liste Q. Son exploitation donne:
- y : X < = 250/8 == > Y < = 31.25. Nouveau label de Y [8,31.25]
- X : y> =8 = = > X > =8. Nouveau label de X : [8, 31.25].
Comme le label de X a changé, il faut rajouter CO NTI dans Q.
* CONTI est exploitée:
- Z: (X> =8 et y> =8) = = > Z > = 64 . Nouveau label [64,250]
- Y : inchangé.
- X : inchangé.
99

Seul Z a changé, mais il n'est relié qu'à CONT1 qui vient d'être exploitée; aucun élément- " 0
n'est rajouté dans la liste Q.
* Q est vide. L'algorithme s'arrête avec les labels finaux:
X:= [8, 31.25] y:= [8, 31.25] Z:= [64,250]
En pratique, la résolution pose un certain nombre de problèmes:
- certaines valeurs des variables doivent être exclues dans la définition des contraintes.
Par exemple, dans la contrainte X/Y=Z, toute solution telle que 0 e Y est
à exclure
implicitement.
- les fonctions ne peuvent pas être toujours définies ou appliquées aisément. Par exemple,
dans la contrainte X*y = Z, la fonction solution X = Z!Y ne peut pas être définie pour tout
y contenant l'élément 0, alors que, contrairement au cas précédent, la valeur Y=0 n'est pas
à exclure.
- dans certains cas, il existe des solutions discontinues.
- non monotonie: lorsque les fonctions mises en jeu sont simples, les valeurs des
intervalles sont obtenues facilement en considérant les bornes inférieures et supérieures des
arguments. Ces fonctions se comportent de façon monotone. Par exemple :
[x,y]*[ u, v] = [min(xu,xv,yu, uv),max(xu,xv,yu,yv)].
Avec des fonctions plus compliquées, il est difficile de déduire les valeurs des intervalles.
Ces difficultés expliquent l'ordre de complexité élevé de l'algorithme de résolution
consigné en annexe A4.
VI.3.4) exemples :
- consistance dl une règle:
soit la règle RI: SI Pl < 20
et P
>
3
110
ALORS <D>
avec les paramètres Plo P2, P3 définis respectivement sur les intervalles [10,90), [5, 50],
[2, 162] et la relation:
P =
3
(P 2)/P
J
2
En ne tenant pas compte de cette relation, la règle RI est apparemment cohérente du point
de vue de sa partie condition. Mais sa traduction en problème IepS (on se limite ici aux
conditions) donnera les spécifications suivantes:
100

Pl < 20,
P3 > = 110, P3=(PI * Pl)/P2.
Pl: =[10,90]; P2:=[5,50]; P3:=[2,162].
En condensé :
P3 =(P l * Pl)/P2.
P1:=[1O,90] n [-00,20];
P2 :=[5,50]
«(10, 20])
P3 : =[2, 162] n [110, + 00]
([2, 110])
Ce problème n'admet aucune solution, autrement dit, il n'existe aucune situation
satisfaisant les contraintes exprimées dans les prémisses de la règle; elle est donc
incohérente.
- recouvrement de deux règles antagonistes
De la même façon, on peut être amené à trouver les situations où deux règles antagonistes
risquent d'être déclenchées en même temps.
Si la traduction des conditions de la règle RI donne:
EII, E12, .... , El n
pll:=XII,
plm:=X l m
et celle de la règle R2 :
E21, E22, .... , E2p
p2 1 := X21,
p2q := X2q
On recherche les situations qui sont solutions des deux problèmes à la fois. Cela revient à
résoudre le problème :
101

VIA) analyse des données et étude de la cohérence: une approche visuelle
de l'étude de la cohérence
VIA.1) principe général
Nous présentons maintenant une système d'étude visuelle de la cohérence et de la
complétude des bases de connaissances. L'étude s'appuie sur la représentation graphique
des domaines occupés IJaf-Jes différentes règles dans l'espace des paramètres. Cet espace,
pour être étudié, est ramené à une dimension raisonnable par les méthodes de l'analyse
multidimensionnelle des données.
L'ensemble des paramètres intervenant dans les règles sont définis sur des intervalles bien
précis. Les règles du système, compte tenue des contraintes qu'elles expriment dans leur
partie condition et des assignations qui sont faites dans leurs conclusions, occupent des
domaines contenus dans l'espace des paramètres.
On se propose alors, d'étudier, sur le plan graphique, la structure de cet espace morcelé
en domaines par les différentes règles, c'est à dire l'occupation spatiale ainsi que les
positions relatives de ces règles. Après avoir déterminé les points à représenter, ceux-ci sont
associés aux différentes règles, puis visualisés. Le graphique obtenu est alors analysé et
exploité pour l'étude de la cohérence et de la complétude.
Le schéma général de l'étude est le suivant:
Règles
)7Malrice
/.
----'-----+
DISCRETISATION
ANALYSE
,---+
ET ASSOCIATION
POINTS-REGLES
A.C.P.
'-
"-
Règles
)7
/'
MODIFICATION
VISUALISATION
DES
+-
INTERACTIVE
REGLES
'-
J
'-
figure 36: schéma général de l'étude de la cohérence
102

VI.4.2) détenninatidn titi treillis de points
L'ensemble des paramètres apparaissant dans les règles sont recensés dans un premier
temps. Seuls les paramètres de base (ou paramètres mesurés) sont considérés, à l'exclusion
de tout paramètre calculé.
Les points à représenter sont détenninés par une procédure de maillage sur l'ensemble des
paramètres. Selon la fInesse de ce maillage, on obtient un ensemble plus ou moins grand de
points. Ces points sont ensuite associés aux règles en faisant tourner Un moteur d'inférence
à saturation sur la base des règles avec comme faits initiaux, les assignations des
paramètres.
Le résultat de cette procédure de discrétisation de l'espace paramétrique est une matrice
ayant la fonne suivante :
Pl
P2
·..
Pn
règle
1
0
5
·..
0
1
2
0
5
·
0
4
"
3
10
5
·..
0
1
...
...
.
...
"
'"
M
100
40
·..
900
89
figure 37 : type de matrice obtenue après discrétisation
Les valeurs Pl, P2, ... , Pn représentent des points de l'espace des paramètres. La ligne
n° 1 de la matrice signifie que le point de coordonnées (0, 5, ... , 0) appartient au domaine
défini par la règle nO 1 (point de classe 1); en d' autres tennes, pour cette combinaison de
valeurs associées aux paramètres Pl, P2, ... ,Pn, la règle n0 1 est déclenchable. Un point
peut, bien sûr, appartenir à plusieurs classes.
VI.4.3) analyse des données et visualisation
VI. 4.3. 1) principe
Pour pouvoir mener l'étude, les points ainsi constitués seront visualisés à l'écran. Ainsi,
dans le cas où au plus trois paramètres apparaissent dans les règles étudiées, les domaines
correspondants à ces règles sont visualisés sur écran couleur en dimension trois ou moins.
Cette visualisation permet notamment de se rendre compte des recouvrements entre les
différentes règles mais aussi des domaines inoccupés traduisant l'incomplétude. On peut
alors modifier les règles et relancer l'analyse jusqu'à l'obtention d'un ensemble cohérent de
règles.
[03

Malheureusement, la visualisation n'est pas aIsee dès que le nombre de paramètres'
dépasse trois - ce qui est très souvent le cas -. Pour avoir un support visuel, nous utilisons
une analyse multidimensionnelle des données: l'analyse en composantes principales (ACP)
dans le but de réduire la dimension de l'espace à représenter.
VI.4.3.2) l'analyse en composantes principales (A.C.P.)
- objectif
Les méthodes d'analyse des données se proposent de fournir des représentations
synthétiques de vastes ensembles de valeurs numériques.
L'ACP (Pearson,
Hotelling),
permet d'obtenir un résumé descriptif (sous forme
graphique le plus souvent) d'un ensemble de n observations de p variables numériques
continues.
Le problème peut se résumer ainsi:
On dispose de données - statistiques en général - qui ne peuvent se représenter que dans
un espace de dimension élevée; ce qui signifie le plus couramment qu'on dispose d'un
nombre assez important de variables et d'observations. Dans la pratique, les données sont
sous la forme d'un tableau rectangulaire de valeurs numériques dont la dimension est telle
que l'information contenue dans cet ensemble de nombres est difficilement assimilable.
On désire représenter dans la mesure du possible, ces données dans un espace de faible
dimension, avec le minimum de perte d'information c'est à dire, ramener le nombre de
variables à un nombre raisonnable permettant de restituer, le mieux possible, l'ensemble des
paramètres. On passe par exemple de 1000 points dans un espace à 20 dimensions à 1000
points dans un espace à 2, 3, 4, ou 5 dimensions. Cette opération est purement descriptive.
- représentation des observations
On dispose de n observations sur p variables. Pour représenter ces points, on cherche les
axes factoriels. On ne s'intéresse pas à la position du nuage de points mais aux proximités
entre les divers points observations (Xl, X2, ... ,Xn). On cherche par exemple le sous-
espace à une dimension FI (une droite) tel que les distances entre les projections des points-
observations mesurées sur cette droite soient le plus proches possible, des distances réelles
de ces points dans l'espace de départ.
Soit u = (uI' Ub ... ,up) un vecteur unitaire porté par la droite FI (figure 38)
fi
figure 38 : les axes factoriels
104

Il est montré que si 1~tltr veut, qu'en moyenne, les longueurs des projections soient
maximales de façon à ce que la défonnation du nuage soit minimum, il faut rendre
maximum la quantité:
S= u'Vu
avec u'u = 1 (u est unitaire).
où V est la matrice des covariances expérimentales des p variables.
La solution u qui s'appelle alors la première composante principale du nuage est vecteur
propre de V; la valeur propre correspondante À est précisément le ·maximum de u'Vu, donc
caractérise la dispersion des projections sur FI.
Le q-ième vecteur propre sera la q-ième composante principale du nuage et correspondra
à la q-ième valeur propre Àq, celles-ci étant classées par ordre de grandeur décroissante.
Nous trouvons ainsi les axes factoriels qui ont la propriété d'extraire progressivement le
plus d'informations possible concernant les proximités entre les points observations de RP.
Notons que la qualité de cette information peut-être mesurée par l'importance de la ou des
plus grandes valeurs propres, selon que l'on utilise un ou plusieurs facteurs pour la
représentation.
11 peut intervenir un important problème d'unité et de pondération entre les différentes
variables: en effet, si la j-ième composante a des valeurs relativement élevées, le tenne
correspondant dans le calcul des distances jouera un rôle prépondérant. Pour palier à cela,
on procède le plus souvent à une normalisation de la matrice de départ:
Soit X le tableau de départ, de tenne général Xi} où Xij est la ième observation d'une
variable j. Les variables peuvent être hétérogènes quant à leur moyenne. Ainsi, pour
plusieurs bilans sur les paramètres, il est clair que la pression artérielle moyenne (PAM)
exprimée en mmHg, sera beaucoup plus élevée en moyenne, que l'hémoglobine exprimée
en g/l et cela, quelque soit le bilan. On soumettra alors à l'analyse, à la place du tableau
initial, la matrice de terme fij = Xij - ffij (ffij est la moyenne de la colonne j).
Les valeurs du tableau X peuvent être très hétérogènes en moyenne mais également en
dispersion: les échelles de mesures peuvent être diverses (centimètre, kilogramme, ... ). La
comparaison des mesures de deux variables différentes n'a plus aucun sens. Il faut alors
analyser le tableau de terme fij = (xij - ffij)/Sj où Sj est l'écart-type empirique de la jème
variable.
VI.4.3.3) le logiciel d'analyse des données:
L'ensemble de l'analyse est mené au travers du logiciel Tétralogie [Dousset, 91a; 9Ib].
Ce logiciel permet de faire la synthèse des résultats numériques recueillis et de les présenter
sous une fonne ergonomique au travers de graphiques 3D. On peut alors manipuler et
explorer ces données.
Le logiciel se compose principalement de deux modules:
105

- un module regroupant les méthodes d'analyse des données notamment l'AeP que nous
utilisons pour notre étude.
- un système de visualisation 3D voir 40 en utilisant des niveau de gris.
Le module ACP réalise l'analyse en-composantes principales d'une matrice semblable à
celle décrite plus haut. Cette analyse fournit une nouvelle matrice où les axes sont les axes
factoriels. Ainsi en extrayant, par exemple, les trois premières coordonnées (relatives aux
trois principaux axes), on obtient une plus ou moins bonne approximation de l'espace
individus/paramètres initial.
Le système de visualisation permet de projeter les résultats de l'analyse sur l'écran dans
un système de trois axes. Le nuage de points est considéré dans un espace engendré par
trois des axes principaux. Chaque point est représenté par un icône (cercle, rectangle,
triangle, ... ) dont la taille est inversement proportionnelle à sa distance à l'observateur. A
chaque icône, est associée une couleur qui dépend de sa classe (c'est à dire de la règle dont
elle relève).
Pour faciliter l'interprétation de l'image 3D ainsi obtenue, le logiciel dispose des
fonctionnalités suivantes:
- rotation autour du centre du nuage.
- rapprochement de l'observateur par rapport au centre du nuage.
- zoom autour du centre ou autour d'un point quelconque du nuage.
- projections sur les trois plans formés par les trois axes principaux.
- élimination des points autour du centre.
- etc ...
VI.4.4) exploration du graphique, exemple d'exploitation pour l'étude de la
cohérence
VI. 4. 4. 1) détermination des règles inutiles
Lorsque le domaine paramétrique défini par une règle est vide (le processus de génération
de points ne lui a associé aucun point) alors, cette règle ne se déclenchera probablement
pas. Ses conditions d'application qui sont peut-être trop restrictives sont à reconsidérer.
VI.4.4.2) règles antagonistes et zones de conflits
Une des possibilités importantes de la visualisation est d'autoriser la détection visuelle des
zones à conflits. Une zone à conflits est un domaine de l'espace paramétrique où plusieurs
règles sont concentrées (figure 39). Il faut donc étudier ces zones pour déterminer si elles
106

contiennent des règles anta:gonistes. Si c'est le cas, il faut revoir les règles concernées pour
résoudre les conflits potentiels, par exemple, en modifiant des seuils de comparaison.
La mise en avant des zones à conflits peut se faire par la fonction zoom du logiciel. La
zone concernée est agrandie pour pouvoir détenniner les règles en cause. Les possibilités de
rotation sont à cet effet très utiles. Lorsque des règles potentiellement conflictuelles sont
détectées, il est menée une étude plus détaillée sur celles-ci en retirant les autres de
l'analyse.
Zone à conflit
figure 39 : présentation d'une zone de conflit
VI.4.4.3) la complétude
VI.4.4.3.1) détennination de l'incomplétude
Le problème de la complétude est très important dans les systèmes de caractérisation de
situation. Il peut se poser dans les tennes suivants:
Etant donné un ensemble de règles, peut-on assurer que toutes les situations possibles et
réalistes sont prises en compte, c'est à dire traitées par une règle au moins de la base de
connaissance? En particulier dans le cas de la partie "DIAGNOSTIC" du système REA,
peut-on être sûr que toutes les situations anormales sont caractérisées? Cela suppose que les
situations nonnales, c'est à dire les états où les valeurs des paramètles correspondent à un
"état but" et où à priori aucune action n'est à entreprendre, ont, eUes aussi, été
correctement caractérisées.
Compte tenue de la structure des règles faisant intervenir beaucoup de paramètres calculés
et de la rigidité des bornes de comparaison - cette rigidité peut-être évitée dans certains cas
en utilisant des prédicats flous-, il est assez courant "d'oublier" certaines situations à
problèmes.
107

Pour se rendre compte de l'incomplétude, une règle spéciale qui réussit quand toutes les· ~"
autres échouent, est rajoutée dans la base de connaissance. Le domaine occupé par cette
règle représente les situations non traitées.
Remarquons que l'analyse de l'importance de ce domaine, ainsi que sa position par
rapport aux autres domaines est souvent utile. En effet, on peut, par exemple, considérer
que si ce domaine est assez petit et situé dans le voisinage immédiat du domaine défini par
une règle, alors, une légère modification de cette règle par relâchement de certaines de ses
conditions, permettrait de palier à l'incomplétude.
Le problème est tout autre;-si ce domaine occupe une position marginale par rapport aux
autres domaines, ou s'il est d'une taille importante. Dans ce cas, il est probablement
nécessaire de rajouter une ou plusieurs nouvelles règles dans la base de connaissance.
VI.4.4.3.2) classification automatique des situations
Dans ce qui suit, nous montrons comment il est possible d'utiliser le treillis de points
généré pour tenter de résoudre le problème de l'incomplétude. Il s'agit de développer une
fonction "anti-oubli" en exploitant un raisonnement par proximité. Nous disposons d'un
ensemble de règles supposées cohérentes. On se propose pour les points (ou situations) non
pris en compte par ces règles, de trouver de façon automatique, la règle la plus apte à se
déclencher au sens que nous définissons plus bas.
- distance entre deux situations :
Soient deux points Pl =(pl ..p12, ... ,p1n) et P2=(rl,p22, ..• ,p2n) représentant deux
situations SI et S2. La distance entre ces deux situations est définie par :
dist(SI,S2) = dist(Pl,P2) = E d(p1i,p2i)
i= l, n
En utilisant la distance classique, on aura:
dist(SI,S2) = CE(pli - p2i)2)112
i= 1, n
Avec la distance de Hamming, on a:
dist(Sl,S2) = E 1pli - p2i 1
i= l, n
A cause du problème de l'homogénéité des unités évoqué plus haut, il convient de
normaliser les valeurs avant de procéder aux calculs.
- distance entre une situation et une règle
Nous introduisons la notions de distance entre une règle et une situation. Une situation est
un point de l'espace paramétrique. Nous avons par la procédure de construction, associé à
chaque règle un treillis de points.
108

Notons:
- D(Ri) le domaine de Ri c'est à dire le treillis de points associé à la règle Ri·
- C(Ri), le point central de D(Ri) c'est à dire le point de D(Ri) le plus proche du centre
de gravité de D(Ri). Gi = C(Ri) = (g ..g2' ...go) peut être vu comme un point typique du
domaine de la règle.
Soit une situation S = (s). ~, ... , Sn) n'appartenant pas au domaine D(Ri) d'une règle
Ri. La distance entre cette situation et la règle Ri est définie par :
dist(S,Ri) = dist(S,C(Ri» (figure 40).
*G3
figure 40 : distance situation-règle
- classification:
On prend comme coefficient d'appartenance d'une situation à une classe (une règle),
l'inverse de la distance. Le coefficient d'appartenance de la situation Sj à la classe Rk est:
Cjk= (lIdist(Sj,Rk» * (MIN(dist(Sj,Ri» , i= 1. .. ,m).
où m est le nombre de règles à considérer.
On obtient une matrice de classification de la forme:
règles
R}
R2
.,.
Rn
situations
S}
0.52
1.00
S2
...
...
. ..
...
Sp
1.00
0.56
figure 41: matrice de classification situations-règles
109

Les termes de ce tal1teau représente les coefficients d'appartenance des situation Si aux
différentes règles Rk.
On peut restreindre la classification à l'intérieur d'un certain rayon donné. Si r est le
rayon limite, alors, on a la restriction:
Sj peut être classée Ri avec un certain coefficient si dist(Sj ,Ri) ~ r. (figure 40)
D'autre part, pour chaque situation, on peut faire le choix de ne conserver que les règles
les plus proches; par exemple les trois règles les plus proches de chaque situation.
Ces spécifications reviennent à réaliser la dilatation du domaine des règles d'un rayon r
fixé, à partir de leur point central.
En ne conservant que les trois règles les plus proches de chaque situation, on a en sortie
un tableau de la forme:
règles; coefficient rèole
b
n° 1·,
règle n02;
règles n03;
situations
coefficient 1
coefficient 3
coefficient 2
SI
Rl1; 1.00
R5; 0.75
R50; 0.42
S2
non classé
non classé
non classé
S3
R3; 1.00
Rl2; 0.64
R5; 0.36
.
.
Sn
R()3; 1.00
RI; 0.42
~; 0.31
figure 42: table de classification simplifiée
La ligne n03 signifie que la situation S3 peut être classée dans les domaines des règles
R3' Rl2 et RS avec les coefficients respectifs l, 0.64 et 0.36.
La situation S2 ne peut être classée dans aucune des règles considérées.
L'analyse de ce tableau peut favoriser la modification des règles existantes ou la
génération de nouvelles règles. D'une manière générale, les situations non classées appellent
la création de nouvelles. Celles qui sont classées peuvent être probablement traitées en
modifiant les règles.
Ilü

VI.4.5) résultats et limites:
La figure 43 présente les domaines de trois règles. On notera que ces domaines dont les
points sont représentés respectivement par des triangles, des rectangles et des hexagones ne
se recoupent pas.
'~ii#i'NWU.',j;f§ii_.,.;tD'Utll5'
figure 43 : le domaine de trois règles sans zone de conflit
1 Il

La figure 44 représente les domaines de trois règles. Ce schéma montre qu'il existe une
zone de conflits. Les règles représentées respectivement par les triangles et par les
rectangles ont des domaines qui se recoupent.
' int;, 5$1:W 3; 1 ÎHJj'ij't1i ;' .=tf. . Ri
;r9' il;'! *
m.ii4M'WI'tait.],M
'é' 'jtjl!'Irt ':W
'
1
"

o
o
o
D
figure 44 : les domaines de trois règles présentant un éventuel conflit.
La finesse des résultats de l'analyse est tributaire du nombre de paramètres et bien-sûr de
la taille des intervalles de définition de chaque paramètre.
, 112

Si le nombre' de paramètres est très élevé ou si les intervalles de validité des paramètres
sont grands, le maillage réalisé pour la détennination des points est assez grossier. En effet,
pour la clarté de la visualisation, le nombre de points traités ne doit pas dépasser une
certaine limite.
Pour palier à ce problème, nous avons suivi la démarche suivante: dans un premier
temps, les intervalles sont fixés le plus large possible; ce qui garantit la couverture de tout
l'espace paramétrique et donc la prise en compte des cas extrêmes. Dans un deuxième
temps, l'analyse est focalisée sur les valeurs les plus typiques ou les valeurs qui posent
problème. On réduit par conséquent les intervalles pour mener une étude plus fine.
L'intégration des variables qualitatives dans l'analyse nécessite des aménagements
particuliers.
remarques :
1) Lorsque les conditions apparaissant dans les règles sont assez simples, on pourra tirer
avantage d'une procédure de propagation des contraintes comme celle décrite plus haut pour
réduire les intervalles avant de lancer l'analyse.
2) Dans la mesure où la base de règles, dans notre cas, a été découpée en un ensemble
hiérarchique de paquets de règles, mcxlélisant chacun une étape du raisonnement, l'étude,
dans un premier temps, doit être menée séparément à l'intérieur de chacun de ces groupes
de règles; puis ensuite étendue à l'ensemble de la base de connaissance.
3) Dans la procédure de génération de points, il parait important d'inclure les valeurs qui
servent de bornes de comparaison dans les règles.
VI.S) cohérence temporelle:
VI.5.1) les contraintes temporelles dans les règles
L'étude de la cohérence temporelle de la base de connaissance peut être nécessaire dans la
mesure où apparaissent dans les prémisses des règles, des conditions sur les attributs
temporels pour exprimer des restrictions d'ordre temporel. Ces restrictions définissent un
réseau temporel associé à la base des règles, qu'il convient d'analyser.
exemple: Remplissage (règle 7-3).
La description de ce protocole est donnée au §V.2.3.4). Elle peut être réalisée, avec une
syntaxe légèrement modifiée, par l'ensemble des règles ci-dessus:
règle 1 : Sfpassé(ev,lOmn)
et R_7_3 = masqué
et PCP > = PCP initiale +7
ALORSR_7_3 =arrêté,
Time(ev).
III

règle 2 : SI passé(ev, lOmn)
et R_7_3 = masqué
et PCP > = PCP initiale + 3
et PCP < PCP initiale + 7
ALORSR_7_3 = suspendu,
Time(ev).
règle 3 : SI passéeev, lOmn)
et R_7_3 = masqué
et PCP < PCP initiale + 3
ALORSR_7_3 = actif,
Time(ev).
règle 4 : SI passéeev, lOmn)
et R 7 3 = suspendu
et PCP < PCP initiale+ 3
ALORSR_7_3 = actif,
Time(ev).
règle 5 : SI passéeev, lOmn)
et R_7_3 = suspendu
et PCP > = PCP_initiale + 3
ALORS R_7_3 = arrêté,
Time(ev).
règle 6 : SIR_7_3 = 1
ALORSR_7_3 = masqué,
calcul_dose(dose_ev),
Time(ev).
Les contraintes d'ordre temporel établissent un ordonnancement "dynamique" entre les
différentes règles et, par conséquent, entre les faits déduits. Le but de l'étude est donc de
s'assurer de la cohérence du réseau temporel ainsi induit.
Dans ce qui suit, nous présentons un ensemble de méthodes permettant de réaliser cette
étude.
VI.5.2) vérification de la cohérence temporelle: cas de relations symboliques.
Lorsque les contraintes temporelles sont exprimées au moyen de relations symboliques
telles que avant, après, pendant, il est possible d'utiliser le système de Allen [Allen, 83].
La représentation temporelle de Allen utilise comme principale primitive, la notion
d'intervalle temporel. Treize relations binaires mutuellement exclusives (avant, après,
débute, finit, ... ) sont définies entre les intervalles (voir annexe AS).
114

Ces relations sont consignées dans un réseau dont' les noeuds représentent les intervalles.
Chaque arc est étiqueté par les relations possibles entre les deux intervalles représentés par
leurs noeuds. Le réseau ainsi construit pennet de maintenir toutes les relations possibles
entre les intervalles temporels. Quand une nouvelle relation est rajoutée, toutes ses
conséquences sont déduites en réalisant la fenneture transitive des relations: le fait ajouté
introduit une contrainte sur la façon dont ses deux intervalles peuvent être reliés. Cette
nouvelle contrainte crée éventuellement d'autres contraintes sur les autres intervalles par le
biais des règles de transitivité sur les relations temporelles. Des algorithmes de propagation
des contraintes utilisent la table de transitivité pour déduire toutes les relations possibles
entre les intervalles, en éliminant celles qui rendent le réseau incohérent.
La table de transitivité ainsi qu'un algorithme de propagation sont donnés en annexe.
VI.5.3) cas numérique: propagation des contraintes
Les contraintes temporelles que nous avons eues à traiter font souvent intervenir des
valeurs numériques. Elles expriment en général, un laps de temps minimum ou maximum
entre deux événements donnés ou deux actions.
Les contraintes temporelles, existant entre les différentes entités (faits, actions, ... ),
lorsqu'elles sont ainsi exprimées numériquement, peuvent être traduites sous la fonne d'un
réseau appelé Time Map (TM) [Dean, 1987] dont on étudiera la consistance.
Un TM (figure 45) est un graphe dont les sommets - appelés tokens - correspondent au
début ou à la fin des événements. Les différents sommets sont reliés deux à deux par des
contraintes représentées par un arc orienté. Chaque arc est étiqueté par un intervalle dont les
bornes représentent la borne inférieure et supérieure séparant les deux points dans le temps.
®
7 ~8.14]
[2.6)
~
[-4.5)
[15.19]
~
Pl
/
[-3.14)
/[5.13)
®
figure 45: un graphe temporel
Sur ce graphe, l'arc (P3,P4) étiqueté par l'intervalle [5,13], signifie que les événements
associés à ces deux points sont séparés par un laps de temps compris entre 5 et 13 unités de
temps_
Pour se ramener à un problème de propagation de contraintes tel qu'exprimé au §VI.3),
ce graphe sera représenté par un réseau temporel défini comme suit:
115

Pour chaque couple de points (Xi,Xj) tel que Xj -Xi e [aij,bij], on associe un noeud Xij à
la différence Xj - Xi avec le label [aij, bij].
Les contraintes entre les noeuds, ainsi construits, sont toutes des contraintes implicites
définies comme suit :
si NI représente la différence A-B, N2 la différence B-C et N3 la différence A-C (ou A,
B, C sont des points) alors, on rajoute la contrainte NI + N2 = N3 .
Le problème est de prouver la consistance du réseau ainsi construit, c'est à dire de
calculer les labels des différents noeuds en prenant en compte les contraintes implicites.
Avec un réseau de ce type, l'algorithme de Waltz converge et est complet. La règle de
réduction des labels est définie comme suit:
Si Xij : = [aij' bij], Xjk : = [ajk, bjk] et Xik : = [aik, bik] alors, le label du sommet Xik
est recalculé par la formule :
Cette opération est précisément l'opération de base de nombreux algorithmes de recherche
de chemins de longueurs minimales (Ford, ... ). Il suffit donc de faire tourner d'abord l'un
de ces algorithmes sur le graphe et d'opérer ensuite la révision des labels en suivant l'ordre
donné par l'algorithme.
L'ordre du calcul est celui de l'algorithme de recherche de chemins de longueurs
minimales utilisé.
VI.S.4) méthode des potentiels sur un graphe:
VI. 5.4. 1) définition et intérêt de la méthode
Nous introduisons à présent une dernière approche issue de la recherche opérationnelle
pour étudier ce problème lorsque les contraintes interviennent sous forme numérique.
La méthode utilisée est désignée sous le nom de "Ensemble De Potentiels" sur un graphe
(EDP). Elle permet de déterminer les ordonnancements possibles entre les différents
sommets du graphe (entre les différentes règles ou les actions en ce qui concerne la base de
connaissance) .
- définition: ensembles de potentiels sur un graphe.
On considère un graphe G = (X, U)
avec X = {Xi / i eN} l'ensemble des sommets et U l'ensemble des arcs;
à propos duquel on se donne :
- une fonction à valeurs réelles associant à chaque arc U=(Xi,Xj), sa longueur A(u) = aij.
- une famille F de parties (non nécessairement disjointes) de U telles que:
card(Fi) > = 2, V Fi e F.
F- C F- = = > F- = F-
V (F-
F-) C F2
1
J
1
J'
l '
J
.
116

On pose :
U (Fi) = F'; (Fi t F).
U'=U - F'.
La famille F sera désignée dans ce qui suit, sous le nom de "famille disjonctive" ou "famille
non conjonctive" .
Dans ces conditions, on dira que T=(ti 1i t N) est un enselllbie de potentiels sur G si les
nombres ti - appelés potentiels - vérifient les conditions suivantes:
,
- aij :s;; tj-ti pour au moins un arc (xi,Xj) de Fi et cela pour chaque Fi appartenant à F.
- intérêt
L'intérêt de cette méthode vient du fait qu'à la plupart des problèmes d'ordonnancement,
il est possible d'associer un graphe tel que l'ensemble des différences de potentiels sur ce
graphe, coïncide avec l'ensemble des ordonnancements à prendre en compte.
On peut adopter deux approches légèrement différentes pour appliquer cette méthode dans
le cadre de l'étude de la cohérence de la base de connaissance :
La première approche consiste à construire un graphe dont les sommets sont les règles. Il
s'agit alors, de déterminer s'il existe des règles qui ne peuvent pas être atteintes, du fait des
contraintes temporelles.
La deuxième possibilité considère plutôt les faits et les événements comme base. Nous
allons illustrer ces deux approches sur un exemple.
VI.5.4.2) les règles comme sommets du graphe
A partir des contraintes temporelles exprimées dans les règles, on construit un graphe
valué, associé à la base et ayant pour sommets, les règles.
n existe un arc entre la règle Ri et la règle Rj si l'un au moins des faits déduits par la
règle Ri, conditionne "directement" l'application de la règle Rj . Il n'est pas établi d'arc par
transitivité.
La valeur d'un arc exprime le délai à observer avant de déclencher la règle terminale. Ce
délai apparaît sous la forme d'une condition sur un attribut temporel.
Ainsi, à partir des règles de l'exemple, on construit le graphe suivant:
117

figure 46 : graphe associé à la règle 7-3
- construction de la famille disjonctive:
Pour se fixer les idées, considérons le faisceau convergent suivant où RI, R2' R3 et R4
sont des sommets associés à quatre règles différentes:
figure 47 : un faisceau convergent
Pour une règle Ri de la base, posons :
- C(Ri): l'ensemble des conditions consignées dans la partie prémisse de Ri.
- D(Ri) : les déductions faites par Ri, quand elle se déclenche.
- CD(Ri) : les conditions de Ri, limitées à des faits déductibles par le déclenchement des
règles de la base. Dans l'exemple l, le fait "R_7_3 = masqué" est un fait déductible (en
l'occurrence
par
R6)
et
fait
donc
partie
de
CD(R 1),
tandis
que
la
condition
"PCP> PCP_initiale +7" correspond à un fait non déductible par une règle.
On a toujours: CD(Ri) C C(Ri), VRi
CD(R4) est un sous-ensemble des conditions à réunir pour que la règle R4 puisse être
déclenchée. En supposant que:
118

- CD(Rt) C (D(Rl) U D(R2)
- CD(Rt) C (D(R2) U D(R3)
l'application de la règle ~ est envisageable, sous réserve des délais matérialisés par les
valeurs des arcs (ait a2 et a3), dans les trois cas suivants:
- RI et R2 ont toutes deux été déclenchées.
- R2 et R3 sont déclenchées.
- Rit R2 et R3 sont toutes les trois déclenchées.
Pour définir le groupe disjonctif associé à ce faisceau, le graphe de départ est modifié
comme suit:
~
81
(§)
82
.@
82
~(0
~ 83
'®~
figure 48 : principe de construction des groupes non conjonctifs
A ce faisceau, on associe la famille disjonctive, composée d'une seule partie à deux
éléments, constituée par :
F = { {(RLR2, R4), (R2_R3)} }.
Cela signifie que la satisfaction d'une seule des deux contraintes exprimées par ces deux
arcs est nécessaire et suffisante. En effet ~ peut être atteinte par l'une ou l'autre des deux
combinaisons de sommets contenant ces deux arcs.
Pour trouver la famille disjonctive associée à un réseau, on applique cette procédure de
construction sur chaque faisceau convergent du graphe.
Plus généralement, pour le faisceau convergent:
119

®--------t~®
8n
figure 49 : faisceau convergent, cas général
n faut trouver des sous-ensemble minimaux de sommets Fi = (Rib Ri2' ... , Rik) tels que
l'union de leurs conclusions contiennent CD(Rj). On modifie alors le graphe comme dans
les cas précédent pour déterminer ensuite les groupes disjonctifs associés à ce faisceau.
Le graphe de la figure 46 n'est pas modifié par la construction. Il admet une famille non
conjonctive à une seule partie F = { {(~, ~), (R3, ~)} }. Les deux arcs de cette partie
constitue deux alternatives. Un ensemble de potentiels sur le graphe doit respecter la
contrainte sur l'arc (~,Rt» ou celle de l'arc (R3,Rt» ainsi que les contraintes relatives à
tous les autres arcs du graphe.
Remarque:
La modification du graphe ressemble à certains égards, à la notion de tâche fictive
introduite dans les graphes PERT. Mais les principes qui sous-tendent ces modifications
sont totalement différents. En effet, dans le cadre de cette étude, l'introduction de nouveaux
sommets dans le graphe initial permet de définir des alternatives; ce qui n'est pas le cas
avec la méthode PERT.
La construction de la famille non conjonctive est assez lourde car :
- pour chaque faisceau convergent du réseau initial, il faut calculer les sous-ensembles
minimaux de sommets vérifiant la condition évoquée plus haut. Ce calcul peut être
prohibitif si le nombre de règles est élevé.
- d'autre part le graphe initial est étendu par l'ajout de nouveaux sommets. Toutefois, le
nombre de noeuds ainsi rajoutés est inférieur ou égal à la somme des cardinaux des
différents groupes de la famille disjonctive.
VI.5.3.3) Les faits comme sommets du graphe
Au lieu de chercher à savoir si toute règle de la base peut être atteinte compte tenue des
contraintes, on peut se demander si chaque fait peut être déduit sous les contraintes
temporelles expril!1ées.
120

L'apparition d'utrffit-est ici assimilé à un événement. Chaque événement ainsi défini est
indexé temporellement (voir chapitre V).
Ainsi en reprenant l'exemple précédent, on a les événement suivants:
- Fo : le paramètre R_7_3 prend la valeur "arrêté".
- FI: le paramètre R_7_3 prend la valeur "actif'.
- F2 : le paramètre R_7_3 prend la valeur "masq~é".
- F3 : le paramètre R_7_3 prend la valeur "suspendu".
- F4 : la procédure calcul_dose est appelée.
Le graphe obtenu est le suivant:
figure 50 : graphe obtenu avec les faits
Ce graphe qui n'est pas modifié par la procédure de construction, admet une famille
disjonctive de deux parties: { {(F2, FI) ,(F3,FJ}}, {(F2, FO), (F3, FO)} }
Aucun des deux graphes (figure 46 et figure 50) n'admet un ensemble de potentiels.
L'incohérence de ces réseaux veut dire qu'il est impossible de trouver un ordonnancement
des règles ou des faits qui respectent les délais. On remarquera en effet, qu'en appliquant ce
groupe de règles, il est impossible de déduire, par exemple, le fait FI, s'il n'existe pas déjà
dans la base des faits.
Rajoutons la règle Ro suivante aux 6 règles de l'exemple:
Rn:
SJactivé(procédure_remplissage) ALORSR_7_3 = actif.
Désignons par F5, le fait:
"la procédure de remplissage est activée". Le graphe associé aux faits est le suivant:
121

figure 51: graphe associé aux nouveaux faits
La famille disjonctive de ce graphe est:
{{(F2, Fl)(F3, Fl),(F5, FI)}, {(F2, FO),(F3, FO}}
Il admet un ensemble de potentiels. En classant les sommets dans l'ordre:
{F5, FI, F4, F2, FO, F3}, l'ensemble T= {l,l,l, l,lI, lI} constitue un ensemble de
potentiels.
Dans la mesure où le nombre de faits est très inférieur au nombre de règles, il est
préférable d'utiliser cette deuxième approche qui donne un graphe plus simple. La
procédure de construction de la famille disjonctive est la même que celle de la première
approche.
L'étude de la cohérence temporelle de la base des règles peut alors se ramener à celle plus
formelle du réseau temporel G obtenu. Le problème est donc celui de l'exhibition d'un
ensemble de potentiels sur le graphe G. Plus modestement, on peut se contenter de l'étude
de l'existence d'un ensemble de potentiels sur G.
Des procédures de détermination de l'existence d' un ensemble de potentiels sur un graphe
ainsi que des résultats généraux sont donnés dans l'annexe A6.
122

-

CHAPITRE VII :
SIMULATIONS
Cas clinique
Il s'agit d'un homme de 55 ans ayant subit une intoxication au phosgène. Son état
clinique s'est rapidement dégradé (SDRA : syndrome de détresse respiratoire aiguë,
insuffisance rénale, ... ) nécessitant une assistance respiratoire ainsi qu'une exploration
hémodynamique complète par cathéter de Swan Ganz. Les paramètres calculés ne sont pas
consignés dans le tableau suivant:
Paramètres
Bilan nOI
Bilan 0°2
Bilan n° 3
Age (année)
55
-
-
Sexe
M
-
-
Taille (cm)
170
170
170
Poids (kg)
68
68
68
T.C. (oC)
37.10
37.10
37.50
EC. (Bt/mn)
147
141
145
Rythme sinusal (OIN)
N
N
N
Ischémie myocardique (OfN)
N
N
N
RiSQue Ischémie myocardiQue (O/N)
N
N
N
Atcd insuffisance cardiaQue (0fN)
N
N
N
Fréquence respiratoire (/min)
18
18
24
Fl02 (%)
60
60
100
ventilation mécanique (0fN)
0
0
0
PEEP (cm H20)
5
5
10
OH (mIIH)
120
120
120
vaso constriction CUlanée (0/N)
N
0
N
Ph intramUQueux
?
?
?
P. oesophagienne
?
?
?
score de Glasoow
3
3
3
PAM
38
82
63
PVC
3
6
7
MPAP
Il
Il
14
PAPO
2
13
9
OC
4.3
?
8.0
VTDVD
?
?
?
VTSVD
?
?
?
FEVG
?
?
?
FEVD
?
?
?
IV02 ThéoriQue (mllminlm2)
170
170
170
Plc02 (mmH!?)
?
?
?
PlcC02 (mmHg)
?
?
?
Pha
7.42
7.25
733
Pa02 (mmH!?)
56
65
62
PaC02 (mmH")
39
36
70
Sa02 (%)
91
90
88
TC02 (mmol/l)
26
17
4
SV02(%)
49
53
52
PV02 (mmH o)
27
34
30
Laclatémie mmol/I
?
10.9
3.0
Hh (g/dl)
16.30
15.0
8.6
glycémie (mmoUI)
5.0
5.0
5.0
ckarance osmola;re (ml/mn)
?
?
?
stimulation nociceptive «O/N)
N
N
N
choc anaphylactique (O/N)
N
N
N
figure 52 : les bilans traités
123

Bilan N°l
Les indices de gravité mettent en évidence et classifient les priorités diagnostiques et
thérapeutiques.
Ainsi le système répond aux différents objectifs:
- amélioration des conditions d'oxygénation :
---> test à 1'02
- traitement de la défaillance circulatoire:
--- > expansion volémique, vasopresseurs et tonicardiaque
PARAMETHES
DIAGNOSTIC ANTERIEUR
IGS: 19
DEGRE 4
SCore_de_Glasgow
3
PAM
38 nvnHg
PaOZlFlOZ 9J
DEGRE 3
FC 147 btlmln
THERAPEUTIQUE EN COURS
PaOZ
56 nvnHg
DEGRE 1
Hb 1&.30 gJdl
DEGRE 0
IrC31.10BC
FrelLResp 18 hnin
OH 120.00 mlIH
MPAP 11 nvnHg
DERNIERS DIAGNOSTICS
PaCOZ
39 mmHg
Lactatemie -1.00 mmolJI
HYPOGLVCEMIE
GIycemle 5.ou mmolJI
DIURESE_HYPOTONIQUE
PVOllSaOZ
30
BAS_INDe>U:ARDIAQUE
HYPOTENSION_ARTERIELLE
HVP_TISS_A_COMPOSANTE_RESPIRATOiRE
HVP_TlSS_A_COMPOSANTE_POLVGLOBUUQUE
INADEQ_ORCULATlON_DEMANDE_METABOUQUE
HVPERMETABOUSME
INSUFFl~ANcr OF OFRrT
PROPOSmONS THERAPEUTIQUES
TEST A L'OZ POUR OBTENIR PAOl ~90
EXPAHSION_VOLEMIQUE(200.DO ML)
~RElW.JNE(O.50MCGlKGfMN)
INJECTION DE SERUM GLUCOSE 30'%
DOPAMINE(5.o0 MCGlKGfMN)
MESSAGES
EUMINER UN EVEtrruEL VASODILATATEUR ARTERIEL
iARRET D'EVENTUELS TRAITEMENTS EPURATEURS
figure 53 : traitement du premier bilan
12

- Le système note l'amélioration hémodynamique et propose une diminution des
vasopresseurs.
- Les objectifs non atteints restent activés.
- Des -messages thérapeutiques proposent une thérapeutique complémentaire répondant à
un objectif secondaire, la diminution de la V02 : sédatifs et antimédiateurs
PARAMETRES
DIAGNOSnC ANTERIEUR
~GLVCEMIE
IGS: 15
PIURESE HYPOTONIQUE
BAS_INDËx_CARDIAQUE
IfVPOTENSION ARTERIEUE
HVP_nSS_A_COMPOSANTE_RESPIRATOIRE
HVP~nSS_A_COMPOSANTE_POLVGLOBUUQUE
DEGREJ
HADEQ ORCUlAnON DEMAHDE METABOUQUE
FC 141 bUn*l
~RMETABOUSME-
-
lactatemle 10.90 mrnoIJI
NSUffiSANCE DE DESrr
PaOlJFlOZ 108
TlfERAPEUTIQUE EN COURS
l'IoREHAUNE 1.00 MCGlKGlMN
DEGREZ
pOPAMINE 10.00 MCGlKGlMN
PaOZ
GSmmHg
OEGRED
~CJ1.1DaC
ft"ecLResp 18 /min
OH lZO.oo mIIH
PMI 8ZmmHg
MPAP 11 mmHg
PaCOZ 3G mmHg
DERNIERS DIAGNOSTICS
Hb 15.00 gld
HYPOGLYCEMIE
G1ycemIe 5.00 mrnoIJI
DIURESE_HYPOTONIQUE
PVOZISaOZ 38
BAS-'NDEX_CARDIAQUE
lfVP_nSS_A_COMPOSANTE_RESPIRATOIRE
INADEQ ORCUlAnON DEMANDE METABOUQUE
INSUffiSANCE DE DEïirr
-
INADEQUAnON DËBrr CARDIAQUE
HYPOXIE ARTERIEUE-
IHVPOXI!'- nssu' AJR!'
PROPOsmONS TlfERAPEUTIQUES
TEST A L· oz POUR OBTENIR MOl >90
INJECTION DE SERUM GLUCOSE 30"10
MESSAGES
ARRETER OU DIMINUER LES VASOPRESSEURS
figure 54 : traitement du deuxième bilan
12..')

Bilan N°3
Le système repère l'origine de la nouvelle défaillance (anémie) et propose un traitement
étiologique ( expansion volémique avec culot globulaire).
PARAMETRES
DIAGNOSTIC AlfTERIEUR
~GlVŒMIE
IGS: Z2
~IURESE HYPOTONIQUE
~. INDex <:NtDIAQUE
DEGRE 4
~:T1SS_A_CO"'POSAKTE_RESPIRATOIRE
Son_de_Glasgow
J
KADEQ_ORCULAT10N_DEt.lAHDE_METI\\IlOUQUE
PaCOl 10 nmHg
KSUFflSAHŒ_DE_DEBIT
Pa02lflOZ 6Z
KADEQUAT10H DEBIT <:NtDIAQUE
HVPOXIE ARTERIEUE-
DEGREJ
H'If'OXIE- T1SSUlAIRE
FC 14S bthnln
THERAPEUOOUE EN COURS
DEGREZ
DOPAMINE 14JlO MCGlKGlMN
J'AM DnmHg
HVOROXV-ET1M.AMIDON 150.00 Ml
PaOZ 6Z nmHg
lb lloGn gItI
DEGRE 1
Lactatemle J.oo mmolII

DEGRE 0
TC~.50..c
DERNIERS DIAGNOSTICS
~Resp Z4 hnIn
HVPOGlVŒMIE
OH 120.00 mIIH
DlURESE HVPOTONIQUE
MPAP 14nmHg
~
HYP_T1SS_A_COMPOSANTE_RESPIRATOIRE
s.oo mmolII
IHADEQ_ORCULAT1OH_DEt.lAHDE_METI\\IlOUQUE
PVr:mSaOZ 34
INSUFflSAHCE_DE_DEBIT
IHADEQUA'TlON DEBIT CARDIAQUE
UVPOXlE_AATERIEllE -
HYPOXIE_T1SSUlAIRE
HYPOXIE_T1SSUlAIRE_AVEC_CHOC
PROPOsmONS THERAPEUOQUES
EXPAHSlOH WLEMlOUE AVEC CULOTS GLOBUlAIRES
TEST Al" oz POUR OBTENIR PAOZ.90
AUGMENTER LA VEHT1LAT10H ALVEOlAIRE
IHJEcnoN DE SERUM GLUCOSE 30'10
MESSAGES
EUI.4IHER UH VASODILATATEUR ARTERiel
ARRET D'EVENTUELS TRAlTEMEIfTS EPURATEURS
' - - - - - - -
figure 55
traitement du troisième bilan

CONCLUSION GENERALE
Cette étude nous a permis d'intégrer et d'exploiter les informations-temporelles dans un
système représentant les connaissances sous forme de règles de production.
Nous avons montré l'intérêt de pouvoir mener un véritable raisonnement temporel tant au
niveau du diagnostic que des actions, lorsque le système doit fonctionner dans un
environnement dynamique (c'était le cas de notre application) ou lorsqu'il a une vocation de
temps-réel.
Dans le cadre de notre système, nous avons attaché, si nécessaire, aux entités (paramètres
d'état, faits, actions, ... ) des attributs temporels. Ces marqueurs ont rendu possible la prise
en compte des notions telles que les délais entre les événements, la volatilité des mesures, et
par le biais de fonctions internes, l'évaluation des tendances et l'évolution du processus sous
contrôle, nous permettant, ainsi, de réaliser différentes formes de raisonnement sur le
temps.
L'architecture modulaire utilisée est particulièrement bien adaptée à notre application.
Nous pensons d'ailleurs qu'elle l'est, dans beaucoup de problèmes de conduite de
processus.
Cette architecture nous a permis, en isolant les différentes phases entrant en jeu dans le
processus de contrôle et les différents centres d'intérêt, de mieux maîtriser la complexité de
la base de connaissance (le nombre de règles était relativement élevé) mais aussi, par le
choix d'un mode d'inférence adéquat, de coordonner au mieux les différentes tâches du
contrôle.
Les notions de priorité et d'antagonisme inhérentes au raisonnement de l'expert pouvaient
être introduites de façon assez aisée ...
La mise en oeuvre de ce système a fait apparaître un certain nombre de difficultés,
notamment, il a été nécessaire de résoudre les problèmes d'instabilité au niveau des
commandes, d'assurer un recalage du système avec les actions externes, ...
Assurer une certaine stabilité au niveau des sorties du système constitue un problème
majeur car la cohérence du raisonnement mené en dépend. Il doit être tenu compte du temps
de réaction de l'opérateur humain qui est chargé d'appliquer effectivement les actions
proposées.
Nous avons résolu ce problème en déplaçant l'instabilité au niveau des candidatures et en
décrivant explicitement et de façon minutieuse, par des règles dites d'arrêt ou de sevrage,
les contextes de disqualification des différentes actions.
Les protocoles de correction qui indiquent les actions à mener étaient décrites à l'aide
d'expressions linguistiques correspondant à des ordres qui doivent être précis. Or, il existait
127

quelquefois dènmbîguïtés au niveau de la description. Ces ambiguïtés ont dû être levées
avant la transformation sous forme de règles.
Au chapitre sept, nous avons présenté un ensemble d'outils et de méthodes pour l'étude
de la cohérence de la base de connaissance. Un certain nombre de ces outils sont dédiés à
l'étude des contraintes de nature temporelle.
Comme ouverture, il est envisagé, l'utilisation d'mr modèle (mathématique) cardio-
vasculaire offrant la possibilité de simuler les états de choc (sceptique, hypovolémique,
cardiogénique, ... ).
Ce modèle devrait permettre d'apprécier l'influence des paramètres sur les états de choc
et les effets de certaines thérapeutiques. Il pourrait donc être utile à la mise au point des
stratégies thérapeutiques, à la détermination des paramètres (directs ou calculés) qui ont la
plus grande signification et à affiner les règles au niveau des seuils de déclenchement.
Nous avons corrélé les valeurs des différentes actions avec la gravité des situations dont
elles ont la charge d'assurer la correction. Ces valeurs peuvent être affinées en prenant en
compte des taux de réussite qui seraient fournis par des résultats statistiques. Les nombreux
dossiers existants peuvent être exploités à cette fin.
De même, les coûts de ces actions peuvent être déterminés et intégrés de façon plus
directe dans le raisonnement.
Notons, enfin, que si les actions étaient réalisées de façon automatique donc avec un
temps d' exécution faible, il serait possible, en analysant la sensibilité du processus sous
contrôle (par l'étude de la dérivée des fonctions d'évolution des paramètres d'état),
d'anticiper sur les effets des thérapeutiques appliquées et de réagir de façon plus rapide et
plus opportune.
128

ANNEXE 1:
LISTE DES PARAMETRES
système REA prend en compte un assez grand nombre de paramètres. Ils sont de
\\nature qualitative ou quantitative, mesurés ou calculés.
Paramètres
Unités
Age
(années)
Sexe
MlF
Poids
kg
Tc
température centrale (degré OC)
fc
fréquence cardiaque (h. mn- 1°
ryth reg
rythme régulier (O/N)
hy myo
hypoxie myocardique (O/N)
Ant hy myo
antécédent d'hypoxie myocardique (O/N)
fr
fréquence respiratoire (mn- 1)
Fi02
fraction inspiratoire d'02 (%)
VM
ventilation mécanique (O/N)
PEP
pression expiratoire positive (cmH20)
DH
diurèse horaire (ml)
vas cut
vaso-constriction cutanée (O/N)
hy_muq
hypoxie muqueuse digestive ou
PH intra-muqueux inférieur à 7.32 (O/N)
glasgow
score de Glas~ow (3 à 15)
PAM
pression artérielle moyenne (mm Hg)
POD
pression auriculaire droite (mm Hg)
MPAP
pression artérielle pulmonaire moyenne
(mm Hg)
PAPO
pression artérielle pulmonaire occlusive
(mm Hg)
Qc
débit cardiaque (1. mn- 1)
VTDVD
volume télé diastolique du ventricule droit
(ml)
VTDSVD
volume télé systolique du ventricule droit
(ml)
FEVG
fraction d'éjection du ventricule gauche (ml)
FEVD
fraction d'éjection du ventricule droit (ml)
IV02_optimal
Index de consommation d'02 optimal choisi
par défaut IV02 optimal = 170 ml. mn-I.m-Z
PtcOz
pression trans-cutanée en oxygène (mmHg)
PtcC02
pression trans-cutanée en COz (mmHg)
129

P oeso
pression oesophagienne (mmHg)
pHa
Ph artériel
Pa02
pression artérielle en oxygène (mmHg)
PaC02
pression artérielle en C02 (mmHg)
SaÜ2
saturation artérielle en oxygène (%)
Pv02
pression veineuse en 02 (mmHg)
lactates
taux de lactates artériels (mmol.1-1)
Hb
taux d'hémoglobine (g.l-l)
Glycémie
(g.l-l)
osmol urin
osmolarité unaire (milliosm.l-1)
osmol_sang
osmolarité sanguine(milliosm .1-1)
stimul noci
stimulation nociceptive (O/N)
choc anaph
choc anaphylactique (0/N)
Paramètres calculés :
- la surface corporelle SC est calculée à partir de la fonnule :
SC = 'fÛ.725*pO.425*O.7184* 0.01
- les index suivants sont déduits à Partir de ce paramètre:
IC = DC/SC
IS = IC/FC
IV02=V02/SC
- liste de quelques paramètres et leurs fonnules :
résistances vasculaires systémiques:
RYS = (PAM-POD)/DC
délivrance en 02 :
D02 = DC * Ca02
consommation en 02 :
V02 = DC* (Ca02 -Cv02)
extraction systémique en 02:
ES02 = V02/D02
contenu artériel en 02 :
Ca02 = «Hb *Sa02*1. 34) + (Pa02*O.03»I100
contenu veineux en 02 :
Cv02 =
«Hb*Sv02*1.34)+(Pv02*O.03»/I00
résistances pulmonaires totales:
RPT=MPAP*79.9/DC
pressions transcutanées :
Ptc02/Pa02
PtcC02 - PaC02
130

shunt pulmonaire:
QS/QT * 100 = (Cc02-Ca02)/(Cc02-Cav02)
Cc02 = 1.39 * Hb+0.OO3l *Pa02
échangeur pulmonaire :
Pa02/FI02
circulation périphérique:
Pv02/Sa02
paramètres
unités
IC
index cardiaque (1. mn- l . m-2)
IS
index systolique (ml.bat-1.m-2)
RVS
résistances vasculaires systémiques
(dynes. sec- l .cm-5)
RPT
résistances pulmonaires totales
(dynes.sec- l .cm-5)
D02
délivrance en 02 (ml.mn-1)
ID02
index de délivrance en 02 (ml.mn- l .m-2)
V02
consommation en 02 (m1.mn- l )
IV02
index de consommation en 02
(ml.mn- l .m-2)
ES02
extraction systémique en 02
Ca02
contenu artériel en 02 (ml.dl- l )
CV02
contenu veineux en 02 (ml.dl- l )
Pv02/Sa02
pression en 02 du sang veineux mêlé sur
saturation artérielle en 02 (mmHG)
Pa02/FI02
pression artérielle en 02 sur fraction
inspiratoire en 02 (mmHG)
QS/QT*IOO
shunt pulmonaire (%)
ptc02/Pa02
pression transcutanée en 02 sur pression
artérielle en 02 (%)
PtcC02 - PaC02
mmHg
Cl
clearance osmolaire urinaire
J 31

ANNEXE II:
TABLEAU RECAPITULATIF DES DEGRES DE GRAVITE
4
3
2
1
0
1
2
3
4
PAM
160
130
110
70
50
a
(mmHg)
400
159
129
109
69
49
FC
180
140
110
70
55
40
a
(bt. mn- 1
400
180
139
109
69
54
39
)
DH
3
2
0.5
0.3
0.12
<0.11
(ml. m-2
20
2.99
1.99
0.49
0.29
)
freq resp
>50
35
25
12
10
6
<6
(mn-1
49
34
24
)
11
9
glycémie
>44.5
27.8
14
3.9
2.8
1.6
< 1.6
(mmol.l- 1
44.4
27.7
13.9
3.8
2.7
)
glasgow
13
10
7
4
3
15
12
9
6
lactates
>20
10
5
2
0
(mmol.l-1
19.9
9.9
4.9
1.9
)
Hb
>20
16.7
15.3
10
6.7
<6.6
19.9
(g.l-1
16.6
15.2
9.9
TC
>41
39
38.5
36
34
32
30
<30
(OC)
40.9
38.9
38.4
35.9
33.9
31.9
Ppa
>50
40
30
20
a
(mmHg)
49
39
29
19
Pa02
90
70
60
50
<49.9
(mmHg)
110.9
89.9
69.9
59.9
PaC02
65
55
40
35
30
25
20
< 19.9
(mmHg)
200
64.9
45.9
44.9
34.9
29.9
24.9
Pv02/
65
60
50
40
0
Sa02
200
64.9
59.9
49.9
39.9
Pa02/
401
251
151
101
a
Fi02
800
400
250
150
100
La plupart des paramètres ont été empruntés au "S.A.P.S" (Simplified Acute Physiology
Score).
Les degrés de gravité de 1 à 4 situés à gauche correspondent à des valeurs trop hautes par
rapport à la normale. Ces valeurs induisent, en principe, un protocole de correction ayant
pour effet de baisser la valeur de ces paramètres.
132

A l'opposé, les degrés de 1 à 4 situés à droite salit 't'elatifs à des valeurs trop basses qui -
impliquent donc une augmentation.
°
Le degré
correspond à une fourchette de valeurs normales.
On notera, que pour certains paramètres, les valeurs ne peuvent être que soit hautes
(exemple: la lactatémie), soit basses (score de glasgow).
On peut vérifier sur le tableau, que la fonction r 2 définie au chapitre IV vérifie bien la
condition:
Cette condition traduit le fait que chaque paramètre admet nécessairement une fourchette
de valeur qui correspond à la normalité (degré 0).
On peut noter par ailleurs, que cette condition ne s'applique qu'au degré de gravité 0,
autrement dit, l'assertion suivante qui généralise la condition ci-dessus est fausse :
Par exemple, pour le paramètre Hb, il n'existe pas de fourchette de valeur qUI
corresponde au degré de gravité 3.
La prise en compte des degrés de gravité de chaque paramètre hiérarchise le degré
d'altération des paramètres, ainsi que les priorités thérapeutiques qui en découlent, sans
prétendre avoir une valeur pronostique.
133

ANNEXE III:
BASE DES DIAGNOSTICS
Le système expert "REA" est conçu pour le diagnostic et le traitement symptomatique des
états de choc et du-syndrome de défaillance multiviscéral.
Le choc traduit une altération majeure de la perfusion tissulaire. Il s'agit d'une
insuffisance
circulatoire.
Il
a
pour
conséquence,
une
hypoxémie
tissulaire
avec
hyperlactatémie artérielle et acidose métabolique tissulaire; il évolue vers le syndrome de
défaillance multiviscérale.
Pour évaluer et traiter un état de choc, il est nécessaire de surveiller l'oxygénation
tissulaire et les circulations locales, de même que la fonction cardio-eirculatoire centrale,
l'échangeur pulmonaire et 1t équilibre acido-basique.
a) exploration de l'oxygénation tissulaire
La résultante des échanges périphériques est analysée par la mesure du taux de lactate
artériel. A partir de 2 mmol.l- 1, il y a souffrance tissulaire.
L'analyse combinée de la SV02 et de la variation du rapport D02/V02, au cours du
temps, précisent le statut du métabolisme oxydatif de l'organisme. La dépendance de la
consommation d'oxygène(V02) à l'égard du transport d'oxygène (D02) est analysée à
partir de plusieurs mesures chronologiques de ces deux paramètres par les méthodes décrites
au chapitre V.
Le taux de lactates artériel est un signe tardif dont la connaissance est souvent différée.
Des critères objectifs accessibles au lit du malade, ont été recherchés pour témoigner de la
qualité de l'oxygénation tissulaire pour les principaux territoires (score de glasgow pour
\\' oxygénation cérébrale, la diurèse horaire pour témoigner d'une souffrance tissulaire,
l'analyse électrocardioscopique du segment ST pour rechercher une ischémie myocardique,
le territoire cutané est analysé par son aspect et par l'index PtC02/Paü2, ... ).
b) exploration de la fonction cardio-pulmonaire
L'efficacité de cette fonction est évaluée par les mesures de la pression artérielle
moyenne, de l'index cardiaque et de l'analyse des conditions de remplissage permises par le
cathétérisme droit, complétées, éventuellement, par la mesure échocardiographique de la
fraction d'éjection du ventricule gauche et des résistances vasculaires systémiques totales.
134

Les troubles du rythme et leurs catégories sont déterminés. Trois grandes catégories
- ~-_.
correspondants à des gravités et à des étiologies différentes sont définies : troubles du
rythme témoins, conséquence et cause de détresse.
c) exploration de l'échangeur pulmonaire
les paramètres P02 et PC02-fixent les objectifs thérapeutiques; le rapport Pa02/Fi02
évalue l'efficacité de l'hématose, le rapport Qs/Qt évalue l'effet shunt pulmonaire.
d) exploration de l'équilibre acido-basique
L'équilibre acido-basique est analysé à partir de la gazométrie artificielle à l'aide du
diagramme de Davenport.
135

ANNEXE IV:
LES MOYENS THERAPEUTIOUES
Les différents protocoles sont regroupés en classes thérapeutiques.
Ils sont soumis à un système de contrôle qui signale les antagonismes d'action ou les
effets délétères qui risquent d'être induits,
par une intégration de l'ensemble des
thérapeutiques en cours et une analyse des paramètres du patient au moment de la
prescription.
Par exemple, s'il y a une une hypotension, il faut ftltrer, parmi les thérapeutiques en
cours, celles qui ont un effet vasodilatateur.
séda-
analgé- curan 100-
vasop-
vasodi- anti-
diuréti- anti-
tion
SIe
sation tropes resseur
latateur aryth-
ques et
pyréti-
antihy-
miques
trait.
ques
perten-
épura-
seur
teurs
chlorproma-
X
zme
1
t,
diazépan
X
dropéridol
X
étomidate
X
flunitrazé-
pam
X
halopéridol
X
alfentanil
X
buprénor-
X
phine
fen tany1
X
morphine
X
atracurium
X
pancuromum
X
vécuronium
X
adrénaline
X
X
dobutamine
X
dopamine
X
X
dopexamine
X
enOXImone
X
noradrénaline
X
X
éphédrine
X
136

.:
amiodarone
~
_.
X
diltiazem
X
digoxine
X
esmolol
X
lidocaïne
X
sotalol
X
aténolol
X
clonidine
X
labetolol
X
nitroprussiate
X
de soduim
nicardipine
X
bumétamide
X
furosémide
X
corticoïdes
X
îndométha-
X
cme
kétoprorene
X
proparacéta-
X
mol
Un certain nombre de produits qui permettent de répondre aux objectifs thérapeutiques et
qui correspondent à un large consensus ont été choisis, dans la liste ci-dessus, pour être
intégrés au système.
Les autres protocoles thérapeutiques sont l'insulinothérapie, le sérum glucosé, le V02-
CHALLENGE, les test d'expansion volémique ( règle 5-3 ou 7-3) et la compensation des
pertes acides.
137

Posologies et critères d'arrêt de quelques protocoles de correction
unités
poso-
poso-
augmen- diminu- entre-
délai
..
logie
logie
tarion
tion par
tient
mlmmum
initiale
d'échec
par
palier
SI
pour
palier de de
succès
modifier la
posologie
ou admettre
un échec
adrénaline
mcg.
perl.
kg- l .
0.1
3
0.5
0.5
continue 10 mn
mn- l
dobutamine
mcg.
perl.
kg-l.
5
20
5
5
continue 10 mn
mn- l
dopamine
mcg.
perl.
kg-l.
5
20
5
5
continue 10 mn
mn- l
dopexamine
mcg.
perl.
kg-l.
1
4
1
1
continue 10 mn
mn-1
énoximone
mcg.
1 en
3 par
0.5 par
0.5
dose
kg- l .
20mn
bolus
bolus
par dose efficace 30 mn
ttes les
d'entr.
ttes
les
30mn
6 heures
noradrénaline mcg.
0.5
perl.
kg- l .
0.5
5
0.5
continue 10 mn
mn- l
diltiazem
mcg.
0,15
kg- l .
bolus
0.01
0.03
mn- l
lent
esmolol
mcg.
500
en 300 par 10 par
10 par
150 par
kg-l.
2 mn
mn
mn
mn
mn
30 mn
trinitrine
mg.h- l
1
1
1
1
perf.
continue
nitroprussia-
mcg.
0.5
8
0.5
0.5
perl.
te de sodium
kg- l .
continue 5 mn
mn- l
138

ANNEXE V:
LE SYSTEME DE ALLEN:
TABLE DE TRANSITIVITE ET ALGORITHME DE PROPAGATION
Le système temporel de Allen introduit treize relations binaires mutuellement exclusives
entre des intervalles temporels. Ces treize relations et leur illustration sont données ci-
dessous:
139

....
Br2C
----------
<
>
d
di
0
01
m
ml
S
SI
f
fi
A rI B
before
<
pas
<0
<
<
< 0
<
<0
<
<
<0
<
<
d'inf
md
md
md
md
S
S
S
S
after
pas
>
> oi
>
> oi
>
> oi
>
> oi
>
>
>
>
d'inf
mi d
mi d
mi d
mi d
f
f
f
f
during
<
>
d
pas
<0
> oi
<
>
d
> oi
d
<0
d
d'inf
md
mi d
mi d
md
S
f
f
S
contains
<0
> oi 001
di
o di
oi di
o di
oi di
di fi
di
di si
di
di
m di
di mi dur
fi
SI
fi
SI
0
01
fi
SI
con
=
overlaps
<
> oi
0
<0
<
o 01
<
01
0
di
d
<
0
di mi
d
m di
0
dur
di
fi
S
0
SI
S
fi
m
con
SI
0
0
m
=
overlap-
<0
>
01
> oi 001
>
0
>
01
01
01
01
ped-by
m di
d
mi di dur
01
di
d
>
di
01
fi
f
SI
con
ml
fi
f
ml
SI
=
meets
<
> oi
0
<
<
0
<
f
m
m
d
<
m
mi di
d
d
fi
S
SI
S
S
-
0
met-by
<0
>
01
>
01
>
S
>
d
>
ml
lTI1
ml
m di
d
d
SI
[
fi
[
f
=
01
starts
<
>
d
<0
<0
01
<
ml
s
S SI
d
<m
s
m di
m
d [
-
-
0
fi
started
<0
>
01
di
0
01
0
ml
S SI
SI
01
di
by
m di
d [
di fi
di fi
=
SI
fi
finishes
<
>
d
> oi
0
> oi
m
>
d
> oi
f
ffi
[
mi di
d
ml
ml
=
SI
S
fini shed
<
> oi
0
di
0
01
m
SI 01
0
di
[fi
fi
by
mi di
d
di si
di
=
fi
SI
S
Table de transitivité
140

"'---Màiiltenance des relations dans un réseau
L'ensemble des relations temporelles est consigné dans un réseau dont les noeuds sont les
intervalles temporels. des arcs relient ces noeuds; chaque arc étant étiqueté par l'ensemble
des relations possibles entre ses deux extremités. Par exemple:
Ni - «, d, di) -- > Nj, signifie que les intervalles i et j peuvent être reliés par l'une des
trois relations <, d ou di.
Soient deux relations rI et r2. Notons T(rJ,rv l'entrée correspondant à ces deux relations
dans la table de transitivité.
Si Rl et R2 sont deux etiquettes, la fonction Contraintes ci-dessous réalise la fermeture
transitive des relations contenues dans RI et R2:
Contraintes(R1, RV
début
C - {};
pour chaque rI dans RI faire
pour chaque r2 dans R2 faire
C - C U T(rI' r2);
retourner(C);
fin
Pour deux intervalles i et j , notons N(i,j) l'ensemble des relations entre i et j dans le
réseau.
L'ajout d'une nouvelle relation R(i,j) entre i et j se réalise par l'algorithme de la page
suivante:
141

Ajout R(i,j)
début
Q ~ {<i,j >};
tant que Q non vide faire
début
< i,j > = pop(Q);
N(i,j) ~ R(i,j);
pour chaque noeud k faire
début
R(k,j) ~ N(k,j) n Contraintes(N(k,i), R(i,j»;
si R(k,i) C N(k,i) alors
Q~QU{<k,i>};
fin
pour chaque noeud k faire
début
R(i,k) ~ N(i,k) n Contraintes(R(i,j), N(j,k»;
si R(i,k) C N(k,i) alors
Q~ Q U {<i,k>};
fin
fin
fin
142

ANNEXE VI :
ENSEMBLE DE POTENTIELS Œ.D.P.) SUR UN GRAPHE
Nous discutons ici, de l'existence d'un ensemble de potentiels sur un graphe, suivant la
nature de celui-ci.
1) ensemble de potentiels sur un graphe conjonctif
Il s'agit de trouver un ensemble de nombres réels (appelés potentiels) T = {tjl i eN},
mis en correspondance biunivoque avec les sommets d'un graphe G = (X, U) dont les arcs
sont munis d'une longueur (nombre réel de signe quelconque), et astreints à vérifier
conjointement (F = {}) les inégalités de potentiels exprimant q~e la longueur a(u), d'un arc
quelconque u appartenant à U, est inférieure ou égale à la différence des potentiels associés
respectivement aux extrémités tenninale et initiale de l'arc u.
- condition d'existence d'un e.d.p
Sur un graphe G conjonctif, il existe des e.d.p. si et seulement si G n'admet aucun circuit
de longueur strictement positive.
Cette condition est nécessaire puisque si l'on additionne membre à membre les inégalités
de potentiels relatives aux arcs d'un éventuel circuit de G, il apparait la longueur du circuit
au second membre et 0 au premier membre.
La condition est aussi suffisante. En effet, numérotons les sommets du graphe XO' xl>
... xn de telle sorte que Xo soit une racine de G. Si G n'a pas de racine, on peut lui ajouter
un sommet supplémentaire XO et rajouter les arcs (Xo,xi) pour tout Xi appartenant à une base
B quelconque de ce graphe; Xo devient alors une racine du graphe obtenu. Cette opération,
si elle est nécessaire, ne modifie pas l'ensemble de potentiels sur G. Etant donnée donc
cette numérotation, le plus long chemin allant de la racine Xo à un sommet quelconque Xi a
une longueur finie Àoi, Ces nombres Àoi (ÀQo = 0) vérifient l'inégalité de potentiels relative
à chaque arc de G et définissent donc un e.d.p. sur G.
Comme corollaires, on déduit que:
- sur un graphe conjonctif sans circuit, il existe toujours des e.d.p.
- Pour qu'il existe des e.d.p. sur un graphe conjonctif, il est nécessaire que le graphe
partiel défini par les arcs dont la longueur est strictement positive, soit sans circuit.
143

4
Dans le chapitre VI, nouravons introduit cette méthode pour étudier la cohérence du
réseau temporel induit par les contraintes temporelles. Les graphes que nous obtenons ont,
par construction, des arcs de longueurs non négatives. Nous cherchons à savoir si ces
graphes admettent des e.d. p.
Pour cela, quand le graphe obtenu est un graphe conjonctif, on s'appuie sur les
corollaires ci-dessus qu'on complète éventuellement par la méthode suivante:
Par application d'un algorithme inductif, on cherche à calculer la longueur Àoi du ?lus
long chemin allant de la racine Xo à chaque sommet Xi : on aboutit soit à mettre en évidence
un circuit de longueur strictement positive, soit à un ensemble de nombres Àoi qui
constituent alors un e.d. p.
2) ensemble de potentiels sur un graphe non conjonctif
C'est le cas général. La famille non conjonctive 3 n'est pas vide.
Le graphe G peut être décomposé en deux parties : G peut être vu comme formé d'un
graphe conjonctif G* auquel viennent s'ajouter des groupements d'arcs n'appartenant pas à
la partie conjonctive U* (c'est à dire, des arcs de la partie non conjonctive F*).
- existence d'un e.d.p.
Un sous-ensemble R de F* sera dit système de représentants de la famille 3, s'il vérifie:
F () R < > ,p , v F e 3.
Un système de représentants R est dit compatible si le graphe conjonctif G*R, déduit de
G* par adjonction des arcs de R, n'admet aucun circuit dont la longueur soit strictement
positive.
Dans ces conditions, un graphe G non conjonctif admet des e.d.p. si et seulement si G
admet un système de représentants compatibles.
Si R est un système de représentants compatibles, alors, tout e.d.p. sur G*R est un e.d.p.
sur G.
[44

ANNEXE VU:
PROPAGATION DE CONTRAINTES SUR LES INTERVALLES
1) complexité des algorithmes de propagation :
Il existe plusieurs classes de contraintes de complexités différentes. On peut distinguer,
dans l'ordre croissant de leur complexité, les contraintes de type :
a) prédicats unaires
b) relations d'ordre
c) systèmes d'équation de la forme "x-y> c" ou "x-y> = c" (différence liée)
d) équations linéaires et inégalités avec des coefficients unitaires (-1 ou 1)
e) combinaison booléenne d'équations
f) équations algébriques
g) équations transcendantales.
La complexité de l'algorithme de propagation selon le type des contraintes est résumée
sur le tableau suivant où :
- n représente le nombre de variables
- E la taille des contraintes, c'est à dire, la somme des longueurs des contraintes.
- L la longueur maximum des contraintes.
contraintes
propagation d'intervalle :.
temps mis pour faire
converger la propagation
prédicats unaires
trivial
relation d'ordre
complet 0(03)
différence liée
complet 0(n3)
coefficients unitaires
incomplet: O(En)
programmation linéaire
convergence non garantie
équations algébriques
convergence non garantie
équations transcendantales
convergence non garantie
145

!
La complétude signifie que les labels (intervalles) assignés à chaque noeud représente
exactement l'ensemble des valeurs que la variable associée au noeud peut recevoir. étant
données les contraintes exprimées sur l'ensemble des variables.
2) propagation d'intervalles pour les contraintes de type "différence liée"
Le réseau temporel que nous obtenons en traduisant les contraintes temporelles exprimées
dans les règles. fait intervenir des contraintes du type x-y> = c (type c). En effet. nous ne

traitons pas les dates absolues des événements ou des faits; ce qui importe ce sont les
décalages (délais) qui doivent être respectés entre les faits, par exemple, entre l'apparition
d'un événement et le début d'une action.
Les contraintes à considérer sont de la forme x-y e la. bl.
Pour résoudre un problème de cette nature. on peut utiliser soit un réseau dont les noeuds
sont les variables élémentaires Xi. soit un réseau faisant intervenir des noeuds composés de
la forme X,· -X· X·
1J -
r 1.
Comme indiqué sur le tableau de la page précédente. ce problème présente deux résultats
intéressants :
- l'algorithme de Waltz est complet pour ce genre de réseau;
- si le réseau est consistent. alors. en choisissant un ordre adéquat de traitement des
contraintes. l'algorithme de Waltz termine en un temps polynomial (0(n3) ).
: 1
. '
,
En utilisant un réseau contenant les noeuds Xij. on montre que le problème de la
propagation des intervalles est très lié à celui de la recherche des pl us courts chemins dans
des graphes orientés et valués. En effet. construisons un graphe dont les sommets sont les
variables élémentaires Xi et ayant les arcs orientés (Xi. Xj) de coût Cij si et seulement si la
contrainte Xi-Xj ~ Cij
appartient au système de contraintes. Considérons un chemin
quelconque XI> X2•...• Xn de ce graphe. de coûts c12. C23•...et cn-l n correspondants aux

1
inégalités XTX1~c12. XrX2~C23. ,.,Xn-I-Xn~cn-l n ; en sommant ces inégalités. on
1

obtient: Xn-X 1 ~ c12+ c23+ ... + Cn-l n·

Ainsi. la relation XrXi ~ c est dérivable des contraintes si et seulement si il existe un
chemin allant de Xj à Xj de longueur inférieure ou égale à c.
A l'inverse. la contrainte Xj - Xi ~ c peut être considérée comme une façon d'exprimer
le fait qu'il existe un chemin de Xi à Xj de longueur inférieure ou égale à c.
Le système d'équations est consistent si et seulement si il n'existe pas de cycle de
longueur négative dans le graphe. On remarquera la dualité de cette solution par rapport au
problème de l'existence d'un ensemble de potentiels dans un graphe.
14

La règle de réduction des labels est la suivante:
si Xije [aij, bij],
Xjk e [<ljk, bjk], Xik e [aik, bik],
alors, le label de Xik est réduit en faisant:
Pour trouver l'ordre de traitement des contraintes, il suffit de faire tourner, d'abord, un
algorithme de recherche des chemins de longueurs minimales et d'utiliser l'ordre fournit par
cet algorithme.
147

BIBLIOGRAPIDE
[Aïba&al, 88] Aiba A., Sakai Y., Sato H., Haw1ey D., Hasegawa R. :
Constraint Logic Programming Langage CAL.
Systems 1988,Vo1.1 Tokyo
Institute for new generation computer techno10gy, pp 263-276, 1988
[A1efred, 83] Alefred G., Herzberger J. :
Introduction to interval computations. Reading, Massachussetts
Addison-Wesley, 333 pp, 1983.
[Allen, 83] Allen J. F. :
Maintening know1edge about temporal intervals.
comm. ACM,26, Il 832-843, 1983
[Allen, 84] Allen J. F. :
Toward a general theory of action and time.
Artificial Intelligence, 23- pp 123-154, 1984.
[Arago, 89] Arago 8:
systèmes experts et conduite de processus.
Observatoire français des techniques avancées. Masson 1989.
[Ar1abosse, 87] Arlabosse F., Biermann J., Gaussen E., Wittig T. :
Know1edge representation and inférence technique for industrial control: the
esprit project P387.
Kriticin
Wissenbasierte
Systems,
Informatik
Fachberichte
155,
2nd
international congress on KBS, Brauer, Walster, SpringVerlag, Berlin 1987.
[Arlabosse, 88b] Arlabosse F., Duong V., Gaussen E., Le Page P., Cell Tissue:
A control architecture for know1edge based systems.
8th International workshop on expert systems and their application, 1988.
[Ayel, 87] Ayel M.:
détection d'incohérence dans les base de connaissance: SACCO
thèse d'état, Université de Chambéry, sept 1987.
[Benjamin, 83] Benjamin D. P. and Harrison M. C. :
A production system for 1eaming plans from expert.
proceedings of AAAI, pp 22-26, 1983.
[Benzecri, 73] Benzecri J. P. :
L'analyse de données. Tome 2 Dunod, 1973.
148

[Bestougeff, 89] Bestougeff H., Ligozat G. :
~
Outils logiques pour le traitement du temps.
collection Etude et Recherche en Infonnatique, Masson 1989
[Blum, 82] Blum R. L. :
discovering and representation of causal relationships from a large time-
oriented clinical data base,
Springer Verlag Lecture notes in medical infonnatics 19, 1982.
[Bonnet, 86] Bonnet A., Haton J. P., Truong J. M. :
Systèmes Experts - vers la maîtrise techniques
InterEditions, 1986 (Infonnatique, Intelligence Artificielle).
[Colmerauer, 87] Colmerauer A. :
Opening the prolog In Universe Byte pp 177-182, 1987
[Console, 89] Console L., Janin Rivolin A., Dupre D., Torasso P. :
Integration of causal & temporal reasoning in diagnostic problem solving.
ninth international workshop Expert Systems & their Application, 1989.
[Davis, 87] Davis E. :
Constraint Propagation with interval Labels.
Artificial Intelligence vol 32,3, pp 281-331,1987.
[Dean, 87] Dean T. L., McDennott O. V. :
Temporal data base management. A.I. 32, pp 1-55, 1987.
[Dkaki &al, 91] Dkaki T., Dousset B., Koussoubé S. :
Visualization and optimal Azimuths for data analysis (graduaI unchanging
data).
International Conference on Infonnation and Systems (ICIS).
October 9-11, Hangzhou China.
[Dousset &al, 91] Dousset B., Koussoubé S., Genestal M. :
Un système expert d'aide à la conduite et à la surveillance en réanimation
Il èmes journées internationales sur les systèmes experts et leurs applications,
AVIGNON, Mai 1991.
[Dousset &al, 91a] Oousset B., Dkaki T., Koussoubé S., Hilaire A., Longévialle C. :
Qu'apporte la représentation de la 4ème dimension en analyse des données.
Journées d'études sur les systèmes d'information élaborés. Ile Rousse 1991.
[Dousset &al, 91 bl Oousset B., Dkaki T., Koussoubé S., Hilaire A., Longévialle C. :
Aspect muti-tâche de la conduite d'une analyse de données en bibliométrie.
Journées d'étude sur les systèmes d'informations élaborés. Ile Rousse, juin
1991.
149

[Dubois & Prade, 85] Dubois D., Prade H. :
<>Jr
"
Théorie des possibilités. Application à la représentation des connaissances en
informatique.
Masson, Paris, mai 1985.
[Durfee, 87] Durfee E. H., Lesser V. R., Corkill D. D. :
cooperation through communication
in a distributed
problem solving
network.
. DistributOO artificial intelligence. Huhns (00) Morgan Kaufman, 1987.
[Dzierzgowski, 90] Dzierzgowski D. :
Quatre exemples de langages ou environnements pour le developpement de
programmes où le temps intervient.
TSI vo1.9, 4, pp 281-312, 1990.
[Erman, 80] Erman D. L., Hayes-Roth F., Lesser V. R., Corkill D. D. :
The HEARSAy II speech understanding system: integrating knowlOOge to
resolve uncertainty.
ACM computing survey, 12, 1980.
[Escofier, 88] Escofier B., Pages J. :
Analyse factorielles simple et multiple. 1988.
[Fagan, 80] Fagan L. M. :
V.M.: representing time-dependent relations in a medical setting.
Ph.D. thesis, Dept of computer science, Stanford univ., 1980.
[Farreny, 85] Farreny H. :
Les systèmes experts : principes et exemples.
Cepadues, 1985 (Techniques avancées de l'informatique).
[Gasser, 87] Gasser L., Braganza C., Herman N. :
MACE: A flexible testbed of distributed AI research.
Distributed artificial intelligence. Huhns (00) Morgan Kaufman, 1987.
[Harel, 85] Harel D. and Pnueli A. :
On the development of reactive systems.
K. R., Apt, Bd, Logics and models for concurrent systems. Nato ASI series,
Springer, pp 477-498, 1985.
[Harel, 87] Harel D. :
Statecharts : a visual fonnalism for complex systems.
Science of Computer Programming 8,3, pp 231-274, 1987.
[Harel, 88] Harel D., Lachover H., Naamad A., Pnueli A., Politi M., Sherman R. and
Shtul-Trawing A. :
150

Statemate : a working environment for the devef6pnIellt of complex reactive
systems.
Proceedings of the IOth I. E. E. E. International conference on software
Engineering, Singapore, pp 396-406, 1988.
[Hayes-Roth, 85] Hayes-Roth B.:
blackboard structure of control.
A.I. 26, 1985.
[Hewitt, 77] Hewitt C. :
Viewing control structures as patterns of passing messages.
A.I. 8,3, 1977.
[Hyvônen, 89J Hyvônen E. :
Constraint Reasoning based on interval Arithmetic.
Procedings of the Il th rrCAI, Detroit, August 1989 Los Atlos, California,
Morgan Kaufmann Publishers pp 1193-1198.
[Hyvônen, 91] Hyvônen E. :
Application conditions for interval constraint propagation.
eleventh international conference Expert Systems & their Applications, 1991.
[Ippolito, 88J Ippolito S. :
Commande numérique d'un processus industriel et aide à la conduite au
moyen d'un système expert.
Doctorat de l'université Paul Sabatier Toulouse, 1988.
[Kastner, 86] Kastner J. K., Ennis R. L., Griesmer J. H.:
A continuous real-time expert system for computer operations.
Proceedings of KBS'86 pp 89-114 Pinner, UK, 1986.
[Koussoubé &al, 91] Koussoubé S., Dousset B., Dkaki T. :
Monitoring and real-time control by expert systems.
International 91 Djerba Conference, Signals, Data and Systems, November
11-13, 1991.
A paraître aussi dans le périodique "ADVANCES IN MODELLING &
ANALYSIS", B, Vo1.24, N°3, 1992.
[Koussoubé&al, 92] Koussoubé S., Dousset B., Dkaki T. :
Outils et méthodologies d'étude de la cohérence et de la complétude dans les
bases de connaissances.
Journées Francophones de la Validation et de la Vérification des Systèmes à
Bases de Connaissances. Dourdan, Avril 1992.
[Kowalski, 86] Kowalski R. A., Sergot M. J. :
A logic based calculus of events.
New Generation Computing 4, 67-95, 1986.
151

[Koymans, 88] Koymans R., Kuiper R. :
Paradigms for real-time systems
M. Joseph, Ed, Formal techniques in real systems and fault tolerant systems.
Proceedings of a symposium, Warwik, UK Computer Science, vol 331,pp
159-174, 1988.
[Laasri, 87] Laasri H., Maitre B., Haton J. P. :
ATOME: outil d'aide au développement de système multi-experts.
Actes du 6ème congrès RFIA, 1987.
[LeLer, 88] Le1er W.:
Constraint programming langages. Their specification and generation.
Addison-Wesley 205p, 1988.
[Mackworth, 77] Mackworth Alan K. :
Consistency in Networks of Relations.
A.I. 8,1 pp 99-118, 1977.
[MCDennott, 82] MCDennott D. :
A temporal10gic for reasoning about processes and plans,
cognitive science, 6,101-155, 1982.
1
[Nii, 86] Nii H. P. :
1
Blackboard systems. A.I Magazine, 1986.
\\
l
[Pipard, 87] Pipard E. :
INDE: un système de détection d'inconsistances et d'incomplétudes dans les
bases de connaissances.
thèse 3ème cycle, Université Paris-Sud déc 1987.
[Pipard, 88] Pipard E. :
Détection d'inconsistances et d'incomplétudes dans les bases de règles.
Sèmes journées internationales sur les systèmes expert et leurs applications,
1988.
[Pnueli, 77] Pnueli A. :
The temporallogic of programs
proc. of the 18th I.E.E.E. symposium on fundation of Computer Science, pp
46-57, 1977.
[Pnueli, 86] Pnueli A. :
spécification and development of reactive systems.
H. J. Kuger, Ed, Information Processing pp 845-858, 1986.
[Ferber, 88] Ferber J., Ghallab M. :
problématiques des univers multi-agents intelligents.
152

aq
~""~lritel1igence artificielle . Actes des journées nationales PRC-GRECO.
Toulouse 14-15 mars 1988.
[Rousset, 86] Rousset M. C. :
sur la cohérence et la validité des bases de connaissances: le système
COVADIS.
2ème colloque internationales d'intelligence artificielle. Marseille, Décembre
86.
[Rousset, 87] Rousset M. C. :
détection systématique d'incohérences: le système COVADIS.
3èmesjournées nationales du PRC-lA pôle 4 Université de Paris Sud, 1987.
[Tolba&al, 91] Tolba H., Charpillet F., Haton J. P., Masini G. :
Algorithme de propagation de contraintes en raisonnement temporel.
11ème
journées
internationales
sur
les
systèmes
experts
et
leurs
applications,I991.
[Tsang, 89] Tsang :
Temporal reasoning in SOCRATES
ninth international workshop Expert Systems & their Application, 1989
[Van Hentenryck, 89] Van Hentenryck P.:
,
constraint satisfaction in logic programing.
Cambridge, Massachusetts, MIT Press. 224pp, 1989.
[Vere, 81] Vere :
1
1
Planing in time : windows and dUI-ations for activities and goals,
1
jet propulsion 1aboratory, California inst. of technology, 1981.
[Waltz, 75] Waltz D.:
Understanding 1ines drawing of scenes with shadows.
McGraw-Hill pp 19-91, 1975.
[Weiss, 79] Weiss S. M. and Kulikowski C. A. :
Expert: a system for developping consultation models
proceedings of UCAl pp 941-947, 1979.
153