• Aucun résultat trouvé

Calculer les skylines `a partir des itemsets graduels

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 ≥BD≥ o1 o2 o3 o5 o4 A ≥BC≥ o1 o2 o3 o5 o4 A ≥CD≥ o2 o5 o1 o3 o4 B ≥CD≥ o1 o2 o3 o5 o4 A ≥BCD≥ 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.