Algorithme distribu´e pour l’extraction des fr´equents
maximaux
Nicolas Hanusse, Sofian Maabout, Radu Tofan
To cite this version:
Nicolas Hanusse, Sofian Maabout, Radu Tofan. Algorithme distribu´e pour l’extraction des
fr´equents maximaux. Chaintreau, Augustin and Magnien, Clemence. Algotel, 2009, Carry-Le-
Rouet, France. 2009. <inria-00385104>
HAL Id: inria-00385104
https://hal.inria.fr/inria-00385104
Submitted on 18 May 2009
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.
Algorithme distribu´
e pour l’extraction des
fr´
equents maximaux
Nicolas Hanusse1and Sofian Maabout1and Radu Tofan1
1LaBRI, CNRS & INRIA (Cepage), Universit´
e Bordeaux 1 33400 Talence, France
L’extraction des ensembles fr´
equents maximaux est un probl`
eme clef en fouille de donn´
ees. Nous pr´
esentons dans cet
article un algorithme distribu´
e qui r´
ealise cette tˆ
ache. Il s’agit du premier algorithme distribu´
e avec des garanties de
performance prouv´
ees th´
eoriquement.
Keywords: calcul distribu´
e, fouille de donn´
ees
1 Description du probl`
eme trait´
e
Soit I={i1,...,iN}un ensemble d’objets (nous parlerons aussi d’items). Soit T={I1,...,IM}un multi-
ensemble avec IjIun ensemble d’objets (nous l’appellerons aussi itemset). Test appel´
ee base de tran-
sactions. Soit IIun itemset, |I|Td´
esigne le nombre d’occurences de Idans T. On notera simplement |I|
quand Test fix´
ee. t=|T|d´
esigne le nombre d’´
el´
ements de T. La fr´
equence f (I)de Idans Test ´
egale
`
a|I|
|T|. Un item Iest s-fr´
equent si f(I)s. L’objectif de ce travail est de proposer un calcul distribu´
e des
´
el´
ements maximaux appel´
es aussi bordure :
D´
efinition 1 (Fr´
equent maximal).I est un itemset s-fr´
equent maximal si aucun de ses sur-ensembles n’est
s-fr´
equent. La bordure B(s)contient tous les itemsets s-fr´
equent maximaux.
Exemple 1. Soit I={A,B,C,D}. Soit T={ABD,AB,ABD,CD,AD}. AD est 2/5-fr´
equent car f (AD) =
3/5alors que CD ne l’est pas puisque f (CD) = 1/5. On a que B(2/5) = {ABD}.
On rencontre le probl`
eme du calcul des itemsets fr´
equents dans divers domaines : par exemple, on peut
ˆ
etre int´
eress´
e par les chemins entre routeurs (items) les plus utilis´
es en consid´
erant pour tout routage (tran-
saction) de la liste des routeurs (itemsets) travers´
es. De mani`
ere g´
en´
erale, l’extraction des itemsets fr´
equents
est extrˆ
emement coˆ
uteux car une bordure peut atteindre 2N(si s=0 mais pas seulement). Aussi, conce-
voir un algorithme d’extraction des fr´
equents nous oblige `
a tenir compte de deux ecueils qui sont le temps
pour calculer les fr´
equences (la table Tpeut ˆ
etre parcouru plusieurs fois) ainsi que la quantit´
e de m´
emoire
utilis´
ee `
a chaque it´
eration. Pour illustrer notre propos, consid´
erons les deux variantes suivantes :
1. Pour chaque IT, pour chaque JI, si JIalors incr´
ementer le nombre d’occurences de J.
2. Pour chaque JI, pour chaque IT, si JIalors incr´
ementer le nombre d’occurences de J.
La premi`
ere variante consiste `
a parcourir une seule fois T, par contre elle n´
ecessite de garder en m´
emoire
un compteur pour chacun des 2Nitemsets. La deuxi`
eme variante, quant `
a elle, parcourt T2Nfois par contre
elle n’a besoin que d’un seul compteur `
a la fois en m´
emoire. Dans les deux cas, le temps de calcul de
fr´
equence est cependant Θ(2NM). Comme Test g´
en´
eralement de taille trop grande pour ˆ
etre enti`
erement
charg´
ee en m´
emoire, il faut en limiter les parcours pour r´
eduire les acc`
es disque tr`
es gourmands en temps.
Par ailleurs, les itemsets candidats peuvent ˆ
etre trop nombreux, il faut limiter leur nombre lors d’un mˆ
eme
parcours. Nous sommes donc en pr´
esence de deux contraintes contradictoires.
Pour limiter le nombre de candidats `
a tester lors de chaque parcours, les solutions propos´
ees utilisent la
propri´
et´
ed’antimonotonicit´
ede la fr´
equence : si Iest fr´
equent alors tous ses sous-ensembles sont fr´
equents,
et par cons´
equent, si In’est pas fr´
equent alors tous ses sur-ensembles ne le sont pas. En proc´
edant par
Nicolas Hanusse and Sofian Maabout and Radu Tofan
niveaux (un niveau correspond au nombre d’items dans un itemset), on peut utiliser cette propri´
et´
e pour ne
pas tester les itemsets pour lesquels on a trouv´
e lors des phases pr´
ec´
edentes qu’un de leurs sous-ensembles
n’est pas fr´
equent. C’est le principe de l’algorithme A Priori propos´
e dans [AS94]. A partir des maxi-
maux, on peut g´
en´
erer tous les fr´
equents. Comme les maximaux sont moins nombreux, il est int´
eressant
de consid´
er´
er des algorithmes sp´
ecialement conc¸us pour ces derniers. Plusieurs algorithmes ont ´
et´
e pro-
pos´
es dans la litt´
erature [Bay98, GZ05, BCG01]. Tous essayent d’exploiter au mieux l’antimonotinicit´
e de
la fr´
equence, i.e ne pas tester un itemset si un de ses sous-ensembles n’est pas fr´
equent et ne pas tester un
itemset si un de ses sur-ensembles est fr´
equent.
2 Algorithmes existants et contribution
2.1 Hypoth`
eses et mod`
eles
Un maˆ
ıtre r´
epartit le calcul d’une bordure sur kprocesseurs esclaves p1,p2,...,pkde mani`
ere synchro-
nis´
ee : `
a chaque ronde, il ´
echange des informations : une liste des itemsets candidats dont la fr´
equence
est `
a calculer, etc. Dans une ronde, chaque processeur esclave ne fait qu’un parcours de la table T. Nous
supposons que chaque processeur poss`
ede une copie de la table T.
2.2 Comparaison
Les diff´
erents algorithmes existants et notre contribution sont r´
esum´
es dans le tableau 1. Les mesures de
performance sont :
la m´
emoire requise pour chaque processeur (maˆ
ıtre et esclaves) ;
le nombre de rondes exprimant le nombre de parcours de tables par un processeur ;
le temps T=Te+Tm+Tccorrespondant au : (1) temps Tede calcul des fr´
equences fait par les esclaves
exprim´
e par le produit le nombre de lignes lues par le coˆ
ut de calcul par ligne ; (2) temps de calcul du
maˆ
ıtre Tmde composition des r´
esultats partiels en r´
esultat global - principalement calcul de moyennes ;
(3) temps de communications Tcexprim´
e en taille de messages ´
echang´
es.
Il est `
a noter que jusqu’a pr´
esent, aucun mod`
ele de temps n’avait ´
et´
e propos´
e dans la litt´
erature. Notre
proposition permet de comparer d’un point de vue th´
eorique les diff´
erents algorithmes. De ce point de vue,
APriori peut sembler aussi comp´
etitif que MAFIA ou MAX-Miner mais ces deux derniers algorithmes
s’av`
erent bien plus performants en pratique car ils utilisent des heuristiques dont une analyse de pire cas
(comme l’analyse pr´
esente) ne peut tenir compte.
Algorithme M´
emoire ronde TeTmTc
APriori [AS94] O(2N/N)N O(t2N)
MAFIA/GenMAX [BCG01, GZ05] O(2N/N)N/2O(t2N)
PickBorders [HMT09] O(b)O(2N)O(2Nt)
Parallel/MAX-Miner [CL08] O(2N/N)N/2O(2Nt
k)O(2N)O(2N)
Notre contribution O(b)2N O(2Nt
k)O(Nb)O(2N)
TAB. 1: Contribution (b=|B(s)|)
Pour indication, les complexit´
es des versions s´
equentielles sont indiqu´
ees en supposant que tout le calcul
est fait par un processeur. Les versions parall`
eles existantes (principalement Parallel MAX-Miner) partent
du principe que chaque processeur est responsable d’une proportion 1/kde Tet que le maˆ
ıtre s’occupe
de composer les r´
esultats. Les inconv´
enients sont multiples : les quantit´
es de calculs effectu´
es et la taille
des messages ´
echang´
es sont ind´
ependantes de la taille de la bordure. Nous avons propos´
e dans [HMT09]
l’algorithme PickBorders qui tient compte de la taille de la bordure, qui est donc plus performant d`
es que
b=|B(s)|=o(2N
N). Cependant, PickBorders n’est pas ais´
ement parall´
elisable et n´
ecessite une re-´
ecriture
totale. Nous donnons quelques indications sur la conception de Parallel PickBorders. Par manque de place,
nous ne pouvons donner l’algorithme complet.
Algorithme distribu´
e pour l’extraction des fr´
equents maximaux
3 Calcul des bordures
Nous pr´
esentons tout d’abord quels sont les calculs de fr´
equences n´
ecessaires pour d´
eterminer la bordure
puis l’ordonnancement des itemsets `
a calculer en parall`
ele.
3.1 Calculs de fr´
equences
Nous supposons que les items sous ordonn´
es par un ordre total <Iet que les itemsets sont ordonn´
es
lexicographiquement (ordre du “dictionnaire”) avec l’ordre <lex. Dans ce qui suit, nous supposons que
A<IB<IC<I.. .. Nous pouvons d´
efinir l’arbre lexicographique des itemsets avec les relations suivantes
pour un itemset I:
– Fils(I) contient les itemsets sur-ensembles de Ide cardinalit´
e|I|+1 et plus grand lexicographique-
ment ;
– Pere(I) contient l’itemset sous-ensemble de Ide cardinalit´
e|I|1 et plus petit lexicographiquement.
En r´
esum´
e, l’algorithme PickBorders revient `
a parcourir l’arbre lexigraphique `
a l’aide d’un parcours en pro-
fondeur en sautant/´
elaguant les sous-arbres lorsqu’on peut d´
eterminer que les itemsets correspondants ne
sont pas fr´
equents. A chaque instant, la bordure contient la liste des itemsets maximaux visit´
es. Si l’itemset
courant n’est pas maximal au moment de son traitement, il est n´
ecessaire de calculer sa fr´
equence. L’avan-
tage de cette m´
ethode est que la m´
emoire requise ne sert qu’`
a stocker la bordure qui ne peut que croˆ
ıtre
avec le temps. La partie la plus coˆ
uteuse pour le calcul de Best l’ex´
ecution de la fonction frequence(I)qui
n´
ecessite le parcours de T. Nous avons mis en ´
evidence le nombre maximum de fois que cette fonction est
appel´
ee.
Lemme 1. La fonction frequence est appel´
ee au maximum 2Nfois.
La figure ci-dessous illustre l’ex´
ecution de cet algorithme lors du calcul d’une bordure B(3/7)pour la
table de transactions T={CDE,ABDE,ABE,ABCE,DE,CE,ABE,CDE}. On a calcul´
e la cardinalit´
e de 14
itemsets (en dehors de la racine dont la taille est connue) sur les 32 pour obtenir la bordure {ABE,CE,DE}.
Pour certains itemsets, il n’est pas n´
ecessaire de calculer la fr´
equence (´
elagage ou ´
etant sous-ensemble d’un
´
el´
ement de bordure comme AE ou B).
L’algorithme pr´
ec´
edent pr´
esente l’avantage de r´
eduire le nombre de parcours fait sur Tmais ne calcule
`
a chaque fois qu’une seule fr´
equence.
FIG. 1: Arbre lexicographique ´
elagu´
e (cardinalit´
e in-
diqu´
ee en rouge).
ronde itemsets nb itemsets
0/
01
1A1
2AB 1
3ABC,B2
4ABCD,AC,BC 3
5ABD,ACD,BCD,C4
6AD,BD,CD 3
7D1
FIG. 2: Ordonnancement des calculs d’itemsets
3.2 Version distribu´
ee
Dans notre version distribu´
ee, le maˆ
ıtre affecte `
a chaque ronde une liste d’itemsets pour chaque proces-
seur dont la fr´
equence est `
a calculer. Pour cela, nous d´
efinissons la fonction round(I) qui d´
etermine la
Nicolas Hanusse and Sofian Maabout and Radu Tofan
ronde dans laquelle un itemset U=u1u2...ukavec ui<Iui+1Ipeut ˆ
etre potentiellement calcul´
ee. Nous
devons d’abord d´
efinir la fonction rank. Pour chaque item uide I,rank(ui) = jsi uiest le j-i`
eme ´
el´
ement
de I. Pour chaque itemset U=u1u2... uk,round(u) = 2rank(uk)k.
Plus pr´
ecis´
ement, `
a la fin de la ronde R, le serveur est capable de calculer la fronti`
ere BR(s)pour chaque
ensemble d’´
el´
ements dont la ronde est inf´
erieure ou ´
egale `
aR. Au d´
ebut de la ronde R+1, le serveur
poss`
ede une liste d’´
el´
ements `
a consid´
erer (ceux de ronde R+1 dont le calcul a ´
et´
e d´
ecid´
e dans les rondes
pr´
ec´
edentes). Pour un ´
el´
ement de ronde R+1, nous avons deux cas : soit il existe un ´
el´
ement de BR(s)qui
est un sur-ensemble et l’itemset courant ne peut ˆ
etre maximal (et il n’y a pas besoin de le calculer) ou le
calcul de fr´
equence est requis. C’est la raison pour laquelle chaque ronde se d´
ecompose en 2 phases :
Le maˆ
ıtre d´
etermine les itemsets fr´
equents non maximaux, c’est-`
a-dire dont le calcul de taille est requis.
Le maˆ
ıtre distribue ´
equitablement le calcul de fr´
equences de ce sous-ensemble aux kesclaves et
L’algorithme distribu´
e est bas´
e sur les lemmes suivants :
Lemme 2. Soient U et V deux itemsets tels que U est un sur-ensemble de V et U <lex V alors round(V) =
round(U+1).
Lemme 3. Tous les sur-ensembles de cardinalit´
e|U|+1plus petits dans l’ordre lexicographique d’un
itemset U de la ronde R sont trait´
es dans la mˆ
eme ronde pr´
ec´
edente (ronde R 1).
Il est `
a noter que le lemme ?? implique que le nombre total de calcul de fr´
equences est O(2N)si les
itemsets sont consid´
er´
es les uns apr´
es les autres. Nous donnons quelques indications pour montrer que
l’algorithme distribu´
e ne fait pas plus de calcul de fr´
equences au total. Consid´
erons l’arbre lexicographique
des itemsets. Chaque itemset Ia deux types de sur-ensembles : ceux qui en d´
ecoulent dans l’arbre (not´
es
Suiv(I)et ceux qui le pr´
ecedent dans l’arbre (not´
es Prec(I)). Par exemple, BCE Suiv(B)par contre AB
Prec(B). L’ordonnancement des calculs d’itemsets repose sur l’observation suivante : pour un itemset I, d`
es
que tous les itemsets de Prec(I)ont ´
et´
e trait´
es, il n’est pas besoin d’attendre plus longtemps pour traiter I.
Le lemme 3 garantit cette propri´
et´
e. Autrement dit, soit il existe JPrec(I)t.q Jest fr´
equent et auquel cas,
Il’est aussi soit aucun ne l’est donc il faut calculer f(I). Le principe de l’am´
elioration consiste `
a, lors d’un
mˆ
eme parcours de Tcalculer la fr´
equence de tous les itemsets Idont les parents dans Prec(I)ont d´
ej`
a´
et´
e
trait´
es. L’ordonnancement fix´
e par ronde garantit cette propri´
et´
e.
Exemple 2. Pour I={A,B,C,D}, voir l’affectation des rondes dans le tableau 2.
Th´
eor`
eme 1. Par un algorithme distribu´
e sur k processeurs, il est possible de calculer les ´
el´
ements maxi-
maux B(s)d’une base de transactions Tavec un nombre maximum de parcours de Tde 2N, une m´
emoire
O(|B(s)|)par processeur et un nombre maximum de calculs de fr´
equences par processeur ´
egal `
a2N
k.
Faute de place, nous ne donnons pas la description pr´
ecise de l’algorithme. Il serait bien entendu int´
eressant
de v´
erifier en pratique le comportement du calcul distribu´
e par rapport `
a l’existant.
R´
ef´
erences
[AS94] Rakesh Agrawal and Ramakrishnan Srikant. Fast algorithms for mining association rules in large
databases. In VLDB Proceedings, 1994.
[Bay98] Roberto Bayardo. Efficiently mining long patterns from databases. In SIGMOD Proceedings,
1998.
[BCG01] Douglas Burdick, Manuel Calimlim, and Johannes Gehrke. Mafia : A maximal frequent itemset
algorithm for transactional databases. In ICDE Proceedings, 2001.
[CL08] Soon M. Chung and Congnan Luo. Efficient mining of maximal frequent itemsets from databases
on a cluster of workstations. Knowledge Inf. Systems, 16 :359–391, 2008.
[GZ05] Karam Gouda and Mohammed J. Zaki. GenMax : An efficient algorithm for mining maximal
frequent itemsets. Data Mining and Knowledge Discovery, 11(3) :223–242, 2005.
[HMT09] Nicolas Hanusse, Sofian Maabout, and Radu Tofan. A view selection algorithm with perfor-
mance guarantee. In Proceedings of EDBT/ICDT, 2009.
1 / 5 100%