5.4 Extraction de r`egles graduelles multidimensionnelles
6.1.2 Calculer les skylines `a partir des itemsets graduels
Dans cette section, nous utilisons l’exemple du tableau 6.3.
Le tableau 6.4 montre tous les skylines obtenus `a partir de cette base :
Itemset Skyline Itemset Skyline
A {o3} BD {o2, o5} B {o2} CD {o2, o5} C {o2} ABC {o1, o2, o3, o5} D {o3, o4, o5} ABD {o2, o3, o5} AB {o2, o3, o5} ACD {o1, o2, o3, o5} AC {o1, o2, o3, o5} BCD {o2, o5} AD {o3} ABCD {o1, o2, o3, o5} BC {o2}
Plus formellement, la domination d’un objet sur un autre est d´efinie de la mani`ere suivante : D´efinition 41. (domination) Soit s = (i≥1...i≥
n) un itemset graduel. o domine o′ si ∀i ∈ s, i[o] ≤ i[o′]
et∃j ∈ s, j[o] < j[o′]. On note o≺ so′.
D´efinition 42. (skyline) Soit s = (i≥1...i≥n) un itemset graduel. o appartient au skyline de s (o ∈
SKY (s)) s’il n’est domin´e par aucun autre objet sur s.
Dans le contexte de l’extraction d’itemsets graduels, nous avons le th´eor`eme 3 : Th´eor`eme 3. Soit s = (i≥1...i≥n) un itemset graduel. Alors
SKY (s) ={o ∈ O, M•os =→0} ∪ {o ∈ O, ∀o′ ∈ O, Moos′∧ Mos′o= 1} o`u Ms est la matrice binaire associ´ee `a l’itemset s, Ms
•o est la colonne correspondant `a l’indice o de la
matrice, et→0 est le vecteur nul de longueur |O|.
D´emonstration. Soit Ms la matrice associ´ee `a s = s
k.sl telle que Ms = Msk ∧ Msl. Soit o tel que
Ms •o= → 0 , alors • Soit Msk •o = →
0 alors il n’existe aucun o′ tel que i[o′]≤ i[o], ∀i ∈ sk. Donc comme sk⊂ s, il n’existe
aucun o′ tel que i[o′]≤ i[o], ∀i ∈ s • Soit Msl
•o = →
0 alors il n’existe aucun o′ tel que i[o′]≤ i[o], ∀i ∈ s
l. Donc comme sl ⊂ s, il n’existe
aucun o′ tel que i[o′]≤ i[o], ∀i ∈ s • Soit Msk •o 6= → 0 et Msl •o 6= → 0 , donc ∄o′, Msk o′o = M sl
o′o = 1. Donc on peut avoir M
sk
o′o = 1, mais dans ce cas Msl
o′o= 0 ou inversement. On en d´eduit que sur s, o′ ne peut ˆetre tel que i[o′]≤ i[o], ∀i ∈ s. Supposons maintenant que Ms=sk.sl
•o 6= →
0 , et que si Mos′o = 1, alors Moos′ = 1. Cela signifie que i[o′] = i[o], ∀i ∈ s
k et j[o′] = j[o], ∀j ∈ sl. Ces deux objets sont donc confondus et ne sont pas
domin´es l’un par l’autre car la seconde condition de domination (stricte) n’est pas v´erifi´ee. Nous ne gardons alors qu’un seul membre de cette classe d’objets. Pour tous les objets o′ restants, Ms
o′o = 0. La colonne M•os devient donc nulle, et aucun autre objet ne domine o.
Nous avons d´emontr´e que {o ∈ O, Ms •o =
→
0} ∪ {o ∈ O, ∀o′ ∈ O, Ms
oo′∧ Mos′o= 1} ⊆ SKY (s). Soit un objet o tel que o∈ SKY (s). Alors il n’existe pas d’objet o′∈ O qui domine o. Cela signifie ∄o′
tel que o′ ≤ o sur toutes les dimensions, et o′ < o sur au moins une dimension. Alors o≤ o′,∀o′ ∈ O.
Donc :
• Soit il n’y a pas d’objet confondu avec o, et o < o′ sur toutes les dimensions. On a Ms •o =
→
0 • Soit ∃o′ tel que o = o′. Par construction, Ms
oo′∧ Mos′o = 1 Nous avons d´emontr´e que SKY (s)⊆ {o ∈ O, Ms
•o= →
0} ∪ {o ∈ O, ∀o′ ∈ O, Ms
o3 o5 o4 o1 o2 A ≥ o2 o5 o1 o3 o4 B ≥ o2 o5 o1 o3 o4 C ≥ o3 o4 o5 o1 o2 D ≥ o2 o3 o5 o4 o1 A ≥B≥ o3 o5 o4 o1 o2 A ≥D≥ o1 o2 o3 o5 o4 A ≥C≥ o2 o5 o1 o3 o4 B ≥C≥ o2 o5 o1 o3 o4 B ≥D≥ o2 o5 o1 o3 o4 C ≥D≥ o2 o3 o5 o4 o1 A ≥B≥D≥ o1 o2 o3 o5 o4 A ≥B≥C≥ o1 o2 o3 o5 o4 A ≥C≥D≥ o2 o5 o1 o3 o4 B ≥C≥D≥ o1 o2 o3 o5 o4 A ≥B≥C≥D≥ 13 3
En d’autres termes, le th´eor`eme 3 montre que les “racines” des diagrammes de Hasse correspon- dant aux matrices binaires sont les skylines. Par exemple, consid´erons la figure 6.4, qui repr´esente tous les diagrammes de Hasse g´en´er´es pour la base du tableau 6.2. Par souci de lisibilit´e, nous les avons ordonn´es selon le treillis des itemsets. Les racines du diagramme de Hasse associ´e `a l’itemset graduel (B≥D≥) sont o2, o5, et correspondent bien aux sous-espaces skylines recens´es dans le tableau 6.4. On
note ´egalement que les objets o3, o4, o5 sont s´electionn´es comme racine de D≥, car ils sont ´egaux et
aucun autre objet ne les domine. Ils v´erifient la partie{∀o′∈ O, Ms
oo′∧ Mos′o= 1} du th´eor`eme. Le th´eor`eme 3 montre qu’il est possible d’utiliser l’algorithme d’extraction complet pr´esent´e au chapitre 3 afin de r´epondre aux diff´erentes requˆetes skylines.
Requˆetes skylines classiques
Supposons une requˆete skyline de la forme : SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ...
SKYLINE OF [DISTINCT] i1 [MIN | MAX], ..., in [MIN| MAX]
ORDER BY ...
Alors il suffit de construire les matrices binaires associ´ees aux items i1... in, en utilisant l’op´erateur
de comparaison≥ pour MIN et ≤ pour MAX (les racines repr´esentent les plus petites valeurs pour ≥). Nous effectuons ensuite une intersection (ET binaire) entre toutes ces matrices, et calculons les racines de la matrice finalement obtenue. Ces racines sont les skylines demand´es. Ces ´etapes sont r´esum´ees par l’algorithme 9.
Algorithme 9 : SkyQuery
Donn´ees : Une base de donn´ees BD, Requˆete skyline SKY (I)
R´esultat : Ensemble des objets de SKY (I)
M ← 1 /* Initialisation de tous les bits de la matrice r´esultat `a 1 */
1
pour chaque i∈ I faire
2
M′ ← ConstructMat(i, ∗) 3
/* Construire la matrice binaire en fonction de l’ordre associ´e `a l’item */ M ← MET M′ 4 fin 5 R´esultat : GetRootsM
L’avantage de cette approche est l’utilisation de la structure binaire, qui permet de faire ´emerger rapidement les objets skylines de SKY (I). Contrairement aux approches de [BKS01, PTFS03, GSG05], nous n’avons pas besoin de comparer les objets `a chaque it´eration afin de d´eterminer les objets skylines courants, ni de fusionner des objets aux retours des it´erations D& C. En ce sens, notre m´ethode sera
plus rapide. Dans ce contexte, l’utilisation d’une fonction d’ordre telle que propos´ee par [CGGL03] est r´ealis´ee par la ligne 3 de notre algorithme. En revanche, nous souffrons de la structure binaire pour des bases de donn´ees contenant beaucoup d’objets. L’efficacit´e m´emoire sera donc moindre.
L’algorithme 9 est une g´en´eralisation permettant de r´epondre `a la probl´ematique des top-k skylines. Le K-SKYBAND
Le K-SKYBAND est une g´en´eralisation des skylines. Il consiste `a trouver les objets qui sont domin´es par au plus K−1 objets. Dans ce contexte, nous aurons besoin de calculer les niveaux associ´es `a chaque objet de la matrice finale afin de trouver ceux poss´edant au plus K− 1 p`eres.
Corollaire 3. K− SKY BAND(s) = {∀o ∈ Ms,|Ms
•o| ≤ K − 1}
D´emonstration. Le corollaire 3 est une g´en´eralisation du th´eor`eme 3
Dans ce cas, la d´ecouverte des objets skylines associ´es est encore plus directe, puisque nous n’avons pas `a v´erifier les objets ´egaux dans la matrice. Contrairement `a [GSYZ09], nous n’avons pas besoin de strat´egie de partitionnement des donn´ees. Comme pour les requˆetes skylines, nous pensons qu’une m´ethode bas´ee sur les r`egles graduelles sera plus performante dans le cas d’un jeu de donn´ees ayant un nombre d’objets susceptible de tenir en m´emoire.
Le SKYCUBE
Le skycube consiste `a calculer l’ensemble des sous-skylines, ce qui correspond dans notre cas `a tous les itemsets graduels de la base. Cependant, nous ne pouvons pas utiliser la mesure de fr´equence afin de r´eduire l’espace de recherche. Il existe donc un risque d’explosion m´emoire li´ee au ph´enom`ene de l’explosion combinatoire.
L’approche [RPK10] ne conserve pas tous les ordres en m´emoire. Les r`egles de d´erivation permettent d’inf´erer une majeure partie des objets skylines pour chaque sous-ensemble. En ce sens, cette approche aura de meilleures performances qu’une approche bas´ee sur les itemsets graduels. Notre approche devra alors ˆetre am´elior´ee, afin de pouvoir se comparer `a celle-ci.
Nous pensons qu’une approche bas´ee sur l’extraction des itemsets graduels clos pourrait nous rap- procher des performances pr´esent´ees dans [RPK10] et [KLRK10]. Afin d’illustrer notre propos, nous reprenons le treillis de la figure 6.4. L’algorithme classique ´enum`ere les itemsets par niveau, du ni- veau 1 `a 4. Les cadres de diff´erentes couleurs sur la figure montrent les “skylines clos”, c’est-`a-dire les sous-ensembles skylines partageant les mˆemes objets skylines. A l’exception de (B≥C≥D≥), tous les diagrammes de Hasse ayant la mˆeme couleur sont identiques. Cela signifie que les groupes repr´esent´es par des couleurs peuvent ˆetre repr´esent´es par un mˆeme nœud.
Cette constatation rappelle la d´efinition des itemsets clos propos´ee dans [ABLP10]. Un itemset gra- duel s est clos s’il n’existe pas d’itemset graduel s′ tel que s′ ⊂ s et F req(s) = F req(s′). Cette notion
de clos est bas´ee sur la fr´equence, et non sur les skylines. Les premi`eres exp´erimentations men´ees `a partir de cette d´efinition montrent une nette am´elioration des performances de notre algorithme. En cela, nous pensons que les itemset graduels clos peuvent ˆetre tr`es efficaces dans le contexte de d´ecouverte des
skylines.
La principale diff´erence entre les objets skylines et les itemsets graduels repose sur le fait que dans un cas la mesure de fr´equence est primordiale alors que dans l’autre seules les racines comptent. Cependant, des objets qui ne sont pas racines `a un niveau n peuvent le devenir `a un niveau n + 1. Est-il possible de d´etecter `a l’avance quels objets vont remonter dans l’arbre ? Pour r´esoudre cette question, nous envisageons deux pistes :
• L’utilisation du principe d’inclusion-exclusion peut permettre de d´etecter `a l’avance si un objet appartenant `a si et/ou `a sj se trouvera dans le diagramme associ´e `a l’itemset graduel si.sj. Il
s’agira alors de d´efinir comment d´eterminer l’index de cet objet, ou du moins de borner son index potentiel.
• L’utilisation de r`egles de d´erivations peut permettre d’inf´erer directement sur les matrices de niveau n `a partir des matrices de niveau n− 1. Il s’agira alors de d´efinir et d´emontrer plusieurs propri´et´es provenant de l’ordre des objets.
Enfin, les diverses propositions ´enum´er´ees dans les travaux existants montrent qu’il existe d’autres structures que les matrices binaires permettant de conserver efficacement les ordres. On peut par exemple citer les B+-Tree ou encore les R-Tree. Il s’agit alors d’´etudier la mise en œuvre du remplacement de notre structure binaire, ainsi que les ´eventuels gains ou pertes de m´emoire et leur impact sur la complexit´e de nos propositions.