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

2.1.2. Conformité d'un document structuré vis-à-vis de sa grammaire

Soient une grammaire algébrique G et un arbre t (document) ; le document t est conforme à la grammaire G (on note t ? G) si chacune des étapes de décomposition hiérarchique de t obéit à une des productions de G. On dit dans ce cas que t est un arbre de dérivation pour la grammaire G. L'ensemble des arbres de dérivation pour la grammaire G en utilisant le symbole X comme axiome est noté Der(G,X) et est défini formellement comme suit :

Définition 10 L'ensemble noté Der(G,X) des arbres de dérivation suivant la grammaire G associés au symbole grammatical X est constitué des arbres de la forme X[t1,··· ,tn] pour lesquels il existe une production P = (XP(0),XP(1) ···XP(n)) telle que X = XP(0), |P| = n et ti E Der(G,XP(i)) pour tout 1 < i < n.

2.1.2.1. Vérification de la conformité d'un document : les AST

Dans un arbre de dérivation, les noeuds sont étiquetés par des symboles grammaticaux. De la même manière on peut définir les arbres de syntaxe abstraite (Abstract Syntax Tree - AST -) qui sont des arbres dont les noeuds sont étiquetés par des productions de la grammaire.

Définition 11 L'ensemble noté AST(G,X) des arbres de syntaxe abstraite suivant la grammaire G associés au symbole grammatical X est constitué des arbres de la forme P[t1,··· ,tn]

2.1. Documents structurés, conformité et édition 22

Mémoire - ZEKENG NDADJI Milliam Maxime LIFA

oÙ P = (XP(0),XP(1) ···XP(n)) est une production telle que X = XP(0), |P| = n et ti ? AST(G,XP(i)) pour tout 1 = i = n.

Les AST peuvent être utilisés comme preuve de la conformité d'un document. En effet, si pour un document t donné on peut trouver un AST u équivalent, alors le document en question est conforme à la grammaire. Ceci est garanti par le fait que les AST ont des noeuds étiquetés par des productions de la grammaire et que leur décomposition hiérarchique obéit à ces productions par définition (définition 11). On dit dans ce cas que u détermine t et on note u ` t ; la relation ` étant définie formellement par P[u1,··· ,un] ` X[t1,··· ,tm] si X = XP(0), n = m et ui `ti pour tout 1 = i = n. Étant donné que chaque production de la grammaire est caractérisée par la donnée conjointe de sa partie gauche et de sa partie droite, il existe une correspondance bijective entre l'ensemble des arbres de dérivation d'une grammaire et l'ensemble de ses arbres de syntaxe abstraite. Le passage d'un AST à un arbre de dérivation se fait juste par remplacement des productions dans l'AST par leurs symboles en partie gauche. La figure 2.2 présente un AST et l'arbre de dérivation équivalent sur la grammaire Gexpl.

FIGURE 2.2 - Un AST et l'arbre de dérivation qu'il détermine.

2.1.2.2. Vérification de la conformité d'un document : les automates d'arbre

La conformité d'un arbre vis-à-vis d'une grammaire peut être vérifiée grâce à un auto-mate1 d'arbre descendant. En effet, quand on regarde les productions d'une grammaire, on peut remarquer que chaque sorte est associée à un ensemble de productions. On peut de ce point de vue, considérer une grammaire comme une application

gram : symb ? [(prod, [symb])]

qui associe à chaque sorte une liste de couples formés d'un nom de production et de la liste des sortes en partie droite de cette production. Une telle observation suggère qu'une grammaire peut être interprétée comme un automate d'arbre (descendant) utilisable pour la reconnaissance ou pour la génération de ses instances.

1. Les automates d'arbres sont des outils formels qui ont plusieurs applications scientifiques. Le lecteur intéressé pourra consulter [CDG+08] dans lequel il trouvera des définitions formelles, des démonstrations et des applications possibles des automates d'arbre.

2.1. Documents structurés, conformité et édition 23

Mémoire - ZEKENG NDADJI Milliam Maxime LIFA

Définition 12 Un automate d'arbre (descendant) défini sur L est la donnée A = (L,Q,R,F,q0) d'un ensemble L de symboles; ses éléments sont les étiquettes des transitions de l'automate A, d'un ensemble Q d'états, d'un état particulier q0 ? Q appelé état initial, d'un ensemble F ? Q des états finals et d'un ensemble fini R ? Q × L × Q* de transitions.

