• Aucun résultat trouvé

a des ´ev´enements probabilistes disjoints.

6.4 Calcul des probabilit´es de compositions

Une fois l’ensemble des compositions obtenues est filtr´e en gardant uniquement celles qui sont correctes (i.e., correctes en termes d’´ev´enements probabilistes), la quatri`eme ´etape de notre m´ethode consiste `a calculer la probabilit´e de chaque composition virtuelle Ci0. La probabilit´e d’une composition correspond `a celle de son interpr´etation associ´ee Ci intp0 . La probabilit´e d’une interpr´etation P r(Ci intp0 ) peut ˆetre calcul´ee efficacement (dans un temps polynomial) en utilisant le Th´eor`eme 1 (i.e., en multipliant les probabilit´es des vues impliqu´ees), et sans avoir besoin d’´enum´erer l’ensemble des registres de services possibles pwd(SR).

La table 3.1 donne la probabilit´e de chaque interpr´etation de composition. Par exemple, l’interpr´etation C2 intp0 de la composition C20 implique trois vues s´emantiques v11, v22, et v41, ainsi sa probabilit´e est ´egale `a P r(v11) ∗ P r(v22) ∗ P r(v41)=0.7*0.6*1.0=0.42.

6.5 Transformation des compositions virtuelles

Les compositions obtenues ne peuvent pas ˆetre utilis´ees (ou, ex´ecut´ees), parce que leurs plans contiennent des services virtuels (i.e., des services `a partir de DSR). Pour cette rai-son, nous appliquons un autre processus de transformation sur les plans des compositions,

Table 3.1 – Probabilit´es des compositions

Interpr´etations Probabilit´e

C2 intp0 P r(v11) ∗ P r(v22) ∗ P r(v41) = 0.42 C1 intp0 P r(v11) ∗ P r(v21) ∗ P r(v41) = 0.21 C3 intp0 P r(v11) ∗ P r(v32) ∗ P r(v41) = 0.14

C5 intp0 P r(v11) ∗ P r(v22) ∗ P r(v32) ∗ P r(v41) = 0.084 C4 intp0 P r(v11) ∗ P r(v21) ∗ P r(v32) ∗ P r(v41) = 0.042

de sorte que, chaque composition virtuelle Ck0 contenant des services virtuels est trans-form´ee en une composition ex´ecutable Ck qui implique des services concrets. Autrement dit, chaque service virtuel sij dans une composition Ck0 est remplac´e par son correspon-dant si (i.e., le service initial) dans une composition ex´ecutable Ck, tout en basant sur la table de mapping SM T . Ensuite, nous associons `a la composition Ckune probabilit´e Ck pr qui est ´egale `a la probabilit´e de l’interpr´etation de Ck0 (i.e. ; P r(Ck intp0 )). L’interpr´etation Ck intp0 est l’une des interpr´etations possibles de Ck (i.e., Ck intp0 ∈ pwd(Ck intp)), et Ck est une solution pour la requˆete Q, parce que Ck intp0 couvre Q.

Example. En se basant sur la table de mapping SM T1 dans la figure 3.10(c), la trans-formation des compositions virtuelles {C10, C20, C30, C40, C50} dans la figure 3.11 retourne le mˆeme ensemble de compositions que lorsque nous appliquons la s´emantique des compo-sitions possibles (figure 3.9(c)) (i.e., les mˆemes plans de compositions, les mˆemes proba-bilit´es). Cela montre que notre solution peut g´en´erer efficacement l’ensemble des compo-sitions possibles, en accordance avec la s´emantique des compositions possibles, sans avoir besoin de mat´erialiser l’ensemble des registres possibles.

Dans certains cas, la mˆeme composition possible peut ˆetre obtenue par la transforma-tion de plus d’une compositransforma-tion virtuelle, i.e., deux (ou plusieurs) compositransforma-tions virtuelles Ch0 et Cz0 peuvent correspondre `a la mˆeme composition ex´ecutable Ck. En d’autres termes, une composition Ck peut avoir plusieurs interpr´etations possibles couvrant la requˆete Q, et par cons´equent, elles sont toutes pertinentes. Dans ce cas, la probabilit´e de Ckest ´egale `

a la somme des probabilit´es de toutes les compositions virtuelles qui lui correspondent.

D´efinition 3.14 ( Probabilit´e des Compositions finales) : Soit C0={C10, C20, ..., Cm0 } un ensemble de compositions virtuelles, et soit Cs0 ⊆ C0, tel que ∀ Ch0 ∈ Cs0,

Possible Compositions

Obtained Data

C1

Name Cell Phone

Susan 0797456589 Andre 0695487532 Probability 0.21 0.21 C2 Susan 040541268 0.42 Operator Orange SFR Fr-Telecom Bob 086214895 SFR 0.21 Andre 040541268 Fr-Telecom 0.42 Bob 040541268 Bouygtel 0.42 University Irvine Irvine Irvine Irvine Irvine Irvine

