WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Réconciliation par consensus des mises à  jour des répliques partielles d'un document structuré.

( Télécharger le fichier original )
par Milliam Maxime Zekeng Ndadji
Université de Dschang - Master 2 2016
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

3.2.3. Illustration de l'algorithme de la fusion consensuelle

Nous illustrons l'algorithme de fusion consensuelle avec la grammaire Gexpl de l'exemple 8. Nous associons des automates d'arbre .91(1) et .91(2) respectivement aux répliques par-

tielles mises à jour tma j

v1 et tma j

v2 (figure 3.2.c et 3.2.e), puis nous construisons l'automate du

3.2. Calcul du consensus 40

Mémoire - ZEKENG NDADJI Milliam Maxime LIFA

consensus 91(sc) = 91(1) 0 91(2) par application de la démarche décrite dans la section 3.2.2 et enfin nous présentons les documents les plus simples du consensus (figure 3.3 page 43).

FIGURE 3.2 - Exemple de workflow d'une édition avec conflit et consensus correspondant.

Les schémas de transition pour la vue {A,B}

Une liste d'arbres (forêt) est représentée par la concaténation de leurs linéarisations. Nous utilisons la parenthèse ouvrante '(' et fermante ')' pour représenter les symboles de Dyck associés au symbole visible A et le crochet ouvrant '[' et fermant ']' pour représenter ceux associés au symbole visible B. Puisque les arbres manipulés peuvent contenir des bourgeons, ils est nécessaire de pouvoir linéariser ces derniers. Nous associons donc les symboles '(w' et ')w' (resp. '[w' et ']w') au bourgeon Aw (resp. Bw) de type A (resp. B). Chaque transition des automates associés aux répliques partielles suivant la vue {A,B} est conforme à l'un des schémas de règles suivants :

(A,w1) -+ (P1,[(C,u),(B,v)]) si w1 = u[v]

(A,w2) -+ (P2,[]) si w2 = E

(A,w3) -+ (Aw,[]) si w3 = (w )w

(B,w4) -+ (P3,[(C,u),(A,v)]) si w4 = u(v)

(B,w5) -+ (P4,[(B,u),(B,v)]) si w5 = [u][v]

(B,w6) -+ (Bw,[]) si w6 = [w]w

(C,w7) -+ (P5,[(A,u),(C,v)]) si w7 = (u)v

(C,w8) -+ (P6,[(C,u),(C,v)]) si w8 = uv =6 E

(C,w9) -+ (Cw,[]) si w9 = E

Ces schémas de règles [BTT08] sont obtenus à partir des productions de la grammaire. Les états (A,w3) avec w3 = (w )w, (B,w6) avec w6 = [w]w et (C,w9) avec w9 = E sont des états de sortie [BTT08]. La règle (C,w9) -+ (Cw,[]) liée à la production P7 stipule que l'AST

3.2. Calcul du consensus 41

généré à partir de l'état (C,w9) est réduit à un bourgeon de type C (C est le symbole situé en partie gauche de P7).

Remarque 15 Nous ne représentons pas tout l'ensemble des schémas de règles dans cet exemple; seul le sous-ensemble utile pour la réconciliation des documents clos est représenté car les documents à réconcilier ici sont tous clos. L'ensemble des schémas de règles est totalement représenté dans l'annexe A.

Construction de l'automate A(1) associé à tv1

Ayant associé les symboles de Dyck '(' et ')' (resp. '[' et ']') au symbole grammatical A (resp. B), la linéarisation de la réplique partielle tmaj

.

v1 (fig. 3.2.c) donne (([[()()][()]])[()])

Comme A est l'axiome de la grammaire et qu'il est visible, l'état initial de l'automate A(1) est q10 = (A,([[()()][()]])[()]). En ne considérant que les états accessibles à partir de q10 et en appliquant les schémas de règles présentés précédemment, nous obtenons l'automate d'arbre suivant pour la réplique tma j

v1 (fig. 3.2.c) :

q10

q11

