2.3 Définition de la sémantique du langage à travers la notion de reconnaissance de
2.3.2 Formalisation de la notion de reconnaissance de chronique
Nous pouvons maintenant poser la sémantique de notre langage des chroniques en définissant la
notion de reconnaissance d’une chronique tout en intégrant la nouvelle représentation arborescente
des reconnaissances. La définition de la sémantique est délicate pour deux raisons principales :
— d’une part, le processus de reconnaissance doit permettre d’évaluer des prédicats sur des
attributs d’évènement provenant de différentes parties de la chronique ;
— d’autre part, les chroniques doivent être reconnuesen ligne. Avec ces deux contraintes à
l’es-prit, nous définissons pour chaque chronique un ensemble de reconnaissances qui correspond
à toutes les reconnaissances de la chronique représentées sous forme d’arbres et munies de
leurs attributs de reconnaissance associés.
Comme l’on souhaite que le processus de reconnaissance puisse être effectué au fur et à mesure
tout en étant exhaustif, la construction des ensembles de reconnaissances est progressive, ce qui
s’exprime par une définition inductive dépendant de l’instantdjusqu’auquel les évènements du flux
sont considérés. La constitution de ces ensembles ne nécessite donc pas de connaître par avance
l’intégralité du flux d’évènements.
Nous définissons donc, par induction pour chaque chronique, l’ensemble de ses reconnaissances
sur un flux d’évènements et jusqu’à une date donnés. Les évènements de cet ensemble sont des
couples(r, X)oùrest un arbre de reconnaissance etXest l’ensemble d’attributs de reconnaissance
associé. Chaque définition peut se décomposer en trois parties :
— l’expression des contraintes temporelles liées à l’opérateur;
— la vérification du prédicat;
— la définition de l’ensemble d’attributs de reconnaissance.
Définition 16 (ensembles de reconnaissances). SoitC∈Xune chronique. Considérons, pour
tout prédicatP, un(P× V)-modèleMdans lequel il existe une interprétation Pˆ deP.
L’ensemble des reconnaissances de C sur le flux d’évènements ϕ jusqu’à la date d est noté
RC(ϕ, d)et est un sous-ensemble deA(E).
L’ensemble d’attributs associé à une reconnaissancerest notéXr. Nous utilisons les notations
suivantes : X♦
r ={(♦, v)∈Xr:v∈Ae(P,V)}, qui est un singleton, etX∗
r =Xr\X♦
r .
Les ensembles de reconnaissances et les ensembles d’attributs associés aux reconnaissances sont
définis par induction comme suit :
— Unévènement simple Avérifiant le prédicatP est reconnu si un évènement de nomA
a lieu dans le flux avant l’instantdet si ses attributs vérifient le prédicatP. Les attributs
de reconnaissance sont réduits à une unique propriété anonyme contenant les éventuels
attributs créés par la fonctionf et les attributs de l’évènement du flux.
SiA∈N, alors :
R(A,P,f)(ϕ, d) ={((e, t), X(e,t)) :e=A∧ ∃i ϕ(i) = (e, t)∧t≤d∧Pˆ[D◦α((e, t))]
∧X(e,t)={(♦, X) :∃Xe∈Ae(P,V) (X =Xe∪α((e, t))∧f◦D◦α((e, t)) ={(♦, Xe)})}}
En d’autres termes, les reconnaissances d’un évènement simple suivent les règles suivantes :
— le nom de l’évènement est correct ;
— la date de l’évènement est inférieure à l’horizon (t≤d) ;
— le prédicat, s’il existe, est vérifié sur les attributs de l’évènement (Pˆ[D◦α((e, t))]).
Et en supplément, l’ensemble d’attributs associé à la reconnaissance est constitué de la
manière suivante. Il contient :
— les attributs de l’évènement dans le flux (α((e, t))) ;
— les attributs créés par la fonctionf (f◦D◦α((e, t))).
— UnedisjonctionC1||C2vérifiant un prédicatP est reconnue lorsque l’une des deux
sous-chroniques est reconnue et vérifie P. La structure de l’arbre indique quelle branche de la
chronique a été reconnue. Les attributs de reconnaissance sont réduits aux attributs dont
les noms sont utilisés à la fois dans C1 et C2, comme détaillé dans la Section 2.2 (p.51),
avec les attributs anonymes créés par la fonction f. On rappelle que la fonctionρpermet
d’accéder au nom d’une propriété.
R(C1||C2,P,f)(ϕ, d) ={(hr,⊥i, Xhr,⊥i) :r∈RC
1(ϕ, d)∧Pˆ[X∗
r]
∧Xhr,⊥i={x∈X∗
r :ρ(x)∈ Ce(C1||C2)} ∪ D◦f[X∗
r]}
∪ {(h⊥, ri, Xh⊥,ri) :r∈RC
2(ϕ, d)∧Pˆ[X∗
r]
∧Xh⊥,ri={x∈X∗
r :ρ(x)∈ Ce(C1||C2)} ∪ D◦f[X∗
r]}
— Uneséquence C1C2vérifiantP est reconnue lorsqueC2est reconnueaprès avoir reconnu
C1 et que les deux reconnaissances vérifientP. Les attributs de reconnaissance sont ceux
des reconnaissances deC1 et deC2 avec les attributs anonymes créés par la fonctionf.
R(C1C2,P,f)(ϕ, d) ={(hr1, r2i, Xhr1,r2i) :r1∈RC
1(ϕ, d)∧r2∈RC
2(ϕ, d)
∧Tmax(r1)< Tmin(r2)∧Pˆ[X∗
r1∪X∗
r2]
∧Xhr1,r2i=X∗
r1∪X∗
r2∪ D◦f[X∗
r1∪X∗
r2]}
— UneconjonctionC1&C2vérifiantP est reconnue lorsque à la foisC1etC2sont reconnues
et vérifientP. Les attributs de reconnaissance sont construits comme pour la séquence.
R(C1&C2,P,f)(ϕ, d)={(hr1, r2i, Xhr1,r2i) :r1∈RC
1(ϕ, d)∧r2∈RC
2(ϕ, d)
∧Pˆ[X∗
r1∪X∗
r2]
∧Xhr1,r2i=X∗
r1∪X∗
r2∪ D◦f[X∗
r1∪X∗
r2]}
— Une absence (C1)−[C2] vérifiant un prédicat P est reconnue lorsque C1 est reconnue
sans aucune occurrence de C2 vérifiantP durant la reconnaissance deC1.Attention, dans
le cas d’une absence, la signification du prédicat est donc particulière. Les attributs de
reconnaissance sont alors réduits à ceux de la reconnaissance deC1, comme détaillé dans 2.2,
complétés des éventuels attributs anonymes créés par la fonctionf.
R((C1)−[C2],P,f)(ϕ, d) ={(hr1i, Xhr1i) :r1∈RC
1(ϕ, d)
∧∀r2∈RC
2(ϕ, d) (Tmin(r1)>Tmin(r2)
∨Tmax(r1)<Tmax(r2)
∨¬Pˆ[X∗
r1∪X∗
r2])
∧Xhr1i=X∗
r1∪ D◦f[X∗
r1]}
Pour les ensembles de reconnaissances associés aux autres possibilités de bornes
de l’absence évoquées en 2.2, seule la contrainte temporelle change :
— pour(C1)−]C2[, elle devientTmin(r1)≥Tmin(r2)∨Tmax(r1)≤Tmax(r2);
— pour(C1)−[C2[6, elle devientTmin(r1)>Tmin(r2)∨Tmax(r1)≤Tmax(r2);
— pour(C1)−]C2], elle devientTmin(r1)≥Tmin(r2)∨Tmax(r1)<Tmax(r2);
— Une chroniqueC1meetsC2est reconnue lorsqueC2est reconnueexactement après C1et
P est vérifié. Les attributs de reconnaissance sont construits comme pour la séquence.
R(C1meetsC2,P,f)(ϕ, d)est défini comme la séquence mais avec la contrainte
tem-porelleTmax(r1) =Tmin(r2).
— Une chronique C1 overlapsC2 est reconnue lorsque à la fois C1 et C2 sont reconnues
avec des reconnaissances se chevauchant temporellement et P est vérifié. Les attributs de
reconnaissance sont construits comme pour la séquence.
R(C1overlapsC2,P,f)(ϕ, d) est défini comme la séquence mais avec la contrainte
temporelle Tmin(r1)<Tmin(r2)<Tmax(r1)<Tmax(r2).
— Une chroniqueC1startsC2est reconnue lorsque à la foisC1etC2sont reconnues avec la
reconnaissance deC1débutant en même temps que celle de C2 etfinissant avant, etP est
vérifié.
R(C1startsC2,P,f)(ϕ, d)est défini comme la séquence mais avec la contrainte
tem-porelleTmin(r1)=Tmin(r2)∧Tmax(r1)<Tmax(r2).
— Une chroniqueC1duringC2est reconnue lorsqueC1est reconnuependant une
reconnais-sance deC2, etP est vérifié.
R(C1duringC2,P,f)(ϕ, d)est défini comme la séquence mais avec la contrainte
tem-porelleTmin(r1)>Tmin(r2)∧Tmax(r1)<Tmax(r2).
— Une chronique C1finishesC2 est reconnue lorsque à la fois C1 et C2 sont reconnues et
que la reconnaissance deC1commence après celle deC2etse termine au même instant, et
P est vérifié.
R(C1finishesC2,P,f)(ϕ, d) est défini comme la séquence mais avec la contrainte
temporelle Tmin(r1)>Tmin(r2)∧Tmax(r1)=Tmax(r2).
— Une chronique C1equalsC2 est reconnue lorsque à la fois C1 et C2 sont reconnues sur
exactement le même intervalle de temps, etP est vérifié.
R(C1equalsC2,P,f)(ϕ, d)est défini comme la séquence mais avec la contrainte
tem-porelleTmin(r1)=Tmin(r2)∧Tmax(r1)=Tmax(r2).
6. C’est cette construction qui correspond à celle de l’absence dans [CCK11] présentée dans la Section 1.5.3 et
notée(C1)−[C2].
— Une chroniqueC1lastsδ est reconnue lorsqueC1est reconnue,P est vérifié, et la taille de
l’intervalle de reconnaissance estexactement δ.
R(C1lastsδ,P,f)(ϕ, d) ={(hri, Xhri) :r∈RC
1(ϕ, d)
∧Tmax(r)−Tmin(r) =δ
∧Pˆ[X∗
r]∧Xhri=X∗
r ∪ D◦f[X∗
r]}
— Une chroniqueC1at mostδest reconnue lorsqueC1est reconnue,P est vérifié, et la taille
de l’intervalle de reconnaissance estau plus δ.
R(C1at mostδ,P,f)(ϕ, d) est défini comme la chronique « lasts » mais avec la
contrainte temporelleTmax(r)−Tmin(r)< δ.
— Une chroniqueC1 at leastδest reconnue lorsqueC1est reconnue,P est vérifié, et la taille
de l’intervalle de reconnaissance estau moins δ.
R(C1at leastδ,P,f)(ϕ, d) est défini comme la chronique « lasts » mais avec la
contrainte temporelleTmax(r)−Tmin(r)> δ.
— Une chronique C1thenδ est reconnue lorsque exactement δ unités de temps s’écoulent
après une reconnaissance de C1. L’arbre de reconnaissance conserve l’évènement d’instant
temporel pur(τ, t)correspondant à l’instant de la reconnaissance. Ceci permet, entre autre,
d’avoir une définition correcte deTmax.
R(C1thenδ,P,f)(ϕ, d)={(hr,(τ, t)i, Xhr,(τ,t)i) :t≤d∧r∈RC
1(ϕ, t)
∧t=Tmax(r)+δ∧Pˆ[X∗
r]
∧Xhr,(τ,t)i=X∗
r ∪ D◦f[X∗
r]}
— Une chronique denommage de propriété C1→x est reconnue lorsque C1 est reconnue.
Les attributs de reconnaissance sont les attributs anonymes de la reconnaissance deC1mais
renommés x, avec les nouveaux attributs anonymes créés par la fonction f.
R(C1→x,P,f)(ϕ, d) ={(hri, Xhri) :r∈RC
1(ϕ, d)∧Pˆ[X∗
r]∧Xhri=R(X♦
r , x)∪ D◦f[X∗
r]}
— Une chronique decut C1!C2est reconnue lorsqueC1etC2sont reconnues successivement
et lorsque la reconnaissance deC2 est la première après celle de C1 En d’autres termes, il
n’y a pas d’autre reconnaissance deC2 entre les deux reconnaissances sélectionnées.
R(C1!C2,P,f)(ϕ, d)={(hr1, r2i, Xhr1,r2i) :r1∈RC
1(ϕ, d)∧r2∈RC
2(ϕ, d)∧Tmax(r1)<Tmin(r2)
∧∀r′
2∈RC
2(ϕ, d) (Tmax(r1)< Tmin(r′
2)⇒(Tmin(r2)< Tmin(r′
2)
∨(Tmin(r2) =Tmin(r′
2)∧Tmax(r2)≤Tmax(r′
2))) )
∧Pˆ[X∗
r1∪X∗
r2]∧Xhr1,r2i=X∗
r1∪X∗
r2∪ D◦f[X∗
r1∪X∗
r2]}
— Une chronique dechangement d’étatC1!!C2est reconnue lorsqueC1etC2sont reconnues
successivement, la reconnaissance de C1 étant la dernière avant une reconnaissance deC2,
et la reconnaissance de C2 étant la première après une reconnaissance deC1. En d’autres
termes, il n’y a aucune autre reconnaissance deC1ni de C2entre les deux reconnaissances
sélectionnées.
R(C1!!C2,P,f)(ϕ, d)={(hr1, r2i, Xhr1,r2i) :r1∈RC
1(ϕ, d)∧r2∈RC
2(ϕ, d)∧Tmax(r1)<Tmin(r2)
∧∀r′
2∈RC
2(ϕ, d) (Tmax(r1)< Tmin(r′
2)⇒(Tmin(r2)< Tmin(r′
2)
∨(Tmin(r2) =Tmin(r′
2)∧Tmax(r2)≤Tmax(r′
2))) )
∧∀r′
1∈RC
1(ϕ, d) (Tmax(r′
1)< Tmin(r2)⇒(Tmax(r′
1)≤Tmax(r1)))
∧Pˆ[X∗
r1∪X∗
r2]∧Xhr1,r2i=X∗
r1∪X∗
r2∪ D◦f[X∗
r1∪X∗
r2]}
— Une chronique d’évènement de reconnaissance @(C1)est reconnue lorsqueC1 est
re-connue, mais son intervalle de reconnaissance est réduit à l’instant de reconnaissance.
R(@(C1),P,f)(ϕ, d) ={((e, t), Xγ
r) :r∈RC
1(ϕ, d)∧(e, t)∈ F(r)∧t=Tmax(r)∧Pˆ[X∗
r]
∧Xγr=Xr∪ D ◦f[X∗
r]}
Remarque 5. Intuitivement, le cut C1!C2 permet de reconnaître la première reconnaissance
de C2 suivant une reconnaissance de C1, et le double cut, ou changement d’état, permet de
re-connaître la première reconnaissance de C2 suivant la dernière reconnaissance de C1.
Cepen-dant, il n’y a pas toujours d’unique première ou d’unique dernière reconnaissance. En ce qui
concerne C2, pour les deux opérateurs, les premières reconnaissances sont celles qui commencent
et qui s’achèvent aux instants les plus tôt après la reconnaissance de C1 considérée. Ainsi, sur
le flux ϕ = ((a,1),(b,2),(d,3),(d,4),(e,5),(e,6)), la chronique C = A! (B D E) est
recon-nue deux fois : RC(ϕ,6) = {h(a,1),hh(b,2),(d,3)i,(e,5)ii,h(a,1),hh(b,2),(d,4)i,(e,5)ii}. Pour
le changement d’état, les dernières reconnaissances de C1 considérées sont celles se terminant
à l’instant le plus tard, sans considération de leur instant de début. Ainsi, la chronique C =
(A B) !!D, sur le flux ϕ = ((a,1),(a,2),(b,3),(d,4),(d,5)) est reconnue deux fois : RC(ϕ,5) =
{hh(a,1),(b,3)i,(d,4)i,hh(a,2),(b,3)i,(d,4)i}.
Remarque 6 (NP-complétude). Notons que le problème de la reconnaissance de chroniques
dans un flux d’évènements est NP-complet.
En effet, il est immédiat que l’on peut vérifier en temps polynomial qu’un arbre r est une
reconnaissance de C dans un fluxϕ.
De plus, le problème est NP-difficile car le problème SAT peut s’y réduire. Considérons une
formule logiqueP sous forme normale conjonctive. Elle possèdenlittéraux. Prenons comme
évè-nements des évèévè-nements e possédant comme attributs une valeur de vérité pour chaque littéral.
Prenons ensuite comme flux d’évènements une suite finieϕd’évènementsecouvrant toutes les
ré-partitions de valeurs de vérité possibles pour lesnlittéraux. Considérons la chroniqueC= (E, P).
Si l’on sait reconnaître C dansϕen temps polynomial, alors on sait également résoudre SAT en
temps polynomial car la chronique C est reconnue dans ϕ si et seulement si la formule P est
satisfiable.
Le problème reste NP-complet si l’on ôte la possibilité d’exprimer des contraintes à l’aide de
prédicats. Il faut alors encoder la formule logique à l’aide des opérateurs du langage des chroniques,
en particulier la conjonction, la disjonction et l’absence.
Nous achevons ici la définition de la sémantique du langage des chroniques, qui donne un sens
à la notion de reconnaissance d’une chronique dans un flux d’évènements.
Par la suite, lorsque les valeurs du prédicatP et de la fonction de transformation d’attributsf
n’auront pas d’incidence sur le propos, nous nous permettrons de noterC au lieu de(C, P, f)afin
d’alléger les notations.
Dans le document
Reconnaissance de comportements complexes par traitement en ligne de flux d’événements
(Page 56-61)