Figure 3.12 – Les donn´ees obtenues par C1 et C2

CompositionTransform(Ch0, SM T )=Ck6, alors dans ce cas, Ck pr=P

Ch0∈Cs0P r(Ch intp0 ).

Une fois les compositions sont transform´ees, les utilisateurs peuvent choisir n’importe quelle composition possible pour l’ex´ecuter. L’ex´ecution d’une composition retourne un ensemble de tuples. Les donn´ees obtenues sont associ´es `a la probabilit´e de la composition correspondante. L’utilisateur peut ex´ecuter une seule composition `a la fois (i.e., les com-positions possibles sont ex´ecut´ees s´epar´ement), comme il peut ex´ecuter un ensemble de compositions, e.g., les T op − k compositions class´ees en fonction de leurs probabilit´es. Par exemple, la figure 3.12 illustre les donn´ees obtenues par l’ex´ecution du Top-2 compositions (i.e., C2 et C1) ; C2 retourne pour le chercheur “Susan” un num´ero de t´el´ephone mobile “040541268” avec une probabilit´e 0,42 ; Tandis que C1 retourne pour le mˆeme chercheur “Susan” un autre num´ero “0797456589” avec une probabilit´e 0,21.

L’algorithme 1 d´ecrit la r´e´ecriture des requˆetes `a travers un registre de services proba-biliste, et de trouver efficacement l’ensemble des compositions possibles. Cet algorithme est divis´e en cinq parties. La premi`ere partie (lignes 1-5) transforme le registre de services probabiliste P SR en un registre de services d´eterministe DSR, de sorte que chaque service si avec l’une de ses vues s´emantiques vij (ligne 3) est transform´e dans DSR comme un nouveau service sij qui a comme s´emantique vij (ligne 4), de plus les correspondances entre si et ses nouveaux services {si1, si2, ..., sim} sont stock´ees dans la table de mapping SM T (ligne 5). Dans la deuxi`eme partie (ligne 6), un algorithme de r´e´ecriture de requˆetes QRA est utilis´e pour g´en´erer les compositions candidates en reformulant Q via DSR. Dans la 6. CompositionTransform(C0h, SM T ) est une fonction qui remplace chaque service virtuel sij ∈ Ch0 par son correspondant si ∈ Cken se basant sur SM T

Algorithm 1: G´en´eration des compositions possibles Input: Q : Requˆete, P SR :Registre de services probabiliste. Output: P ossible compo : Ensemble des compositions possibles.

1 DSR ←− ∅ ; SM T ←− ∅ ;

2 for each block siin P SR do

3 for each tuple < si, vij> dans le block sido 4 Adding < sij, vij> to DSR ; // Transformation 5 Adding < si, sij> to SM T ;

6 V irtual compo ←− QRA(Q, DSR) ; // R´e´ecriture de requˆete 7 for each Ck0 ∈ V irtual compo do

8 for each < vij, vxy> in Ck intp0 do

9 if (vij and vxy appartiennent au mˆeme bloc dans P SR) then

10 V irtual compo ←− V irtual compo − {Ck0}

11 for each Ck0 ∈ V irtual compo do 12 Ck pr0 ←−Q

vi j∈C0

k intp

P r(vij) ; // Th´eor`eme 1

13 for each Ck0 ∈ V irtual compo do

14 Ck←− CompositionT ransf orm(C0k, SM T ) ; 15 for each Ch0 ∈ V irtual compo do

16 if (CompositionTransform(Ch0, SM T )==Ck) then

17 Ck pr←− Ck pr+Ch pr0 ;

18 V irtual compo ←− V irtual compo − {Ch0} ;

19 P ossible compo ←− P ossible compo ∪ {<Ck, Ck pr>} ; 20 return P ossible compo ;

troisi`eme partie (lignes 7-10), les compositions virtuelles dont l’interpr´etation contient des ´ev´enements probabilistes disjoints (ligne 9) sont ignor´ees (ligne 10). La quatri`eme partie (lignes 11-12) calcule pour chaque composition virtuelle correcte Ck0 une probabilit´e Ck pr0 en multipliant les probabilit´es des vues s´emantiques impliqu´ees (ligne 12). Dans l’´etape finale (lignes 13-19), chaque composition virtuelle Ck0 est transform´ee en une composition ex´ecutable Ck (ligne 14). Si une composition Ck peut ˆetre obtenue par la transformation de plusieurs compositions virtuelles, alors la probabilit´e de CK (i.e. ; Ck pr) (lignes 15-18) est ´egale `a la somme des probabilit´es de ces compositions virtuelles.

7 Optimisations

Dans cette partie, nous proposons quelques optimisations qui peuvent am´eliorer l’effi-cacit´e de l’Algorithme 1. Les optimisations propos´ees sont d´ecrites dans les sous-sections

suivantes.