• Aucun résultat trouvé

Fusion sur l’encodage XML probabiliste

Dans le document Harnessing uncertain data structure (Page 144-147)

B.5 Fusion de XML multi-version incertain

B.5.3 Fusion sur l’encodage XML probabiliste

Nous introduisons AlgorithmeB.2(mergePrXML) comme étant une méthode plus efficiente sur l’encodage XML probabilisteTcmv = (G , P) de réaliser la fusion de XMLc multi-version incertain. La définition de cette algorithme requiert toutefois la connais- sance des nœuds conflictuels et non conflictuels pour la fusion. Ainsi nous définissons d’abord la notion de nœuds conflictuels étant donné une fusion mergeOPe1, e2, e0 sur

c

Tmv, puis nous détaillons l’algorithme proprement dit. Nous nous appuierons sur les

formules associées aux nœuds pour détecter ceux qui sont conflictuels.

Considérons les affectations de valeurs de vérité suivantes sur les événements dans G : (i) νs initialisant les événements dans As à true et les variables de révision

dansAe1∪ {e1} et false aux variables de révision des autres événements ; et enfin (iii) ν2

initialisant les événements dansAe2 ∪ {e2} à true et les variables de révision des autres

événements à false. Nous introduisons en premier lieu la lignée (ou provenance) d’un nœud incertain dans le p-documentP.c

Definition B.5.1. (Lignée d’un nœud) La lignée d’un nœud donné x ∈P, notée fiec ↑(x), est la formule propositionnelle résultante de la conjonction de la formule de ce nœud x avec celles associées à tous ses nœuds ancêtres dansP.c

Au contraire de sa formule5, la lignée d’un nœud dans le p-document encode l’histoire toute entière des éditions, à partir de l’événement initial, sur le chemin menant à ce nœud. En conséquence, nous pouvons définir les nœuds conflictuels dans le p-document en utilisant leurs lignées comme suit.

Definition B.5.2. (Nœud conflictuel) Sous l’encodage XML probabiliste Tcmv, nous disons qu’un x donné dans P est un nœud conflictuel au regard de la fusion desc événements e1 et e2lorsque sa lignée satisfait les conditions suivantes. a) fie(x) |= νs;

b) fie(x) 6|= ν1(ou fie(x) 6|= ν2) et ; c) ∃y ∈P, desc(x, y) : fiec ↑(y) 6|= νset fie(y) |= ν2 (ou fie(y) |= ν1) où desc(x, y ) veut dire que y est un descendant de x.

Theorem B.5.1. La définition B.5.2est cohérente avec celle des nœuds conflictuels donnée dans la sectionB.5.1.

La preuve du théorèmeB.5.1est une conséquence directe de la façon dont updPrXML procède. Un nœud conflictuel dansP produit des descendants conflictuels. Nous nousc référons aux nœuds conflictuels dansP suivant la fusion des événements ec 1et e2 avec la restrictionPc|C

{e1, e2}. C’est sur cette base que nous déduisons ci-après l’ensemble

des nœuds non conflictuels.

Definition B.5.3. (Nœud non conflictuel) Pour la fusion des événements e1et e2, nous définissons un nœud non conflictuel x comme un nœud dansP \c Pc|C

{e1, e2} dont la

formule fie(x) satisfait à une des conditions suivantes : − fie(x) |= νs, fie(x) 6|= ν1et fie(x) 6|= ν2;

− fie(x) 6|= νs, fie(x) |= ν1et fie(x) |= ν2; − fie(x) |= νs, fie(x) |= ν1et fie(x) 6|= ν2; − fie(x) |= νs, fie(x) 6|= ν1et fie(x) |= ν2; − fie(x) 6|= νs, fie(x) |= ν1et fie(x) 6|= ν2;

5. La formule d’un nœud décrit juste la sémantique des éditions à partir de l’événement où il a été inséré pour la première fois.

Algorithme B.2: Algorithme de fusion (mergePrXML) Entrées: (G ,P), ec 1, e2, e0