q11

q12

q13

q14

q15

q16

q17

q18

q18

-+

-+

-+ -+ -+ -+ -+ -+ -+ -+ -+

(P1,[q11,q12])
(P5,[q13,q14])

(P6,[q1 4,q11]) |

(P3,[q14,q15]) (P1,[q14,q16]) (Cw,[])

(P2,[]) (P4,[q17,q12]) (P3,[q18,q15]) (P5,[q15,q14])

(P6,[q18,q14]) |

(P6,[q11,q14])

(P6,[q14,q18])

avec
avec

avec
avec

avec
avec

q11 = (C,([[()()][()]])) et q12 =

(B,())

q13 = (A,[[()()][()]]) et q14 =
(C,e)

q15 = (A,e)

q16 = (B,[()()][()])

q17 = (B,()()) q1 8= (C,())

L'état q14 = (C,e) est le seul état de sortie de l'automate A(1). Il est aisé de vérifier que le document de la figure 3.2.f issu de la projection inverse de tv1maj appartient au langage accepté par l'automate A(1).

Construction de l'automate A(2) associé à tv2

En associant au symbole grammatical C (resp. A) les symboles de Dyck '[' et ']' (resp. '(' et ')'), en associant aussi au bourgeon Cw (resp. Aw) les symboles de Dyck '[w' et ']w' (resp. '(w' et ')w'), les schémas des transitions des automates associés aux répliques partielles suivant la vue {A,Cl sont les suivants :

(A,w1) -+ (P1,[(C,u),(B,v)]) si w1 = [u]v

(A,w2) -+ (P2,[])

si w2 = e

(A,w3) -+ (Aw,[]) si w3 = (w)w

(B,w4) -+ (P3,[(C,u),(A,v)]) si w4 = [u](v)

(B,w5) -+ (P4,[(B,u),(B,v)]) si w5 = uv =6 e

(B,w6) -+ (Bw,[]) si w6 = e

(C,w7) -+ (P5,[(A,u),(C,v)]) si w7 = (u)[v]

(C,w8) -+ (P6,[(C,u),(C,v)]) si w8 = [u][v]

(C,w9) -+ (P7,[]) si w9 = e

(C,w10) -+(Cw,[]) si w10 = [w]w

Mémoire - ZEKENG NDADJI Milliam Maxime LIFA

3.2. Calcul du consensus 42

Le mot de Dyck ([([][]()[]())[]][[][]]()) est la linéarisation de la réplique partielle tma j

v2

(fig. 3.2.e). L'état q20 = hA,[([][]()[]())[]][[][]]()i est donc l'état initial de l'automate 91(2) associé à cette réplique. Ses transitions sont :

avec q21 = hC,([][]()[]())[]i et q22 = hB,[[][]]()i

avec q23 = hA,[][]()[]()i et q24 = hC,åi avec q25 = hC,[][]i et q26 = hA,åi avec q27 = hB,[]()[]()i

avec q28 = hB,åi, q29 = hB,[]i, q210 = hB,()[]()i, q211 = hB,[]()i, q212 =

hB,[]()[]i et q2 13 = hB,()i

q20

q21

q22

q23

q24

q25

q26

q27

q28

q29

-?

-? -? -? -? -? -? -?

-?

-?

(P1,[q2 1,q22])

(P5,[q23,q24]) (P3,[q25,q26]) (P1,[q24,q27]) (P7,[])

(P6,[q24,q24]) (P2,[])

(P4,[q28,q27]) | (P4,[q29,q210]) |

(P4,[q2 11,q211]) | (P4,[q212,q213]) |
(P4,[q27,q28])

(Bù,[])

(P4,[q2 8,q29]) | (P4,[q29,q28])

Mémoire - ZEKENG NDADJI Milliam Maxime LIFA

q210

q211

q212

q213

q214

-?

-?

-?

-?

-?

(P4,[q28,q210]) (P4,[q214,q213]) (P3,[q2 4,q26]) (P4,[q28,q212]) (P4,[q2 11,q29]) (P4,[q28,q213]) (P4,[q2 8,q214]) (P4,[q214,q28])

| (P4,[q213,q211])

| (P4,[q210,q28])

| (P4,[q29,q2 14])

| (P4,[q212,q28]) | (P4,[q2 13,q28])

| (P4,[q2 13,q29])

|

|

|

avec

q214 = hB,()[]i

L'état q28 est le seul état de sortie de l'automate 91(2). Construction de l'automate du consensus 91(sc)

Par application du produit synchrone de plusieurs automates d'arbres décrit dans la section 3.2.2 aux automates 91(1) et 91(2), l'automate du consensus 91(sc) = 91(1) ?Ù 91(2) a pour état initial q0 = (q10,q20). 91(1) possède une transition de q10 vers [q11,q12] étiquetée P1. De même, 91(2) possède une transition de q20 vers [q21,q22] étiquetée P1. On a donc dans 91(sc) une transition étiquetée P1 permettant d'accéder aux états [q1 = (q11,q21),q2 = (q12,q22)] à partir de l'état initial q0 = (q10,q20). Suivant ce principe, on construit l'automate consensuel suivant :

q0

q1

q2

q3

q4

q5

q6

-? -? -? -? -? -?

-?

(P1,[q1,q2]) (P5,[q3,q4]) (P3,[q5,q6]) (P1,[q4,q7]) (P7,[]) (P6,[q8,q8])

(P2,[])

q0 = (q10,q20)

avec q1 = (q1 1,q21) et q2 = (q1 2,q22)

avec q3 = (q13,q23) et q4 = (q14,q24)

avec q5 = (q14,q25) et q6 = (q15,q26)

avec q7 = (q16,q27)

avec q8 = (qs1,q24) et qs1

hOpen C,[]i

=

3.3. Synthèse 43

Mémoire - ZEKENG NDADJI Milliam Maxime LIFA

q7 -+ (P4,[q9,q10]) | (P4,[q11,q12]) | (P4,[q13,q14]) | (P4,[q15,q16]) | (P4,[q17,q18])

avec q9 = (q17,q28), q10 = (q12,q27), q11 = (q17,q29), q12 = (q12,q210), q13 = (q17,q211), q14 = (q12,q211), q15 = (q17,q212), q16 = (q12,q213), q17 = (q17,q27) et q18 = (q12,q28)

q8 -+ (P7,[])

q9 -+ (P3,[q19,q20]) avec q19 = (q18,qs1) et q20 = (q15,qs2),

qs2 = (Open A,[])

q13 -+ (P3,[q21,q6]) avec q21 = (q1 8,q2 4)

q14 -+ (P3,[q4,q6])

q18 -+ (P3,[q22,q20]) avec q22 = (q14,qs1)

q19 -+

(P5,[q20,q22]) | (P6,[q19,q22]) | (P6,[q22,q19])

q20 -+ (P2,[])

q10 -+

(Ba),[]), q11 -+ (Ba),[]), q12 -+ (Ba),[]), q15 -+ (Ba),[]), q16 -+ (Ba),[]),

q17 -+ (Ba),[]), q21 -+ (Ca),[]), q22 -+ (Ca),[])

Les états {q10,q11,q12,q15,q16,q17,q21,q22} sont les états de sortie de l'automate .(sc). Ce sont des états dont les états composites sont soit en conflit (par exemple q10 = (q12,q7) et q12 y q27), soit sont tous des états de sortie (par exemple q22 = (q14,qs1)).

L'utilisation de la fonction de génération des AST (avec bourgeons) les plus simples d'un langage d'arbre à partir de son automate [BTT08, BTT07, TT09] sur l'automate .(sc), produit quatre AST dont les arbres de dérivations (les consensus) sont schématisés sur la figure 3.3.

FIGURE 3.3 - Arbres consensuels générés à partir de l'automate .(sc).

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Je voudrais vivre pour étudier, non pas étudier pour vivre"   Francis Bacon