-- Un élément de R est noté q ? (a,[q1,··· ,qn]) : intuitivement, il s'agit de la liste des états [q1,··· ,qn] accessibles à partir d'un état q donné en franchissant une transition

-- Si q ? (a1,[q1

étiquetée a ; 1,··· ,q1 n1]),··· ,q ? (ak,[qk 1,··· ,qk nk]) désigne l'ensemble des transitions associées à l'état q, on note next q = [(a1,[q1 1,··· ,q1 n1]),··· ,(ak,[qk 1,··· ,qk nk])] la liste formée des couples (ai,[qi 1,··· ,qi ni]). Dans le cas où q est un état terminal (c-à-d. aucune transition n'est franchissable depuis l'état q), next q = [];

-- Un état q ? Q appartient à F s'il contient une transition de la forme q ? (a,[]).

On peut interpréter une grammaire G = (S,P,A) comme un automate d'arbre (descendant) [CDG+08] A = (L,Q,R,F,q0) en considérant que:

1. q0 = A;

2. L = P est le type des étiquettes des transitions de l'automate A ; 3. Q = S est le type des états et,

4. q ? (a,[q1,··· ,qn]) est une transition de l'automate lorsque la paire (a,[q1,··· ,qn]) apparaît dans la liste (gram q)2 ;

5. F = {N ? S, N ? E ? P}, c'est à dire l'ensemble des symboles possédant une E-production. On notera AG l'automate d'arbre dérivé à partir de G. Reconnaissance d'un arbre à partir de l'automate d'arbre

Pour reconnaître un arbre à l'aide d'un automate d'arbre, à partir d'un état initial, il suffit :

1. D'associer l'état initial à la racine de l'arbre;

2. Si un noeud étiqueté X est associé à l'état q, alors la transition q ? (p,[q1,··· ,qn]), n = 0 avec p une X-production 3, est une transition de l'automate. Si ce noeud possède n successeurs non encore associés à des états, alors n > 0 et on associe les états de q1 jusqu'à qn à chacun de ces n successeurs;

3. L'arbre est reconnu si on a réussi à associer un état à chacun des noeuds de l'arbre, et que les noeuds feuilles sont tous associés à des états finals.

On note A ` t q le fait que l'automate d'arbre A accepte l'arbre t à partir de l'état initial q, et 2' (A,q) (langage d'arbre) l'ensemble des arbres acceptés par l'automate A à partir de l'état initial q. Ainsi, (A ` t I>q) ? (t ? 2' (A,q)). Les arbres (documents) acceptés par l'automate AG à partir d'un état q quelconque sont conformes à la grammaire G; le procédé de construction de l'automate AG et l'algorithme de reconnaissance nous le garantissent.

2. Rappel : gram est l'application obtenue par abstraction de G et a pour type : gram : symb ? [(prod, [symb])].

3. Une production ayant X en partie gauche.

2.1. Documents structurés, conformité et édition 24

Mémoire - ZEKENG NDADJI Milliam Maxime LIFA

Exemple 13 L'automate d'arbre 91Gexpl = (E,Q,R,q0) dérivé de la grammaire Gexpl est défini par E = / 31= {P1,P2,··· ,P7}, Q = S = {A,B,C}, F = {A,C}, q0 = A et ses transitions sont les

suivantes :

A -+ (P1,[C,B]) B -+ (P3,[C,A]) C -+ (P5,[A,C])

A -+ (P2,[]) B -+ (P4,[B,B]) C -+ (P6,[C,C])

C -+ (P7,[])

La figure 2.3 illustre la procédure de vérification de la conformité d'un arbre vis-à-vis de la grammaire Gexpl grâce à l'automate 91Gexpl à partir de l'état q0 = A. Au final, le dit arbre est conforme (91Gexpl I- t L> A) car tous ses noeuds ont été associés à des états de l'automate, et ses feuilles associées à des états finals.

FIGURE 2.3 - Illustration de la procédure de vérification de la conformité d'un arbre à partir d'un automate d'arbre.

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








"Il y a des temps ou l'on doit dispenser son mépris qu'avec économie à cause du grand nombre de nécessiteux"   Chateaubriand