Sorties: fusion dans (G ,P) avec mergeOPc e

1, e2, e0

1 G := G ∪ ({e0}, {(e1, e0), (e2, e0)});

2 pour chaque nœud non conflictuel x dansP \c Pc|C

{e1, e2} faire

3 replace(fie(x), e1, (e1∨ e0));

4 replace(fie(x), e2, (e2∨ e0));

5 fin

6 retourner (G ,P)c

− fie(x) 6|= νs, fie(x) 6|= ν1 et fie(x) |= ν2.

Theorem B.5.2. La définitionB.5.3est cohérente avec celle des nœuds non conflictuels donnée dans la sectionB.5.1.

La preuve du théorèmeB.5.2est triviale.

Nous poursuivons cette section en détaillant d’abord l’algorithme de fusion, puis en énonçant sa correction.

L’algorithmeB.2prend en entrée l’encodage XML probabiliste (G ,P) de Tc mv, les événements e1 et e2 dansG , et le nouvel événement e0modélisant à la fois les éléments de la fusion et leur degré d’incertitude. L’algorithme met d’abord à jourG comme indiqué dans la sectionB.2. Ensuite, la fusion dansP résulte en une modification mineure desc formules associées aux nœuds non conflictuels dansP \c Pc|C

{e1, e2} au travers la fonction

replace. Cette fonction substitue à ces formules toutes les occurrences de e1 et e2par (e1∨ e0)et (e

2∨ e0)respectivement. L’intuition est que chaque fusion possible, laquelle est valide avec l’existence de e0 indépendamment de celle des autres événements, doit contenir au moins les nœuds non conflictuels dansP supposés certains avec ec 1 et e2. Les nœuds non conflictuels dont l’existence est indépendante de e1 et e2, dépendront uniquement des valeurs de vérité de leurs événements ancêtres au sein de chaque sous-ensemble d’événements incluant l’événement de fusion. Enfin, l’existence des nœuds conflictuels dans le résultat de la fusion repose sur une idée subjective de priorité implicite accordée à e1 ou e2lorsque e0est true. Dans le scénario où e0 et e1sont vrais et e2 est false, nous supposons que e1 est plus probable que e2 pour la fusion ; dans ce cas seuls les nœuds conflictuels valides avecAe1 ∪ {e1} sont sélectionnés. La situation

inverse fonctionne de la même manière. Par contre tout nœud conflictuel sera supprimé lorsqu’aucune priorité n’est définie, c’est-à-dire, pour une affectation mettant e0à true et les variables de révision de e1 et e2à false.

Soient Tmv = (G , Ω) et Tcmv = (G ,P) respectivement un document XML multi-c version incertain et son encodage XML probabiliste. Nous supposons, en plus, définie la fonction sémantiqueJ.K telle que JTcmv

K = (G , JPK) avec Jc PK renvoyant la même distri-c bution de probabilité que Ω. Étant donné une fusion mergeOPe1, e2, e0, nous énonçons à

présent que mergePrXML respecte la sémantique de l’opération de fusion définie dans la sectionB.5.2.

Theorem B.5.3. La définition de l’algorithmeB.2est correcte au regard de la sémantique de l’opération de fusion sur un document XML multi-version incertain. En d’autres mots, le diagramme suivant commute :

c Tmv JTcmvK c T0 mv JTc 0 mvK mergePrXML (e1, e2, e0) J.K J.K mergeOPe1, e2, e0

Nous concluons cette section en énonçant le passage à l’échelle de mergePrXML.

Theorem B.5.4. L’algorithme B.2 exécute la fusion sur l’encodage XML probabiliste de tout document XML multi-version incertain en temps proportionnel à la taille des formules des nœuds impactés par les mises à jour dans les branches fusionnées.

Pour la preuve des théorèmesB.5.3etB.5.4, nous référons à [Ba et al., 2013b].

Dans le document Harnessing uncertain data structure (Page 144-147)

Documents relatifs