ےg a p - i n f i n i - p r o t e i n . e p stheses.univ-oran1.dz/document/15201708t.pdf ·...

170
UNIVERSITÉ D’ORAN 1 - AHMED BEN BELLA INGENIERIE DES DONNEES ET DES CONNAISSANCES T H È S E pour obtenir le titre de Docteur en Sciences de lUniversité d’Oran 1 - Ahmed Ben Bella Me ntion : Inf orma tique Présentée et soutenue par Amina Kemmar Programmation par con t rain tes appliquée pour la résolution des probmes dappariemen t dobjet s discret s Thèse dirigée par Yahia LEBBAH et Samir LOUDNI Jury : Dir ecteur Co-dir ecteur Yahia Lebbah Samir Loudni Professeur à luniversit é dOran 1, Algérie MCA à luniversit é de Caen, France Pr ésident Examinateur Examinateur Examinatrice Invité Ghalem BELALEM Baghdad ATMANI Mi moun MALKI Kari ma BENATCHBA Zakaria ELBERRICHI Professeur à luniversité dOran 1, Algérie Professeur à luniversit é dOran 1, Algérie Professeur à lESI, Sidi Bel Abbès, Algérie Professeur à lESI, Alger, Algérie Professeur à luniversit é de Sidi Bel Abbès, Algérie 2017 - 2016

Upload: dominh

Post on 14-Sep-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

UNIVERSITÉ D’ORAN 1 - AHMED BEN BELLA

INGENIERIE DES DONNEES ET DES CONNAISSANCES

T H È S E

pour obtenir le titre de

Docteur en Sciences

de l’Université d’Oran 1 - Ahmed Ben Bella Mention : Informatique

Présentée et soutenue par

Amina Kemmar

Programmation par contraintes appliquée pour la résolution des

problèmes d’appariement d’objets discrets

Thèse dirigée par Yahia LEBBAH et Samir LOUDNI

Jury :

Directeur Co-directeur

Yahia Lebbah Samir Loudni

Professeur à l’université d’Oran 1, Algérie MCA à l’université de Caen, France

Président Examinateur Examinateur Examinatrice Invité

Ghalem BELALEM Baghdad ATMANI Mimoun MALKI Karima BENATCHBA Zakaria ELBERRICHI

Professeur à l’université d’Oran 1, Algérie Professeur à l’université d’Oran 1, Algérie Professeur à l’ESI, Sidi Bel Abbès, Algérie Professeur à l’ESI, Alger, Algérie Professeur à l’université de Sidi Bel Abbès, Algérie

2017-2016

Page 2: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Remerciements

J’adresse mes reconnaissances en premier lieu à mon directeur de thèse, Yahia Lebbah, pourses conseils précieux et son soutien tout au long de cette thèse. Il était toujours disponible pourrépondre à mes questions, discuter sur les obstacles rencontrés et partager avec moi ses idées etson expérience. Je le remercie très chaleureusement de m’avoir donné l’occasion d’être membredu projet CMEP, ce qui m’a permis de sentir pour la première fois le goût de la recherche ausein du laboratoire I3S.

Je remercie également mon co-directeur de thèse en France, Samir Loudni, qui a accepté departiciper à la réalisation et au bon déroulement de cette thèse. Je le remercie pour ces conseilsprécieux, ses commentaires ainsi que le temps qu’il m’a accordé tout au long de ces années. Jelui en suis également reconnaissante de m’avoir donné l’opportunité de travailler sur la fouille deséquences et de m’avoir octroyé un stage au sein du laboratoire GREYC à Caen, tout en assurantde bonnes conditions de travail.

Je remercie Ghalem Belalem, Baghdad Atmani, Mimoun Malki, Karima Benatchba et ZakariaElberrichi d’avoir accepté de faire partie du jury, et pour le temps qu’ils ont consacré à cettetâche.

J’adresse mes sincères remerciements à Patrice Boizumault et Bruno Crémilleux pour leurscollaborations, et en particulier un grand merci à Thierry Charnois qui était toujours prêt à nousfournir les jeux de données réelles ainsi que pour son aide financière. Je remercie également tousles membre de l’équipe CODAG du laboratoire CREYC ainsi que le personnel administratif dulaboratoire qui m’a toujours aidé quand j’en avais besoin durant mes stages.

Je remercie le laboratoire I3S en France de m’avoir accueilli et de m’avoir offert un environ-nement de travail agréable.

Je remercie très chaleureusement tous le personnel et tous les membres du laboratoire LITIOpour leur bonne humeur, leur enthousiasme et l’aide qu’ils m’ont témoignée durant ces annéesde thèse.

Je tiens à remercier l’université d’Oran 1 d’avoir mis à la disposition de ses chercheurs l’unitéde calcul intensif, ainsi que le Centre de Recherche sur l’Information Scientifique et Technique(Alger) de nous avoir donné accès à la plateforme de Calcul Haute Performance IBNBADIS.Ces deux unités de calcul nous ont permis de réaliser nos expérimentations dans de très bonnesconditions.

Merci à tous ceux et celles qui m’ont soutenus et qui m’ont permis de ne pas oublier le mondeextérieur pendant cette thèse.

Mes remerciements seraient incomplets, si je ne fais pas mention de mes parents, qui m’ontconstamment encouragé et soutenu comme d’habitude le long de cette aventure. Si j’en suis làaujourd’hui, c’est grâce à vous. Je tiens également à remercier mes frères Rezki et Omar quim’ont toujours encouragé. Merci à tous les membres de ma famille, en particulier ma tanteFatima Zohra.

Page 3: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Table des matières

Introduction 31 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Objectifs et motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Organisation du mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

I État de l’art 11

1 Extraction de motifs fréquents 121.1 Problème d’extraction de motifs fréquents . . . . . . . . . . . . . . . . . . . . . . 12

1.1.1 Description du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.1.2 Techniques de résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.2 Extraction de motifs séquentiels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.2.1 Notations et définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.2.2 Extraction de motifs sous contraintes . . . . . . . . . . . . . . . . . . . . . 191.2.3 Approches de résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231.2.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

1.3 Extraction de sous-graphes fréquents . . . . . . . . . . . . . . . . . . . . . . . . . 331.3.1 Terminologie liée aux graphes . . . . . . . . . . . . . . . . . . . . . . . . . 341.3.2 Appariement de graphes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351.3.3 Problème de découverte de sous-graphes fréquents . . . . . . . . . . . . . 39

1.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

2 Fouille déclarative par programmation par contraintes 512.1 Principes de la programmation par contraintes (PPC) . . . . . . . . . . . . . . . 52

2.1.1 Problème de satisfaction de contraintes . . . . . . . . . . . . . . . . . . . . 522.1.2 Contraintes globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572.1.3 Contraintes réifiées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592.1.4 CSP dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602.1.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

2.2 Approches PPC pour l’extraction de motifs séquentiels sous contraintes . . . . . 602.2.1 Première approche basée sur la contrainte regular . . . . . . . . . . . . . 612.2.2 Un modèle basé sur une nouvelle contrainte globale . . . . . . . . . . . . . 622.2.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

2.3 Conclusion : vers une nouvelle approche PPC plus performante . . . . . . . . . . 65

Page 4: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Table des matières iii

II Contributions 67

3 Une approche PPC pour l’extraction de motifs séquentiels avec wildcards 683.1 Fouille de séquences avec wildcards . . . . . . . . . . . . . . . . . . . . . . . . . . 693.2 Encodage de la relation de sous-séquence . . . . . . . . . . . . . . . . . . . . . . . 693.3 Reformulation des contraintes individuelles sur les motifs . . . . . . . . . . . . . . 70

3.3.1 Contrainte de fréquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713.3.2 Contrainte d’appartenance d’items . . . . . . . . . . . . . . . . . . . . . . 713.3.3 Contrainte de longueur minimale . . . . . . . . . . . . . . . . . . . . . . . 713.3.4 Contrainte d’expression régulière . . . . . . . . . . . . . . . . . . . . . . . 713.3.5 Contrainte de Gap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

3.4 CSP dynamiques pour la modélisation de motifs plus riches . . . . . . . . . . . . 723.4.1 Principe de la méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723.4.2 Extraction des top-k motifs . . . . . . . . . . . . . . . . . . . . . . . . . . 733.4.3 Extraction des sous-groupes pertinents . . . . . . . . . . . . . . . . . . . . 74

3.5 Expérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753.5.1 Fouille de textes bio-médicaux . . . . . . . . . . . . . . . . . . . . . . . . . 753.5.2 Extraction des sous-groupes pertinents pour l’analyse linguistique de textes 793.5.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

4 Une contrainte globale pour l’extraction de motifs séquentiels 834.1 Encodage des motifs séquentiels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844.2 La contrainte globale Prefix-Projection . . . . . . . . . . . . . . . . . . . . . 84

4.2.1 Définition et test de cohérence . . . . . . . . . . . . . . . . . . . . . . . . 844.2.2 Prise en compte de l’anti-monotonie de la fréquence . . . . . . . . . . . . 854.2.3 Construction des bases de séquences projetées . . . . . . . . . . . . . . . . 864.2.4 Algorithme de filtrage pour Prefix-Projection . . . . . . . . . . . . . . 874.2.5 Comparaison entre Prefix-Projection et global-p.f . . . . . . . . . . 91

4.3 Encodage des contraintes usuelles sur les motifs . . . . . . . . . . . . . . . . . . . 924.4 Extraction des top-k motifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

4.4.1 L’algorithm top-k-PP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934.4.2 Stratégies d’initialisation de la liste des top-k (M) . . . . . . . . . . . . . 94

4.5 Expérimentations sur des jeux de données réels . . . . . . . . . . . . . . . . . . . 974.5.1 Protocole expérimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974.5.2 Comparaison avec les approches PPC pour EMS . . . . . . . . . . . . . . 984.5.3 Comparaison avec les méthodes spécialisées pour EMS . . . . . . . . . . . 1004.5.4 EMS sous contraintes d’item et de longueur minimale . . . . . . . . . . . 1014.5.5 EMS sous contraintes d’expression régulière . . . . . . . . . . . . . . . . . 1024.5.6 Passage à l’échelle de l’approche Prefix-Projection . . . . . . . . . . . 1034.5.7 Evaluation de notre approche pour l’extraction des top-k . . . . . . . . . . 1034.5.8 Application de notre approche en fouille du web . . . . . . . . . . . . . . . 108

4.6 Conclusion : vers l’extraction de motifs plus riches avec la PPC . . . . . . . . . . 111

Page 5: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Table des matières iv

5 Extraction de motifs séquentiels sous contrainte de GAP 1135.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1145.2 La propriété de préfixe anti-monotonie de gap[M,N ] . . . . . . . . . . . . . . . . 1155.3 Extensions droites d’un motif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165.4 Contrainte globale GAP-SEQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

5.4.1 Modélisation de EMSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1185.4.2 Principes du filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1185.4.3 Algorithme de filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1205.4.4 Complexités temporelle et spatiale de l’algorithme de filtrage . . . . . . . 122

5.5 Expérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1225.5.1 Protocole expérimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1235.5.2 GAP-SEQ vs. méthodes PPC . . . . . . . . . . . . . . . . . . . . . . . . . . 1235.5.3 GAP-SEQ vs. méthodes spécialisées . . . . . . . . . . . . . . . . . . . . . . . 1255.5.4 Évaluation du passage à l’échelle de GAP-SEQ . . . . . . . . . . . . . . . . 1265.5.5 Traitement de contraintes additionnelles . . . . . . . . . . . . . . . . . . . 1265.5.6 Résolution du problème EMS avec GAP-SEQ . . . . . . . . . . . . . . . . . 127

5.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

6 Une approche par intervalle pour l’extraction des sous-graphes fréquents 1296.1 Exemple illustratif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1306.2 Encodage par intervalle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

6.2.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1316.2.2 Une instance d’encodage inférieur . . . . . . . . . . . . . . . . . . . . . . . 1326.2.3 Une instance d’encodage supérieur . . . . . . . . . . . . . . . . . . . . . . 134

6.3 Expérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1366.3.1 Protocole Expérimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1366.3.2 Évaluation sur des bases de graphes synthétiques . . . . . . . . . . . . . . 1376.3.3 Évaluation sur des bases réelles de graphes . . . . . . . . . . . . . . . . . . 1406.3.4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

III Conclusion et perspectives 144

7 Conclusion 145

8 Perspectives 149

Bibliographie 153

Page 6: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Liste des tableaux

1.1 Analyse des achats des clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.2 SDB1 : Un exemple de base de séquences . . . . . . . . . . . . . . . . . . . . . . 191.3 Contraintes considérées par les méthodes spécialisées . . . . . . . . . . . . . . . . 331.4 Exemple de codes DFS correspondant au graphe (Ga) de la figure 1.12 . . . . . . 45

3.1 SDB3 : un exemple de base de séquences partitionnée en deux classes . . . . . . 693.2 Exécution de top-k-dynamique sur la base de séquences du tableau 3.1 . . . . . 743.3 SPM-REG vs. SPM-REL : temps CPU (secondes) . . . . . . . . . . . . . . . . . . . . 793.4 Résultats sur des bases extraites de ZOLA et ROMAN selon différentes configu-

rations de la contrainte de gap . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

4.1 Modèles PPC pour EMS : Prefix-Projection vs. global-p.f . . . . . . . . . . 914.2 Exécution de top-k-init-IPL sur la base de séquences du tableau 1.2 (k = 5 et

ℓmin = 1). Les valeurs illustrées dans la deuxième et troisième colonne représententle support de chaque motifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

4.3 Exécution de top-k-PP-BL sur la base de séquences du tableau 1.2 (k = 5 etℓmin = 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

4.4 Caractéristiques des jeux de données utilisés . . . . . . . . . . . . . . . . . . . . . 974.5 PP vs. global-p.f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004.6 PP vs. global-p.f sous contraintes de longueur minimale et d’item . . . . . . . . 1024.7 Comparaison entre les approches top-k en terme de temps CPU . . . . . . . . . . 1064.8 top-k-PP-IPL vs. top-k-PP-BL en terme de (a) valeur de minsup après la phase

d’initialisation et (b) nombre de candidats générés pour des valeurs différentes dek sur la base Kosarak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

4.9 Caractéristiques des jeux de données utilisés pour EMSWEB . . . . . . . . . . . 1094.10 Exemple de lignes extraites à partir du fichier weblog de l’université de Saskatchewan1104.11 Résultats de PP sur EMSWEB sous contrainte de longueur et d’item . . . . . . . 1104.12 Résultat de PP pour EMSWEB avec et sans contrainte d’expression régulière (ER) 1114.13 Motifs extraits pour minsup = 0, 1 % . . . . . . . . . . . . . . . . . . . . . . . . . 112

5.1 SDB4 : Un exemple de base de séquences . . . . . . . . . . . . . . . . . . . . . . 1155.2 GAP-SEQ vs. decomposed-p.f sur la base FIFA . . . . . . . . . . . . . . . . . . . 1245.3 GAP-SEQ sous contrainte de taille, d’item et de gap[0, 9] sur la base PUBMED . . 127

6.1 Quelques encodages inférieurs SeqUpEncoding attribués au graphe (SG1) de lafigure 6.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

6.2 Caractéristiques des bases de graphes synthétiques expérimentées : |N | = 1 000,|V | = 10, |EI| = 5 et |Lv| = |Le| = 10 . . . . . . . . . . . . . . . . . . . . . . . . 137

6.3 Comparaison entre G-Interval, Gaston et gSpan sur les bases de graphes synthé-tiques (minsup = 100%) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

Page 7: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Liste des tableaux vi

6.4 Comparaison entre G-Interval et Gaston sur la base cyclic5 (minsup est variable) 1396.5 Comparaison entre G-Interval et Gaston sur cyclic6 (le nombre de label L est

variable). minsup = 100 %, |N | = 1 000, |V | = 10, |E| = 5 et |EI| = 5 . . . . . . 1396.6 Comparaison entre G-Interval, Gaston et gSpan sur des bases de graphes biolo-

giques (minsup = 10 %, |N | : nombre de graphes, |V | : nombre moyen de sommetset D : densité moyenne du jeu de données) . . . . . . . . . . . . . . . . . . . . . 141

6.7 Caractéristiques des bases issues du marché boursier . . . . . . . . . . . . . . . . 1416.8 Comparaison entre G-Interval, Gaston et Gspan sur les bases issues du marché

financier (minsup est variable) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1426.9 Comparaison entre G-Interval et Gaston sur la base stock92-15 (nombre de labels

est variable et minsup = 40 %) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

Page 8: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Table des figures

1 Processus d’extraction de connaissances à partir de données . . . . . . . . . . . . 32 Exemple d’une base de séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Exemple d’une base de graphes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.1 Exemple de base de graphes moléculaire . . . . . . . . . . . . . . . . . . . . . . . 141.2 Exemple de base de séquences avec sa représentation en Bitmap . . . . . . . . . . 241.3 Génération des candidats par extension de séquence Exts, ensuite par extension

d’itemset Exti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251.4 Représentation des items de SDB2 (cf. figure 1.2 (a)) par une liste d’occurrences

(IdList) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251.5 Extraction des motifs séquentiels à partir de SDB1 en utilisant PrefixSpan

(minsup = 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291.6 Dans ce réseau social, deux personnes sont reliées par une arête si ces deux per-

sonnes se connaissent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351.7 Deux graphes isomorphes. Un isomorphisme de (G2) vers (G3) : f(A) = 1, f(B) =

6, f(C) = 8, f(D) = 3, f(E) = 5, f(F ) = 2, f(G) = 4, f(H) = 7 . . . . . . . . . . 361.8 Une instance du problème d’isomorphisme de sous-graphe . . . . . . . . . . . . . 371.9 Exemples de graphes bipartis associés au sommet 1 du graphe Gm de la figure 1.8 391.10 Exemple d’une base de graphes GDB1 . . . . . . . . . . . . . . . . . . . . . . . . 401.11 L’espace de recherche contenant tous les sous-graphes candidats avec au plus trois

sommets et deux étiquettes de sommets x et y . . . . . . . . . . . . . . . . . . . . 411.12 Exemple d’un arbre étiqueté (Ga) avec quelques arbre DFS correspondants . . . 441.13 Codes DFS / Extensions possibles pour les graphes (b) et (e) . . . . . . . . . . . 461.14 Arbre de recherche : chaque nœud correspond à un arbre DFS . . . . . . . . . . . 461.15 Raffinement d’un graphe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

2.1 Arbre de recherche pour le problème des 4-reines : backtrack chronologique . . . 562.2 Arbre de recherche pour le problème des 4-reines : look-ahead . . . . . . . . . . . 562.3 Le graphe en couches correspondant à l’expression régulière aa∗bb∗aa∗+ cc∗ avant

et après le filtrage. Un cercle double représente un état final . . . . . . . . . . . . 592.4 Automate d’états finis attribué à la séquence 〈BCD〉 . . . . . . . . . . . . . . . . 622.5 Instanciation des variables du modèle 2 lorsque P = 〈BC〉 . . . . . . . . . . . . . 65

3.1 Automate d’états finis AM,N modélisant la contrainte gap[M,N ]. Le symbole ⋄représente le wildcard et ⋄ représente n’importe quel élément de I . . . . . . . . . 71

3.2 Temps CPU (en haut) et nombre de motifs (en bas) selon minsup avec et sanscontrainte de gap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

3.3 Extraction des top-k motifs : temps CPU et nombre de candidats . . . . . . . . . 783.4 top-k-dynamique vs. top-k-base-line . . . . . . . . . . . . . . . . . . . . . . . 793.5 subgroup-dynamique vs. subgroup-base-line : temps CPU et nombre de candidats 81

Page 9: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Table des figures viii

4.1 L’espace de recherche associé à l’exemple 32 . . . . . . . . . . . . . . . . . . . . 894.2 PP vs. global-p.f : temps CPU (haut) et nombre de motifs extraits (bas) . . . . 994.3 Comparaison de PP avec PrefixSpan et cSpade pour EMS . . . . . . . . . . . . . 1014.4 PP vs. global-p.f sous contraintes de longueur minimale et d’item . . . . . . . . 1024.5 PP vs. SMA sous contrainte d’expression régulière . . . . . . . . . . . . . . . . . . . 1034.6 Passage à l’échelle de la contrainte globale Prefix-Projection sur des bases de

séquences réelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1044.7 Comparaison entre top-k-PP-IPL, top-k-PP-BL, TSP et TKS pour l’extraction des

top-k motifs sur des bases de séquences réelles . . . . . . . . . . . . . . . . . . . . 1054.8 Résultats de top-k-PP-IPL sous différentes contraintes (temps CPU) . . . . . . . 1074.9 Passage à l’échelle de top-k-PP-IPL sur des bases de séquences réelles . . . . . . 1084.10 Comparaison de top-k-PP-IPL avec PP et cSpade . . . . . . . . . . . . . . . . . 1084.11 Comparaison de PP avec WAP-tree, plwap et cSpade . . . . . . . . . . . . . . . . 109

5.1 GAP-SEQ vs. decomposed-p.f pour EMSG : temps CPU . . . . . . . . . . . . . . 1235.2 temps CPU : N variable et M = 0 . . . . . . . . . . . . . . . . . . . . . . . . . . 1245.3 Temps CPU : minsup variable avec gap[0, 9] . . . . . . . . . . . . . . . . . . . . . 1255.4 Évolution du temps d’exécution de GAP-SEQ en fonction de la taille de la base sur BIBLE,

Kosarak et Protein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1265.5 Comparaison de GAP-SEQ avec PP et cSpade pour EMS sur les bases : BIBLE, Kosarak

et Protein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

6.1 Un exemple de base de graphes extraite à partir des marchés boursiers . . . . . . 1306.2 Exemple de deux graphes non-isomorphes ayant le même encodage SeqLowEncoding133

Page 10: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Programmation par contraintes appliquée pour la résolution des problèmesd’appariement d’objets discrets

Résumé : L’extraction de motifs fréquents est une problématique majeure en fouille de données.La programmation par contraintes (PPC), issue de l’intelligence artificielle et de la rechercheopérationnelle, est un paradigme puissant pour résoudre des problèmes combinatoires modéliséssous forme de contraintes. L’objectif de cette thèse est de proposer des méthodes se basant surla PPC afin de contribuer dans la résolution de deux problèmes : (1) l’extraction de motifsséquentiels dans une base de séquences ; (2) l’extraction de sous-graphes fréquents à partir d’unebase de graphes.

Nous proposons un modèle PPC pour l’extraction de motifs séquentiels avec wildcards 1.Deux types de contraintes ont été abordées : (1) des contraintes individuelles qui doivent êtrevérifiées par chaque motif ; (2) des contraintes globales, telles que les top-k 2 et les sous-groupespertinents, qui nécessitent une vérification par rapport à l’ensemble des motifs générés.

Nous avons introduit une nouvelle contrainte globale, à savoir la contrainte globale Prefix-

Projection qui encapsule la relation de sous-séquence et la contrainte de fréquence. Elle estbasée sur le principe de projection préfixée et ne requiert aucune contrainte réifiée, ni des variablesadditionnelles. Nous avons proposé un algorithme efficace qui exploite notre contrainte globalePrefix-Projection afin d’extraire les top-k motifs séquentiels à partir d’une base de séquences.

Nous avons étendu notre contrainte globale Prefix-Projection pour prendre en charge lacontrainte de gap 3, en produisant notre deuxième nouvelle contrainte globale GAP-SEQ, quirepose sur le principe des extensions droites des motifs. Son algorithme de filtrage exploite lapropriété de préfixe anti-monotonie de la contrainte de gap, afin de garantir un filtrage plusefficace de l’espace de recherche.

En ce qui concerne la problématique de fouille de graphes, nous proposons une approchepar intervalle qui exploite deux types d’encodages non-canoniques : un encodage inférieur et unencodage supérieur. Ces deux derniers permettent de borner l’ensemble complet des sous-graphesfréquents générés par un encodage canonique.

Nos contributions ont été validées sur le plan théorique et sur le plan expérimental sur unensemble de jeux de données réelles et synthétiques. Les résultats que nous avons obtenus ontmontré l’efficacité de nos propositions.

Mots clés : fouille de séquences, contraintes, programmation par contraintes (PPC),contraintes globales, motifs fréquents, motifs sous contraintes, top-k, fouille de graphes, isomor-phisme de graphes, isomorphisme de sous-graphes.

1. Un wildcard est un symbole spécial qui peut remplacer n’importe quel item dans une séquence.2. Les top-k motifs sont les k meilleurs motifs au sens d’une certaine mesure m telle que la fréquence.3. Le gap désigne la distance entre deux items adjacents dans une séquence.

Page 11: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Constraint programming applyed for solving discrete matching problems

Abstract: Extracting frequent patterns is a major problem in data mining. Constraint pro-gramming (CP), which is a field of artificial intelligence and operational search, is a powerfulparadigm for solving combinatorial problems modeled as constraints. The aim of this thesis is topropose CP-based approaches to solve two problems: (1) sequential pattern mining ; (2) frequentsubgraphs discovery from a graph database.

We propose a CP model for mining sequential patterns with wildcards 4. Two kinds ofconstraints have been handled: (1) constraints on local patterns which should be verified byeach pattern individually ; (2) constraints on sets of local patterns, like top-k 5 patterns andrelevant subgroups. These constraints require a verification with respect to the set of patterns.

We have introduced a new global constraint called Prefix-Projection, which encapsulatesboth the subsequence relation and as well as the frequency constraint. Its filtering algorithm relieson the principle of projected databases and it does not require any reified constraint nor anyadditional variables to encode the subsequence relation. We have proposed an efficient algorithmwhich makes use of our global constraint Prefix-Projection in order to extract the top-ksequential patterns from a sequence database.

Our global constraint Prefix-Projection has been extended in order to take into accountthe gap 6 constraint, producing our second global constraint called GAP-SEQ. This new globalconstraint relies on the principle of right pattern extensions and its filtering algorithm exploitsthe prefix anti-monotonicity of the gap constraint to provide an efficient pruning of the searchspace.

For the second problem which concerns graph mining, we propose an interval-based approachrelying on a relaxation of the canonicity property. This relaxation provides two non-canonicalencodings: lower and upper encodings. These two encodings allow to enclose the exact set offrequent subgraphs generated using the canonical encoding.

Our contributions have been validated both theoretically and experimentally on a set of realand synthetic datasets. The obtained results showed the effectiveness of our proposals.

Keywords: sequence mining, constraints, constraint programming (CP), global constraints,frequent patterns, constrained patterns, top-k, graph mining, graph isomorphism, subgraphisomorphism.

4. A wildcard is a particular symbol which can replace any item in a sequence.5. top-k patterns are the k best patterns optimizing an interestingness measure m such as the frequency

measure.6. The gap is the distance between two adjacent items in a sequence.

Page 12: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Introduction

1 Contexte

Au cours des dernières décennies, on assiste à une explosion permanente de gisements dedonnées issues de divers domaines (e.g., web, télécommunications, biologie) et le défi aujourd’huin’est plus de stocker ces données mais d’en extraire de l’information. L’Extraction de Connais-sances dans les Bases de Données (ECBD ou KDD 7) ou « fouille de données » (data-miningen anglais) est un domaine de l’informatique qui englobe l’ensemble des techniques nécessairespour extraire des connaissances non triviales et nouvelles à partir de bases de données [Agrawalet al., 1993]. Le coeur du processus de fouille est la recherche de régularités dans les donnéesou motifs cachés. Par exemple, à partir de situations biologiques décrites par un ensemble degènes, un motif est un ensemble de gènes qui se retrouvent fréquemment dans de nombreusessituations biologiques. La figure 1 décrit précisément les principales étapes permettant de passerd’un grand volume de données à un ensemble de connaissances utilisables et utiles :

BD

Sélection

Donnéescibles

Transformation

Donnéestransformées

Fouille de donnée

Motifs

Evaluation

Connaissances

Figure 1 – Processus d’extraction de connaissances à partir de données

Nous décrivons brièvement ses principales étapes :– Sélection de données : Cette étape initiale est effectuée à partir d’un ensemble de connais-

sances pour garder que les données cibles sur lesquelles la découverte doit être effectuée.– Transformation : Dans cette étape, les données cibles sont transformées sous forme de

structures particulières qui dépendent du domaine d’application et des algorithmes defouille de données à exploiter dans l’étape suivante.

– Fouille de données : Cette étape complexe sur le plan algorithmique, exploite un ensemblede méthodes et de techniques pour faire de l’extraction de motifs.

– Évaluation des motifs : L’objectif de cette étape est d’identifier les motifs les plus intéres-sants par rapport à certaines mesures.

La fouille de données traite principalement quatre sous-problèmes qui correspondent au clus-tering, à la classification, à l’analyse des outliers et à l’extraction de motifs fréquents. Nous nousintéressons dans cette thèse à la phase de l’extraction de motifs qui est considérée comme uneétape clé dans le processus de l’extraction de connaissances.

7. Knowledge Discovery in Databases

Page 13: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1. Contexte 4

Les motifs extraits peuvent être de natures diverses. Par exemple la recherche de séquencespour la détection d’interactions entre gènes dans des textes biomédicaux, l’extraction de frag-ments moléculaires [De Raedt et Kramer, 2001], ou encore l’extraction d’arbres ou de sous-graphes [Termier et al., 2004 ; Kuramochi et Karypis, 2005].

Extraction de motifs sous contraintesL’extraction de motifs doit faire face à deux grands problèmes que sont la définition d’outils

efficaces sur de grands volumes de données et la sélection de motifs potentiellement intéressants.En effet, le processus d’extraction de motifs peut retourner une collection trop importante demotifs pour être exploitable. L’extraction de motifs sous contraintes est généralement considéréecomme une solution pour améliorer à la fois la qualité des motifs extraits et le processus defouille.

Les contraintes peuvent être définies sur des motifs individuels, on parle de contraintes localeset les motifs extraits sont appelés motifs locaux [Hand, 2002], ou bien elles requièrent l’utilisa-tion d’autres motifs, on parle de contraintes d’ensembles de motifs. Un exemple classique decontraintes locales sont les contraintes de seuil sur des mesures telles que la fréquence (nombred’occurrences d’un motif dans la base de données) ou encore la taille (nombre d’attributs com-posant un motif).

Le problème de l’extraction de motifs fréquents consiste à trouver les relations entre les itemsd’une base de données. Nous avons en entrée une base de transactions {T1, T2, . . . , Tn} et unevaleur qui exprime le seuil de fréquence minimale minsup. Donc, le problème de l’extraction demotifs fréquents consiste à déterminer l’ensemble des motifs qui appartiennent à au moins minsup

transactions de la base. Ce problème a été initialement proposé dans le contexte de l’analyse desproduits achetés par les clients, afin de trouver les articles achetés ensemble [Agrawal et al.,1993].

Extraction de motifs séquentiels sous contraintes (EMSC)Outre l’extraction de motifs ensemblistes, la fouille de données présente aussi l’intérêt de

découvrir des régularités dans des données se présentant sous forme de séquences (une séquenceest une liste ordonnée de littéraux appelés items) ; on appelle motifs séquentiels de telles régu-larités [Agrawal et Srikant, 1995]. Nous verrons que cette dimension est aussi au coeur de noscontributions. Dans un problème d’extraction de motifs séquentiels (EMS), nous avons en entréeun ensemble de séquences, où chaque séquence est considérée comme une liste ordonnée d’item-sets. Le problème de l’extraction de motifs séquentiels consiste à trouver les séquences d’itemsetsqui sont sous-séquences d’au moins minsup séquences de la base. Par exemple, considérons l’en-semble des articles {pain, lait, céréale, sucre, beurre, oeufs} et la base illustrée dans la Figure 2(b), composée de 3 séquences obtenues à partir des achats effectués par les trois clients : C1, C2

et C3 (cf. Figure 2 (a)). En considérant minsup = 2, le motif 〈{pain, lait}, {sucre}〉 est un motifséquentiel puisqu’il apparaît deux fois dans la base : dans T2 et T3. Dans cette thèse, on s’intéresseà des séquences d’items (au lieu de séquences d’itemsets), car le fond de la problématique est lacombinatoire qui est due à l’ordre qui doit être respecté par les éléments (i.e. items ou itemset)de chaque séquence.

Il existe dans la littérature plusieurs méthodes spécialisées pour l’extraction de motifs séquen-tiels. GSP [Srikant et Agrawal, 1996] fut le premier algorithme proposé. Il se base sur l’approchegénérer et tester, i.e., création de candidats, suivie du test de ces candidats pour confirmer leur

Page 14: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1. Contexte 5

Client Date Articles achetésC1 01/01/2016 pain, laitC1 02/01/2016 céréalesC1 04/01/2016 painC2 02/01/2016 pain, laitC2 05/01/2016 sucre, oeufsC3 03/01/2016 pain, laitC3 04/01/2016 beurreC3 05/01/2016 sucre

(a) Achats des clients

Trans. SéquenceT1 {pain, lait}, {céréales}, {pain}T2 {pain, lait}, {sucre, oeufs}T3 {pain, lait}, {beurre}, {sucre}

(b) Base de séquences : une séquenceest associée pour chaque client

Figure 2 – Exemple d’une base de séquences

fréquence dans la base. Plus tard, deux grandes catégories de méthodes ont été proposées :

1. Les algorithmes de recherche en profondeur basés sur un format vertical pour la représen-tation de la base de séquences, (e.g., SPADE [Zaki, 2001] ou SPAM [Ayres et al., 2002]).

2. Les algorithmes basés sur l’extension de motifs en exploitant le principe de la projectionpréfixée tels que PrefixSpan [Pei et al., 2001].

De nombreux auteurs, (e.g., Zaki [Zaki, 2000], Pei et al. [Pei et al., 2002]) ont favorisé l’utilisa-tion de contraintes afin d’extraire seulement les motifs les plus pertinents par rapport à l’utilisa-teur final. Srikant et Agrawal [Srikant et Agrawal, 1996] ont généralisé le problème EMS [Agrawalet Srikant, 1995] afin de supporter des contraintes temporelles et des contraintes de durée. Ga-rofalakis et al. [Garofalakis et al., 2002] ont introduit des contraintes d’expression régulières surles motifs extraits. D’autres contraintes ont été proposées (e.g., [Zaki, 2000 ; Wang et Han, 2004 ;Yan et al., 2003 ; Li et al., 2012]).

Mais, la plupart de ces approches, bien que efficaces, souffrent de deux problèmes majeurs :

1. Elles ne traitent que quelques classes particulières de contraintes (monotones et anti-monotones) avec des techniques dédiées. Cependant, plusieurs contraintes pratiques re-quises dans les tâches de fouille, telles que les expressions régulières, les agrégats, ne pré-sentant pas de bonnes propriétés d’élagage.

2. Elles manquent de méthodes génériques pour combiner diverses contraintes dans le proces-sus d’extraction de motifs. Ce manque de généricité est un frein majeur à la découvertede motifs pertinents car chaque nouveau type de contraintes entraîne la conception et ledéveloppement d’une méthode ad hoc.

Par conséquent, l’utilisateur doit se contenter d’un jeu de contraintes assez réduit ne permet-tant pas une extraction efficace de l’information que ce soit en terme de qualité ou de quantité.En effet, ce manque d’expressivité est, entre autre, à l’origine d’un problème majeur dans lesproblèmes d’extraction de motifs, à savoir le nombre conséquent de motifs produits, chose quirend leur utilisation très difficile.

Extraction de sous-graphes fréquentsEn plus des données séquentielles, nous nous sommes également intéressés dans cette thèse

aux données représentées sous forme de graphes. Vu l’importance de l’utilisation des graphes

Page 15: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1. Contexte 6

pour la modélisation des données complexes (les circuits, les images, les composants chimiques,les structures de protéines, les réseaux biologiques, les réseaux sociaux, le web et les documentsXML, etc.), la fouille de graphes devient un thème de recherche très actif et important, y comprisle problème de découverte de sous-graphes fréquents dans une base de graphes.

Dans un problème de découverte de sous-graphes fréquents, les données en entrée sont repré-sentées par des graphes. Prenons par exemple la base de graphes de la figure 3. En fixant le seuilde fréquence minsup à 3, le sous-graphe induit par les arêtes en gras apparaît dans 3 graphes dela base, donc il est considéré comme un motif fréquent.

(T1) (T2) (T3)

Figure 3 – Exemple d’une base de graphes

De nombreux algorithmes ont été développés pour résoudre ce problème dont le but est deréduire sa complexité. Gaston [Nijssen et Kok, 2005] est considéré comme un outil puissant per-mettant de résoudre ce problème d’une manière efficace. Mais, dans le cas des bases de graphesdenses, contenant beaucoup de cycles, Gaston souffre de plusieurs difficultés qui le rendent ainsiincapable de terminer la recherche dans un temps raisonnable. Ce dernier point motive ce tra-vail pour mettre en évidence ces difficultés, et de proposer d’autres démarches afin de traiterefficacement de grandes bases de graphes denses.

Programmation par contraintes pour la fouille de donnéesLa Programmation Par Contraintes (PPC) est un paradigme puissant permettant de résoudre

des problèmes combinatoires modélisés sous forme de contraintes, en se basant sur des travauxissus de l’intelligence artificielle et de la recherche opérationnelle.

L’utilisation de la programmation par contraintes pour exprimer des problèmes de fouille dedonnées possède de nombreux avantages. Le premier est d’offrir à l’utilisateur un moyen simpleet déclaratif pour modéliser ses problèmes. Le second est de proposer une approche générique derésolution qui permet à l’utilisateur de ne plus devoir se préoccuper de l’écriture d’un algorithmespécifique pour la prise en compte de nouvelles contraintes.

L’utilisation de la PPC pour la découverte de motifs en fouille de données a été étudiée pourla première fois par Guns et al. [Raedt et al., 2008] et plus précisément pour l’extraction de motifsensemblistes (ou d’itemsets en anglais). Les auteurs ont proposé une approche générique permet-tant de traiter, dans un cadre unifié, un large ensemble de motifs locaux et de contraintes tellesque la fermeture, la maximalité, les contraintes monotones ou anti-monotones et des variationsde ces contraintes. Ce travail fondateur a ouvert de nombreuses perspectives pour l’applicationde la PPC pour résoudre des problèmes en fouille de données.

L’extraction de motifs séquentiels est un problème difficile en raison d’un nombre prohibitifde sous-séquences intermédiaires à considérer, qui rend la tâche plus complexe que l’extraction

Page 16: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

2. Objectifs et motivations 7

d’itemsets. Ainsi, très peu de travaux ont été effectués pour l’extraction de motifs séquentiels enutilisant la PPC. Dans [Coquery et al., 2012], les auteurs proposent le premier modèle SAT pourla découverte de motifs avec wildcards 8 dans une seule séquence, en considérant différents typesde contraintes (e.g., fréquence, maximalité, fermeture). Ensuite, d’autre travaux ont été proposésdans le contexte de l’extraction de motifs séquentiels dans une base de séquences [Métivier et al.,2013 ; Négrevergne et Guns, 2015].

2 Objectifs et motivations

L’utilisation de la PPC pour exprimer des problèmes de fouille de données offre un cadredéclaratif et générique de résolution. Toutefois, la contrepartie à cette grande généricité est larelative faiblesse des approches déclaratives existantes pour la fouille de motifs séquentiels quine passent pas à l’échelle comparées aux méthodes spécialisées. En effet, l’encodage PPC utiliséconstitue une limitation forte sur la taille des bases qui peuvent être traitées. Les observationsci-dessous expliquent plus en détail les raisons de cette limitation :

– Les approches courantes encodent le problème EMS à l’aide des contraintes réifiées. Pourcela, pour chaque séquence de la base, une contrainte réifiée est définie indiquant si lemotif à extraire est une sous-séquence (ou non) de cette séquence. Mais, un tel encodageprésente un inconvénient majeur car si la base contient m séquences, on aura besoin de m

contraintes réifiées pour encoder toute la base de séquences.– L’encodage de la relation de sous-séquence utilise un ensemble de variables additionnelles

pour déterminer les positions où le motif apparaît dans chaque séquence de la base. Un telencodage nécessite un grand nombre de variables intermédiaires (m × l), sachant que m

est la taille de la base et ℓ est la longueur maximale des motifs.Par ailleurs, et comme nous l’avons indiqué précédemment, cette problématique de passage à

l’échelle se pose également de manière accrue pour les algorithmes spécialisés dédiés à la fouillede sous-graphes fréquents dans de grandes bases de graphes denses.

L’objectif de cette thèse est d’une part, de répondre au verrou du passage à l’échelledes approches déclaratives existantes pour l’extraction de motifs séquentiels qui reposent sur unencodage booléen, et d’autres part de proposer d’autres démarches afin de traiter efficacementl’extraction de sous-graphes fréquents dans de grandes bases de graphes denses.

L’originalité de nos travaux consiste à introduire des techniques utilisées en fouille de don-nées pour améliorer les encodages PPC pour la fouille de séquences. Malgré les multiples défisalgorithmiques posés par la fouille de séquences, ce travail fondateur a contribué à repenser lamanière dont les approches PPC pouvaient tirer bénéfice de méthodes de fouille. Il a permis demontrer, pour la première fois, qu’une approche PPC pouvait concurrencer (et même surpasser)les algorithmes spécialisés de l’état de l’art.

8. Un wildcard est un symbole qui apparaît dans le motif et peut remplacer n’importe quel item dans la

séquence.

Page 17: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

3. Contributions 8

3 Contributions

Puisque nous avons traité deux problématiques en fouille de données, nous faisons la distinc-tion entre nos contributions comme suit :

Dans cette thèse, nous avons pu apporter plusieurs principales contributions aussi bien pourla fouille de données séquentielles que pour des données représentées sous formes de graphes.

Pour l’extraction de motifs séquentiels :

1. En nous appuyons sur la notion de motif séquentiel avec wildcards, nous proposons unpremier modèle CSP pour l’extraction de motifs séquentiels avec wildcards explicitesdans une base de séquences [Kemmar et al., 2014]. Nous montrons comment modéliserde nombreuses contraintes définies sur les motifs à extraire. Ces contraintes portentsur deux catégories de motifs : des contraintes définies sur des motifs locaux (e.g.,fréquence, longueur, expression régulière, gap), ou des contraintes définies sur desensembles de motifs comme les top-k motifs ou encore les sous-groupes pertinents.

2. Pour remédier au problème de passage à l’échelle des approches déclaratives existantes,nous proposons une nouvelle contrainte globale Prefix-Projection [Kemmar et al.,2015 ; Kemmar et al., 2016c ; Kemmar et al., 2017] qui exploite le principe de la projec-tion préfixée afin d’encoder dans une seule contrainte la relation de sous-séquence et lacontrainte de fréquence. Notre encodage permet de mettre en oeuvre différents typesde contraintes (appartenance d’items, taille et expressions régulières) et de les combi-ner simultanément. Par rapport aux approches PPC existantes, Prefix-Projection

ne requiert ni contraintes réifiées ni variables supplémentaires pour encoder la relationde sous-séquence.

3. Nous proposons un nouvel algorithme efficace permettant d’extraire les k meilleurs(top-k) motifs séquentiels à partir d’une base de séquences [Kemmar et al., 2017].Cet algorithme exploite la contrainte globale Prefix-Projection pour extraire lesmotifs séquentiels.

4. Afin de prendre en compte des contraintes restreignant l’intervalle de temps entredeux items consécutifs d’un motif dans les séquences d’origines, contrainte dite de gap,nous proposons une nouvelle extension de la contrainte globale Prefix-Projection,dénommée GAP-SEQ, permettant d’extraire les motifs séquentiels avec ou sans lacontrainte de gap [Kemmar et al., 2016d]. GAP-SEQ repose sur le principe des ex-tensions droites des motifs et son algorithme de filtrage exploite la propriété de préfixeanti-monotonie (cf. définition 53) de la contrainte de gap, afin de garantir un filtrageplus efficace de l’espace de recherche.

Pour l’extraction de sous-graphes fréquents :

1. Nous proposons une approche par intervalle [Kemmar et al., 2012a ; Kemmar et al.,2012b ; Kemmar et al., 2013 ; Kemmar et al., 2016b] qui exploite deux types d’en-codages non-canoniques : un encodage inférieur et un encodage supérieur. Ces deuxderniers permettent de borner l’ensemble complet des sous-graphes fréquents généréspar un encodage canonique.

Page 18: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4. Organisation du mémoire 9

Ces contributions ont été validées expérimentalement :– En utilisant, tout d’abord, les jeux de données [Fournier-Viger et al., 2014 ; Béchet et al.,

2012a ; Trasarti et al., 2008 ; Boginski et al., 2003] afin de valider la faisabilité des approchesproposées,

– Puis, sur des domaines applicatifs réels tels que la découverte de relations gènes/maladiesrares pour les trois premières contributions, l’analyse linguistique de textes pour la premièrecontribution et la fouille du web pour la deuxième contribution.

Enfin, toutes nos contributions en fouille de séquences ont été mises en oeuvre en utilisantle solveur de contraintes Gecode 9. Notre contribution en fouille de graphes a été réalisée avec lelangage C++.

4 Organisation du mémoire

Ce manuscrit est organisé de la façon suivante.

La première partie est consacré à un état de l’art sur les problématiques traitées dans cettethèse ainsi que les différents outils exploités pour la résolution.

Le chapitre 1 introduit d’abord le problème de l’extraction de motifs fréquents à partird’une base de transactions d’une façon générale. Il décrit les notions et la terminologie liées àce problème ainsi que certaines techniques de résolution. Ensuite, il aborde deux instances dece problème lorsque la base transactionnelle contient des séquences ou des graphes. Pour chaqueproblématique, il présente les définitions nécessaires à la compréhension du problème, puis ildétaille les principales approches proposées pour la résolution. Enfin, il discute les points fortset les points faibles de chacune d’elles.

Le chapitre 2 s’intéresse à la fouille déclarative avec la programmation par contraintes. Toutd’abord, il présente les principes de base de la PPC qui englobent le problème de satisfaction decontraintes, les contraintes globales et les contraintes réifiées. Ensuite, il attaque les différentesméthodes qui ont exploité la PPC pour résoudre le problème de l’extraction de motifs séquentielssous contraintes. Enfin, il discute, le modèle PPC proposé et les obstacles rencontrés afin d’assurerle passage à l’échelle.

La seconde partie décrit nos différentes contributions qui ont appréhendé globalementl’extraction de motifs fréquents à partir d’une base transactionnelle, et particulièrement sur lesdeux problèmes suivants :

1. Extraction de motifs séquentiels à partir d’une base de séquences,

2. Extraction de sous-graphes fréquents à partir d’une base de graphes.

Le chapitre 3 présente les définitions nécessaires pour la fouille de séquences avec wildcards.Un wildcard est un symbole qui apparaît dans le motif et peut remplacer n’importe quel itemdans la séquence. Ce chapitre présente ensuite, le modèle PPC adopté pour l’extraction de motifsséquentiels avec wildcards. Puis, il montre comment modéliser deux types de contraintes sur lesmotifs : (1) contraintes locales telles que la contrainte de longueur, appartenance d’item, gap etexpression régulière, et (2) contraintes globales qui portent sur un ensemble de motifs tels que les

9. http://www.gecode.org

Page 19: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4. Organisation du mémoire 10

top-k motifs et les sous-groupes pertinents. Enfin, le modèle proposé est validé expérimentalementsur deux types de jeux de données : texte médical extrait à partir de la base Pubmed et unensemble de romans.

Le chapitre 4 décrit l’encodage des motifs sans wildcards. Ensuite, il introduit notrecontrainte globale Prefix-Projection en expliquant son algorithme de filtrage. Cettecontrainte qui permet d’encoder à la fois la relation de sous-séquence et la contrainte de fré-quence, permet aussi d’exprimer d’une façon très simple d’autres contraintes sur les motifs.Cette contrainte a été exploitée avec une nouvelle stratégie d’initialisation afin d’extraire lestop-k motifs. Ces deux approches ont été comparées avec des méthodes spécialisées sur une sériede bases de séquences réelles.

Le chapitre 5 redéfinit quelques notions liées à l’extraction de motifs séquentiels souscontrainte de gap. Ensuite, il détaille notre deuxième contrainte globale GAP-SEQ qui per-met de faire l’extraction des motifs séquentiels sans et avec cette contrainte. Enfin, il valideexpérimentalement notre approche, et montre qu’elle est nettement meilleure que les approchesdéclaratives, et concurrence les approches spécialisées et que dans un nombre de cas notre ap-proche est meilleure.

Le chapitre 6 porte sur le deuxième problème, à savoir la découverte de sous-graphes fré-quents dans une base de graphes. Il détaille notre approche par intervalle qui se base sur deuxencodages non canoniques : un encodage inférieur et un encodage supérieur. Il introduit deuxinstances de ces deux encodages, et montre que ces derniers permettent respectivement de gé-nérer un sous-ensemble et un sur-ensemble de l’ensemble exact des sous-graphes fréquents. Lesexpérimentations menées sur des jeux de données synthétiques et réelles montrent que notreapproche est efficace dans le cas des bases de graphes denses lorsque le nombre de sous-graphescycliques fréquents est énorme.

Page 20: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Première partie

État de l’art

Page 21: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Chapitre 1

Extraction de motifs fréquents

Sommaire1.1 Problème d’extraction de motifs fréquents . . . . . . . . . . . . . . . . . 12

1.1.1 Description du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.1.2 Techniques de résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.2 Extraction de motifs séquentiels . . . . . . . . . . . . . . . . . . . . . . . 18

1.2.1 Notations et définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.2.2 Extraction de motifs sous contraintes . . . . . . . . . . . . . . . . . . . . . . 19

1.2.3 Approches de résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.2.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

1.3 Extraction de sous-graphes fréquents . . . . . . . . . . . . . . . . . . . . 33

1.3.1 Terminologie liée aux graphes . . . . . . . . . . . . . . . . . . . . . . . . . . 34

1.3.2 Appariement de graphes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

1.3.3 Problème de découverte de sous-graphes fréquents . . . . . . . . . . . . . . 39

1.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Ce chapitre introduit le problème de l’extraction de motifs à partir d’un ensemble de jeux dedonnées. Ce problème consiste à rechercher des régularités dans la base initiale qui mènent versl’extraction de certaines connaissances. On peut avoir en entrée soit des données ensemblistes,des séquences ou des graphes. Dans ce travail, on s’intéresse aux données qui peuvent être re-présentées sous forme d’un ensemble de séquences d’items ou de graphes. Dans la section 1.1,nous donnons les définitions nécessaires pour la compréhension de ce problème en l’illustrant àtravers un ensemble d’applications réelles. Nous présentons ensuite, dans la section 1.2, le pro-blème d’extraction de motifs séquentiels. Enfin, nous détaillons dans la section 1.3 le problèmed’extraction de sous-graphes fréquents à partir d’une base de graphes.

1.1 Problème d’extraction de motifs fréquents

Nous formalisons les notions principales liées à l’extraction de motifs fréquents dans plusieurscontextes : fouille d’itemsets, fouille de séquences et fouille de graphes. Nous illustrons ce problèmeà travers un exemple dans chacun de ces contextes.

1.1.1 Description du problème

Le problème de l’extraction de motifs fréquents consiste à trouver les relations entre les itemsd’une base de données. Nous avons en entrée une base transactionnelle {T1, T2, . . . , Tn} et une

Page 22: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.1. Problème d’extraction de motifs fréquents 13

clients articles achetés1 {pain, lait, céréales}2 {lait, pain, sucre, oeufs}3 {lait, pain, beurre}4 {sucre, oeufs}

Table 1.1 – Analyse des achats des clients

valeur qui exprime le seuil de fréquence minimale minsup. Donc, le problème de l’extraction demotifs fréquents consiste à déterminer l’ensemble des motifs qui appartiennent à au moins minsup

transactions de la base. D’une façon équivalente, le support (i.e. nombre d’apparition dans labase) de chaque motif extrait doit être supérieur ou égal à minsup. La base transactionnelle peutreprésenter, selon le domaine d’application, un ensemble d’itemsets, un ensemble de séquencesou un ensemble de graphes. Chaque transaction Ti peut être considérée soit comme un vecteurbinaire, ou comme un ensemble discret de valeurs représentant les identifiants des attributsbinaires instanciés à la valeur 1. Ce problème a été initialement proposé dans le contexte del’analyse des produits achetés par les clients, afin de trouver les articles (i.e. items) achetésensemble [Agrawal et al., 1993]. Ainsi, dans ce scénario, chaque attribut correspond à un articledans un supermarché, et la valeur binaire représente sa présence ou pas dans la transaction. Parla suite, ce même problème a été appliqué sur de nombreuses applications dans le contexte defouille de données, extraction de connaissance à partir des fichiers journaux du web (weblogs enAnglais), extraction de motifs séquentiels et l’analyse de bugs logiciels.

Exemple 1 (La transaction est représentée par un itemset) Un exemple typique est ce-lui de l’analyse des achats des clients (cf. tableau 1.1). En particulier, un vendeur peut poser laquestion suivante : "Quels sont les ensembles d’items qui sont fréquemment achetés ensemble ?"La réponse à une telle question peut être exploitée afin de planifier des stratégies de marketing,ou de faire la conception de nouveaux catalogues, ce qui permet d’augmenter les ventes. Si onconsidère la base d’itemsets du tableau 1.1, on remarque qu’il y a trois clients qui achètent dupain accompagné du lait. Donc, le support de l’itemset {lait, pain} est 3.

Un autre problème connexe à l’extraction des itemsets fréquents est celui de l’extraction demotifs séquentiels lorsqu’un ordre entre les items est défini selon la temporalité qui peut existerentre eux. Ce dernier point rend la recherche de motifs séquentiels plus difficile que l’extractiondes itemsets. Ceci s’explique par l’espace de recherche exponentiel qu’on peut avoir lorsque labase contient de longues séquences fréquentes. Concrètement, à partir d’un ensemble d’items I

avec |I| = n, on peut engendrer (2n − 1) itemsets, mais le nombre de motifs de taille ℓ qu’onpeut construire est O(nℓ).

L’ordre temporel est un ordre naturel qu’on trouve dans de nombreux scénarios tels queles achats des clients, puisque les articles sont achetés à des temps différents. Dans ce cas, leproblème consiste à déterminer les séquences d’articles achetés le plus souvent par les clientsselon un certain seuil de fréquence minsup.

Exemple 2 (La transaction est représentée par une séquence d’items) Si on considèrela même base du tableau 1.1, mais cette fois ci, l’ordre entre les articles achetés est important.

Page 23: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.1. Problème d’extraction de motifs fréquents 14

Avec un seuil de fréquence minimale minsup = 3, le motif 〈lait, pain〉 ne devient plus fréquent :il apparaît seulement dans la deuxième et la troisième transaction.

Plus tard, un autre problème qui se base sur les motifs fréquents a été également proposé. Ils’agit du problème de l’extraction des règles d’association qui est considéré comme une deuxièmeétape appliquée sur les motifs fréquents. Si on considère deux ensembles d’items U et V , la règleU ⇒ V est considérée comme une règle d’association avec un support minimal minsup et uneconfiance minimale c, lorsque les conditions suivantes sont vérifiées :

1. L’ensemble U ∪ V est un motif fréquent.

2. Le ratio entre le support de U ∪ V et celui de U est au moins c.

Le seuil de confiance minimal c est une valeur inférieure à 1 puisque le support de U ∪ V

est toujours inférieur à celui de U . Puisque l’extraction de motifs fréquents est habituellementl’étape la plus complexe, la plupart des recherches dans ce domaine se focalisent sur ce pro-blème. Néanmoins, certains problèmes de calcul et de modélisation se posent également durantla deuxième étape, en particulier lorsque le problème d’extraction de motifs fréquents est exploitépar un autre problème de fouille tel que la classification.

Exemple 3 (règle d’association) A partir de la base transactionnelle du tableau 1.1, on peutextraire les deux motifs (règles d’association) suivants :

1. lait ⇒ pain [support = 75%, confiance=100%]

2. lait ⇒ céréales [support = 25%, confiance=33%]

De nombreux types de données chimiques ou biologiques, données XML, des traces d’exécu-tion de programmes et des données sur la navigation WEB peuvent être représentés sous formede graphes. Dans ces cas, la découverte des motifs fréquents est très utile pour en extraire denouvelles informations. Par exemple, les structures chimiques spécifiques conduisent vers despropriétés particulières. Les programmes avec des structures spécifiques conduisent à des bugsde programmation, et ainsi de suite. De tels motifs peuvent même être utilisés pour faire duclustering et la classification sur les graphes.

Figure 1.1 – Exemple de base de graphes moléculaire

Exemple 4 (La transaction est représentée par un graphe) Une molécule est un assem-blage géométrique d’atomes solidaires liés par des liaisons de covalence. Elle peut être représentéepar un graphe qui encode la topologie des liaisons où les sommets et les arêtes représentent res-pectivement les atomes et les liaisons de covalence de la molécule. Les labels seront attribués auxsommets selon l’élément chimique de l’atome, tels que le carbone (C), l’hydrogène (H) ou le ben-zène (C6H6). La figure 1.1 représente un exemple d’une base de graphes moléculaires constituéede 3 molécules. L’hexagone représente le benzène.

Page 24: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.1. Problème d’extraction de motifs fréquents 15

Selon les trois représentations données ci-dessus, nous allons définir dans ce qui suit, lesconcepts de base liés au problème de l’extraction de motifs fréquents.

Définition 1 (Motif) Soit DB = {T1, T2, . . . , Tn} une base transactionnelle. Un motif M estun élément qui appartient à une transaction de la base : M ⊑ T ∈ DB. Le symbole "⊑" représentela relation d’inclusion 1 entre les motifs.

Suivant la définition d’un motif, ce dernier peut être un itemset (ensemble d’items), uneséquence d’items ou un sous-graphe. Un motif constitué de k items (ou itemsets) dans le cas dela fouille séquentielle, ou k arêtes dans le cas des graphes, est appelé k-motif.

Définition 2 (Couverture d’un motif) Soit DB une base de transactions. La couvertured’un motif M dans DB est l’ensemble des transactions qui contiennent M , noté coverDB(M) =

{T ∈ DB|M ⊑ T }.

Le seuil de fréquence minimale minsup peut être exprimé en absolu ou en pourcentage. Dansle premier cas, on doit calculer le support, dans le second cas, on s’intéresse à la fréquence desmotifs.

Définition 3 (Support d’un motif) Soit DB une base de transactions. Le support d’un motifM dans DB, noté supDB(M), est la cardinalité de la couverture de M dans DB : supDB(M) =

|coverDB(M)|.

Définition 4 (Fréquence d’un motif) Soit DB une base de transactions. La fréquence d’unmotif M dans DB, noté freqDB(M), est le ratio du support de M dans DB sur la cardinalitéde DB : freqDB(M) = supDB(M)

|DB| .

Soit LM le langage des motifs non vide. La relation d’inclusion entre deux motifs permet dedéfinir une relation de spécialisation/généralisation [Mitchell, 1982]. Ainsi, si M est inclusdans M ′, on dit que M ′ est plus spécifique que M ou que M est plus général que M ′.

Définition 5 (Spécification - Généralisation) Une relation de spécialisation � est un ordrepartiel défini sur les motifs de LM . Un motif M est plus spécifique qu’un motif M ′ (resp. plusgénéral) si M ′ �M (resp. M �M ′).

La relation d’inclusion ensembliste ⊆ est un exemple classique pour la relation de spécifica-tion/généralisation. Par exemple, l’ensemble {AB} est inclus dans {ABCE} et donc il est plusgénéral que {ABCE}. Lorsque le motif M est plus spécifique que M ′, on dit que M est unsuper-motif de M ′ et M ′ est un sous-motif de M .

Définition 6 (Extension de Motif) Soient M et M ′ deux motifs de DB tel que M ′ est plusspécifique que M . On dit que M ′ est une extension de M , si et seulement s’il n’existe pas de motifMi tels que M ❁ Mi ❁ M ′. Autrement dit, M ′ est obtenu en ajoutant un élément e (i.e. arête ouitem) à M . L’opérateur qui permet de faire l’extension est noté Ext, on écrit M ′ = Ext(M, e).

1. La relation d’inclusion stricte est notée par ❁.

Page 25: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.1. Problème d’extraction de motifs fréquents 16

Définition 7 (Problème d’extraction de motifs fréquents (EMT )) Étant donnée unebase de transactions DB telle que DB = {T1, T2, . . . , Tn}, et un seuil de fréquence minimale, notéminsup, le problème d’Extraction de Motifs fréquents dans une base Transactionnelle consisteà trouver l’ensemble F contenant tous les motifs dont la fréquence dans DB est supérieure ouégale à minsup,i.e.

F = {M ⊑ T , T ∈ DB|supDB(M) ≥ minsup}

où T représente le type de la base de transactions donnée en entrée :

T =

E la base contient un ensemble d’itemsetsS la base contient un ensemble de séquences d’items ou d’itemsetsG la base contient un ensemble de graphes

Le problème d’extraction de motifs fréquents possède de nombreuses applications dans desdomaines différents. Selon ces applications, différents types de motifs, spécifiques à un domaineparticulier, peuvent être extraits. Nous citons quelques exemples d’application :

– Analyse des données chimiques ou biologiques : L’extraction de motifs fréquents à partirde ces données représentées par des graphes, permet d’aider à l’analyse de la toxicité, laprédiction des composants chimiques et l’analyse de l’ARN. Parmi les travaux réalisés dansce cadre, nous citons ceux de Huan et al. [Huan et al., 2005] et Poezevara et al. [Poezevaraet al., 2011].

– Analyse des programmes : La localisation d’erreurs est une étape très importante lors dela mise au point de logiciels critiques. Ces dernières années, ce problème a été traité avecdes techniques de fouille de données. Nous citons par exemple l’approche basée sur lesrègles d’association et l’analyse formelle de concept (AFC) qui a été proposée par Cellieret al. [Cellier et al., 2009] [Cellier et al., 2011], et celle proposée par Nessa et al. [Nessa etal., 2008] qui proposent de générer des sous-séquences d’instructions de longueur N à partirdes traces du programme. Récemment, Maamar et al. [Maamar et al., 2015] ont proposéde formaliser le problème de localisation de fautes comme un problème d’extraction des k

meilleurs motifs satisfaisant un ensemble de contraintes modélisant les instructions les plussuspectes.

– Fouille du WEB : Dans ce cas, les fichiers logs du web sont représentés sous forme d’unebase de séquences [Pei et al., 2000]. La découverte des motifs fréquents dans ces fichierspermet d’analyser le comportement de la navigation des utilisateurs. Les informations quien résultent peuvent être exploitées dans la conception des sites web, la recommandationou la détection des anomalies.

– Fouille de textes médicaux : Béchet et al. [Béchet et al., 2012b] proposent une application,qui exploite des techniques de fouille, permettant de découvrir les relations entre gènes etmaladies rares. Étant donné un corpus décrivant un texte médical, chaque phrase de cecorpus est considérée comme une séquence de la base, et chaque mot représente un itemdans la séquence. Donc, extraire les relations entre gènes et maladies rares revient à extraireles motifs contenant au moins les deux items : GENE et RD (cf. cette application est détailléedans la section 3.5.1).

Page 26: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.1. Problème d’extraction de motifs fréquents 17

– Analyse linguistique de textes : L’objectif de cette application est de fournir aux expertslinguistiques certains motifs pertinents et importants permettant de caractériser un textespécifique afin que ces experts effectuent une analyse stylistique basée sur les motifs ex-traits [Quiniou et al., 2012]. Par exemple, dans la section 3.5.2, nous avons considéré deuxcorpus, et notre objectif était de faire une comparaison entre ces deux textes en identifiantles motifs qui sont fréquents dans un corpus, mais peu fréquents dans l’autre.

1.1.2 Techniques de résolution

La plupart des algorithmes conçus pour l’extraction de motifs fréquents se basent soit sur lesupport minimal, ou bien sur d’autres types de mesures, ou encore ils exploitent les contraintesafin d’extraire que les motifs intéressants. L’espace de recherche peut être exploré en exploitantdifférentes stratégies : recherche en largeur d’abord, ou recherche en profondeur. En outre, lesnœuds peuvent être générés de plusieurs façons, soit en effectuant des jointures sur des motifsfréquents ou encore en faisant des extensions selon un certain ordre lexicographique. Dans ce quisuit, nous donnons un aperçu sur les deux principes de base permettant de réduire l’espace derecherche.

1.1.2.1 Le principe Apriori

Les premiers algorithmes conçus pour le problème d’extraction de motifs fréquents se basentsur ce principe. Dans ce cas, les motifs sont générés dans un ordre croissant de taille en adop-tant une exploration en largeur de l’arbre de recherche. Le pseudo-code de Apriori est illustrédans l’algorithme 1. Initialement, l’algorithme commence par l’extraction des motifs fréquentsde taille 1 (1-motifs (ligne 1)). Ensuite, dans chaque itération (ligne 2), il génère un ensemble demotifs fréquents de taille k à partir des motifs fréquents de taille k − 1 en exploitant la fonctionApriori_Gen (ligne 4). Cette dernière applique une opération de jointure entre chaque paire demotifs. Les nouveaux motifs extraits Ck seront évalués afin de garder que ceux qui vérifient lacontrainte de fréquence (ligne 7). Ce processus se répète jusqu’à ce que aucun motif fréquent nepourra être généré. Finalement, l’ensemble des motifs fréquents de différentes tailles est retourné(ligne 9).

1.1.2.2 La propriété d’anti-monotonie

La propriété Apriori est basée sur l’observation suivante : par définition, si un motif M nesatisfait pas la contrainte de fréquence donc M n’est pas fréquent (supDB(M) < minsup). Si Mest étendu vers un autre motif M ′, ce dernier ne peut pas être plus fréquent que M et donc :supDB(M

′) ≤ supDB(M) < minsup. Cette propriété appartient à une catégorie spéciale depropriétés appelée l’anti-monotonie. Une contrainte anti-monotone est définie comme suit :

Définition 8 (Contrainte anti-monotone) Une contrainte C(M) défini sur un motif M estanti-monotone par rapport à la relation de spécialisation �, si et seulement si :

∀M,M ′ ∈ LM ,M �M ′ =⇒ (C(M ′) =⇒ C(M))

Page 27: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.2. Extraction de motifs séquentiels 18

Algorithme 1 : Apriori (DB, minsup)

Données : DB : base de transactions ; minsup : seuil de fréquence minimaleRésultat : Ensemble de motifs fréquentsdébut

F1 ← {1-motifs fréquents} ;1

pour (k = 2 ; Fk−1 6= ∅ ; k ++) faire2

Fk ← ∅ ;3

Ck ← Apriori_Gen(Fk−1) ;4

pour tout c ∈ Ck faire5

SupDB(c)← CalculFreq(c,DB) ;6

si SupDB(c) ≥ minsup alors7

Fk ← Fk ∪ {c} ;8

retourner⋃

k Fk ;9

fin

En général, on s’intéresse à l’extraction des motifs fréquents dans la base transactionnelle.Puisque la contrainte de fréquence est anti-monotone, cette propriété peut être exploitée direc-tement pour élaguer l’espace de recherche : Si un motif n’est pas fréquent, on n’a pas besoind’explorer ses super-motifs.

Dans ce travail, nous nous intéressons à deux types de données : les séquences d’items et lesgraphes. Ainsi, nos contributions portent à la fois sur l’extraction de motifs séquentiels à partird’une base de séquences (cf. section 1.2) et l’extraction de sous-graphes fréquents à partir d’unebase de graphes (cf. section 1.3).

1.2 Extraction de motifs séquentiels

1.2.1 Notations et définitions

Cette section introduit les définitions usuelles utilisées respectivement en fouille de séquencesd’items. Soit I un ensemble fini d’éléments appelés items. Le langage de séquences correspond àLI = I

+. Nous utilisons la notation SDB pour désigner une base de séquences.

Définition 9 (séquence, base de séquences) Une séquence s définie sur LI est une liste or-donnée d’éléments 〈s1s2 . . . sn〉, où si ∈ I est un item, 1 ≤ i ≤ n. n est appelé la longueur dela séquence s. Une base de séquences SDB est un ensemble de tuples (sid, s), où sid représentel’identifiant de la séquence s dénotée par SDB[sid].

Définition 10 (sous-séquence, la relation ⊑ ) Une séquence s = 〈s1 . . . sm〉 est une sous-séquence d’une séquence s′ = 〈s′1 . . . s

′n〉 (ou s′ est une sur-séquence de s), notée (s ⊑ s′), ssi

m ≤ n et il existe des entiers 1 ≤ j1 ≤ . . . ≤ jm ≤ n tels que si = s′ji pour tout 1 ≤ i ≤ m. Ondit aussi que s est contenue dans s′. Un tuple (sid′, s′) contient une séquence s si s ⊑ s′.

Définition 11 (couverture, support) Soient SDB une base de séquences et s une séquence.La couverture de s dans SDB est l’ensemble de tous les tuples de SDB qui contiennent

Page 28: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.2. Extraction de motifs séquentiels 19

sid Séquence1 〈ABCBC〉

2 〈BABC〉

3 〈AB〉

4 〈BCD〉

Table 1.2 – SDB1 : Un exemple de base de séquences

s : coverSDB(s)={(sid, s′) ∈ SDB | s ⊑ s′}, et son support est défini par supSDB(s) =

|coverSDB(s)|.

Définition 12 (motif séquentiel) Soit un seuil de support minimal minsup. On dit qu’uneséquence s est fréquente dans une base SDB, si son support contient au moins minsup éléments :supSDB(s) ≥ minsup. s est appelée motif séquentiel [Agrawal et Srikant, 1995].

Exemple 5 La Table 1.2 représente une base composée de 4 séquences, avec I = {A,B,C,D}.Soit la séquence s = 〈AC〉, alors coverSDB1(s) = {(1, s1), (2, s2)}. Si on considère minsup = 2,alors s = 〈AC〉 est un motif séquentiel car supSDB1(s) ≥ 2.

Définition 13 (Extraction de motifs séquentiels (EMS)) Etant donné un seuil de supportminimal minsup ≥ 1 et une base de séquences SDB, le problème d’extraction des motifs séquen-tiels consiste à trouver toutes les séquences s telles que supSDB(s) ≥ minsup.

Exemple 6 La résolution du problème EMS appliqué sur la base de séquences SDB1 avecminsup = 3 consiste à trouver l’ensemble des motifs qui apparaissent au moins dans 3 séquencesde SDB1. Ainsi, l’ensemble des motifs séquentiels avec leurs supports associés est : 〈A〉 : 3,〈B〉 : 4, 〈C〉 : 3, 〈AB〉 : 3 et 〈BC〉 : 3.

1.2.2 Extraction de motifs sous contraintes

Dans la pratique, le nombre de motifs séquentiels fréquents peut être important. Une façonde réduire leur nombre est d’utiliser des contraintes. Les contraintes permettent à l’utilisateur dedéfinir plus précisément les motifs qu’il considère pertinents [Pei et al., 2002]. Nous commençonspar donner la définition du problème d’extraction de motifs séquentiels sous contraintes. Ensuite,nous présentons les différentes contraintes qui peuvent être imposées sur les motifs à extraire.

Définition 14 (Problème d’extraction de motifs sous contraintes (EMSC)) Étantdonné un ensemble de contraintes C(p, SDB) = {C1, C2, . . . , Cm}, définies sur un ensemble demotifs p et une base de séquences SDB. Le problème d’extraction de motifs sous contraintesconsiste à trouver l’ensemble complet de tous les motifs CP qui satisfont C(p, SDB) :

CP = {p ∈ LI |C(p, SDB) est vraie}

Page 29: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.2. Extraction de motifs séquentiels 20

L’utilisation de contraintes est indispensable dans de nombreuses applications. Elles per-mettent de restreindre l’ensemble des motifs et de cibler que ceux qui sont intéressants pourl’utilisateur final. Ces contraintes peuvent être définies sur des motifs individuels, on parle decontraintes locales (e.g., fréquence, gap, expressions régulières), ou bien elles impliquent un en-semble de motifs (i.e. pattern sets), on parle de contraintes globales tels que les top-k motifsou les sous-groupes pertinents. Dans le contexte des motifs séquentiels, si l’extraction des mo-tifs locaux vérifiant certaines contraintes locales a été largement étudiée [Dong et Pei, 2007],l’extraction de motifs vérifiant des contraintes globales reste toujours une piste de rechercheimportante. D’ailleurs les méthodes existantes traitent des cas bien particuliers en utilisant destechniques dédiées [Tzvetkov et al., 2003 ; Ji et al., 2007].

1.2.2.1 Extraction de motifs locaux

Les motifs locaux représentent des régularités observées dans certaines parties des données. Enfouille de séquences, ce sont les motifs qui vérifient des contraintes dites locales. Ici, la propriétéde localité fait référence au fait que dire qu’un motif vérifie ou pas une certaine contrainte localeest indépendant des autres motifs qui peuvent être extraits. Dans ce qui suit, nous survolons lescontraintes locales les plus étudiées en fouille de séquences [Dong et Pei, 2007].

Définition 15 (Contrainte de fréquence) La contrainte de fréquence sup(p,minsup), quenous avons déjà introduite, permet de restreindre l’ensemble des motifs extraits aux motifs fré-quents selon un seuil de fréquence minimal minsup.

Définition 16 (Contrainte de longueur minimale) Cette contrainte, notéeminSize(p, ℓmin), spécifie la taille minimale (en nombre d’items) des motifs extraits (i.e.les motifs extraits doivent contenir au moins ℓmin items).

Exemple 7 Reprenons l’exemple 5 en imposant la contrainte minSize(p, 3) ∧ supSDB1(p) ≥ 2.Seuls deux motifs sont extraits p1 = 〈ABC〉 et p2 = 〈BBC〉.

Définition 17 (Contrainte de longueur maximale) Cette contrainte, notéemaxSize(p, ℓmax), spécifie la taille maximale (en nombre d’items) des motifs extraits (i.e.les motifs extraits doivent contenir au plus ℓmax items).

Exemple 8 Par exemple, en imposant la contrainte maxSize(p, 2) ∧ supSDB1(p) ≥ 3, seuls lesmotifs suivants sont extraits : 〈A〉, 〈B〉, 〈C〉, 〈AB〉 et 〈BC〉.

Définition 18 (Contrainte d’item) Cette contrainte, notée item(p, t), impose à ce que l’itemt appartienne au motif p : item(p, t) ≡ (∃i ∈ [1..ℓ], pi = t).

Exemple 9 Considérons les trois contraintes suivantes : supSDB1(p) ≥ 3 ∧ maxSize(p, 2) ∧

item(p, C), définies sur les séquences de la Table 1.2. Seuls deux motifs sont extraits p3 = 〈C〉

et p4 = 〈BC〉.

Définition 19 (Contrainte d’expression régulière) La contrainte d’expression régulière,notée reg(p, exp), assure que le motif p doit être reconnu par un automate d’états finis asso-cié à l’expression régulière exp [Garofalakis et al., 2002].

Page 30: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.2. Extraction de motifs séquentiels 21

Exemple 10 Considérons la contrainte d’expression régulière reg(p, exp), où exp = B{BC|D}.Le motif p5 = 〈BBC〉 est extrait de SDB1.

Définition 20 (contrainte de durée) La contrainte de durée est définie que si un estampille(time-stamp) est attribué à chaque item dans la base de séquences. Un motif p satisfait lacontrainte de durée Dur[M,N ] ssi la distance entre le premier et le dernier item de p dansla séquence originale est supérieure à M et inférieure à N .

Exemple 11 Si on considère la position de l’item dans la séquence comme son estampille, laséquence 〈BCB〉 est sous-séquence de 〈ABCBC〉 sous la contrainte Dur[0, 2].

Définition 21 (contrainte de Gap) La contrainte gap[M,N ] assure qu’il y a au moins M

items et au plus N items qui sont autorisés entre chaque paire d’items adjacents dans les séquencesappariées. Formellement, une séquence p = 〈p1 . . . pm〉 est sous-séquence de s = 〈s1 . . . sn〉, sousgap[M,N ], si m ≤ n et, pour chaque 1 ≤ i ≤ m, il existent des entiers 1 ≤ j1 ≤ . . . ≤ jm ≤ n,tels que pi = sji, et ∀k ∈ {1, ...,m− 1},M ≤ jk+1 − jk − 1 ≤ N .

Exemple 12 Soient la base de séquences SDB1 (cf. tableau 1.2) et la contrainte de gap gap[1, 1]

(ce qui signifie qu’un seul item doit séparer chaque paire d’items consécutifs). Les motifs séquen-tiels 〈A〉, 〈B〉, 〈C〉, 〈AC〉, 〈BB〉 et 〈CC〉 représentent des sous-séquences de SDB1[1] sousgap[1, 1], alors que 〈AB〉 et 〈BC〉 ne le sont pas.

1.2.2.2 Extraction d’un ensemble de motifs

En pratique, celui qui va analyser les données s’intéresse souvent à la découverte de mo-tifs plus riches que de simples motifs locaux. Il cherche à extraire des motifs qui révèlentdes caractéristiques plus complexes dans la base de séquences. L’extraction de tels motifsnécessite la considération d’un ensemble de motifs locaux [Raedt et Zimmermann, 2007 ;Crémilleux et Soulet, 2008]. Dans ce qui suit, nous détaillons trois contraintes principales per-mettant de définir un ensemble de motifs (i.e. pattern sets).

A) Motifs fermés. La représentation condensée de motifs a été introduite dans [Mannila etToivonen, 1996] dans le contexte de fouille d’itemsets. Le but était de réduire le nombre de motifsqui peut être exponentiel, ce qui permet d’augmenter la rapidité d’exécution des algorithmes defouille. Dans le cas de l’extraction de motifs séquentiels, la représentation condensée qui a étéétudiée est celle qui repose sur la mesure de fréquence. En effet la condensation se fait sur lafréquence. Les motifs ainsi obtenus sont appelés motifs fermés.

Définition 22 (Contrainte de fermeture) Un motif p est dit fermé dans une base de sé-quences SDB s’il n’existe pas un super-motif p′ tel que p ⊑ p′ et supSDB(p)=supSDB(p

′). Cesmotifs fermés permettent de représenter l’ensemble de tous les motifs à extraire d’une manièrecompacte sans perte d’information.

fermé(p) ≡

{

vrai si ∀p′ ∈ LI tels que p ⊑ p′ ∧ supSDB(p) > supSDB(p′)

faux sinon

Exemple 13 Si on considère l’exemple 6, le motif 〈C〉 : 3 n’est pas fermé puisque il existe unsuper-motif avec la même fréquence 〈BC〉 : 3.

Page 31: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.2. Extraction de motifs séquentiels 22

B) Extraction des top-k motifs. Le nombre de motifs séquentiels générés peut être énorme.Ce problème n’est pas propre seulement à la fouille de séquences, mais à l’extraction des motifsfréquents en général. Avec une telle sortie, l’utilisateur se retrouve devant des millions de motifs :il est incapable de récupérer des informations pertinentes. Par conséquent, en pratique, ce nombreest réduit en fixant un seuil de fréquence élevé. Mais, un autre problème est rencontré puisquece n’est pas évident de choisir la bonne valeur de minsup. Pour adresser ce problème, il a étéproposé de redéfinir le problème EMS comme un problème d’extraction des k meilleurs motifsau sens d’une certaine mesure m. Ces derniers sont appelés top-k [Tzvetkov et al., 2003] motifs.m se réfère généralement au seuil de fréquence minimale minsup.

Définition 23 Soient k et ℓmin deux entiers strictement positifs. Un motif p est top-k motif delongueur minimale ℓmin s’il existe au plus (k − 1) motifs ayant une longueur minimale ℓmin etun support supérieur à celui de p.

A partir de la définition 23, on peut reformuler la contrainte de top-k comme suit :

topk(p, k,m, ℓmin) ≡ |{p′ ∈ LI |p

′ 6= p ∧minSize(p′, ℓmin) ∧m(p′) > m(p)}| < k

où ℓmin est la longueur minimale du motif et m est la fréquence ou une autre mesure.

Exemple 14 Soit la base de séquences du tableau 1.2, avec k = 5 et ℓmin = 1, les top−5 motifsséquentiels sont : 〈B〉 : 4, 〈A〉 : 3, 〈C〉 : 3, 〈AB〉 : 3 et 〈BC〉 : 3.

C) Extraction des sous-groupes pertinents. Soit la paire (D+, D−) une bipartition deSDB. L’extraction des motifs pertinents consiste à extraire des motifs qui discriminent la basepositive (D+) de la base négative (D−) [Novak et al., 2009]. Cette contrainte peut être reformuléede la façon suivante :

subG(p,minsup) ≡

vrai si supD+(p) ≥ minsup ∧ ∄p′ ∈ LI :coverD+(p) ⊆ coverD+(p′) ∧

coverD−(p) ⊇ coverD−(p′) ∧

(coverSDB(p) = coverSDB(p′)⇒ p′ ⊑ p)

faux sinon

La dernière condition impose que si deux motifs couvrent exactement les mêmes séquencesdans la base SDB, le motif maximal est considéré comme pertinent.

Exemple 15 En considérant la base SDB1 de la Table 1.2. nous supposons que ses séquencessont divisées en deux classes : D+ = {s1, s2} et D− = {s3, s4}. Alors, si on impose la contrainteminSize(p, 2)∧subG(p, 2), le motif p = 〈ABC〉 n’est pas un motif pertinent car il existe un autremotif p′ = 〈AB〉 tel que : coverD+(p) ⊆ coverD+(p′).

Page 32: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.2. Extraction de motifs séquentiels 23

1.2.3 Approches de résolution

Dans cette section, nous passons en revue les différentes méthodes proposées pour l’extractionde motifs séquentiels. De même que les algorithmes proposés pour le problème de l’extractiondes motifs fréquents, les algorithmes conçus pour résoudre le problème EMS se basent aussi surla propriété d’anti-monotonie de la fréquence afin d’élaguer l’espace de recherche : une sous-séquence non fréquente ne peut pas mener vers une super-séquence fréquente. Ce principe estexploité par l’algorithme PrefixSpan, qui sera discuté dans la section suivante. Ces méthodesdiffèrent essentiellement par :

– La manière avec laquelle l’espace de recherche est parcouru (largeur ou profondeur d’abord),– La structure de données utilisée pour représenter la base de séquences (représentation

horizontale ou verticale),– La façon avec laquelle les motifs sont générés.

Cependant, les méthodes spécialisées peuvent être divisées en 3 grandes catégories :

1. Méthodes horizontales,

2. Méthodes verticales,

3. Méthodes basées sur la projection.

Dans ce qui suit, nous décrivons les principales méthodes 2 associées à ces trois catégories.Les deux premières catégories se basent sur le principe Apriori. D’autres méthodes basées sur laPPC seront discutées dans le chapitre 2.

1.2.3.1 Méthodes horizontales

GSP : l’algorithme pionnier. GSP [Srikant et Agrawal, 1996] est le premier algorithme proposépour l’extraction de motifs séquentiels. Il se base sur l’approche générer et tester. L’algorithmeeffectue plusieurs passes sur la base. Dans la première passe, l’algorithme détermine l’ensembledes items fréquents. Ensuite, la génération des candidats se fait en deux phases, en exploitantrécursivement, les k-motifs fréquents générés dans la passe précédente :

1. Phase de jointure. Un candidat est généré en effectuant une jointure entre deux (k − 1)-motifs, p1 et p2, si la sous-séquence obtenue en supprimant le premier item de p1 est lamême que celle obtenue en supprimant le dernier item de p2. Le motif candidat n’est quela séquence p1 étendue avec le dernier item de p2. L’item ajouté sera considéré soit commeun item individuel s’il a été dans p2 seul dans l’itemset, ou bien comme un item qui vaétendre le dernier itemset dans p1.

2. Phase d’élagage. Tout candidat contenant une (k − 1)-sous-séquence non fréquente serasupprimé car il ne peut pas être fréquent puisque la contrainte de fréquence est anti-monotone (cf. section 1.1.2.2). Pour générer les 2-motifs candidats, il suffit d’appliquer leproduit cartésien entre les différents items.

Exemple 16 Soit la base de séquences SDB1 du tableau 1.2 avec un minsup = 3. La phasede jointure des deux motifs p1 = 〈AB〉 et p2 = 〈BC〉 permet de générer le motif candidatpc = 〈ABC〉. Puisque la sous-séquence 〈AC〉 de pc n’est pas fréquente, pc ne peut être fréquent.

2. Il faut noter que les méthodes spécialisées traitent les bases de séquences d’itemsets.

Page 33: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.2. Extraction de motifs séquentiels 24

1.2.3.2 Méthodes verticales

(a) SPAM : la base de séquences est représentée sous forme de Bitmap. L’algorithmeSPAM (Sequential PAttern Mining) [Ayres et al., 2002] adopte une stratégie de recherche enprofondeur d’abord avec différentes techniques d’élagage, et une représentation de la base deséquences sous forme de bitmap afin de garantir un calcul de supports plus performant. Unebitmap pour chaque item dans la base est construite de telle sorte qu’un bit est associé pourchaque élément (itemset) dans chaque séquence de la base. La figure 1.2 illustre un exemple debase de séquences avec sa représentation en bitmap. La représentation en Bitmap d’un motif pest notée B(p).

sid séquence1 〈{a, b, d}{b, c, d}{b, c, d}〉

2 〈{b}{a, b, c}〉

3 〈{a, b}{b, c, d}〉(a) SDB2 : un exemple de base de séquences

sid eid {a} {b} {c} {d}

1 1 1 1 0 11 2 0 1 1 11 3 0 1 1 1− − 0 0 0 02 1 0 1 0 02 2 1 1 1 0− − 0 0 0 0− − 0 0 0 03 1 1 1 0 03 2 0 1 1 1− − 0 0 0 0− − 0 0 0 0

(b) Représentation de SDB2 sous forme debitmap

Figure 1.2 – Exemple de base de séquences avec sa représentation en Bitmap

Les motifs candidats sont stockés dans un arbre lexicographique. Chaque nœud dans cet arbrecontient une séquence sc qui a été obtenue en étendant la séquence s du nœud père. On peutavoir deux types d’extension :

– Extension de séquence avec l’opérateur Exts : un item est ajouté à la séquence s (sc =

Exts(s, i)). Par exemple, Exts(〈{a, b}〉, d) = 〈{a, b}, {d}〉,– Extension d’itemset avec l’opérateur Exti : un item est ajouté au dernier élément (itemset)

de s (sc = Exti(s, i)). Par exemple, Exti(〈{a, b}〉, d) = 〈{a, b, d}〉.La représentation bitmap du candidat sc, est obtenue en appliquant l’opérateur logique AND

entre celle de la séquence s et de l’item en question i. Dans le cas d’une extension de séquence,B(s) doit être transformée en une autre bitmap B′(s) en mettant tous les bits qui précèdentle premier bit égal à 1 dans B(s) à 0, puisque l’item est ajouté après la séquence s. Les autresbits doivent être égaux à 1. Il faut noter que le k-ème bit de B(sc) est égal à 1 si la positionfinale d’une certaine occurrence de s dans la séquence correspond à k. La figure 1.3 illustre cetteopération dans les deux cas. A chaque fois qu’un nouveau candidat sc est généré, son supportdoit être calculé afin d’en garder que les motifs fréquents.

Page 34: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.2. Extraction de motifs séquentiels 25

L’élagage des candidats se base sur le principe Apriori, si un motif candidat sc n’est pasfréquent, on n’a pas besoin à explorer ses super-motifs. En plus, dans ce cas, la liste des itemsfréquents permettant de faire l’extension peut être réduite afin de réduire le nombre de nœuds àexplorer dans l’arbre lexicographique.

〈{a}〉

10

0

0

0

1

0

0

1

0

0

0

〈{a}〉t01

1

1

0

0

1

1

0

1

1

1

&

〈{b}〉

1

1

1

0

1

1

0

0

1

1

0

0

Exts−→

〈{a}, {b}〉

0

1

1

0

0

0

0

0

0

1

0

0

&

{d}

11

1

0

0

0

0

0

0

1

0

0

Exti−→

〈{a}, {b, d}〉

0

1

1

0

0

0

0

0

0

1

0

0

Figure 1.3 – Génération des candidats par extension de séquence Exts, ensuite par extensiond’itemset Exti

(b) SPADE : la base de séquences est représentée sous forme de IdLists. Cet algo-rithme [Zaki, 2001] représente la base de séquences sous forme de listes d’occurrences d’événe-ments, appelé IdList. Donc, les candidats sont générés en appliquant une jointure sur ces listes,et le calcul de fréquence consiste à regarder la cardinalité des jointures. Il faut noter que lesalgorithmes qui se basent sur les listes d’occurrences gèrent d’une façon efficace la majorité descontraintes spatio-temporelles : Gap et durée (cf. section 1.2.2.1). Les listes d’occurrences sontconstituées de paires (sid, eid), où sid représente l’identifiant de la séquence dans SDB et eid estl’identifiant de l’élément (i.e. item ou itemset) dans la séquence (autrement dit, c’est la positionde l’élément dans la séquence). La figure 1.4 illustre les listes d’occurrences des items de la baseSDB2 (cf. Figure 1.2 (a)).

IdList(a)

sid eid1 1

2 2

3 1

IdList(b)

sid eid1 1

1 2

1 3

2 1

2 2

3 1

3 2

IdList(c)

sid eid1 2

1 3

2 2

3 2

IdList(d)

sid eid1 1

1 2

1 3

3 2

Figure 1.4 – Représentation des items de SDB2 (cf. figure 1.2 (a)) par une liste d’occurrences(IdList)

Page 35: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.2. Extraction de motifs séquentiels 26

Algorithme 2 : SPADE (SDB, minsup)Données : SDB : base de séquences ; minsup : seuil de fréquence minimaleRésultat : F : ensemble des motifs séquentielsdébutF ← ∅ ;F1 ← {1−motifs séquentiels (items fréquents)} ;1

F2 ← {2−motifs séquentiels} ;2

F ← F1 ∪ F2 ;3

C ← {[X]θ1 (classes d’équivalence avec un prefixe de taille 1) } ;4

pour chaque Ce ∈ C faire5

Enumerer-Frequent(Ce, F) ;6

finProcedure Enumerer-Frequent (Ce, F) ;début

pour chaque séquence Ai ∈ Ce faire7

T ← ∅;pour chaque séquence Aj ∈ Ce, telle que j > i faire8

Aij ← fusion(Ai, Aj) ;9

IdList(Aij)← Jointure-temporelle(IdList(Ai), IdList(Aj)) ;10

si support(Aij) > minsup alors11

T ← T ∪ {Aij} ;12

F ← F ∪ T ;13

Enumerer-Frequent(T , F) ;14

fin

Pour pallier au problème du stockage des IdLists qui nécessite beaucoup de mémoire, SPADEdivise l’espace de recherche en regroupant les motifs séquentiels selon des classes d’équivalencesdéfinies sur les suffixes, ce qui permet un traitement indépendant de ces classes. On dit que deuxk-motifs appartiennent à la même classe, s’ils partagent le même (k − 1)-suffixe [Zaki, 2000].Le pseudo-code de SPADE est illustré par l’algorithme 2. La première étape consiste à calculerles 1-séquences et 2-séquences fréquentes représentées par F1 et F2 respectivement. Ensuite,l’algorithme décompose F2 en classes d’équivalence en se basant sur le suffixe. Finalement, lagénération des autres motifs séquentiels se fait à partir de chaque classe, soit en adoptant unestratégie de recherche en profondeur ou en largeur d’abord. La génération des candidats se faiten appliquant une jointure temporelle sur les IdLists de chaque paire de séquences. Étant donnéeune classe d’équivalence sur le suffixe S, notée [S], elle peut contenir deux types d’éléments : unitemset de la forme XS ou une séquence de la forme Y → S. Cependant, on peut se retrouverdans l’un des cas suivants :

– itemset vs. itemset : la jointure entre XS et Y S mène vers l’itemset XY S,– itemset vs. séquence : la jointure entre XS et Y → S mène vers la séquence Y → XS,– séquence vs. séquence : la jointure entre X → S et Y → S permet d’avoir : un nouvel

Page 36: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.2. Extraction de motifs séquentiels 27

itemset XY → S et deux nouvelles séquences X → Y → S et Y → X → S. Un casparticulier est lorsqu’on joint la séquence X → S avec elle même, ce qui mène vers la seuleséquence X → X → S.

Maintenant, nous expliquons, comment faire la jointure temporelle entre les IdLists des sé-quences jointes. La jointure temporelle des IdLists de deux séquences p1 et p2 est obtenue encalculant les IdLists de la séquence pc obtenue en effectuant la fusion de p1 et p2. Plus précisément,pour chaque paire (sid1, eid1) ∈ IdList(p1) et (sid2, eid2) ∈ IdList(p2), telle que sid1 = sid2 eteid1 < eid2, la paire (sid1, eid2) est ajoutée à IdList(pc).

Exemple 17 Considérons les IdLists des items a et b données dans la figure 1.4. Ces deux itemsappartiennent à la classe d’équivalence [∅] puisqu’ils peuvent être considérés comme : a −→ ∅

et b −→ ∅. Joindre a avec b permet d’avoir les motifs suivants : ab, a → b et b → a. Parexemple, la IdList de ab est l’ensemble des paires (sid, eid) ∈ IdList(a) ∩ IdList(b). On obtientIdList(ab) = {(1, 1), (2, 2), (3, 1)}. La IdList de a→ b est donnée par l’ensemble : {(1, 1), (3, 1)}.

1.2.3.3 Méthodes par projection : PrefixSpan

La notion de base projetée (ou projection préfixée) a été introduite dans [Han et al., 2000].Les auteurs proposent un algorithme efficace, appelé PrefixSpan, pour l’extraction de motifsséquentiels basé sur le principe de projection. Il procède en divisant l’espace de recherche enpetits espaces en effectuant les projections sur les préfixes fréquents courants. L’extension de cespréfixes est faite par rapport à l’ensemble des items localement fréquents selon la base projetée.

Nous reprenons ici les définitions nécessaires pour introduire le principe de la projectionpréfixée [Pei et al., 2001].

Définition 24 (préfixe, projection, suffixe) Soient α = 〈α1 . . . αm〉 et β = 〈β1 . . . βn〉 deuxséquences (avec m ≤ n).

– La séquence α est un préfixe de β ssi ∀i ∈ [1..m], αi = βi.– La séquence β = 〈β1 . . . βn〉 est une projection de la séquence s par rapport à α, ssi (1)

β ⊑ s, (2) α est un préfixe de β et (3) il n’existe pas de sur-séquence propre β′ de β telleque β′ ⊑ s et α est un préfixe de β′.

– La séquence γ = 〈βm+1 . . . βn〉 est appelée suffixe de s par rapport au préfixe α. Ainsi, nousavons β = concat(α, γ), avec "concat" est l’opérateur standard de concaténation.

Exemple 18 Soit s1 = 〈ABCBC〉 la première séquence dans SDB1. Par exemple, la séquenceα = 〈AC〉 est un préfixe de β = 〈ACBC〉 et γ = 〈BC〉 est son suffixe. La séquence β = 〈ACBC〉

est la projection de la séquence s1 par rapport à α.

Définition 25 (Base projetée de séquences) Soit SDB une base de séquences. La base pro-jetée (ou α-projection) de SDB par rapport à α, notée SDB|α, est l’ensemble de tous les suffixesdes projections des séquences de SDB par rapport à α.

Exemple 19 Considérons la base de séquences du tableau 1.2, et les trois préfixes 〈A〉, 〈AB〉and 〈ABC〉. Nous avons :

– SDB1|<A> = {(1, 〈BCBC〉), (2, 〈BC〉), (3, 〈B〉)}.

Page 37: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.2. Extraction de motifs séquentiels 28

Algorithme 3 : PrefixSpan (SDB, minsup)Données : SDB : base de séquences ; minsup : seuil de fréquence minimaleRésultat : SP : ensemble des motifs séquentielsdébut

SP ← ∅ ;1

PrefixSpanProj (〈〉, SDB, minsup, SP ) ;2

finProcedure PrefixSpanProj (α, SDB|α, minsup, SP ) ;début

FreqItems ← items fréquents dans SDB|α par rapport à minsup permettant3

d’étendre α pour former une nouvelle séquence fréquente ;pour chaque a ∈ FreqItems faire4

α′ ← Ext(α, a) ;5

SP ← SP ∪ {α′} ;6

PrefixSpanProj (α′, SDB|α′ , minsup, SP ) ;7

fin

– SDB1|<AB> = {(1, 〈CBC〉), (2, 〈C〉), (3, 〈〉)}.– SDB1|<ABC> = {(1, 〈BC〉), (2, 〈〉)}.

Le pseudo-code de PrefixSpan, dans le cas de l’extraction de séquences d’items, est illustrédans l’algorithme 3. Initialement, la procédure PrefixSpanProj (ligne 2) est invoquée en intro-duisant le préfixe vide, la base SDB et le seuil de fréquence minimale minsup. Ensuite, la SDB

est scannée une fois (ligne 3) pour extraire l’ensemble des items fréquents qui serons considérésultérieurement comme des préfixes afin de construire des motifs séquentiels valides. Finalement,chaque item est ajouté au préfixe courant α (ligne 5) et puis la procédure PrefixSpanProj est re-lancée récursivement afin d’étendre le motif courant (ligne 7). De cette façon, lorsque l’algorithmePrefixSpan termine, il fournit l’ensemble complet des motifs séquentiels (i.e. SP ).

Exemple 20 Prenons l’exemple de la base de séquences de la Table 1.2. Lors de la premièreitération, la base de séquences fournie est celle de la Table 1.2. Supposons que minsup = 2.PrefixSpan commence par trouver les items fréquents. Pour cela, une passe sur la base de sé-quences SDB1 va permettre de collecter le nombre de séquences supportant chaque item rencontréet donc d’évaluer le support des items de la base. Les items trouvés sont (sous la forme <item> :support) : 〈A〉 : 3, 〈B〉 : 4 et 〈C〉 : 3. Ensuite, les séquences de SDB1 sont projetées en troissous-ensembles disjoints, puisqu’il y a trois préfixes de taille 1 (i.e. les trois items fréquents). Cessous-ensembles seront : (1) les motifs séquentiels ayant pour préfixe 〈A〉, (2) ceux ayant pourpréfixe 〈B〉 et (3) ceux ayant pour préfixe 〈C〉. Par exemple, la base projetée de SDB1 selon lepréfixe 〈A〉, notée SDB1|〈A〉, est composée de 3 suffixes : {(1, 〈BCBC〉), (2, 〈BC〉), (3, 〈B〉)}.

Une passe sur SDB1|<A> permet alors d’obtenir les motifs séquentiels de longueur 2 ayant 〈A〉pour préfixe commun : 〈AB〉 : 3 et 〈AC〉 : 2. Ainsi, de façon récursive, SDB1|<A> peut être

Page 38: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.2. Extraction de motifs séquentiels 29

sid séquence1 〈ABCBC〉

2 〈BABC〉

3 〈AB〉

4 〈BCD〉

SDB|〈A〉(1, 〈BCBC〉)

(2, 〈BC〉)

(3, 〈B〉)

SDB|〈B〉(1, 〈CBC〉)

(2, 〈ABC〉)

(3, 〈〉)

(4, 〈CD〉)

SDB|〈C〉(1〈BC〉)

(2〈〉)

(4, 〈D〉)

SDB|〈AB〉(1, 〈CBC〉)

(2, 〈C〉)

(3, 〈〉)

SDB|〈AC〉(1, 〈BC〉)

(2, 〈〉)

SDB|〈BB〉(1, 〈C〉)

(2, 〈C〉)

SDB|〈BC〉(1, 〈BC〉

(2, 〈〉)

(4, 〈C〉)

SDB|〈ABC〉(1, 〈BC〉)

(2, 〈〉)

SDB|〈BBC〉(1, 〈〉)

(2, 〈〉)

Figure 1.5 – Extraction des motifs séquentiels à partir de SDB1 en utilisant PrefixSpan(minsup = 2)

partitionnée en deux sous-ensembles : (1) les motifs séquentiels ayant pour préfixe 〈AB〉 et (2)ceux ayant pour préfixe 〈AC〉. Ces motifs peuvent alors former de nouvelles bases projetées, etchacune de ces bases peut être utilisée en entrée de l’algorithme, toujours de manière récursive.Ce processus de α-projection des bases projetées se termine lorsque aucun super-motif séquentielne peut être obtenu.

Afin de déterminer si une séquence γ est fréquente, nous devons calculer son support dans laSDB. Pour assurer un calcul incrémental, le support peut être obtenu à partir de la base projetéeselon un certain préfixe γ. La proposition 1 établit une propriété pour calculer le support d’uneséquence γ dans SDB|α [Pei et al., 2001].

Proposition 1 (Calcul de support) Pour toute séquence γ dans SDB ayant pour préfixe α

et pour suffixe β, avec γ = concat(α, β), supSDB(γ) = supSDB|α(β).

Cette proposition garantit que seules les séquences dans SDB obtenues par extension du

Page 39: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.2. Extraction de motifs séquentiels 30

motif α seront considérées pour le calcul du support de la séquence γ. En outre, seuls les suffixesde SDB|α doivent être considérés pour le calcul de ce support.

Exemple 21 Soient γ = 〈ABC〉 et α = 〈AB〉 deux séquences. Selon la proposition 1, nousavons supSDB1(γ) = supSDB1(concat(〈AB〉, 〈C〉)) = supSDB1|〈AB〉

(〈C〉). A partir de l’exemple

20, SDB1|〈AB〉 = {(1, 〈CBC〉), (2, 〈C〉), (3, 〈〉)}. Puisque l’item C apparaît dans la première et

la seconde séquence de SDB|〈AB〉, alors supSDB1(〈ABC〉) = supSDB1|〈AB〉(〈C〉) = 2.

1.2.3.4 Approches spécialisées pour EMSC

Le problème d’extraction de motifs séquentiels (la seule contrainte définie sur les motifs estcelle de la fréquence) a été largement étudié. Mais, moins de travaux ont porté sur l’extrac-tion de motifs sous contraintes. L’algorithme GSP était le premier algorithme qui a considéré lacontrainte de gap maximum et minimum, ainsi que la contrainte de durée. De nombreuses mé-thodes ont été proposées dans le contexte de EMSC, certaines d’entre elles, permettent d’imposerdifférentes contraintes sur les motifs, et d’autres sont des méthodes conçues spécialement pourtraiter des contraintes particulières. Dans cette section, nous présentons certains de ces travauxselon le type des contraintes traitées.

Contrainte de Gap. Zaki et al. [Zaki, 2000] proposent l’algorithme cSpade qui est une extensionde SPADE. cSpade permet de traiter différentes contraintes, nous expliquons pour chacune sonintégration dans SPADE (cf. algorithme 2) :

Longueur des motifs : afin de satisfaire les deux contraintes minSize(p, ℓmin) et maxSize(p, ℓ),il suffit d’ajouter une condition sur la longueur du motif Aij avant la ligne 10.

Appartenance d’items : Il suffit d’examiner la classe d’équivalence selon un certain suffixe, etgénérer une nouvelle classe seulement si elle contient les items spécifiés. Pour interdirel’apparition d’un item, il suffit de l’écarter de la classe mère.

Gap minimum : cette contrainte est intégrée plus facilement dans SPADE en la considé-rant lorsque les jointures temporelles sont effectuées. Par exemple, si on désire cal-culer IdList(A → B) avec un gap minimum M , et que nous avons les deux paires(sid, eid1) ∈ IdList(A) et (sid, eid2) ∈ IdList(A) telle que eid1 < eid2. Alors, (sid, eid1) ∈IdList(A→ B) seulement si eid2−eid1−1 ≥M . Par exemple, la paire (1, 1) de l’exemple 17est maintenue dans la IdList de a→ b avec M = 1.

Gap maximum : contrairement au gap minimum, cette contrainte nécessite quelques modifica-tions dans la méthode d’énumération. En fait, appliquer la jointure entre deux séquencesd’une certaine classe [S] qui vérifie la contrainte de gap maximum, ne mène pas forcémentvers une séquence qui assure aussi cette contrainte. Pour garantir la génération d’une sé-quence qui vérifie aussi cette contrainte, la jointure doit se faire récursivement par rapportà F2 jusqu’à ce que aucune extension fréquente ne soit possible. Plus précisément, pourétendre la séquence X → S qui fait partie de la classe [S], il faut la joindre avec toutes les2-séquences dans la classe [X]. Ainsi, pour chaque Z → X (ou ZX) dans [X], on génère lecandidat Z → X → S (ou ZX → S).

Page 40: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.2. Extraction de motifs séquentiels 31

Plus tard, une nouvelle approche basée sur une recherche en largeur CCSM [Orlando et Fos-cari, 2004] (Cache-based Constrained Sequence Miner) a été proposée. Elle adopte une nouvelleméthode permettant de calculer efficacement le support d’un candidat donné.

D’autres algorithmes on été proposés pour l’extraction d’un ensemble de motifs (i.e. patternsets) sous contrainte de gap. Dans [Li et al., 2012], les auteurs proposent Gap-BIDE qui traite lacontrainte de gap sur les motifs fermés. L’algorithme ConsGapMiner [Ji et al., 2007] a été proposépour l’extraction des sous-groupes pertinents qui sont des séquences minimales qui apparaissentfréquemment dans une classe de la base et moins fréquentes dans l’autre classe. Récemment,dans [Wang et al., 2014], les auteurs introduisent le concept de densité sur les sous-groupespertinents, et montrent l’intérêt d’une telle mesure dans plusieurs domaines d’application. Dansles deux travaux, Ji et al. [Ji et al., 2005] et Li et al. [Li et Wang, 2008], les auteurs étudient leproblème d’extraction de motifs sous contrainte de gap.

Contrainte d’expression régulière. Dans [Garofalakis et al., 2002], les auteurs ont pro-posé SPIRIT, un algorithme qui se base sur GSP pour l’extraction de motifs séquentiels sousla contrainte d’expressions régulières. Plus tard, l’approche SMA a été introduite dans [Trasartiet al., 2008], cette nouvelle approche, basée sur un type spécialisé de réseaux de Petri, permetde produire pour chaque séquence dans la base uniquement les sous-séquences satisfaisant l’ex-pression régulière donnée en entrée. Deux variantes de SMA ont été proposées : SMA-1P (SMA onepass) et SMA-FC (SMA Full Check). SMA-1P parcourt les séquences une par une, en stockant tousles motifs valides dans une table de hachage pour le calcul de leurs supports ; alors que SMA-FC

permet un élagage des motifs selon la fréquence durant la recherche.

Contrainte de fermeture. Contrairement au problème de l’extraction de motifs ensemblistes,il n’y a pas tant de méthodes dédiées pour l’extraction des motifs séquentiels fermés. Cela est pro-bablement dû à la complexité de ce problème. CloSpan (Closed sequential pattern mining) [Yanet al., 2003] est le premier algorithme qui a été proposé, c’est une extension de PrefixSpan quiexploite plusieurs techniques pour l’élagage de l’espace de recherche. Cet algorithme procède endeux étapes :

1. générer un ensemble de candidats qui seront stockés dans une structure sous forme d’unarbre de hachage,

2. éliminer les motifs candidats qui ne sont pas fermés en exploitant deux techniques : le préfixeen commun et l’élagage arrière des sous-séquences (i.e. backward sub-pattern pruning).

Cependant, CloSpan doit maintenir une liste de candidats et ensuite voir si la contrainte defermeture est vérifiée. Malheureusement, un algorithme de fouille adoptant une telle stratégierencontre nécessairement le problème du passage à l’échelle puisque le nombre de candidats peutaugmenter d’une façon considérable, ce qui mène vers une explosion au niveau de l’espace destockage. Généralement, on se retrouve dans une telle situation, lorsque le seuil de fréquenceminimale est faible ou lorsque la base contient de longues séquences fréquentes. Pour répondreà ce problème, une solution a été proposée dans l’algorithme BIDE [Wang et Han, 2004]. Cedernier, permet de générer les motifs séquentiels fermés sans maintien de candidats. En plus duprincipe de projection préfixée, BIDE adopte une nouvelle technique pour vérifier la contraintede fermeture, appelée extension Bi-Directionnelle : (i) Extension avant utilisée pour étendre le

Page 41: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.2. Extraction de motifs séquentiels 32

motif courant en vérifiant la contrainte de fermeture, (ii) Extension arrière utilisée à la fois pourvérifier la fermeture du préfixe, et élaguer l’espace de recherche en éliminant les items qui nepeuvent pas mener vers des motifs fermés. En plus, pour accélérer le processus de fouille, deuxtechniques ont été proposées : BackScan et ScanSkip.

Contrainte de top-k. L’extraction des top-k motifs est un problème qui a été largement étudiédans le contexte des itemsets [Cheung et Fu, 2004 ; Han et al., 2002]. De nouvelles approchespour l’extraction des top-k motifs fermés en se basant sur la technique FP-tree ont été aussiproposées dans [Wang et al., 2005 ; Pyun et Yun, 2014]. Dans le contexte des motifs séquentiels,Tzvetkov et al. ont proposé dans [Tzvetkov et al., 2003] le premier algorithme, appelé TSP, pourl’extraction des top-k motifs séquentiels ou motifs fermés ayant une certaine longueur ℓmin. Plustard, Fournier-Viger et al. ont proposé dans [Fournier-Viger et al., 2013] un autre algorithmeplus efficace appelé TKS. Nous détaillons dans ce qui suit ces deux algorithmes.

TSP exploite l’approche par extension qui se base sur PrefixSpan [Pei et al., 2001] pour l’ex-ploration de l’espace de recherche. Il procède en trois étapes. Initialement, il construit unepetite base projetée pour chaque préfixe de longueur l (l < ℓmin). Ensuite, il relâche aufur et à mesure la limitation sur le nombre de bases projetées construites. Finalement, ceprocessus est répété pour chaque motif généré. A chaque fois, lorsqu’une projection SDB|αest établie, où |α| = (ℓmin− 1), SDB|α est complètement calculé et les séquences extraitessont exploitées pour augmenter la valeur du support minsup. L’algorithme termine lorsquetoutes les bases projetées du niveau ℓmin avec un support supérieur à minsup sont complè-tement extraites. L’inconvénient de cette approche est que projection/balayage de la baseplusieurs fois est coûteux et ce coût devient énorme avec l’augmentation de la taille de labase.

TKS adopte une représentation verticale pour la base de séquences et la même procédure pour lagénération des candidats que SPAM. Il exploite aussi une liste additionnelle pour maintenir àn’importe quel moment l’ensemble des motifs qui peuvent être étendus afin de générer descandidats. Cette liste est utilisée pour la phase de mise à jour de minsup, en commençantpar étendre les motifs qui sont les plus fréquents. En outre, pour réduire le nombre decandidats lors de l’extension, TKS sauvegarde dans une table de hachage la liste des itemsqui ne sont pas fréquents lorsque la valeur de minsup est modifiée. Par ailleurs, il utiliseun autre mécanisme d’élagage qui se base sur une structure particulière appelée PrecedenceMap (voir [Fournier-Viger et al., 2013] pour plus de détails).

1.2.4 Discussion

Dans la section précédente, nous avons présenté les différentes méthodes proposées pourrésoudre le problème de l’extraction de motifs séquentiels sous contraintes. Mais, si ces mé-thodes sont efficaces, elles ne peuvent traiter que quelques classes particulières de contraintes(cf. tableau 1.3). Ces méthodes souffrent toutes de manque de généricité pour traiter et poussersimultanément plusieurs combinaisons de classes de contraintes. Ce manque de généricité est unfrein à la découverte de motifs pertinents car la prise en compte de nouvelles contraintes ou leur

Page 42: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.3. Extraction de sous-graphes fréquents 33

Con

trainte

GSP

PrefixSpan

SPADE

SPAM

SPIRIT

SMA

CloSpan

BIDE

TSP

TKS

Fréquence minimale ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓

Appartenance d’items ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘

Gap ✓ ✓

Expression régulière ✓ ✓

Fermeture ✓ ✓ ✓

top-k ✓ ✓

Sous-groupes pertinents ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘

Table 1.3 – Contraintes considérées par les méthodes spécialisées

combinaison avec d’autres types de contraintes nécessite la conception et le développement deméthodes spécialisées.

Pour lever ce frein, nous proposons dans le chapitre 4 notre première contrainte globalequi permet d’extraire l’ensemble des motifs séquentiels vérifiant la contrainte de longueur, lacontrainte d’items et la contrainte d’expression régulière. Ensuite, nous proposons une approchese basant sur cette contrainte pour l’extraction des top-k motifs séquentiels. Toutefois, les algo-rithmes dédiés que nous venons de présenter, diffèrent de notre approche selon la méthode demis à jour du support et du parcours de l’espace de recherche. Enfin, afin de traiter la contraintede gap, nous proposons dans le chapitre 5 d’étendre notre contrainte globale pour prendre encompte cette contrainte.

1.3 Extraction de sous-graphes fréquents

Les graphes deviennent de plus en plus incontournables pour la modélisation des donnéescomplexes telles que : les circuits, les images, les composants chimiques, les structures de pro-téines, les réseaux biologiques, les réseaux sociaux, le web et les documents XML. De nombreuxalgorithmes de recherche dédiés aux graphes ont été développés dans le domaine de la chimie,la vision par ordinateur, l’indexation des vidéos et la recherche de texte. Le besoin à l’analysede ces données structurées rend la fouille de graphes un thème de recherche très actif et impor-tant. Ainsi, la fouille de graphes représente l’ensemble des techniques permettant d’extraire desinformations utiles sur l’aspect relationnel d’un ensemble de données représenté sous forme degraphes. Parmi les différents types de motifs à extraire, les sous-graphes fréquents sont les motifsde base qui peuvent être obtenus à partir d’une collection de graphes. Ces derniers sont utilespour : caractériser un ensembles de graphes, discriminer les différents groupes de graphes, classerou faciliter la recherche de similarité dans une base de graphes.

Dans cette thèse, nous traitons le problème de découverte de sous-graphes fréquents dans unebase de graphes. Ce problème consiste à extraire tous les sous-graphes ayant une fréquence quidépasse un certain seuil minsup dans l’ensemble des graphes de la base. La résolution d’un telproblème devient importante dans de nombreux domaines d’application y compris la classificationdes composants chimiques, le web sémantique, l’analyse des fichiers XML et l’indexation desimages.

Ces dernières années, de nombreux algorithmes ont été développés pour résoudre ce problème

Page 43: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.3. Extraction de sous-graphes fréquents 34

dont le but est de réduire sa complexité. Gaston [Nijssen et Kok, 2005] est considéré comme unoutil puissant permettant de résoudre ce problème d’une manière efficace. Mais, dans le cas desbases de graphes denses, contenant beaucoup de cycles, Gaston souffre de quelques difficultés quile rendent ainsi incapable de terminer la recherche dans un temps raisonnable. Ce dernier pointmotive ce travail à mettre en évidence ces difficultés, et de proposer d’autres démarches afinde traiter efficacement de grandes bases de graphes denses. Avant de détailler ce problème, nousdonnons les définitions liées aux graphes nécessaires pour la compréhension de notre contribution.

1.3.1 Terminologie liée aux graphes

Nous présentons dans cette section l’ensemble des termes utilisés par la communauté fouillede graphes et exploités dans ce travail. Ces définitions ont été introduites dans [Zampelli, 2008].

Définition 26 (Graphe étiqueté) Un graphe étiqueté est représenté par un 4-uplet G =

(S,A, L, l) tels que S est l’ensemble des sommets, A ∈ S × S est l’ensemble des arêtes, L estl’ensemble des labels, et l : S ∪A→ L est une fonction qui attribue pour chaque arête ou sommetune étiquette. Une arête (u, v) est une paire de sommets. Dans un graphe orienté, les arêtes ontune direction et sont dénommées arcs. Alors dans ce cas, l’arc (u, v) n’est pas équivalent à l’arc(v, u). La fonction deg : S → N+ est la fonction qui calcule le degré d’un sommet u ∈ S. Lafonction adj : S → S est la fonction qui calcule les sommets adjacents à u ∈ S.

Dans le reste du chapitre, nous utiliserons la notation G = (S,A) pour représenter un grapheétiqueté non-orienté.

Définition 27 (Chemin) Soit G = (S,A) un graphe non orienté. Une chaîne allant de x1 versxk dans G est une suite x1, e2, x2, . . . , xk−1, ek, xk alternant les sommets de G(xi ∈ S, 1 ≤ i ≤ k)et arêtes de G(ei = (xi−1, xi)) ∈ A, 2 < i < k tels que deux arêtes consécutives sont incidentes((xi−1, xi) ∩ (xi, xi+1)).

Nous appelons le premier sommet d’un chemin son sommet de départ et le dernier sommetson sommet d’arrivée. Un chemin est élémentaire s’il ne passe pas plus d’une fois par la mêmearête.

Définition 28 (Cycle) Un chemin élémentaire est un cycle si son sommet de départ est lemême que son sommet d’arrivée.

Définition 29 (Arbre) Un arbre est un graphe connexe ne comportant aucun cycle commesous-graphe.

Définition 30 (Graphe cyclique) Un graphe cyclique est un graphe qui comporte au moinsun cycle.

Définition 31 (Graphe dense) Soit G = (S,A) un graphe non orienté. La densité du grapheG, notée D, est défini par : D(G) = 2|A|/(|S|(|S| − 1)). (|S|(|S| − 1)/2) représente le nombred’arêtes dans un graphe complet. Soit γ un seuil de densité minimale telle que 0 < γ ≤ 1. On ditque le graphe G est dense si D(G) ≥ γ. La valeur attribué à γ dépend de chaque contexte.

Page 44: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.3. Extraction de sous-graphes fréquents 35

Il est clair que la formule de D calcule la proximité du nombre d’arêtes existantes par rapportau nombre total d’arêtes qu’on peut avoir dans ce graphe. Ainsi, la densité d’un graphe estfortement liée au nombre de cycles qui existent dans le graphe. Elle augmente avec l’augmentationdu nombre de cycles.

Exemple 22 Supposons que nous voulions représenter des relations sociales. Un réseau socialest composé de personnes, et certaines personnes connaissent d’autres personnes. Donc, chaquepersonne est considéré comme un élément du graphe, et deux personnes sont reliées par une arêtesi ces deux personnes se connaissent. Par ailleurs, les points peuvent être marqués, par exemple,par le nom ou le prénom de la personne. Les arêtes peuvent être également étiquetées afin dedésigner le type de la relation qui existe entre deux personnes, par exemple Famille ou Ami. Lafigure 1.6 illustre un exemple de graphe représentant un sous-réseau social.

1Amina

2Omar 3 Ahmed

4 Amel 5 Mohammed

(G1)

Figure 1.6 – Dans ce réseau social, deux personnes sont reliées par une arête si ces deuxpersonnes se connaissent

1.3.2 Appariement de graphes

L’appariement de graphes (ou correspondance entre graphes) est l’identification d’un sous-graphe motif dans un graphe cible. On peut se retrouver dans l’un des deux cas suivants :

1. Déterminer si deux graphes sont identiques,

2. Déterminer si un graphe est inclus dans un autre graphe.

Le premier est le problème d’isomorphisme de graphe (cf. définition 32), et le deuxième estle problème d’isomorphisme de sous-graphe (cf. définition 35). Dans cette section, nous allonsmontrer que ces deux problèmes sont plus difficiles que la manipulation de motifs ensemblistesou de séquences.

Définition 32 (Isomorphisme de graphes) Soient deux graphes Gm = (Sm, Am) et Gc =

(Sc, Ac) avec Sm et Sc contiennent le même nombre de sommets. Il s’agit de trouver une fonctiond’appariement f : Sm → Sc bijective telle que :∀(u, v) ∈ Sm×Sc, (u, v) ∈ Am ⇒ (f(u), f(v)) ∈ Ac. Cet appariement est appelé isomorphisme

de graphe.

Définition 33 (Automorphisme d’un graphe) Un automorphisme d’un graphe G = (S,A)

est une permutation σ de l’ensemble des sommets S, ∀(u, v) ∈ A, σ(e) = (σ(u), σ(v)) ∈ A. C’estun isomorphisme du graphe G avec lui-même.

Page 45: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.3. Extraction de sous-graphes fréquents 36

Un graphe G′ = (S′, A′) est dénommé sous-graphe de G(G′⊑G) si S′ ⊆ S et A′ ⊆ A. Si∀v1, v2 ∈ S′ : (v1, v2) ∈ A⇒ (v1, v2) ∈ A′ alors les sommets S′ induisent le sous-graphe G′ dansG. On dit que le graphe G′ est induit par S′.

A

B

C

D

E

F

G

H

(G2)

1 2

34

5 6

78

(G3)

Figure 1.7 – Deux graphes isomorphes. Un isomorphisme de (G2) vers (G3) : f(A) = 1, f(B) =

6, f(C) = 8, f(D) = 3, f(E) = 5, f(F ) = 2, f(G) = 4, f(H) = 7

Dans le problème d’isomorphisme de graphes, on se pose la question suivante : étant don-nés deux graphes, sont-ils structurellement équivalents ? En d’autres termes, les identifiants dessommets sont-ils importants ? La figure 1.7 montre bien que la réponse à une telle question n’estpas assez simple. Malgré les différentes représentations des deux graphes (G2) et (G3), ils ont lamême structure, donc ils représentent le même graphe. Un graphe possède un grand nombre dereprésentations topologiquement identiques, i.e. graphes isomorphes, obtenues en renumérotantses sommets.

Le problème d’isomorphisme de graphes est un problème NP mais il n’a pas été démontréqu’il est NP-complet [Garey et Johnson, 1990]. L’algorithme le plus efficace pour le résoudreest NAUTY décrit dans [McKay, 1981]. En général, on peut distinguer deux classes principalesd’approches pour résoudre le problème d’isomorphisme de graphes :

1. L’appariement exact, qui consiste à faire une recherche de l’isomorphisme entre les deuxgraphes,

2. La représentation canonique, qui transforme un graphe sous une forme canonique identiquepour tous les graphes qui lui sont isomorphes. Cet encodage est décrit dans la définition 34.

Les algorithmes d’appariement exact ont l’avantage d’être faciles à implémenter et à com-prendre que ceux de l’étiquetage canonique. Dans certains cas, ils peuvent être adaptés pour larésolution du problème de l’isomorphisme de sous-graphes [Ullmann, 1976].

Définition 34 (Encodage canonique) Une fonction d’encodage canonique φ est une fonctionqui attribut un code à un graphe donné. Ce code permet de représenter les propriétés structurellesdu graphe sous forme d’une séquence de bits, de chaînes de caractères ou une séquence de nombres.La fonction d’encodage φ est dite canonique lorsque pour n’importe quelle paire de graphes G1 etG2, nous avons :

G1 et G2 sont isomorphes ssi φ(G1) = φ(G2)

Page 46: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.3. Extraction de sous-graphes fréquents 37

Développer des algorithmes pour calculer efficacement l’encodage canonique d’un graphe estun point crucial pour le problème de découverte de sous-graphes fréquents, afin d’appréhenderdes bases de graphes denses et de grande taille (cf. section 1.3.3). La difficulté de trouver la re-présentation canonique d’un graphe peut être réduite lorsque le graphe possède un grand nombred’étiquettes de sommets et d’arêtes différentes. On peut ainsi, à l’aide de ces étiquettes, établirun ordre partiel sur les sommets du graphe, et dans le calcul de la représentation canonique,se limiter aux permutations des sommets respectant cet ordre. Dans le cas extrême où tousles sommets ont des étiquettes différentes, on peut simplement ordonner les sommets par ordrecroissant d’étiquettes, et prendre la représentation canonique provenant de cet ordre. Mais, gé-néralement les graphes utilisés en pratique ne sont pas limités à une forme particulière, alors denombreux encodages canoniques ont été proposés pour représenter d’une façon unique n’importequel graphe sans se limiter à un type particulier [Desrosiers, 2008].

Lorsqu’il s’agit de déterminer si le graphe motif est inclus dans un graphe cible, on parle deproblème d’isomorphisme de sous-graphes qui est décrit dans la définition 35.

Définition 35 (Isomorphisme de sous-graphes (SIP)) Le problème de l’isomorphisme desous-graphe entre un graphe motif Gm = (Sm, Am) et un graphe cible Gc = (Sc, Ac) consiste àdécider si Gm est isomorphe à un sous-graphe de Gc. Plus précisément, il s’agit de trouver unefonction injective f : Sm → Sc, qui associe un nœud cible différent à chaque nœud motif, et quipréserve les arêtes du motif, à savoir, ∀(u, v) ∈ Am, (f(u), f(v)) ∈ Ac. La fonction f est appeléefonction de sous-isomorphisme.

1

2 3 4

5

Graphe motif (Gm)

A

B C D

F

G

E

Graphe cible (Gc)

Figure 1.8 – Une instance du problème d’isomorphisme de sous-graphe

Le problème d’isomorphisme de sous-graphes est NP-complet [Garey et Johnson, 1990]. Dif-férentes approches ont été proposées pour le résoudre, on peut les répartir en deux classes :(1) Méthodes dédiées. L’algorithme d’Ullmann [Ullmann, 1976] est parmi les premiers algo-rithmes dédiés pour la résolution du problème SIP. Il inclut une phase de prétraitement sur lesdegrés des nœuds et adopte un algorithme de parcours en profondeur. L’espace de recherche estréduit en maintenant une consistance d’arc sur les contraintes. Un autre algorithme, démontréplus performant que celui d’Ullmann, est vflib [Cordella et al., 1999]. Cet algorithme se base surle principe du backtrack. Chaque graphe est représenté par une matrice de distance qui permetd’établir un partitionnement initial de l’ensemble des sommets. Cette matrice est exploitée dans

Page 47: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.3. Extraction de sous-graphes fréquents 38

une procédure de backtrack afin de réduire l’espace de recherche. Malgré que cet algorithme negarantit pas une exécution en temps polynomial, il est efficace sur des graphes de grandes tailles.Cependant, ces algorithmes dédiés souffrent de quelques verrous, ils ne peuvent pas être exploitésdirectement pour résoudre des problèmes plus généraux, avec des contraintes additionnelles, oule problème d’isomorphisme de sous-graphes approximatif, comme celui introduit dans [Zampelliet al., 2005].(2) Méthodes PPC. Une alternative élégante pour résoudre les verrous liés aux approchesdédiées consiste à exploiter la programmation par contraintes (PPC) 3, qui fournit un cadregénérique pour la résolution de tout problème formulé en terme de contraintes. Un problèmed’isomorphisme de sous-graphe peut être facilement formulé sous forme d’un CSP(X,D,C) telque [Régin, 1994 ; Rudolf, 2000 ; Larrosa et Valiente, 2002] :

– Une variable Xu est associée pour chaque sommet u du graphe motif Gm, i.e., X = {Xu|u ∈

Sm},– Le domaine de chaque variable Xu est l’ensemble des sommets du graphe cible Gc. Le

domaine D(Xu) peut être réduit à l’ensemble des sommets cibles dont le degré est supérieurou égal au degré de u, i.e.,

D(Xu) = {u′ ∈ Sc|deg(u) ≤ deg(u′)}

– L’appariement des arêtes est assuré par un ensemble de contraintes binaires, appeléesc2 [Larrosa et Valiente, 2002] :

∀(u, v) ∈ Sm × Sm, c2(Xu, Xv) ≡ ((u, v) ∈ Am ⇒ (Xu, Xv) ∈ Ac)

Il est clair que cette modélisation permet d’exprimer, plus simplement, n’importe quellecontrainte sur les sommets ou les arêtes. Mais, avec une telle reformulation, le problème SIPest décomposé en plusieurs contraintes binaires, ce qui mène vers une résolution moins effi-cace par rapport aux approches dédiées. Afin d’améliorer les performances, la contrainte globaleAll-different [Régin, 1994] a été intégrée dans l’ensemble des contraintes, pour interdire à ceque deux variables soient instanciées à la même valeur. Plus tard, Larrosa et Valiente ont proposédans [Larrosa et Valiente, 2002] un algorithme de filtrage (appelé nRF+) dédié au problème SIP.Ils ont montré que la combinaison entre cet algorithme de filtrage avec les contraintes binairesc2 et la contrainte globale All-different permet de résoudre efficacement des instances plusdifficiles.

Dans [Zampelli et al., 2007 ; Zampelli et al., 2010], les auteurs proposent la contrainte globalesip(Gm, Gc, L), telle que L représente un ensemble de |S| paires de la forme (Xu, u) où Xu estune variable du CSP et u est une valeur de Sm, et pour n’importe quelles deux paires (Xu, u)

et (Xv, v) de L, Xu 6= Xv ∧ u 6= v. La contrainte sip est consistante si et seulement s’il existeune fonction d’isomorphisme f : Sm → Sc telle que ∀(Xu, u) ∈ L, ∃u′ ∈ D(Xu), u

′ = f(u).Un algorithme de filtrage itératif (appelé ILF(k)) est associé à cette contrainte. L’idée de cetalgorithme est d’étiqueter chaque sommet en fonction de ses relations avec les autres sommetsdu graphe. Cet étiquetage peut être renforcé en ajoutant des informations sur les sommets voisinsde chaque sommet. Un tel renforcement peut être effectué itérativement jusqu’à l’obtention d’unpoint fixe. Par exemple, si l’étiquetage initial est défini en fonction des degrés des nœuds, les

3. Les principes de la programmation par contraintes sont présentés dans la section 2.1 du chapitre 2.

Page 48: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.3. Extraction de sous-graphes fréquents 39

domaines des variables peuvent être réduits, en gardant dans le domaine de Xu que les nœudscompatibles données par l’ensemble {v ∈ Sc|deg(u) ≤ deg(v)}.

Plus tard, un nouveau filtrage a été proposé par Solnon [Solnon, 2010], appelé LAD (LocalAllDiff). Il exploite la contrainte de voisinage suivante :

Xu = v ⇒ ∀u′ ∈ adj(u), Xu′ ∈ adj(v) ∧ all-different({Xu′ |u′ ∈ adj(u)})

Cette contrainte est propagée en recherchant un couplage maximal dans un graphe biparticonstruit pour chaque couple de nœuds (u, v) tel que u ∈ Sm et v ∈ D(Xu). Ce graphe bipartiest construit par les deux ensembles de sommets suivants : l’ensemble S1 des sommets adjacentsà u et l’ensemble S2 des sommets adjacents à v. Une arête est construite entre u′ ∈ S1 et v′ ∈ S2

si v′ ∈ D(Xu′). Deux exemples de graphes bipartis associés au sommet 1 du graphe Gm de lafigure 1.8 sont illustrés dans la figure 1.9. S’il n’existe aucun couplage couvrant adj(u), alors lesnœuds adjacents à u ne peuvent pas être appariés à des nœuds différents adjacents à v, doncv peut être supprimé de D(Xu). Dans notre exemple, il n’existe pas de couplage dans G(1,E)

couvrant adj(1) (cf. figure 1.9). Par conséquent, E peut être enlevé de D(X1). L’auteur a montréque ce filtrage est plus fort que nRF+ et assure la même cohérence que la variante la plus fortede ILF (k) [Solnon, 2010].

2

3

4

A

B

D

G(1,C)

2

3

4

A

B

G

G(1,E)

Figure 1.9 – Exemples de graphes bipartis associés au sommet 1 du graphe Gm de la figure 1.8

Le problème de découverte de sous-graphes fréquents repose sur (i) le problème d’isomor-phisme de graphes afin d’assurer que le même graphe soit généré une et une seule fois, (ii) leproblème d’isomorphisme de sous-graphes qui permet de calculer la fréquence d’un graphe candi-dat généré au cours de la recherche. Dans la section suivante, nous abordons en détail ce problèmequi représente l’une des problématiques traitées dans cette thèse.

1.3.3 Problème de découverte de sous-graphes fréquents

Définition 36 (Découverte de sous-graphes fréquents) Soient GDB = {G1, ..., Gn} unensemble de graphes étiquetés non-orientés appelés transactions, et minsup un seuil de fré-quence minimale. Le problème de découverte de sous-graphes fréquents EMG consiste à trouverl’ensemble des sous-graphes qui apparaissent dans au moins minsup graphes de GDB, i.e.,

F = {SG ⊑ G,G ∈ GDB|supGDB(SG) ≥ minsup}

Page 49: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.3. Extraction de sous-graphes fréquents 40

1

2 3

4 5

(G4)

1

2 3

4 5

(G5)

1

2 3

4 5

6

(G6)

Figure 1.10 – Exemple d’une base de graphes GDB1

Exemple 23 La figure 1.10 illustre un exemple de base de graphes GDB1 composée de troisgraphes non étiquetés (G4), (G5) et (G6). Soient le graphe (G1) de la figure 1.6 (sans considérerles étiquettes) et un seuil de fréquence minimale minsup = 66%. Le graphe (G1) apparaît dansles graphes (G4) et (G6) : G1 ⊑ G4 et G1 ⊑ G6, donc son support vaut 2 (supGDB1(G1) = 2) etsa fréquence est de 2/3 = 66% (freqGDB1(G1) = 66%). On dit que le graphe (G1) est un motiffréquent.

Généralement, on peut classifier les méthodes de génération de sous-graphes fréquents selontrois éléments : l’espace de recherche, la stratégie d’exploration de cet espace et la façon dontces méthodes gèrent les problèmes d’isomorphisme de graphes et de sous-graphes. La figure 1.11illustre l’espace de recherche contenant tous les sous-graphes connexes d’au plus trois sommetsdont les étiquettes peuvent être x ou y. On peut remarquer que la taille de l’espace de rechercheest liée au nombre d’étiquettes ainsi qu’à la taille maximale des graphes de la base. Il est clairque le choix de la stratégie d’exploration de l’espace de recherche est un élément important lorsde la conception d’un algorithme de découverte de sous-graphes fréquents.

Le processus de découverte de sous-graphes fréquents est divisé en deux étapes :– La génération des candidats : Cette étape dépend de la stratégie de recherche adoptée (en

largeur ou en profondeur). Elle est réalisée en appliquant des extensions sur les motifsfréquents. A partir d’un motif fréquent G = (S,A), un nouveau candidat est obtenu dedeux façons différentes :

1. En ajoutant une nouvelle arête (étiquetée le) entre deux sommets existants deG (v1, v2 ∈ S), en appliquant l’opérateur Exte. Donc, le nouveau motif G′ =

Exte(G, (v1, v2, le)),

2. En ajoutant une nouvelle arête (étiquetée le) entre un sommet vi ∈ S et un nouveausommet (étiqueté ln), en appliquant l’opérateur Extn. Donc, le nouveau motif G′ =Extn(G, (vi, le, ln)).

– Le calcul de support pour chaque candidat : Cette étape est assurée en faisant appel auproblème d’isomorphisme de sous-graphes entre le candidat et chaque graphe de la baseGDB.

Suivant ces deux étapes, deux problématiques peuvent être rencontrées :– Générer les sous-graphes sans doublons : il est nécessaire d’assurer que chaque can-

didat soit généré une seule fois afin de réduire l’espace de recherche et par conséquentréduire le temps de résolution. La figure 1.11 montre clairement qu’un sous-graphe peut

Page 50: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.3. Extraction de sous-graphes fréquents 41

x x

x

x y

x

y y

x

y y

y

x

x

x x

x

y x

x

y x

y

y x

y

y y

y

y

x x x y y y

x y

Figure 1.11 – L’espace de recherche contenant tous les sous-graphes candidats avec au plus troissommets et deux étiquettes de sommets x et y

être généré à partir de plusieurs graphes. Cependant, cela est réalisé en faisant appel auproblème d’isomorphisme de graphes afin de ne pas explorer plusieurs fois le même motif.

– Détecter si un candidat est un sous-graphe d’un graphe de la base : puisquele problème d’isomorphisme de sous-graphes est NP-complet, il faut limiter le nombre detests d’isomorphisme de sous-graphes. Généralement, cela devient possible en exploitantles connaissances acquises dans les tests précédents.

Nous avons présenté dans la section 1.1.2.2, la propriété d’anti-monotonie qui permet d’éla-guer l’espace de recherche. Cette propriété reste valide lorsque les éléments de la base sont desgraphes. Par conséquent, la contrainte de fréquence est anti-monotone par rapport à la relationd’inclusion entre graphes, qui peut être reformulée comme suit : Soient G et G′ deux graphesalors :

G ⊑ G′ ⇒ supGDB(G) ≥ supGDB(G′)

L’anti-monotonie de la fréquence permet de dériver deux propriétés intéressantes pour l’ex-traction de sous-graphes fréquents :

1. Si G est un sous-graphe fréquent dans GDB selon le seuil de fréquence minsup alors toutsous-graphe de G est un sous-graphe fréquent dans GDB selon minsup,

2. Si un sous-graphe G n’est pas fréquent, il est inutile d’explorer ses super-graphes G′

(G ⊑ G′).

De nombreux algorithmes existent pour résoudre le problème EMG. Certains résolvent ceproblème pour des types de graphes particuliers comme des chaînes [Agrawal et Srikant, 1995 ;

Page 51: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.3. Extraction de sous-graphes fréquents 42

Zaki, 2001], des arbres [Xiao et al., 2003 ; Zaki, 2005], ou encore des graphes planaires [Horváthet al., 2006]. Ce sont des problèmes plus simples, car il existe des algorithmes polynomiaux plusefficaces pour résoudre l’isomorphisme et le sous-isomorphisme de ces graphes particuliers. Lesméthodes que nous allons présenter dans la suite de cette section sont des méthodes qui traitentle cas général de graphes étiquetés quelconques. Nous distinguons deux catégories de méthodes :méthodes avec parcours en largeur et d’autres avec un parcours en profondeur.

1.3.3.1 Méthodes basées sur un parcours en largeur

Les méthodes en largeur sont basées sur l’algorithme Apriori (cf. algorithme 1). Elles ex-plorent l’espace de recherche niveau par niveau, ou chaque niveau renferme des sous-graphesayant une arête ou un sommet de plus que les sous-graphes du niveau précédent. Les sous-graphesfréquents sont obtenus en trois étapes :

1. Génération des sous-graphes candidats du niveau 4 (k + 1) en joignant des paires de sous-graphes fréquents du niveau k,

2. Vérification de la fermeture descendante des graphes candidats, i.e. tous leurs sous-graphesde taille k doivent être fréquents,

3. Calcul du support des candidats, i.e. leurs fréquences dans la base de graphes, afin degarder que ceux qui sont fréquents.

Ces étapes sont répétées jusqu’à ce qu’un niveau ne contienne aucun sous-graphe fréquent.Les algorithmes de ce type souffrent typiquement de trois problèmes :

1. La jonction de deux sous-graphes fréquents de taille k exige le calcul du sous-graphe com-mun de taille (k − 1),

2. La génération des candidats produit un grand nombre de graphes isomorphes, alors un testd’isomorphisme est nécessaire,

3. Cette technique demande de stocker les sous-graphes fréquents dans chaque niveau, ce quiest gourmand en mémoire.

Nous présentons ci-dessous quelques algorithmes se basant sur ce principe.AGM [Inokuchi et al., 2000] AGM (Apriori-based Graph Mining) est le premier algo-

rithme proposé pour résoudre ce problème et il a la particularité d’être le seul à utiliser la notionde sous-graphe induit 5. Cet algorithme consiste en une adaptation de l’algorithme Apriori. Lesgraphes sont représentés par leur matrices d’adjacence et l’algorithme propose une fonction dejointure qui, à partir de deux matrices de niveau (k−1), produit une matrice de niveau k. Ensuite,il vérifie que tous les sous-motifs de niveau (k− 1) sont bien fréquents et si c’est le cas, il calculela fréquence du motif candidat. Les deux principaux problèmes d’AGM sont l’espace mémoireutilisé qui augmente de manière exponentielle avec k et la fonction de jointure qui construit ungrand nombre de fois des motifs identiques.

FSG [Kuramochi et Karypis, 2001] L’algorithme FSG a été proposé afin de corrigerquelques défauts de la méthode AGM. Ici, les motifs considérés sont des sous-graphes connexes.

4. Dans le cas des graphes, un motif de niveau k est un graphe de k arêtes.5. Les sous-graphes générés peuvent être connexe ou non connexe.

Page 52: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.3. Extraction de sous-graphes fréquents 43

Premièrement, deux motifs isomorphes seront forcément considérés comme un même motif. En-suite, l’opération de jointure permet de diminuer le nombre de candidats qui sont générés defaçon redondante, cependant il ne les supprime pas tous. Enfin, il améliore la phase de calcul dela fréquence en associant à chaque motif la liste des transactions qui le contiennent. Lorsqu’unk-motif candidat est généré, l’algorithme vérifie que tous ses sous motifs de niveau (k − 1) sontfréquents et si c’est le cas, il fait l’intersection des listes des occurrences de ces (k − 1)-motifs.Soit l’intersection des transactions qui contiennent ses sous-motifs ne permet pas de dépasserle seuil de fréquence fixé, soit il faut vérifier l’isomorphisme de ce motif pour les transactionsen question. Par rapport à AGM, cela permet de réduire le nombre de tests d’isomorphisme desous-graphes effectués afin d’avoir une complexité meilleure.

1.3.3.2 Méthodes basées sur un parcours en profondeur

Algorithme 4 : Extension (G, GDB, minsup, F)

Données : G : graphe fréquent ; GDB : base de graphes ; minsup : seuil de fréquence minimaleRésultat : F : ensemble de sous-graphes fréquents obtenus à partir de G

débutF ← ∅ ;Extesntion(G, GDB, minsup, F) ;

fin

Procedure Extension (G, GDB, minsup, F) ;début

si G ∈ F alors1

retourner

F ← F ∪ {G} ;2

Extraire à partir de GDB toutes les arêtes e qui permettent d’étendre G à G′ (G′ = Ext(G, e)

;pour chaque G′ = Ext(G, e) fréquent faire

Extension(G′, GDB, minsup, F) ;retourner F ;

fin

Dans une recherche en profondeur on travaille avec un seul sous-graphe à la fois, dont tousles prolongements sont explorés avant d’explorer un autre sous-graphe de la même taille. L’al-gorithme 4 illustre le principe d’extension d’un graphe G, en ajoutant une arête e, pour formerun nouveau graphe candidat G′ = Ext(G, e). L’algorithme réalise récursivement toutes les ex-tensions possibles à partir d’un graphe G. Il s’arrête s’il y a plus d’arêtes permettant d’étendrele graphe courant.

Parmi les avantages d’une telle stratégie, elle nécessite moins de mémoire et elle permetd’élaguer un grand nombre de graphes non-fréquents lorsque le sous-graphe courant n’est pasfréquent. Ce type de recherche permet d’exploiter des techniques incrémentales pour le calcul dusupport au lieu de résoudre le problème d’isomorphisme de sous-graphes pour chaque candidat.Les algorithmes utilisant une stratégie en profondeur sont nombreux. Dans ce qui suit, nousallons détailler en particulier les deux méthodes gSpan et Gaston, et donner un aperçu sur leprincipe de FFSM.

Page 53: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.3. Extraction de sous-graphes fréquents 44

(a) gSpan. Cette approche [Yan et Han, 2002] exploite les arbres couvrants pour parcourir enprofondeur un graphe (en anglas Depth-First Search (DFS)). Pour cela, deux techniques ont étéproposées : l’ordre lexicographique dans l’arbre DFS et le code DFS minimal. Ce code consisteà faire un parcours en profondeur dans un graphe, en codant dans une chaîne les arêtes et lessommets ainsi que leurs étiquettes dans l’ordre dans lequel ils sont rencontrés. Dans ce qui suit,nous donnons les définitions et les explications nécessaires pour la compréhension de la méthode.

L’arbre DFS T est obtenu en explorant en profondeur un graphe G = (S,A). Le premiersommet exploré représente la racine (i.e. v1), et le dernier sommet exploré est appelé sommetextrémal (i.e. v|S|). On appelle chemin le plus à droite la chaîne de sommets allant de la racineau sommet extrémal.

x

y

x

z

z

(Ga)

aa

b

b

d

b

v0 x

v1y

v2 x

v3 z

v4 z

(Gb)

aa

b

b

d

b

v1 x

v0y

v2 x

v3 z

v4 z

(Gc)

aa

b

b

d

b

v1 x

v2y

v0 x

v3 z

v4 z

(Gd)

aa

b

b

d

b

Figure 1.12 – Exemple d’un arbre étiqueté (Ga) avec quelques arbre DFS correspondants

Étant donné un arbre DFS T associé à un graphe G = (S,A), l’ensemble des arêtes avant,noté Ef,T , contient les arêtes de G qui sont dans T . De même, l’ensemble des arêtes arrière, notéEb,T , contient les arêtes de G qui ne sont pas dans T . Suivant la définition de T , on a

Ef,T = {(vi, vj) ∈ A|i < j}

Eb,T = {(vi, vj) ∈ A|i > j}

Soient deux arêtes e1 = (vi1, vj1) et e2 = (vi2, vj2). Un ordre linéaire <T est défini sur lesarêtes A selon les cas suivants :

e1 ∈ Ef,T et e2 ∈ Ef,T : e1 <T e2 ⇔ j1 < j2e1 ∈ Eb,T et e2 ∈ Eb,T : e1 <T e2 ⇔ i1 < i2 ou (i1 = i2 et j1 < j2)

e1 ∈ Ef,T et e2 ∈ Eb,T : e1 <T e2 ⇔ j1 ≤ i2e1 ∈ Eb,T et e2 ∈ Ef,T : e1 <T e2 ⇔ i1 < j2

La figure 1.12 illustre trois arbres DFS (Gb),(Gc) et (Gd) correspondants au graphe étiqueté(Ga). Il est clair que pour un graphe donné, on peut avoir différentes façons pour construire unarbre DFS en sélectionnant des sommets de départ et des chemins différents. Les arêtes arrièressont en pointillés.

Page 54: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.3. Extraction de sous-graphes fréquents 45

Un code DFS pour un graphe G = (S,A) et son arbre DFS T , noté code(G, T ), est dé-fini par la séquence : code(e1)code(e2)...code(e|A|), telle que ei <T ei+1, et le code d’une arête(vi, vj) est donné par : (i, j, lv(vi), le(vi, vj), lv(vj)). L’ordre linéaire <T permet de définir un ordrelexicographique sur les codes. Soient deux codes c1 et c2 tels que

c1 = code(Gc1, Tc1) = a1a2....an−1an

c2 = code(Gc2, Tc2) = b1b2....bm−1bm

On dit que c1 < c2 si et seulement si l’un des cas suivants est vrai :

1. ak = bk, 1 ≤ k ≤ n et n < m ;

2. ∃t, 1 ≤ t ≤ min{m,n}, ak = bk, 1 ≤ k < t, et at < bt.

arête code(Ga, Gb) (Fig. 1.12b) code(Ga, Gc) (Fig. 1.12c) code(Ga, Gd) (Fig. 1.12d)

0 (0, 1, x, a, y) (0, 1, y, a, x) (0, 1, x, a, x)

1 (1, 2, y, b, x) (1, 2, x, a, x) (1, 2, x, a, y)

2 (2, 0, x, a, x) (2, 0, x, b, y) (2, 0, y, b, x)

3 (2, 3, x, b, z) (2, 3, x, b, z) (2, 3, y, b, z)

4 (3, 1, z, b, y) (3, 0, z, b, y) (3, 0, z, b, x)

5 (1, 4, y, d, z) (0, 4, y, d, z) (2, 4, y, d, z)

Table 1.4 – Exemple de codes DFS correspondant au graphe (Ga) de la figure 1.12

En se basant sur cet ordre lexicographique, le code DFS minimum associé à un graphecorrespond à son code canonique. Le tableau 1.4 illustre les codes DFS correspondant aux arbresDFS de la figure 1.12. Selon l’ordre lexicographique, le code de (Gb) est plus petit que le code de(Gc), qui est plus petit que le code de (Gd). Etant donné un code DFS α = (a0, a1, . . . , am), lecode β = (a0, a1, . . . , am, b) est un code DFS valide ssi b est une arête qui étend le chemin le plusà droite. Dans la figure 1.13, le graphe ((a)) possède plusieurs fils avec une arête en extensiondonnés par les graphes (b)− (f). La nouvelle arête est ajoutée soit (i) entre le sommet extrémalavec un sommet du chemin le plus à droite, ou bien (ii) un sommet sur le chemin le plus à droiteet un nouveau sommet. Avec cette technique, tous les graphes peuvent être générés à partird’une extension faite sur le chemin le plus à droite. Mais, comment gSpan arrive à générer lessous-graphes sans doublons ?

Lors de l’exploration de l’arbre de recherche, à partir d’un certain nœud s (qui correspondà un code DFS), une arête est ajoutée au chemin le plus à droite afin de générer tous les filspossibles (cf. Figure 1.14). Ainsi, l’ordre de découverte des sous-graphes fréquents suit l’ordrelexicographique DFS, i.e. le code DFS minimum d’un sous-graphe qui a été déjà généré doitêtre inférieur à ceux des sous-graphes découverts ultérieurement. Donc, si le code s et le codes′ (cf. figure 1.14) encodent le même graphe et puisque s′ ne peut être le code DFS minimum,la branche engendrée par s′ peut être élaguée puisque ce nœud mènera forcément aux mêmessous-graphes engendrés par s.

Page 55: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.3. Extraction de sous-graphes fréquents 46

(a) (b) (c) (d) (e) (f)

(b0) (b1) (b2) (b3) (e0) (e1) (e2)

Figure 1.13 – Codes DFS / Extensions possibles pour les graphes (b) et (e)

0-edge

1-edge

2-edge

. . .

n-edge

. . .

élaguée

Figure 1.14 – Arbre de recherche : chaque nœud correspond à un arbre DFS

(b) FFSM (Fast Frequent Subgraph Mining). Dans cette approche [Huan et al., 2003], lesgraphes sont représentés par des matrices d’adjacence (les étiquettes des nouds sont sur la diago-nale, les étiquettes des arêtes sont partout ailleurs). Le code matriciel est obtenu en concaténanttoutes les valeurs, de gauche à droite et ligne par ligne. En utilisant l’ordre lexicographique surles séquences, le code canonique attribué à un graphe G correspond au code matriciel maximumparmi tous les codes possibles. Donc, deux graphes isomorphes possèdent la même matrice ca-nonique (CAM - Canonical Adjacency Matrix) qui permet d’avoir son code canonique. FFSMutilise deux opérations pour générer les nouveaux motifs : la jointure de deux matrices et l’ex-tension d’une matrice par une arête sur le dernier sommet de la matrice canonique. Pour chaquenouveau motif, FFSM permute les lignes de la matrice pour vérifier si la matrice produite est soussa forme canonique. Si non, le motif peut être ignoré. Pour le calcul de fréquence, FFSM stocke

Page 56: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.3. Extraction de sous-graphes fréquents 47

une liste des occurrences pour chaque motif pour éviter les tests d’isomorphisme de graphes [Yanet Han, 2002].(c) Gaston (GrAph/Sequence/Tree extractiON). Cet outil, proposé par Nijssen et Koken 2004 [Nijssen et Kok, 2005], parcourt l’espace de recherche en profondeur en le divisanten 3 sous-espaces, selon le type des sous-graphes générés. Il procède en étapes dans le but deréduire la complexité du processus de fouille. La première étape consiste à découvrir toutes leschaînes fréquentes, ensuite les arbres fréquents et finalement les graphes cycliques obtenus à partirdes deux premières structures. Les deux étapes essentielles dans un processus de découverte degraphes fréquents sont la génération des candidats appelé aussi énumération et l’évaluation dela fréquence de chaque candidat. Nous détaillons ces deux étapes spécifiques pour l’outil Gastondans les paragraphes suivants.Énumération. Deux points clés sont à considérer dans cette phase :

1. Les petits graphes doivent être générés en premier, afin de bénéficier de la propriété del’anti-monotonie de la fréquence, ce qui permet d’élaguer des branches dans l’espace derecherche si un graphe n’est pas fréquent.

2. Chaque graphe doit être considéré une et une seule fois. Pour se faire, un test d’isomor-phisme doit être établi mais dans le cas général, il n’y a pas d’algorithme polynomial quipermet de le résoudre.

Pour le deuxième point, Gaston exploite le fait que pour certains cas de graphes tels que leschaînes et les arbres, le problème d’isomorphisme se résout efficacement. Cette observation estle point clé de l’outil Gaston, alors les chaînes, les arbres et les graphes avec cycles sont générésdans un ordre partiel tel que le niveau supérieur contient les chaînes, à partir desquelles une arêteest ajoutée à un nœud pour obtenir des arbres. Enfin, ces derniers deviennent des graphes aveccycles en ajoutant une arête qui relie soit deux nœuds appartenant à un arbre ou à une chaînefréquente.

v1

x

v2y v3

x

(G7)

a

b

v1

x

v2y v3

x

v4

x

(a)Extn(G7, (v1, c, x))

a

b

cv1

x

v2y v3

x

v4

z

(b)Extn(G7, (v2, c, z))

a

bc

v1

x

v2y v3

x

(c)Exte(G7, (v1, v3, c))

a

b

c

Figure 1.15 – Raffinement d’un graphe

Un exemple d’extension (ou raffinement) d’une chaîne est illustré dans la figure 1.15. Cettechaîne (G7) peut être étendue pour générer : une nouvelle chaîne en appliquant Extn (figure1.15(a)), un arbre en appliquant Extn (figure1.15 (b)), ou un graphe cyclique en appliquant Exte(figure1.15 (c)). Donc, à partir d’un ensemble de nœuds fréquents, Gaston applique des extensionspar ajout de nœuds sur les extrémités de la structure courante pour générer des chaînes, après ilétend ces chaînes à des arbres en appliquant des extensions par ajout de nœuds sur des nœudsinternes de chaque chaîne fréquente. Finalement, il applique des extensions par ajout d’arêtes

Page 57: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.3. Extraction de sous-graphes fréquents 48

sur les chaines et les arbres fréquents pour obtenir des sous-graphes cycliques. Afin d’éviter lagénération de doublons, Gaston représente chaque graphe dans l’arbre de recherche par un codecanonique. Nous détaillons la procédure suivie par Gaston pour l’encodage des chaines, pour lesarbres et les graphes cycliques. Plus de détails se trouvent dans [Nijssen et Kok, 2005].

Le code attribué à une chaîne est obtenu en concaténant les étiquettes des nœuds et des arêtessuivant leur ordre d’apparition dans cette chaîne. Le problème rencontré est qu’une chaîne peutavoir deux orientations, par exemple, la chaîne de la figure 1.15, peut être encodées par "axbya"si on commence par l’extrémité v1 ou "aybxa" si on commence par l’autre extrémité. Alors, pourqu’une chaîne ne soit énumérée qu’une seule fois, une seule orientation doit être considérée, celaest fait en définissant la notion de prédécesseur unique. De cette façon, lorsqu’une chaîne C ′ estgénérée à partir d’une autre chaîne C, le prédécesseur de C ′ (pred(C ′)) doit être calculé, ensuite,si pred(C ′) = C alors on garde C ′ sinon cette chaîne est supprimée car elle n’est plus dans saforme canonique.

Etans donné une chaîne suivant une certaine orientation : C = v1e1v2e2...vn−1en−1vn. Pourdéterminer le prédécesseur de cette chaîne, nous comparons les étiquettes des deux extrémités,on obtient les deux cas suivants :

1. Si les extrémités sont différentes alors :

Si (l(v1), l(e1)) > (l(vn), l(en−1)) alors pred(C) = C − (v1e1)

sinon pred(C) = C − (en−1vn).

2. Dans le cas contraire, on distingue deux situations :

(a) C est symétrique, alors l’une des extrémités est supprimée.

(b) Sinon, on compare selon l’ordre lexicographique les deux chaînes suivantes : C1 =

l(v1)l(e1)l(v2)...l(vn−1) avec C2 = l(vn)l(en−1)l(vn−1)...l(vn−1). La chaîne correspon-dant au plus petit code est considérée comme prédécesseur de C.

Une fois le prédécesseur est calculé, on peut décider si on garde la chaîne C ou on la supprime.Dans le premier cas, on étend la chaîne courante soit en considérant une seule extrémité si lachaîne est symétrique, sinon l’extension est faite sur les deux extrémités. Cette démarche estappliquée récursivement en déterminant à chaque fois le prédécesseur de la chaîne obtenue.Évaluation de la fréquence. L’outil Gaston met en oeuvre deux alternatives pour calculer lafréquence d’un graphe énuméré :

1. Par maintien d’une liste d’occurrences : initialement, les occurrences des nœuds fréquentsdans la GDB initiale sont stockées. Pour un graphe quelconque, une occurrence est définiepar la paire suivante : (1) un index vers la liste d’occurrences du graphe père, et (2)l’identifiant du graphe dans la GDB et le nœud étendu dans celui-ci. Si le sous-graphe estobtenu par ajout d’arête (pour former un cycle), sa liste d’occurrences contient seulementun pointeur vers la liste d’occurrence du sous-graphe père.

2. Par re-calcul des occurrences : cette opération est assurée, en maintenant une liste degraphes dit actifs, à partir de chacun, les occurrences du sous-graphe généré sont recalcu-lées.

Page 58: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.4. Conclusion 49

1.3.3.3 Études comparatives sur les méthodes dédiées pour le problème EMG

Dans l’article [Worlein et al., 2005], une comparaison a été réalisée en codant les 4 algorithmesgSpan, FFSM, Gaston et MoFa 6 [Borgelt, 2002], en utilisant les mêmes structures de données. Desexpérimentations ont été réalisées sur des bases de données synthétiques, ainsi que sur des basesde données moléculaires. Les résultats de ces expérimentations ont montré que :

1. Les trois algorithmes (gSpan, FFSM et Gaston) sont les plus compétitifs et ils ont desperformances très proches,

2. MoFa est l’algorithme le moins performant dans toutes les expérimentations, à l’exceptionde celles qui portent sur les bases moléculaires,

3. Tous ces algorithmes évoluent d’une façon linéaire avec la taille de la base de graphes.

1.3.3.4 Difficultés de l’extraction

Le processus de découverte de sous-graphes fréquents passe par deux étapes, à savoir : (1)Génération des graphes candidats, (2) Calcul de fréquence. Dans la première étape, chaquegraphe candidat doit être traité une et une seule fois. Alors, pour répondre à cette contrainte,on doit résoudre le problème d’isomorphisme de graphes, qui est un problème difficile dont on neconnaît le statut au niveau complexité théorique (i.e., jusqu’à l’heure courante, on se sait pas s’ilest NP-complet ou non). Le deuxième problème rencontré, est celui de l’isomorphisme de sous-graphes qui est NP-complet. Ces deux derniers problèmes rendent la résolution du problème dedécouverte de sous-graphes fréquents plus difficile dans le cas général. Cette difficulté augmentelorsque la base de graphes est dense. Par exemple, le meilleur fouilleur Gaston fait l’extractiondes sous-graphes cycliques fréquents en O(|S||A|c) tel que c représente le nombre d’arêtes formantun cycle. Cette complexité montre bien que lorsque le nombre de cycle augmente, le problèmed’extraction devient plus coûteux. Pour cela, la question qui se pose toujours, y a-t-il des mé-thodes plus efficaces permettant de réduire cette complexité ? Dans le chapitre 6, nous proposonsune approche par intervalle basée sur deux encodages non-canoniques. Nous montrons dans lasection 6.3 l’efficacité de cette approche appliquée sur des bases de graphes denses.

1.4 Conclusion

Dans ce chapitre, nous avons présenté le problème d’extraction de motifs fréquents qui faitpartie des problèmes les plus étudiés en fouille de données. En particulier, nous nous somme in-téressés à deux structures de données : les séquences d’items et les graphes. Premièrement, nousavons présenté le problème de l’extraction de motifs séquentiels sous contraintes en soulevantles verrous rencontrés par les approches dédiées. Nous avons montré que malgré l’efficacité deces approches, elles traitent des classes particulières de contraintes, et donc imposer de nouvellescontraintes sur les motifs, nécessite la conception et le développement de nouvelles méthodesspécialisées. A cet effet, les méthodes déclaratives deviennent très utiles pour l’extraction de mo-tifs sous contraintes. Ceci fera l’objet du chapitre suivant, qui présentera les approches de fouillebasées sur la programmation par contraintes. Deuxièmement, nous avons détaillé les notions de

6. MoFa est un algorithme dédié à la recherche de motifs fréquents dans des graphes moléculaires.

Page 59: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

1.4. Conclusion 50

base liées au problème de l’extraction de graphes fréquents à partir d’une base de graphes, en dis-cutant les différents algorithmes proposés ainsi que les difficultés rencontrées lors de l’extraction.La conclusion que nous avons tirée est que l’encodage canonique pour les graphes contenantbeaucoup de cycles est très coûteux. Ceci peut poser un vrai problème pour le traitement degrandes bases réelles très denses, d’où la nécessité de proposer un autre encodage moins coûteux.

Page 60: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Chapitre 2

Fouille déclarative par programmationpar contraintes

Sommaire2.1 Principes de la programmation par contraintes (PPC) . . . . . . . . . . 52

2.1.1 Problème de satisfaction de contraintes . . . . . . . . . . . . . . . . . . . . 52

2.1.2 Contraintes globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

2.1.3 Contraintes réifiées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

2.1.4 CSP dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

2.1.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

2.2 Approches PPC pour l’extraction de motifs séquentiels sous contraintes 60

2.2.1 Première approche basée sur la contrainte regular . . . . . . . . . . . . . . 61

2.2.2 Un modèle basé sur une nouvelle contrainte globale . . . . . . . . . . . . . . 62

2.2.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

2.3 Conclusion : vers une nouvelle approche PPC plus performante . . . . 65

La programmation par contraintes (PPC) est un paradigme puissant permettant de résoudredes problèmes combinatoires modélisés sous forme de contraintes. L’utilisation de la PPC enfouille de séquences, permet de répondre aux obstacles rencontrés par les approches spécialisées.D’une part elle permet d’offrir à l’utilisateur un moyen simple pour modéliser les problèmes defouille. D’autre part, l’utilisateur sera capable d’ajouter autant de contraintes qu’il veut sur lesmotifs, sans se préoccuper de leurs implémentations. La PPC a été utilisée, pour la première foisen fouille de données par Guns et al. [Raedt et al., 2008], pour l’extraction de motifs ensemblistes.Plus tard, de nombreuses approches PPC ont été proposées pour la fouille de séquences, maisjusqu’à ce jour, ne permettent pas de traiter des bases de séquences de grandes tailles. Lesméthodes spécialisées restent les plus performantes. Enfin, la question fondamentale posée danscette thèse est la suivante : "est-il possible de concevoir une approche PPC qui passe à l’échellepour le problème EMS ?" Justement, cette question trouve sa réponse dans ce chapitre, où nousanalysons les méthodes PPC existantes.

Ce chapitre est organisé en deux parties. Dans la première partie, nous présentons les principesde base de la PPC, qui a été exploitée dans nos contributions. Nous introduisons les définitionsliées au problème de satisfaction de contraintes ainsi que les techniques de résolution associées.Ensuite, nous nous focalisons sur deux types de contraintes que nous avons exploité dans noscontributions, à savoir (1) les contraintes pour l’extraction de motifs séquentiels (cf. chapitre 4), et(2) les contraintes réifiées pour l’extraction de motifs séquentiels avec wildcards (cf. chapitre 3).La deuxième partie de ce chapitre est consacrée aux différentes méthodes PPC qui ont été

Page 61: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

2.1. Principes de la programmation par contraintes (PPC) 52

proposées pour la fouille de séquences. Ainsi, nous discutons le principe de chaque méthode, sonfonctionnement et ses inconvénients.

2.1 Principes de la programmation par contraintes (PPC)

La programmation par contraintes (PPC) est un paradigme puissant permettant de résoudredes problèmes combinatoires modélisés sous forme de contraintes, se basant sur des travaux is-sus de l’intelligence artificielle et de la recherche opérationnelle. La PPC se base sur le principesuivant : (1) l’utilisateur spécifie le problème d’une façon déclarative comme un problème desatisfaction de contraintes (CSP) ; (2) le solveur cherche l’ensemble complet et correct des so-lutions du problème. De cette manière, la spécification du problème est séparée de la stratégiede recherche. Pour plus de détails sur la PPC, nous invitons le lecteur à consulter [Rossi et al.,2006].

2.1.1 Problème de satisfaction de contraintes

Définition 37 (Problème de satisfaction de contraintes (CSP)) Un CSP est un triplet(X, D, C) où :

– X = {X1, . . . , Xn} est un ensemble fini de variables ayant pour domaines finis D =

{D1, . . . , Dn}, où D(Xi) désigne le domaine associé à la variable Xi,– C = {C1, . . . , Ce} est un ensemble de contraintes où chaque Ci est une condition sur un

sous-ensemble de X. On désignera par portée de la contrainte Ci, les variables impliquéesdans Ci, notées par var(Ci).

Une contrainte peut être définie : (i) en extension : en énumérant les tuples de valeurs qui satis-font cette contrainte, (ii) en compréhension : en donnant la formule qui caractérise la contrainte.L’arité d’une contrainte Ci est le nombre de ses variables, défini par |var(Ci)|. Une contrainted’arité 2 est appelée contrainte binaire.

Définition 38 (Solution pour un CSP) Une instanciation σ est une application des va-riables de X vers leurs domaines : ∀Xi ∈ X,σ(Xi) ∈ D(Xi). L’objectif est de trouver uneinstanciation σ(Xi) = di (Xi = di) avec di ∈ Di pour chaque variable Xi ∈ X, telle que toutesles contraintes soient satisfaites. Une telle instanciation est appelée solution pour le CSP.

Exemple 24 (Problème des n-reines) Ce problème consiste à placer n reines sur un échi-quier n × n de telle sorte qu’aucune reine n’attaque une autre reine. On rappelle que 2 reinessont en prise si elles se trouvent sur une même ligne, une même colonne ou une même diagonalede l’échiquier. L’une des façons permettant de modéliser un tel problème, consiste à introduire unevariable Xi pour chaque ligne i (i ∈ [1..n]) qui va se situer dans l’une des colonnes de 1 à n. Celasignifie que dans une ligne i, une reine est placée sur la xi-ème colonne. Le domaine de chaquevariable Xi est donné par D(Xi) = {1, 2, . . . , n}, et les contraintes, qui assurent qu’aucune reinene soit en prise, sont exprimées par :

Xi 6= Xj pour 1 ≤ i < j ≤ n, (2.1)

Page 62: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

2.1. Principes de la programmation par contraintes (PPC) 53

Xi −Xj 6= i− j pour 1 ≤ i < j ≤ n, (2.2)

Xi −Xj 6= j − i pour 1 ≤ i < j ≤ n, (2.3)

Les contraintes 2.1 permettent de ne pas avoir deux reines sur la même colonne, et lescontraintes 2.2 et 2.3 traitent les contraintes sur les deux diagonales.

2.1.1.1 Filtrage et propagation

En PPC, le processus de résolution consiste à combiner itérativement des phases de rechercheet de propagation. La phase de recherche consiste à énumérer toutes les instanciations partiellespossibles des variables jusqu’à trouver une solution ou prouver qu’il n’en existe pas. L’espacede recherche peut être représenté par un arbre : chaque noeud de l’arbre correspond à une va-riable et chaque branche correspond à une des différentes instanciations possibles des variables.La phase de propagation 1 de contraintes permet de réduire l’espace de recherche en filtrant, àchaque noeud de l’arbre, les valeurs des domaines des variables qui ne participent à aucune solu-tion, en maintenant une propriété de cohérence locale (ou consistance locale) sur les contraintesindividuelles. On commence par définir ce qu’est une consistance locale.

Définition 39 (Consistance locale) La consistance locale est liée à la notion de faisabilitéd’une solution partielle. Formellement, une valeur v appartenant au domaine d’une variable x

(v ∈ D(x)) est dite localement consistante, si et seulement si pour toute contrainte c impliquant lavariable x, il existe une instanciation des variables appartenant à var(c) telle que c soit vérifiée.

La propagation de contraintes vise à réduire les domaines des variables impliquées dans unecontrainte, en maintenant une certaine consistance qui peut être plus ou moins forte. Nousprésentons ci-dessous, quelques exemples de consistances.

Définition 40 (Consistance de nœud) Une contrainte unaire c est dite nœud-consistante siles valeurs de la variable singleton x ∈ var(c) sont toutes consistantes. Ce type de consistanceest simple, rapide, mais souvent inefficace (la réduction des domaines est faible).

L’arc-consistance est la plus ancienne consistance connue, définie sur les CSP binaires, per-mettant d’établir la propagation de contraintes. En effet, ce concept simple et naturel permetde garantir que chaque valeur d’un domaine soit consistante avec chacune des contraintes. Dansle cas des contraintes non-binaires (dites n-aires), on parle plutôt de la consistance du domaine.Certains utilisent le mot consistance d’arc généralisée (i.e. Generalized arc consistency (GAC)).

Définition 41 (Consistance de domaine) Une contrainte c définie sur X vérifie la consis-tance de domaine, si et seulement si, pour chaque variable Xi ∈ X et Di ∈ D(Xi), il existe uneinstanciation σ qui satisfait c telle que σ(Xi) = Di. Cette instanciation est appelée support.

1. La propagation est le mécanisme qui consiste à appeler l’algorithme de filtrage associé à une contrainte qui

porte sur une variable x, à chaque fois que le domaine de cette variable est modifié.

Page 63: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

2.1. Principes de la programmation par contraintes (PPC) 54

Ainsi, à chaque contrainte est associée un propagateur (i.e. un algorithme de filtrage) per-mettant de supprimer toutes les valeurs des domaines des variables de sa portée qui ne satisfontpas la contrainte. Comme les variables peuvent être impliquées dans plusieurs contraintes, lesdomaines mis à jour sont propagés aux autres contraintes, en activant les propagateurs de celles-ci. Ce processus de propagation de contraintes est répété sur toutes les contraintes jusqu’à cequ’aucune suppression ne soit possible ou qu’un domaine devienne vide.

Proposer des algorithmes efficaces pour assurer l’arc-consistance a toujours été une questionmajeure dans la communauté PPC. Une première raison est que l’arc-consistance est le méca-nisme de base de propagation utilisé par tous les solveurs. La seconde raison est que les nouvellesidées permettant d’améliorer l’efficacité des algorithmes assurant l’arc-consistance, peuvent êtregénéralement appliquées à des algorithmes assurant d’autres niveaux de consistances. L’AC-3 futl’une des premières méthodes proposée par Mackworth [Mackworth, 1977]. Elle a été ensuiteétendue pour atteindre la consistance d’arc généralisée. Le fonctionnement de l’AC-3 dans le casdes contraintes n-aires est illustré par l’algorithme 5. Cet algorithme vise à réduire le domaineD(Xi) en supprimant les valeurs qui sont inconsistantes par rapport à une contrainte c. Lafonction Revise(Xi, c) prend chaque valeur vi dans D(Xi) (ligne 2), et cherche un support parrapport à la contrainte c (ligne 3). Si aucun support n’est trouvé, cette valeur sera écartée dudomaine de Xi (ligne 4). Cette fonction retourne Vrai si le domaine D(Xi) est réduit, et Faux

sinon. L’algorithme principal (fonction AC3/GAC3) boucle sur toutes les paires possibles (variable,contrainte) pour s’assurer que toutes les valeurs sont consistantes avec toutes les contraintes.

L’AC-3 atteint la consistance d’arc sur des contraintes binaires en O(e×d3), avec e le nombrede contraintes et d la taille du plus grand domaine. Puisque sa complexité n’est pas optimale, denombreuses améliorations de AC-3 ont été proposées, telles que AC-4 [Mohr et Henderson, 1986],AC-6 [Bessiere et Cordier, 1993] et AC-2001 [Bessière et Régin, 2001].

Quelques années plus tard, Freuder[Freuder, 1978] a proposé une nouvelle classe de consis-tances locales, qui est plus forte que l’arc-consistance, appelée k-consistance.

Définition 42 (k-consistance) Soit l’ensemble des variables Y ⊆ X avec |Y | = k − 1, uneinstanciation localement consistante I sur Y est dite k-consistante ssi pour n’importe quelle k-ème variable Xik ∈ X\Y , ∃vik ∈ D(Xik) telle que I ∪ {(Xik , vik)} est localement consistante.Autrement dit, Un CSP est k-consistant si toute solution sur (k− 1) variables peut être étendueà une solution partielle de k variables en choisissant n’importe quelle valeur dans le domaine dela k-ème variable.

2.1.1.2 Résolution des CSP

Les principales techniques utilisées pour résoudre un CSP est la recherche en retour arrière(backtrack search), la recherche locale et la programmation dynamique. Les algorithmes de réso-lution peuvent être soit complet (i.e. algorithmes de backtrack ou programmation dynamique)ou incomplet (algorithmes de recherche locale). Dans le premier cas, l’algorithme garantit detrouver une solution si elle existe, et donc il peut démontrer la non-existence de solutions. Alorsqu’un algorithme incomplet ne peut pas être utilisé pour savoir si le CSP possède ou pas unesolution.

Page 64: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

2.1. Principes de la programmation par contraintes (PPC) 55

Algorithme 5 : AC3/GAC3

Fonction Revise(Xi, c) ;Données : Xi : une variable ; c : une contrainteRésultat : Vrai/Fauxdébut

réduire ← Faux ;1

pour chaque (vi ∈ D(Xi) faire2

si ∄ support de vi dans c alors3

D(Xi)← D(Xi) \ {vi} ;4

réduire ← Vrai ;5

retourner réduire ;fin

Fonction AC3/GAC3 (X) ;Données : X : ensemble des variablesRésultat : Vrai/Fauxdébut

/* initialisation */ ;Q← {(Xi, c)|c ∈ C, Xi ∈ var(c)};6

/* propagation */ ;tant que Q 6= ∅ faire7

sélectionner et retirer (Xi, c) à partir de Q ;8

si Revise(Xi, c) alors9

si D(Xi) = ∅ alors10

retourner Faux ;11

sinon

Q← Q ∪ {(Xj , c′) | c′ ∈ C ∧ c′ 6= c ∧Xi, Xj ∈ var(c′) ∧ j 6= i} ;12

retourner Vrai ;13

fin

Retour-arrière chronologique. Une recherche en retour-arrière (ou backtrack en Anglais)d’une solution sur un CSP peut être considérée comme une recherche en profondeur d’aborddans un arbre de recherche. Ce dernier est généré lorsque la recherche progresse et représentedes alternatives de choix qui doivent être examinées afin de trouver une solution au CSP. Laméthode d’extension d’un nœud dans l’arbre de recherche est appelée stratégie d’énumération,où les variables sont instanciées avec des valeurs dans un ordre prédéfini. Cet algorithme affectedes valeurs aux variables, une après l’autre selon la stratégie d’énumération adoptée, et teste àchaque fois si l’instanciation partielle courante est localement consistante. Si l’une des contraintesest violée, l’algorithme remet en cause la dernière instanciation et teste une autre valeur sur lavariable courante. Si aucune valeur du domaine de cette variable n’est consistante, l’algorithmefait un retour arrière (backtrack) sur la variable précédente.

Exemple 25 Soit le problème des n-reines décrit dans l’exemple 24 avec n = 4. Une partie deson arbre de recherche par Backtrack chronologique est décrite dans la figure 2.1. L’heuristique desélection de variables repose sur l’ordre lexicographique (i.e. X1 est instanciée en premier, ensuiteX2, et ainsi de suite), et pour le choix des valeurs, la plus petite valeur dans le domaine est

Page 65: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

2.1. Principes de la programmation par contraintes (PPC) 56

choisie en premier. La solution de ce problème est donnée par l’instanciation complète suivante :σ(X1) = 2, σ(X2) = 4, σ(X3) = 1 et σ(X4) = 3.

X1

X2

X3

X4

1

1

1

1 2 3 4

. . . . . . . . .

. . . . . . . . .

2

1 2 3 4

1

1 2 3 4

2 3 4

. . . . . .

Figure 2.1 – Arbre de recherche pour le problème des 4-reines : backtrack chronologique

L’algorithme Backtrack parcourt l’espace de recherche d’une manière aveugle sans tenircompte des informations sur l’instanciation courante qui peut être inconsistante. Pour cela, denombreuses améliorations ont été proposées afin de détecter le plus rapidement possible et àmoindre coût la non consistance d’une instanciation partielle dont le but est de réduire le nombrede nœuds explorés . Dans ce qui suit, nous discutons deux stratégies qui exploitent la propagationde contraintes.

X1

X2

X3

X4

1

3

Echec

4

2

Echec

2

4

1

3

Figure 2.2 – Arbre de recherche pour le problème des 4-reines : look-ahead

Algorithmes prospectifs (Look-head). Le principe de ces algorithmes consiste à appliquerune étape de filtrage à chaque fois qu’une valeur soit affectée à une variable. Nous avons vudans la section 2.1.1.1, que différents filtrages existent permettant d’établir différents niveaux de

Page 66: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

2.1. Principes de la programmation par contraintes (PPC) 57

consistance locale. Ces algorithmes diffèrent dans le nombre de contraintes testées et le nombrede valeurs éliminées, tels que le Forward-checking, Full-lookahead, Real-full-lookahead et MAC(Maintien de l’arc consistance) [Rossi et al., 2006]. La figure 2.2 illustre l’arbre de recherche des4-reines dans le cas d’un backtrack avec le filtrage qui établit la consistance de nœud. Il estclair que le nombre de nœuds a été bien réduit par rapport à celui généré par l’algorithme dubacktrack chronologique.

Algorithmes rétrospectifs (Look-back). Ces algorithmes sont incorporés dans le processusde recherche lui-même pour réaliser un retour-en-arrière "intelligent". Cela est fait en effectuantun retour arrière vers la variable responsable de l’échec. Parmi ces algorithmes, nous citons : (1)le backtrack intelligent qui utilise la preuve qu’une instanciation A incluse dans l’instanciationcourante est non globalement consistante, afin d’effectuer un retour arrière non chronologiquevers une variable qui supprime une partie de l’espace de recherche ; (2) La mémorisation descontraintes qui permettent d’interdire l’instanciation A.

2.1.2 Contraintes globales

Les contraintes globales décrivent une propriété que doit satisfaire un ensemble de variables.Les contraintes globales sont un atout important pour la modélisation en PPC. De plus, enexploitant la structure de la contrainte, elles permettent la mise en œuvre de tests de cohérenceet d’algorithmes de filtrage très efficaces en temps et peu coûteux en espace. De nos jours, lescontraintes globales sont considérées comme l’un des plus importants composants d’un solveurde contraintes. Nous présentons brièvement trois contraintes globales, All-different, Among etRegular, utilisées pour modéliser les différentes contraintes décrites dans la section 1.2.2.1.

2.1.2.1 Contrainte All-different

La contrainte All-different est probablement la plus connue, c’est la contrainte globale laplus influente et la plus étudiée en PPC.

Définition 43 (All-different) Soit X = {X1, X2, . . . , Xn} un ensemble de n variables. Alors

All-different(X1, . . . , Xn) = {(d1, . . . , dn)|∀i ∈ [1..n], di ∈ D(Xi) ∧ ∀i 6= j, di 6= dj}.

Régin [Régin, 1994] a défini un algorithme de filtrage réalisant la consistance d’arc pourla contrainte All-different en utilisant la théorie des couplages. L’auteur a exploité le faitque des algorithmes efficaces existent pour calculer un couplage maximum dans un graphebiparti. Pour cela, un graphe de valeurs GV = (X,D(X), E) est construit où une arête(x, a) ∈ E si et seulement si a ∈ D(x). Ainsi, dire qu’une valeur a n’est pas consistante avecla contrainte All-different revient à ne pas trouver un couplage contenant (x, a) et couvrantl’ensemble des variables X. La complexité temporelle de cet algorithme de filtrage est O(m) oùm =

x∈X |D(x)|. Son avantage est d’être incrémental : si certaines valeurs sont supprimées pard’autres contraintes, un nouveau couplage peut être calculé en utilisant le précédent.

Un problème très connu et qui peut être modélisé avec des contraintes All-different estcelui des n reines présenté dans l’exemple 24. L’utilisation de la contrainte All-different permetd’avoir un modèle plus concis, avec les contraintes suivantes :

Page 67: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

2.1. Principes de la programmation par contraintes (PPC) 58

All-different(X1, . . . , Xn),

All-different(X1 − 1, X2 − 2, . . . , Xn − n),

All-different(X1 + 1, X2 + 2, . . . , Xn + n),

D(Xi) = {1, 2, . . . , n} pour 1 ≤ i ≤ n.

2.1.2.2 Contrainte Among

Cette contrainte restreint le nombre d’occurrences de certaines valeurs dans une séquence den variables. Elle a été indroduite dans [Beldiceanu et Contejean, 1994].

Définition 44 (Among) Soient X = {X1, X2, ..., Xn} une séquence de n variables, V un en-semble de valeurs et DX le produit cartésien des domaines des variables de X. Soient l et u deuxentiers tels que 0 ≤ l ≤ u ≤ n, la contrainte Among(X,V, l, u) impose que le nombre de variablesinstanciées à des valeurs dans V , soit compris entre l et u :

Among(X,V, l, u) = {σ ∈ DX | l ≤ | {i, σ(Xi) ∈ V } |≤ u}

La conception d’un algorithme de filtrage qui assure l’arc-consistance pour cette contraintepeut se faire en l’exprimant autrement. On associe pour chaque variable Xi ∈ X une variablebooléenne Yi (D(Yi) = {0, 1}) définie comme suit : Yi = 1 ssi Xi = a avec a ∈ V . Ainsi, lacontrainte peut être représentée par : l ≤

∑ni=1 Yi ≤ u. Il faut noter que dans certains cas la

contrainte among est directement reformulée de cette façon, en ajoutant l’ensemble des variablesbooléennes.

2.1.2.3 Contrainte Regular

Soient M un automate fini déterministe et X = {X1, X2, ..., Xn} une séquence de n variables.La contrainte Regular(X,M) impose que X appartienne au langage régulier reconnu par M .

Définition 45 (regular) Soient M un automate fini déterministe, L(M) le langage régulierreconnu par M et X = 〈X1, X2, ..., Xn〉 une séquence de n variables :

Regular(X,M) = {σ ∈ DX | σ ∈ L(M)}

Dans [Pesant, 2004], Pesant propose un algorithme de filtrage en construisant un graphe encouches. Nous expliquons brièvement le principe de cette méthode. Le graphe en couches estconstruit par |X|+1 couches, les sommets dans chaque couche sont représentés par les différentsétats de l’automate M . Plus précisément, si {q0, q1, . . . , qs} représentent les différents états doncle niveau i contient les sommets {qi0, q

i1, . . . , q

is}. Les arcs doivent exister seulement entre deux

niveaux successifs, et ils sont construits selon les différentes transitions de M . Un exemple degraphe en couches construit pour l’expression régulière aa∗bb∗aa∗ + cc∗ est schématisé dans lafigure 2.3 (a).

Les deux propriétés suivantes ont été prouvées par l’auteur [Pesant, 2004] :

Page 68: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

2.1. Principes de la programmation par contraintes (PPC) 59

X1 X2 X3 X4

q0

q1

q2

q3

q4

q0

q1

q2

q3

q4

q0

q1

q2

q3

q4

q0

q1

q2

q3

q4

q0

q1

q2

q3

q4

a

c

a a a

b

b a

a

a

c c c

b

a

b

(a) Graphe en couches initial

X1 X2 X3 X4

q0

q1

q2

q3

q4

q0

q1

q2

q3

q4

q0

q1

q2

q3

q4

q0

q1

q2

q3

q4

q0

q1

q2

q3

q4

a

c

a

b

b

a

a

c c c

b

a

(b) Graphe après filtrage

Figure 2.3 – Le graphe en couches correspondant à l’expression régulière aa∗bb∗aa∗+ cc∗ avantet après le filtrage. Un cercle double représente un état final

1. La contrainte regular est consistante si et seulement s’il existe au moins un chemin entrele premier sommet q10 et un état final appartenant à la dernière couche (|X|+ 1).

2. Une valeur (Xi, a) est consistante si et seulement s’il existe au moins un chemin entre lepremier sommet q10 et la dernière couche |X|+ 1 et passant par un arc reliant les couchesi− 1 et i étiqueté par la valeur a.

La première propriété définit la consistance de la contrainte regular, et la deuxième établitla règle de filtrage des domaines des variables. Donc, les arcs qui n’appartiennent pas à deschemins reliant q10 et un état final serons supprimés (cf. figure 2.3 (b)), ce qui mène vers desréductions de domaines. Les valeurs inconsistantes peuvent être obtenues en effectuant deuxrecherches en profondeur dans le graphe en couches. La complexité pour établir l’arc-consistancede la contrainte regular est O(n × d × s) où n est le nombre de variables, d est le nombre desymboles et s est le nombre d’états.

2.1.3 Contraintes réifiées

La plupart des solveurs de contraintes permettent à l’utilisateur d’ajouter des variables boo-léennes supplémentaires au système de contraintes initiales, afin d’imposer ou d’interdire lacontrainte selon la valeur de la variable booléenne associée. La réification d’une contrainte C

en utilisant la variable booléenne b, notée C[b], est définie par la formule logique suivante :

C ⇐⇒ b = 1 avec D(b) = {0, 1} et b /∈ var(C)

Le comportement idéal de la contrainte réifiée C[b] consiste à propager les réductions desdomaines sur ses variables comme suit :

– Si, avec les domaines courants, C est insatisfaite, alors propager b = 0.

Page 69: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

2.2. Approches PPC pour l’extraction de motifs séquentiels sous contraintes 60

– Si la contrainte C est satisfaite pour toute combinaison de valeurs appartenant aux do-maines de ses variables, alors propager b = 1.

– Si b = 0 alors ¬C doit être satisfaite.– Si b = 1 alors C doit être satisfaite.

Les contraintes primitives réifiées peuvent être étendues pour réifier des combinaisons lo-giques de contraintes en utilisant la conjonction, la disjonction et l’implication. Par exemple, laconjonction (C1 ∧ C2)[b] peut être modélisée par C1[b1] ∧ C2[b2] ∧ (b = b1 × b2), et l’implication(C1 −→ C2)[b] par C1[b1] ∧ C2[b2] ∧ (b2 ≥ b1). Cependant, la réification offre un outil puissantpour modéliser des combinaisons logiques de contraintes. Dans la section 2.2, nous allons voirque la majorité des méthodes PPC proposées pour l’extraction de motifs séquentiels se basentsur ce type de contraintes, utilisées pour exprimer la contrainte de couverture.

2.1.4 CSP dynamiques

Un problème de satisfaction de contraintes dynamiques (DCSP) [Verfaillie et Jussien, 2005]est une séquence de CSP, chacun résultant du CSP précédent en appliquant certains changements.Ces derniers peuvent affecter : les variables (ajout ou retrait), les domaines (changement dans ladéfinition en compréhension, ajout de valeurs ou retrait dans le cas d’une définition en extension)ou les contraintes (ajout ou retrait). Formellement, DCSP = {P1,P2, . . . ,Pn}, où Pi est le CSPobtenu en appliquant certains changements sur le CSP Pi−1.

2.1.5 Discussion

L’aspect déclaratif de la PPC offre une souplesse pour la résolution de problèmes combi-natoires variés. Ainsi, la résolution d’un problème donné en PPC nécessite deux phases : (1)l’utilisateur modélise le problème sous forme d’un ensemble de contraintes, et (2) un solveur decontraintes se charge de la résolution en se basant sur des techniques de filtrage et des algorithmesde recherche. Nous avons exploité la PPC pour réaliser les contributions suivantes :

– Nous avons proposé une modélisation, basée sur les contraintes réifiées, du problème d’ex-traction de motifs séquentiels avec wildcards.

– Nous avons exploité les CSP dynamiques, pour extraire les top-k motifs et les sous-groupespertinents.

– Nous avons proposé une nouvelle contrainte globale pour le problème d’extraction de motifsséquentiels.

– Les différentes contraintes imposées sur les motifs extraits ont été modélisées à l’aide descontraintes globales existantes.

2.2 Approches PPC pour l’extraction de motifs séquentiels sous

contraintes

Il est bien reconnu que la PPC a montré son efficacité pour appréhender les problématiquesde fouille déclarative, en raison de sa capacité à prendre en charge de nombreuses contraintesd’une façon générique et incrémentale. En effet les approches classiques exposées dans le chapitre

Page 70: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

2.2. Approches PPC pour l’extraction de motifs séquentiels sous contraintes 61

précédent souffrent de leur rigidité : il est difficile, voire impossible, de prendre en charge unenouvelle contrainte de fouille sans reconcevoir complètement l’algorithme courant. Cette faiblesseest complètement évacuée par l’approche PPC de la fouille où l’utilisateur peut intégrer autantde contraintes voulues. Chaque contrainte de fouille est conçue d’une façon complètement indé-pendante des autres contraintes. De ce fait, ajouter une nouvelle contrainte ne nécessite aucuneffort pour revoir les autres contraintes déjà présentes dans le modèle. D’une façon plus globale,il est bien établi dans les sciences informatiques que la PPC est un cadre unique poussant aumaximum la généricité et l’incrémentalité en modélisation des problèmes, notamment de fouillede données.

De nombreuses approches dédiées ont été proposées pour extraire des motifs fréquents entenant compte de différentes contraintes. En général, chaque méthode traite une classe decontraintes bien spécifique, ce qui rend la méthode incapable de traiter de nouvelles contraintesajoutées par l’utilisateur au cours du processus de l’extraction. Pour cette raison, les dernièresrecherches se sont focalisées sur l’exploitation de la PPC en fouille de séquences afin de rendrela manipulation des contraintes plus souple.

Suite aux travaux récents de Guns et al. [Guns et al., 2011] sur la fertilisation croisée entrela fouille de motifs ensemblistes et la programmation par contraintes, plusieurs méthodes ontété proposées pour l’extraction de motifs séquentiels en utilisant la PPC. Dans [Coquery etal., 2012], les auteurs ont proposé le premier modèle SAT 2 pour la découverte de motifs avecwildcards 3 dans une seule séquence, en considérant différents types de contraintes (e.g., fréquence,maximalité, fermeture). Plus tard, de nombreux travaux ont été proposés pour la découverte demotifs séquentiels dans une base de séquences. Dans ce qui suit, nous détaillerons ces méthodes.Nous supposons que la taille de la base est donnée par m = |SDB| et la taille maximale desmotifs à extraire est ℓ.

2.2.1 Première approche basée sur la contrainte regular

Dans [Métivier et al., 2013], les auteurs ont proposé le premier modèle CSP pour l’extractionde motifs séquentiels dans une base de séquences. Chaque séquence est encodée par un automated’état fini qui capture toutes les sous-séquences de la séquence en question. Ainsi, le problèmeEMS est modélisé sous forme d’un CSP comme suit :

Variables.– Le motif inconnu P est représenté par ℓ variables : 〈P1, P2, . . . , Pℓ〉, avec D(Pi) = I ∪

{EOS}, i ∈ [1..ℓ]. Le symbole EOS dénote la fin de séquence (EOS /∈ I).– m variables booléennes permettant d’exprimer la relation de sous-séquence : (Ts = 1)⇔

(P ⊑ s), ce qui signifie que (Ts = 1) si le motif P est sous-séquence de s ; Ts = 0 sinon.

Contraintes. Afin d’encoder la relation de sous-séquence "P ⊑ s", un automate d’états finisAsid est généré pour chaque séquence (sid, s) ∈ SDB, celui-ci permet de capturer toutes lessous-séquences qui peuvent apparaître dans la séquence s. Un exemple d’automate d’étatsfinis associé à la séquence 〈BCD〉 est illustré dans la figure 2.4. Ensuite, une contrainte

2. Un problème de satisfaisabilité booléenne SAT est le problème de décision, qui consiste à décider si une

formule en forme normale conjonctive est satisfiable, c’est-à-dire déterminer s’il existe une instanciation des

variables qui rend la formule vraie. C’est le premier problème qui a été démontré NP-complet [Cook, 1971].3. Un wildcard est un symbole spécial qui peut remplacer n’importe quel item de I dans une séquence.

Page 71: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

2.2. Approches PPC pour l’extraction de motifs séquentiels sous contraintes 62

q0 q1 q2 q3B

C

D

EOS

C

D

EOS

D

EOS

EOS

Figure 2.4 – Automate d’états finis attribué à la séquence 〈BCD〉

regular est imposée sur le motif inconnu P qui doit être reconnu par Asid. Nous obtenonsainsi les contraintes suivantes :

∀(sid, s) ∈ SDB : Tsid = 1↔ Regular(P,Asid) (2.4)

supSDB(P ) =∑

(sid,s)∈SDB

Tsid ≥ minsup (2.5)

L’encodage qu’on vient de présenter permet de modéliser facilement des contraintes tellesque la contrainte d’item, longueur, fermeture, gap et expression régulière. Mais, lorsque la taillede la base de séquences augmente (plus de 500 séquences), cette approche devient peu efficaceet le processus d’extraction de tous les motifs séquentiels nécessite des heures pour terminer.

2.2.2 Un modèle basé sur une nouvelle contrainte globale

Récemment, dans [Négrevergne et Guns, 2015], les auteurs ont proposé deux encodages PPCpour le problème EMS. Le premier utilise une contrainte globale pour modéliser la relation desous-séquence, alors que le deuxième encodage encode d’une façon explicite cette relation enutilisant d’autres variables et des contraintes additionnelles.

2.2.2.1 Modèle 1 : la relation de sous-séquence est encodée par la contrainte globaleexists-embedding

Afin de remédier aux inconvénients des approches PPC existantes, [Négrevergne et Guns,2015] ont proposé une contrainte globale exists-embedding permettant d’encoder la relation desous-séquence pour chaque séquence de la SDB. Cette contrainte globale exploite le principe dela projection préfixée (cf. section 1.2.3.3) en introduisant de nouvelles variables qui permettentde conserver les items fréquents. Elle est combinée avec une procédure de recherche spécifqueavant de brancher sur les variables représentant le motif à extraire. Le CSP correspondant à cepremier modèle est le suivant.

Variables.– Le motif inconnu P est représenté par ℓ variables : 〈P1, P2, . . . , Pℓ〉, avec D(P1) = I etD(Pi) = I ∪{✷}(i ∈ [2..ℓ]). Le symbole ✷ dénote la fin de séquence contrôlé par la règlesuivante : ∀i ∈ [2..(ℓ− 1)], Pi = ✷ −→ Pi+1 = ✷).

Page 72: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

2.2. Approches PPC pour l’extraction de motifs séquentiels sous contraintes 63

– m variables booléennes Ti t.q. i ∈ [1..m], permettant d’exprimer la contrainte de fré-quences.

– m variables auxiliaires Xi t.q. i ∈ [1..m] et D(Xi) = I ∪ {✷}, permettant de conserverque les items qui sont localement fréquents dans la séquence SDB[i]. Il faut noter queles valeurs des domaines des variables X sont exploitées par une routine de branchementspécialisée (choix de valeurs) afin d’éviter l’exploration des items non fréquents.

Contraintes.– La relation de sous-séquence est modélisée par la contrainte globaleexists-embedding(P, SDB[i], Ti, Xi). Cette contrainte permet d’encoder la rela-tion Ti ↔ P ⊑ SDB[i]. Nous obtenons ainsi les contraintes suivantes :

∀i ∈ [1..m], exists-embedding(P, SDB[i], Ti, Xi) (2.6)

– La contrainte de fréquence est modélisée par :

m∑

i=1

Ti ≥ minsup (2.7)

L’algorithme de filtrage associé à la contrainte globale exists-embedding est illustré parl’algorithme 6. Nous avons considéré le cas avec projection préfixée. Cet algorithme est exécuté àchaque fois qu’une variable de P est instanciée. L’algorithme commence par trouver les premièrespositions pose qui correspondent aux premières variables instanciées (lignes 1-6). Si aucune oc-currence n’est trouvée, l’algorithme retourne un échec (ligne 7). Ensuite, il récupère la premièrevariable non instanciée à la position posP (ligne 6). Lorsqu’une variable de P est instanciée à ✷ etle motif courant apparaît dans la séquence s (ligne 8), la variable T est instanciée à Vrai (ligne 8).On obtient le même cas lorsque la fin du motif P est atteinte (ligne 11), ou bien lorsque le motifne contient pas le symbole ✷ (ligne 16). Les lignes 9-10 permettent de réduire le domaine de lavariable auxiliaire X en gardant que les items qui apparaissent dans le suffixe de l’instanciationcourante 〈σ(P1), .., σ(Ppose−1)〉 dans s. Enfin, le filtrage de la première variable non instanciéede P se fait que si T = V rai (lignes 18-19). Un exemple de ce modèle appliqué sur la base deséquences du tableau 1.2 est détaillé dans la section 4.2.5.

Ce modèle permet de supporter différents types de contraintes telles que la contrainte de lon-gueur, contrainte d’item, contrainte d’expression régulière, contraintes définies sur la couvertureet des contraintes sur les pattern-sets basées sur une relation de préférence (cf. définition 48). Parcontre, la contrainte de gap qui est basée sur la relation d’inclusion ne peut pas être considéréedirectement par ce modèle. Afin de considérer ce type de contrainte, une nouvelle contrainteglobale a été définie. Nous présentons dans la section suivante le second modèle permettantd’imposer la contrainte de gap[M,N ] sur les motifs.

2.2.2.2 Modèle 2 : exploitation de variables additionnelles pour modéliser les oc-currences

Les auteurs [Négrevergne et Guns, 2015] ont proposé d’étendre le premier modèle en ajoutantd’autres variables et des contraintes additionnelles pour exprimer les occurrences du motif àextraire dans la base de séquences.

Page 73: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

2.2. Approches PPC pour l’extraction de motifs séquentiels sous contraintes 64

Algorithme 6 : filter-exists-embedding (P, s, T,X)

Données : s : une séquence de SDB ; T : une variable booléenne ; X : une variable auxiliaire ;posP : position courante dans P à vérifier ; pose : position courante dans la séquence s

à tester par rapport aux variables instanciées dans P .début

posP ← 1 ; pose ← 1 ;tant que (posP ≤ |s| ∧ PposP est instanciée) faire1

si (σ(PposP ) 6= ✷) alors2

tant que (¬(s[pose] = σ(PposP )) ∧ pose ≤ |s|) faire3

pose ←− pose + 1 ;4

si (pose ≤ |s|) alors5

posP ← posP + 1 ; pose ← pose + 1 ;6

sinon

D(T )← {Faux} ; retourner Faux ;7

sinon

D(T )← {V rai} ; retourner Vrai ;8

NonInclus← items qui n’apparaissent pas dans 〈s[pose]..s[|s|]〉 sauf ✷ ;9

D(X)← D(X) \NonInclus;10

si (posP > |P |) alors11

D(T )← {V rai} ;12

si (posP > |s| ∧ |s| < |P |) alors13

si (P [|s|+ 1] est instanciée et σ(P [|s|+ 1]) 6= ✷) alors14

D(T )← {V rai} ;15

si (✷ /∈ D(P [|s|+ 1])) alors16

D(Ti)← {V rai} ;17

si (T est instanciée et σ(T ) = V rai) alors18

D(PposP )← D(PposP ) \NonInclus ;19

fin

Variables. Pour chaque transaction s ∈ SDB de longueur |s|, les variables Ei1, . . . , Ei|s|

sont introduites avec D(Eij) = [1..|s| + 1] t.q. j ∈ [1..|s|], chacune représente un in-dex (ou position) dans la séquence s. La valeur |s| + 1 est associée à Eij si aucunecorrespondance n’existe à la position j de la séquence s. La figure 2.5 illustre les va-leurs de ces variables lorsque les variables du motif P sont instanciées comme suit :σ(P1) = B, σ(P2) = C, σ(P3) = σ(P4) = σ(P5) = ✷.

Contraintes. La contrainte exists-embedding est remplacée par les contraintes suivantes :– Contrainte position-match : cette contrainte permet d’associer les bonnes valeurs aux

variables Eij en cas d’existence ou de non-existence d’occurrence de P dans s.– Contrainte Is-embedding : cette contrainte assure que la variable booléenne Ts = vrai

si les variables Ei1, . . . , Ei|s| forment une occurrence valide de P dans la séquence s.

∀i ∈ [1..m] : Ti ↔ ∀j ∈ [1..|s|] : Pj 6= ✷→ (Eij 6= |s|+ 1).

Page 74: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

2.3. Conclusion : vers une nouvelle approche PPC plus performante 65

P B C ✷ ✷ ✷

s1 〈ABCBC〉 T1 1

s2 〈BABC〉 T2 1

s3 〈AB〉 T3 0

s4 〈BCD〉 T4 1

j1 j2 j3 j4E1 2 3 6 6

E2 1 4 5 5

E3 3 3 3 3

E4 1 2 4 4

Figure 2.5 – Instanciation des variables du modèle 2 lorsque P = 〈BC〉

En exploitant les variables Eij , la contrainte de gap[M,N ] est exprimée comme suit :

∀i ∈ [1..m], ∀j ∈ [2..|s|], x ∈ [1..|s|] : Eij = x→M ≤ x− Ei(j−1) − 1 ≤ N

2.2.3 Discussion

En analysant les propositions qui ont été faites pour résoudre le problème EMSC, nous avonspu établir les observations suivantes :

– Toutes les approches encodent le problème EMS à l’aide des contraintes réifiées. Pourcela, pour chaque séquence s de SDB, une contrainte réifiée est définie indiquant si le motifà extraire P est une sous-séquence (ou non) de s : (Ts = 1) ⇔ (P ⊑ s). En conséquence,ce type de modèles présente un inconvénient majeur car il nécessite |SDB|=m contraintesréifiées pour encoder toute la base de séquences. Ceci constitue une limitation forte sur lataille des bases qui peuvent êtres traitées.

– D’autres approches encodent la relation de sous-séquence (P ⊑ s) en utilisant un en-semble de variables Poss,j (s ∈ SDB et 1 ≤ j ≤ ℓ) pour déterminer la position où P

apparaît dans s. Un tel encodage nécessite un grand nombre de variables intermédiaires(m× ℓ), ce qui rend ce processus plus coûteux en termes de temps de calcul.

– L’approche de [Négrevergne et Guns, 2015] répond partiellement aux deux premiers pointscar le nombre de variables et de contraintes a été réduit mais ça reste toujours insuffisantpour garantir le passage à l’échelle.

A partir de ces inconvénients rencontrés par les approches existantes, notre défi est de pro-poser une nouvelle approche basée sur la PPC qui concurrence les méthodes spécialisées tout enassurant le passage à l’échelle. Notre idée est d’encapsuler la contrainte de fréquence et la relationde sous-séquence dans une seule contrainte globale dénommée Prefix-Projection (cf. cha-pitre 4). Cette nouvelle contrainte, qui exploite le principe de la projection préfixée, ne requiertni contraintes réifiées ni variables supplémentaires pour encoder la relation de sous-séquence.Par conséquent, les contraintes usuelles (cf. section 1.2.2.1) définies sur les motifs peuvent êtreencodées directement en utilisant les contraintes (globales) du solveur de contraintes.

2.3 Conclusion : vers une nouvelle approche PPC plus perfor-

mante

La fouille de séquences rencontre deux défis majeurs : (1) proposer des méthodes performantespermettant d’appréhender de très grandes bases de séquences, et (2) pouvoir extraire des motifs

Page 75: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

2.3. Conclusion : vers une nouvelle approche PPC plus performante 66

qui sont potentiellement intéressants pour l’utilisateur par ajout de contraintes. Contrairementaux approches dédiées, les approches basées sur la PPC offrent la souplesse désirée pour répondreau deuxième point. Cependant, le premier point est mal pris en charge par les approches PPC quisont incapables de passer à l’échelle et traiter les grandes bases de séquences. Dans le chapitre 4,nous proposons une approche qui répond simultanément aux deux points précédents.

Page 76: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Deuxième partie

Contributions

Page 77: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Chapitre 3

Une approche PPC pour l’extraction demotifs séquentiels avec wildcards

Sommaire3.1 Fouille de séquences avec wildcards . . . . . . . . . . . . . . . . . . . . . . 69

3.2 Encodage de la relation de sous-séquence . . . . . . . . . . . . . . . . . . 69

3.3 Reformulation des contraintes individuelles sur les motifs . . . . . . . . 70

3.3.1 Contrainte de fréquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

3.3.2 Contrainte d’appartenance d’items . . . . . . . . . . . . . . . . . . . . . . . 71

3.3.3 Contrainte de longueur minimale . . . . . . . . . . . . . . . . . . . . . . . . 71

3.3.4 Contrainte d’expression régulière . . . . . . . . . . . . . . . . . . . . . . . . 71

3.3.5 Contrainte de Gap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

3.4 CSP dynamiques pour la modélisation de motifs plus riches . . . . . . 72

3.4.1 Principe de la méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

3.4.2 Extraction des top-k motifs . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

3.4.3 Extraction des sous-groupes pertinents . . . . . . . . . . . . . . . . . . . . . 74

3.5 Expérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

3.5.1 Fouille de textes bio-médicaux . . . . . . . . . . . . . . . . . . . . . . . . . 75

3.5.2 Extraction des sous-groupes pertinents pour l’analyse linguistique de textes 79

3.5.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Le premier modèle générique pour l’extraction de motifs séquentiels a été proposé dans[Coquery et al., 2012]. Ce modèle extrait les motifs avec wildcards 1 dans une seule séquence.Plus tard, un modèle CSP pour l’extraction de motifs séquentiels dans une base de séquences aété proposé par Métivier et al. [Métivier et al., 2013]. Malgré que ce dernier permet de traiterdifférentes contraintes, il est limité par la taille de la base considérée. D’où vient le besoin deconcevoir une nouvelle approche PPC plus efficace.

En plus de la contrainte de fréquence, nous avons considéré d’autres contraintes très utiles per-mettant de cibler la recherche et de réduire le nombre explosif de motifs. Deux types de contraintesont été abordés : (1) des contraintes individuelles qui doivent être vérifiées par chaque motif, (2)des contraintes globales, telles que les top-k et les sous-groupes pertinents, qui nécessitent unevérification par rapport à l’ensemble des motifs générés.

Ce chapitre est organisé comme suit. La section 3.1 présente les définitions nécessaires pourla fouille de séquences avec wildcards. La section 3.2 introduit le modèle PPC adopté pour

1. Un wildcard est un symbole spécial qui peut remplacer n’importe quel item de I dans une séquence.

Page 78: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

3.1. Fouille de séquences avec wildcards 69

l’extraction de motifs séquentiels avec wildcards. La section 3.3 montre comment exprimer lescontraintes individuelles à l’aide des contraintes du solveur. Nous décrivons dans la section 3.4l’extraction de motifs plus riches (top-k et sous-groupes pertinents), modélisés et extraits enexploitant les CSP dynamiques [Verfaillie et Jussien, 2005]. La section 3.5 est consacrée auxexpérimentations. Dans la section 3.6, nous concluons cette contribution en recommandantcertaines perspectives.

3.1 Fouille de séquences avec wildcards

Dans cette section, nous définissons la notion de motif avec wildcard ainsi que la relation desous-séquence qui est un peu particulière par rapport à celle définie sur les motifs classiques sanswildcards (cf. section 1.2).

Classe sid Séquence

D+

s1 DBED

s2 DBAC

s3 CED

D−

s4 ABAE

s5 DBCE

Table 3.1 – SDB3 : un exemple de base de séquences partitionnée en deux classes

Définition 46 (motif avec wildcards) Soit I un ensemble d’items, appelés items solides. Unnouveau symbole appelé wildcard (noté ⋄) est introduit. Un wildcard peut remplacer n’importequel item dans I. Soit IP = I ∪ {⋄}. Un motif p = 〈p1 . . . pℓ〉 est une sous-séquence définie surLP = I × (IP)

ℓ−1 oú ℓ ∈ N+. On impose que chaque motif commence par un item solide ettermine avec n’importe quel item y compris le wildcard.

Définition 47 (la relation ⊑ , occurrence) Soient deux items quelconques t1, t2 ∈ IP . Larelation de sous-séquence est définie entre ces deux items comme suit : t1 ⊑ t2 si t1 = ⋄ ou t1 = t2.Une occurrence d’un motif p = 〈p1 . . . pℓ〉 ∈ LP dans une séquence s = 〈s1 . . . sn〉 ∈ SDB à laposition i est définie par : occur(p, s, i) ≡ (i+ ℓ ≤ n)∧ (∀j ∈ 1..ℓ, pj ⊑ sj+i−1). On dit que p estsous-séquence de s (p ⊑ s), ssi il existe un entier i ≥ 1, tel que occur(p, s, i) soit vérifiée.

Exemple 26 Soient la base de séquences illustrée dans le tableau 3.1 et le motif p = 〈B⋄E〉.Nous avons coverSDB3(p) = {s4, s5}, puisque occur(p, s4, 2) = true et occur(p, s5, 2) = true. Ensupposant que minsup = 2, le motif p = 〈B⋄E〉 est un motif fréquent car supSDB3(p) ≥ 2.

3.2 Encodage de la relation de sous-séquence

Dans cette section, SDB représente la base de séquences où |SDB| = m et I est l’ensembledes items. Soit d la matrice représentant SDB telle que ds,i permet d’accéder à l’élément i de laséquence s ∈ SDB.

Page 79: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

3.3. Reformulation des contraintes individuelles sur les motifs 70

Variables. Soit P le motif inconnu de longueur ℓ qu’on cherche à extraire. Le motif P estmodélisé par ℓ variables 〈P1, P2, . . . , Pℓ〉. Le domaine de chaque variable Pi est défini commesuit : D(P1) = I et ∀i ∈ [2..ℓ], D(Pi) = I ∪ {⋄}. Cette définition permet d’imposer à ce quele premier élément de P soit toujours différent du symbole wildcard. Ensuite, afin d’encoder larelation de sous-séquence “P ⊑ s”, on introduit les variables booléennes suivantes : POSs,j avec(POSs,j = 1)⇔ (occur(P, s, j) = true). Cette relation affirme que P est une sous-séquence de S

à partir de la position j. Les variables POSs,j nous permettent de capturer toutes les positionspossibles à partir desquelles le motif P apparaît. Puisque la dernière position possible de P danss est (|s|+1−ℓ), alors j ∈ [1 . . . |s|+1−ℓ]. Enfin, on définit m variables booléennes {T1, . . . , Tm}

avec (Ts = 1), ssi la séquence s contient le motif P :

∀s ∈ SDB, (Ts = 1)⇔ (P ⊑ s) (3.1)

Ainsi, la fréquence du motif P est donnée par l’équation ci-dessous :

supSDB(P ) =∑

s∈SDB

Ts (3.2)

Contrainte d’occurrence. A partir de l’équation (3.1) nous avons : (Ts = 1)⇔ ∃j ∈ [1 . . . |s|+

1− ℓ] avec occur(P, s, j) = true. Cette propriété est reformulée par la contrainte suivante :

∀s ∈ SDB, (Ts = 1)⇔ (Σj∈[1...|S|+1−ℓ]POSs,j ≥ 1) (3.3)

La relation entre chaque motif candidat P et une séquence s ∈ SDB dans laquelle P apparaîtpeut être reformulée en "pour chaque i ∈ [1..ℓ], un item de rang (j + i − 1) dans la séquences correspond au ieme item de P , et le premier élément de P doit être différent du wildcard ⋄".Cette relation est exprimée par la contrainte suivante :

(POSs,j = 1)⇔ (P1 = ds,j) ∧ (∧

i∈[2..ℓ]

(Pi = ⋄ ∨ Pi = ds,j+i−1)) (3.4)

Proposition 2 (EMSW) Le problème d’énumération de l’ensemble complet des motifs séquen-tiels avec wildcard dans une base de séquences d’items par rapport à un seuil de fréquence minsup,est modélisé par les contraintes (3.3), (3.4) et (3.2).

Preuve 1 Les deux contraintes réifiées (3.3) et (3.4) permettent de modéliser la contrainte defréquence. S’il existe au moins une position j dans s telle que POSs,j = 1 (i.e. dans ce cas,la contrainte (3.4) est satisfaite), alors Ts est instanciée à 1. La propagation est effectuée de lamême façon, mais dans le sens inverse. La contrainte de fréquence (3.2) veille à ce que au moinsminsup variables Ts soient instanciées à 1. En combinant cette dernière avec les deux contraintes(3.3) et (3.4), on s’assure qu’au moins minsup séquences supportent le motif P .

3.3 Reformulation des contraintes individuelles sur les motifs

Cette section montre comment exploiter notre modèle d’une manière simple afin de modéliserles contraintes présentées dans la Section 1.2.2.1 tout en utilisant les contraintes fournies par lesolveur de contraintes.

Page 80: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

3.3. Reformulation des contraintes individuelles sur les motifs 71

3.3.1 Contrainte de fréquence

supSDB(P ) ≥ minsup ≡∑

s∈SDB

Ts ≥ minsup

3.3.2 Contrainte d’appartenance d’items

Soient V un sous-ensemble d’items, l et u deux entiers tels que 0 ≤ l ≤ u ≤ ℓ. Alors,item(P, V ) ≡

t∈V Among(P, {t}, l, u). Cette contrainte impose que chaque item de V doit êtreprésent au moins l fois et au plus u fois dans P . Pour interdire l’apparition d’un item t dans P ,il suffit d’imposer la contrainte : Among(P, {t}, 0, 0).

3.3.3 Contrainte de longueur minimale

minSize(P, ℓmin) ≡ Among(P, {⋄}, 0, ℓ − ℓmin). Cette reformulation permet d’imposer unelongueur minimale. Pour la contrainte de longueur maximale, c’est une conséquence directe denotre modèle : les motifs P sont de longueur maximale fixe égale à ℓ.

3.3.4 Contrainte d’expression régulière

Soit Areg l’automate déterministe associé à l’expression régulière exp. Alors, reg(P, exp) ≡Regular(P,Areg).

3.3.5 Contrainte de Gap

La contrainte gap[M,N ] permet de fixer le nombre de wildcards autorisé entre deux élémentssuccessifs dans le motif P qui doit être compris entre M et N . Nous proposons de modéliser cettecontrainte par un automate d’états finis AM,N permettant de contrôler le nombre de wildcardsdans P entre chaque paire d’éléments adjacents. Ainsi, nous avons imposé une contrainte Regularqui assure que les motifs générés soient reconnus par cet automate.

gap[M,N ](P ) ≡ Regular(P,AM,N )

AM,N est défini par un 5-uplets (Q,Σ, δ, q0, F ) où Q est l’ensemble des états finis, Σ=IPreprésente l’alphabet, δ : Q× Σ→ Q est la fonction de transition, q0 est l’état initial et F ⊆ Q

est l’ensemble des états finaux.

q0 qF Q1 Q2 Qi QM Qj QN Qc⋄

⋄ ⋄ ⋄ ⋄ ⋄

⋄⋄

Figure 3.1 – Automate d’états finis AM,N modélisant la contrainte gap[M,N ]. Le symbole ⋄représente le wildcard et ⋄ représente n’importe quel élément de I

Page 81: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

3.4. CSP dynamiques pour la modélisation de motifs plus riches 72

Le premier élément du motif doit être différent du wildcard, donc on ajoute un état qF etune transition entre q0 et qF permettant de lire un symbole différent du wildcard ⋄. A partir deqF , on doit pouvoir lire n’importe quel élément, mais dès qu’on tombe sur un wildcard, l’idéeconsiste à sauvegarder ces wildcards consécutifs, reconnus dans le motif P , dans des états Qi.Puisque seulement N wildcards sont autorisés entre deux éléments successifs, alors il suffit decréer N états correspondants. Maintenant, pour satisfaire la contrainte de gap minimale, nousavons ajouté les transitions suivantes : Q1 = δ(qF , ⋄) et Qi+1 = δ(Qi, ⋄) pour tout i ∈ [1,M − 1].En plus, les états Qi (M ≤ i ≤ N) sont liés pour autoriser la lecture d’un certain nombre dewildcards compris entre M et N . Tous ces états sont considérés comme des états finaux. Parconséquent, une transition sur une valeur différente du wildcard est ajoutée à partir de chaqueétat final Qi vers qF (M ≤ i ≤ N). La boucle de transitions sur qF est considérée que si M = 0,ce qui donne la possibilité de reconnaître des motifs sans wildcard. Enfin, pour autoriser la lecturede n’importe quel nombre de wildcards à la fin d’un motif, nous avons ajouté l’état Qc avec lestransitions : Qc = δ(QN , ⋄) et Qc = δ(Qc, ⋄). La Figure 3.1 illustre l’automate que nous avonsconstruit pour la contrainte gap[M,N ].

3.4 CSP dynamiques pour la modélisation de motifs plus riches

Cette section décrit comment modéliser, en exploitant les CSP dynamiques, des contraintesimpliquant un ensemble de motifs locaux [Verfaillie et Jussien, 2005]. Tout d’abord, nous pré-sentons l’idée principale de cette méthode. Ensuite, nous montrons comment s’en servir pourl’extraction des top-k motifs ainsi que les sous-groupes pertinents.

3.4.1 Principe de la méthode

Fondamentalement, l’idée principale est d’exploiter une relation de préférence notée ✄ définiesur les motifs pour produire une amélioration continue par rapport aux motifs déjà générés.Chaque contrainte dynamique doit permettre d’imposer que les prochains motifs à extraire soienttoujours meilleurs par rapport aux motifs déjà générés selon la relation ✄. Ce processus s’arrêtelorsque aucune meilleure solution n’est trouvée. La relation de préférence ✄ est définie commesuit :

Définition 48 (Relation de préférence) Une relation de préférence ✄ est une relationd’ordre partiel stricte sur LP . Soient P et P ′ deux motifs, P ✄ P ′ signifie que P est stricte-ment préféré par rapport à P ′.

Étant donnée une séquence de CSP P1, ...,Pn telle que chaque Pi = ({P},LP , Ci(P )) et :

Ci+1(P ) =

{

C(P ) si i = 0

Ci(P ) ∧ φ(Pi, P ) si i > 0(3.5)

C(P ) représente le système initial de contraintes. Ce système permet d’exprimer un certainnombre de propriétés qui doivent être vérifiées par le motif inconnu P (e.g., contrainte de fré-quence, item, gap et expression régulière). A chaque fois une solution Pi de Ci(P ) est trouvée, onposte dynamiquement une nouvelle contrainte φ(Pi, P ). Les contraintes φ(Pi, P ) pour i ∈ [1..n]

Page 82: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

3.4. CSP dynamiques pour la modélisation de motifs plus riches 73

assure successivement à ce que tous les motifs Pi générés ne doivent pas être meilleurs (selon ✄)par rapport au motif recherché P . Ainsi, à l’étape (i+1), il suffit d’ajouter la contrainte φ(Pi, P )

définie par : φ(Pi, P ) = ¬(Pi ✄ P ).Par conséquent, aucun des motifs obtenus P1, P2, . . ., Pi est meilleur que P (une preuve

immédiate par induction). La nouvelle contrainte φ(Pi, P ) ajoutée dynamiquement permet deréduire l’espace de recherche. Ce processus s’arrête lorsque aucun motif meilleur n’est trouvé (i.e.il existe n tel que Cn(P ) n’a aucune solution). Finalement, la complétude de notre approche estassurée par la complétude du solveur de contraintes.

Mais, les n motifs extraits ne représentent pas nécessairement toutes des solutions finalespuisque la relation de préférence ✄ est une relation d’ordre partiel. Certains de ces motifs sontconsidérés comme des motifs intermédiaires utilisés simplement pour élaguer plus l’espace derecherche. Une étape de post-traitement est nécessaire afin de filtrer les motifs candidats Pi pourlesquels il existe Pj (1 ≤ i < j ≤ n) tel que Pj ✄ Pi. Alors, le processus de fouille est achevé endeux étapes :

1. Calculer l’ensemble des candidats {P1, P2, . . . , Pn} en utilisant les CSP dynamiques,

2. Supprimer tous les "motifs intermédiaires" Pi qui sont dominés par d’autres motifs.

Les sections suivantes décrivent comment modéliser les contraintes top-k et sous-groupes per-tinents abordées en sections 1.2.2.2 et 1.2.2.2 respectivement, en exploitant les CSP dynamiques.Donc, pour chaque contrainte, nous détaillons le système de contraintes initial et celui ajoutédynamiquement (i.e. φ(Pi, P )).

3.4.2 Extraction des top-k motifs

Initialement, la valeur du seuil de fréquence minimale minsup est fixé à 1 pour assurer quetous les top-k motifs seront générés. En outre, on impose que le motif P possède au moins ℓmin

éléments solides. On obtient alors, le système de contraintes :

C(P ) ≡ supSDB(P ) ≥ 1 ∧minSize(P, ℓmin).

Durant le processus de recherche, une liste de motifs candidats M sera maintenue, ces motifscandidats doivent être ordonnés selon leurs supports.

Au début, tous les motifs générés serons ajoutés à la liste M jusqu’à atteindre k candidats.Une fois les k candidats sont générés, on impose que le prochain motif à extraire P doit avoirune fréquence supérieure 2 à la fréquence minimale des k motifs présents dans la liste M. Celaest garanti par l’ajout de la contrainte φ(Pi, P ) et en supprimant de M le motif avec la pluspetite fréquence i.eM←M\ {argmin

Pj∈MsupSDB(Pj)}. Ainsi, φ(Pi, P ) est définie comme suit :

φ(Pi, P ) =

{

supSDB(P ) > minPj∈M

supSDB(Pj) si i ≥ k

true sinon

Ce processus est répété jusqu’à ce que aucun motif ne pourra être généré. L’intérêt majeur dece processus itératif réside dans la réduction de l’espace de recherche à travers les contraintes ajou-tées dynamiquement, qui vont permettre de raffiner à chaque itération le système de contraintes.

2. Puisqu’on peut avoir plusieurs motifs avec le même support dans la base de séquences SDB, le nombre de

motifs top-k peut être supérieur à k. Pour générer l’ensemble complet des top-k motifs, il suffit de remplacer

l’inégalité stricte dans φ(Pi, P ) par (≥). Dans nos expérimentations, nous avons considéré l’inégalité stricte.

Page 83: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

3.4. CSP dynamiques pour la modélisation de motifs plus riches 74

Notons que pour les top-k motifs, aucune étape de post-traitement n’est nécessaire puisque lesmotifs générés sont ordonnés selon une relation d’ordre total basée sur la fréquence. Nous appe-lons cette méthode top-k-dynamique.

Exemple 27 Soit la base de séquences du tableau 3.1. Si on cherche à extraire les top-3 motifsséquentiels en exploitant notre stratégie, les motifs serons générés dans l’ordre précisé dans letableau 3.2. La valeur de ℓ est celle de la plus longue séquence dans SDB3 (ℓ = 4), donc un motifest codé par P = 〈P1, P2, P3, P4〉. Il faut noter que la stratégie de recherche que nous adoptonsrepose sur l’ordre lexicographique des variables : P1 est instanciée en premier, ensuite P2, et ainside suite. Pour la stratégie de choix des valeurs, l’item le plus fréquent est énuméré en premier :B : 4, D : 4, C : 3, E : 3, enfin A : 2. En imposant une inégalité stricte entre la fréquencedu prochain motif et la valeur de minsup, nous obtenons les top-3 motifs suivants : 〈B⋄⋄⋄〉 : 4,〈D⋄⋄⋄〉 : 4 et 〈DB⋄⋄〉 : 3.

Table 3.2 – Exécution de top-k-dynamique sur la base de séquences du tableau 3.1

Candidats M : liste des top-k motifs ordonnés selon leurs supports minsup

〈B⋄⋄⋄〉 : 4 〈B⋄⋄⋄〉 : 4 1〈BA⋄⋄〉 : 2 〈B⋄⋄⋄〉 : 4, 〈BA⋄⋄〉 : 2 1〈D⋄⋄⋄〉 : 4 〈B⋄⋄⋄〉 : 4, 〈D⋄⋄⋄〉 : 4, 〈BA⋄⋄〉 : 2 2〈DB⋄〉 : 3 〈B⋄⋄⋄〉 : 4, 〈D⋄⋄⋄〉 : 4, 〈DB⋄⋄〉 : 3 3

3.4.3 Extraction des sous-groupes pertinents

A paritr de la définition de cette contrainte donnée dans la Section 1.2.2.2, le système initialde contraintes ainsi que les contraintes dynamiques φ(Pi, P ) sont définies successivement par :

C(P ) ≡ supSDB(P ) ≥ minsup

φ(Pi, P ) ≡

coverD+(P ) * coverD+(Pi)∨coverD−(P ) + coverD−(Pi)∨(coverSDB(Pi) = coverSDB(P ) ∧ ¬(Pi ⊑ P ))

Finalement, contrairement aux top-k motifs, les motifs pertinents sont ordonnés selon unerelation d’ordre partiel. Ainsi, une étape de post-traitement est nécessaire pour éliminer les motifsdominés par d’autres motifs.

Exemple 28 Soit la base de séquences SDB3 du tableau 3.1. Ses séquences sont divisées en deuxclasses D+ et D−. Si on impose les contraintes maxSize(P, 3) ∧ subG(P, 2), un seul motif estconsidéré comme pertinent : P = 〈DB⋄〉.

Page 84: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

3.5. Expérimentations 75

3.5 Expérimentations

Dans cette section, nous évaluons les performances de notre approche sur des jeux de donnéesréelles. A cet effet, nous avons sélectionné deux cas d’étude. La première application porte surl’extraction de motifs fréquents à partir d’un texte médical. Ces motifs doivent vérifier diffé-rentes contraintes telles que la fréquence, le gap, la contrainte d’item et la contrainte de top-k.La deuxième application vise à extraire des motifs pertinents permettant d’effectuer une analysestylistique de texte en linguistique. Toutes les expérimentations ont été menées sur une machineavec un processeur Intel X5670 ayant 24 GB de mémoire, avec Linux comme system d’exploita-tion, en exploitant l’Unité de Calcul Intensif de l’Université d’Oran 1 et la plateforme de CalculHaute Performance IBNBADIS 3 offerte par le Centre de Recherche sur l’Information Scienti-fique et Technique - CERIST (Algérie). La mise en œuvre de notre modèle PPC a été réalisée enGecode 4. Nous avons utilisé une limite de temps (timeout) de 24 heures. Lorsque le processusd’extraction ne termine pas au bout de ce délai, le résultat est indiqué par le symbole (−) dansle tableau.

3.5.1 Fouille de textes bio-médicaux

3.5.1.1 Problème

L’objectif de cette application est de découvrir les relations entre gènes et maladies rares.Cette application est présentée en détail dans [Béchet et al., 2012a]. Dans ce travail, nous nousintéressons à l’extraction des motifs qui respectent cette relation ainsi que d’autres contraintespermettant d’aider l’expert à mieux analyser le texte. Pour cela, nous exploitons notre approchebasée sur la PPC.

3.5.1.2 Paramétrage

Nous avons construit un corpus à partir de la base de données PubMed. Pour cela, nousavons utilisé les deux dictionnaires HUGO 5 et Orphanet qui permettent d’interroger cette basede telle sorte qu’elle retourne que des phrases avec au moins un gène et une maladie rare, notéssuccessivement GENE et RD. Alors, 17 527 phrases de taille supérieure à 2 000 mots ont étéextraites. Par exemple, la phrase “<disease>Muir-Torre syndrome<\disease> is usuallyinherited in an autosomal dominant fashion and associated with mutations in the mismatchrepair genes, predominantly in <gene>MLH1<\gene> and <gene>MSH2<\ gene> genes.”contient un nom de maladie rare Muir-Torre syndrome, et deux gènes identifiés : MLH1 et MSH2.

Chaque phrase de ce corpus est considérée comme une séquence de la base, et chaque motreprésente un item dans la séquence. Les catégories grammaticales sont obtenues en utilisantl’outil TreeTagger [Schmid, 1994]. Dans la phrase, chaque mot est remplacé par son lemme, àl’exception des noms de gènes (respectivement les noms de maladies rares) qui sont remplacéspar GENE (respectivement RD). Donc, extraire les relations entre gènes et maladies rares revientà extraire les motifs contenant au moins les deux items : GENE et RD.

3. www.ibnbadis.cerist.dz

4. www.gecode.org

5. www.genenames.org

Page 85: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

3.5. Expérimentations 76

Afin de découvrir ce genre de motifs, on impose des contraintes usuelles telles que la fréquence,la longueur et d’autres contraintes permettant d’exprimer certaines connaissances en linguistiquetelle que la contrainte d’item. L’objectif est de conserver que les motifs qui transportent desrégularités linguistiques (e.g., la relation gène – maladie rare). Cependant, notre méthode permetde combiner toutes ces contraintes, venant de divers origines, d’une façon simple dans un cadreunifié. Nous citons brièvement les contraintes suivantes :

• Contrainte de fréquence minimale. Nous avons choisi trois valeurs pour minsup : 0, 5 %, 1 %

et 2 %.• Contrainte de longueur. L’intérêt de cette contrainte est de supprimer les motifs qui ne peuventpas révéler une information utile, par exemple un motif avec seulement deux items ne peut pasexprimer une relation entre GENE et RD. Pour cela, nous avons fixé ℓmin à 3. Nous avons limitéaussi la longueur maximale des motifs ℓ à 20.• Contrainte d’item. Chaque motif extrait doit contenir au moins trois items (permettant d’ex-primer la relation linguistique) : GENE, RD et (un nom ou un verbe 6).

3.5.1.3 Protocole expérimental

Nous avons effectué un ensemble d’expérimentations sur plusieurs sous-ensembles de sé-quences extraites à partir de la base PubMed. Pour cela, nous avons fait varier le nombre deséquence de 500 à 4 000. Un tel choix de valeurs peut s’expliquer par le fait qu’avec moins de 500

séquences, l’extraction des motifs semble moins difficile. En plus, l’étude de notre modèle PPCsur des jeux de données avec plus de 500 séquences devient plus intéressante, comme la tailledes CSP de ces instances devient relativement grande : jusqu’à 120 020 variables (avec 120 000

variables booléennes), la taille des domaines entre 2 à 4 197, et jusqu’à 6 848 002 contraintes.Pour étudier l’influence de la contrainte de gap, nous avons considéré deux cas : avec gap[0, 9]

et sans contrainte de gap. Dans le dernier cas, le nombre de wildcards n’est limité que par lalongueur des motifs ℓ. On peut diviser l’ensemble de ces expérimentations en deux classes. Dansla première, notre objectif est d’évaluer l’efficacité de notre approche dans le cadre de l’extractiondes motifs dit locaux. La deuxième classe vise à établir une analyse du comportement des CSPdynamiques pour l’extraction des top-k motifs et des sous-groupes pertinents.

3.5.1.4 Résultats quantitatifs

La figure 3.2 illustre le nombre de motifs extraits et le temps CPU (en secondes), avec etsans contrainte de gap pour chaque base de séquences considérée. Tout d’abord, le nombre deséquences extraites diminue avec l’augmentation du seuil de fréquence minimale minsup. Parexemple, lorsque minsup = 1 %, nous avons réussi à extraire l’ensemble complet des motifsfréquents avant d’atteindre le timeout. Deuxièmement, le temps CPU varie en fonction de lataille de la base. Lorsque le nombre de motifs est raisonnablement petit, notre approche réussità terminer le processus d’extraction quelle que soit la taille de la base. Toutefois, lorsque lenombre de solutions devient énorme (i.e., le cas de minsup avec de basses valeurs), l’approchePPC n’arrive pas à extraire tous les motifs fréquents avant que le timeout expire. Notre dernière

6. Pour chaque mot (i.e. item), sa catégorie grammaticale est stockée dans une base.

Page 86: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

3.5. Expérimentations 77

Pas de contrainte de gap gap[0, 9]

0

10000

20000

30000

40000

50000

60000

70000

80000

90000

0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Tem

ps (

sec)

minsup (%)

SDB−500SDB−1000SDB−2000SDB−4000

0

10000

20000

30000

40000

50000

60000

70000

80000

90000

0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Tem

ps (

sec)

minsup (%)

SDB−500SDB−1000SDB−2000SDB−4000

0

10

100

1000

10000

100000

1e+06

1e+07

0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

# M

otifs

(lo

gsca

le)

minsup (%)

SDB−500SDB−1000SDB−2000SDB−4000

0

10

100

1000

10000

100000

1e+06

1e+07

0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

# M

otifs

(lo

gsca

le)

minsup (%)

SDB−500SDB−1000SDB−2000SDB−4000

Figure 3.2 – Temps CPU (en haut) et nombre de motifs (en bas) selon minsup avec et sanscontrainte de gap

observation porte sur la contrainte de gap. Lorsque cette dernière est activée, le nombre de motifsextraits ainsi que le temps CPU diminuent. En effet, sans cette contrainte, le nombre de motifsextraits augmente (i.e., on obtient tous les motifs avec un nombre de wildcards limité que par lalongueur des motifs) ce qui augmente considérablement le temps CPU.

3.5.1.5 Résultats qualitatifs

Notre approche a permi d’obtenir des motifs pertinents : motifs linguistiques permettant àextraire des relations "GENE-RD" à partir d’un texte médical [Béchet et al., 2012a]. En outre,contrairement aux méthodes statistiques (e.g., Support Vector Machines) qui sont des méthodesconnues en fouille de textes, les motifs sont lisibles et exploitables par un expert, voir par exemple,ces trois motifs :

1. 〈(DISEASE) (be) (cause) (by) (mutation) (in) (the) (GENE)〉

2. 〈(GENE) (occur) (in) (DISEASE)〉

3. 〈(DISEASE) (be) (an) (mutation) (in) (GENE)〉

3.5.1.6 Extraction des top-k motifs

Dans cette partie, nous considérons le problème de l’extraction des top-k motifs fréquentscontenant au moins ℓmin éléments solides. Nous avons fixé les valeurs des différents paramètres

Page 87: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

3.5. Expérimentations 78

comme suit : ℓmin à 3, ℓ à 20 et gap à [0, 9]. Nous avons fait varier les valeurs de k de 1 jusqu’à10 000. Les résultats sont illustrés dans la Figure 3.3.

10000

20000

30000

40000

50000

60000

70000

80000

timeout

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

Tem

ps (

sec)

k

SDB−500SDB−1000SDB−2000

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

Nom

bre

de c

andi

dats

k

SDB−500SDB−1000SDB−2000

Figure 3.3 – Extraction des top-k motifs : temps CPU et nombre de candidats

Comme le montre la figure 3.3, le temps CPU nécessaire pour le calcul des top-k motifsaugmente avec l’augmentation du paramètre k. Notre approche ne parvient pas à calculer les top-k motifs pour des valeurs de k ≥ 2 000 en respectant le timeout. Cette figure montre égalementque les top-k motifs sont calculés efficacement pour de petites valeurs de k (≤ 500) et pour desbases de séquences avec une taille qui ne dépasse pas 2 000 séquences. Ainsi, la contrainte top-kpermet de contrôler la taille des motifs extraits et d’en garder que les plus pertinents.

3.5.1.7 L’efficacité des CSP dynamiques

Afin d’évaluer l’efficacité des CSP dynamiques, nous avons comparé notre méthodetop-k-dynamique avec une méthode naïve top-k-base-line pour extraire les top-k motifs.Cette dernière procède en deux étapes : tout d’abord, tous les motifs candidats vérifiant l’en-semble des contraintes locales sont extraits. Ensuite, une étape de filtrage est appliquée afin desupprimer tous les motifs inutils (motifs qui ne font pas partie des top-k par rapport aux supportsobtenus).

La Figure 3.4 compare les performances de ces deux méthodes en variant le paramètre k. Cerésultat montre clairement que notre approche dépasse de loin la méthode top-k-base-line pourtoutes les bases de séquences. Ainsi, les CSP dynamiques permettent d’élaguer considérablementl’espace de recherche, mais comme de nouvelles contraintes sont postées dynamiquement durantla recherche, le temps nécessaire pour la résolution augmente. Cependant, on peut noter que cetemps n’est pas constant et il peut varier énormément.

3.5.1.8 Comparaison avec une approche PPC basée sur regular

Afin de comparer notre méthode (SPM-REL) avec celle proposée dans [Métivier et al., 2013](SPM-REG), nous avons adapté le code de SPM-REG, fourni par les auteurs, afin de générer lesmêmes motifs que ceux de notre méthode (i.e., motifs avec wildcards). Pour SPM-REG, nous avonsfixé la contrainte de gap à gap[0, 0]. Les résultats sont illustrés dans le tableau 3.3.

Page 88: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

3.5. Expérimentations 79

1000

10000

20000

30000

40000

50000

60000

70000

80000

timeout 90000

1 10 100 1000 10000

Tem

ps (

sec)

k (logscale)

SDB−500

SDB−1000

SDB−2000

top−k−base−line

Figure 3.4 – top-k-dynamique vs. top-k-base-line

# seq. 50 100 150 200 250

minsu

p

SPM

-RE

G

SPM

-RE

L

SPM

-RE

G

SPM

-RE

L

SPM

-RE

G

SPM

-RE

L

SPM

-RE

G

SPM

-RE

L

SPM

-RE

G

SPM

-RE

L

10% 237 5 22 10 97 14 277 27 676 36

Table 3.3 – SPM-REG vs. SPM-REL : temps CPU (secondes)

Les temps CPU sont mesurés en secondes. SPM-REG termine l’extraction que si minsup ≥ 10 %

et pour de petites instances de bases avec un nombre de séquences allant de 50 jusqu’à 250.Lorsque le nombre d’instances dépasse 250 ou lorsque minsup est inférieur à 10 %, SPM-REG nepeut pas traiter ces instances en raison de consommation excessive de mémoire. Dans le cas oùSPM-REG termine l’extraction avec succès, SPM-REL se comporte strictement mieux. Ce résultatpeut s’expliquer par le fait que la contrainte de sous-séquence dans SPM-REG est encodée par unautomate d’états finis qui demande beaucoup de mémoire qui augmente avec l’augmentation dunombre de séquences dans la base.

3.5.2 Extraction des sous-groupes pertinents pour l’analyse linguistique detextes

3.5.2.1 Problème

L’objectif de cette application est de fournir aux experts linguistiques certains motifs perti-nents et importants permettant de caractériser un texte spécifique afin que ces experts effectuentune analyse stylistique basée sur les motifs extraits (Pour plus de détail sur cette application,voir [Quiniou et al., 2012]).

3.5.2.2 Paramétrage

Pour le choix du corpus, nous avons choisi deux corpus afin de découvrir des motifs qualifiéspertinents et émergents permettant d’établir une comparaison entre ces deux corpus. Le premier

Page 89: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

3.5. Expérimentations 80

corpus est composé de fictions appelé "The Rougon-Macquart", c’est un ensemble de romansde Emile Zola (on appelle ce corpus "ZOLA"). Il contient 198 913 phrases représentant lesséquences de la première classe de la base à analyser. Le deuxième corpus est composé d’unensemble de fictions provenant de divers auteurs de l’époque 1800− 1900 (on appelle ce corpus"ROMANS"). ROMANS contient 189 646 phrases représentant les séquences de la deuxièmeclasse de la base. Nous avons réalisé l’étiquetage des phrases en utilisant [Schmid, 1994]. D’unpoint de vue linguistique, puisqu’on veut se focaliser sur les motifs syntaxiques, chaque mot non-grammatical (i.e., verbe, nom ou adjectif) est remplacé par sa catégorie correspondante. Pourles autres catégories, nous gardons que le lemme du mot.

3.5.2.3 Protocole expérimental

Nous avons extrait à partir des deux classes ZOLA et ROMAN un ensemble de sous corpusavec un nombre de séquences allant de 50 jusqu’à 5 000. Zn (resp. Rn) dénote un sous-ensemblede ZOLA (resp. ROMAN) avec n séquences. La longueur des motifs à extraire a été fixé à20, avec un nombre minimal d’éléments solides ℓmin = 3 afin d’éliminer les motifs qui ne sontpas intéressants. Pour étudier l’influence de la contrainte de gap, nous avons considéré troissituations : sans gap, gap[0, 0] et gap[0, 1].

3.5.2.4 Résultats

Le tableau 3.4 résume, pour chaque base de séquences : (i) le nombre de candidats générés,(ii) le temps CPU nécessaire pour terminer le processus d’extraction et (iii) le nombre de motifspertinents. Les temps CPU donnés dans ce tableau comprennent le temps d’exécution des deuxétapes 7. Lorsque la contrainte de gap est désactivée, notre approche réussit à extraire tous lesmotifs pertinents jusqu’à n = 500. Le tableau 3.4 montre également que la contrainte de gapinfluence remarquablement sur le nombre de motif générés. Par exemple, dans le cas de gap[0, 0],notre approche se comporte assez bien et arrive à extraire tous les motifs jusqu’à n = 5 000.

Pas de contrainte de gap gap[0, 0] gap[0, 1]

Jeu

dedo

nnée

s

#C

andi

dats

Tem

ps(s

ec)

#M

otifs

#C

andi

dats

Tem

ps(s

ec)

#M

otifs

#C

andi

dats

Tem

ps(s

ec)

#M

otifs

Z50-R50 18 957 293 681 91 10 58 392 16 84Z100-R100 44 405 1 584 2 271 198 29 133 947 75 183Z200-R200 64 779 3 761 4 268 291 57 196 1 244 148 298Z500-R500 172 535 36 798 16 811 526 285 382 2 589 985 798Z1000-R1000 190 272 − − 1 221 1 263 918 6 400 5012 2 210Z5000-R5000 24 203 − − 6 068 45 700 4 118 13 659 − −

Table 3.4 – Résultats sur des bases extraites de ZOLA et ROMAN selon différentes configura-tions de la contrainte de gap

7. Le temps nécessaire pour effectuer l’étape de post-traitement est négligeable par rapport à celui de la

première étape.

Page 90: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

3.5. Expérimentations 81

Nous avons aussi comparé notre approche, nommée subgroup-dynamique, basée sur les CSPdynamiques avec une approche naïve appelée subgroup-base-line. Les résultats sont illustrésdans la Figure 3.5. Il est clair que notre approche domine la méthode subgroup-base-line enterme de temps CPU. Cependant, le nombre de candidats générés avec notre approche restefaible par rapport au nombre généré par l’approche naïve. Cela, confirme l’intérêt d’ajouter descontraintes dynamiques durant le processus de recherche, permettant de réduire considérablementl’espace de recherche ainsi que le temps CPU.

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

50000

50 100 150 200 250 300 350 400 450 500

Tem

ps (

sec)

# séquences

subgroup−base−linesubgroup−dynamique

0

50000

100000

150000

200000

250000

300000

50 100 150 200 250 300 350 400 450 500

# ca

ndid

ats

# séquences

subgroup−base−linesubgroup−dynamique

Figure 3.5 – subgroup-dynamique vs. subgroup-base-line : temps CPU et nombre de candi-dats

Maintenant, d’un point de vue linguistique, plusieurs motifs extraits sont pertinents car ilspermettent de caractériser le texte en question. Par exemple, le motifs de_le NC de le NC 8 estfréquent dans ZOLA, mais pas pour les autres auteurs de la même période. Ainsi, un tel motifdevient intéressant pour l’étude stylistique des deux corpus.

3.5.3 Discussion

Dans cette section, nous avons étudié le comportement de notre approche PPC pour l’ex-traction de motifs avec wildcards satisfaisant des contraintes locales ou des contraintes définiessur des ensembles de motifs (pattern-sets). D’après toutes les expérimentations réalisées, nousavons obtenu un comportement intéressant : le solveur de contraintes est efficace lorsque celles-cisont complexes et le nombre de motifs extrait est raisonnable. L’extraction des ensembles demotifs exige des propriétés plus riches (e.g., top-k ou sous-groupes pertinents) sur des motifslocaux avec des propriétés classiques (e.g., fréquence, longueur, item ou gap). Dans la figure 3.2,puisque le nombre de contraintes est petit, le nombre de motifs est énorme pour minsup ≤ 0.5 %,par conséquent, le solveur n’a pas réussi à extraire tous les motifs. Mais pour minsup ≥ 1 %, lesolveur a généré l’ensemble complet des motifs fréquents. Pour l’extraction des top-k motifs, lesolveur extrait tous les motifs lorsque k ≤ 500 et le nombre de séquences est inférieur à 2 000.Dans les autres cas, il y a trop de motifs donc le timeout est souvent atteint. Ce comportementintéressant est confirmé aussi dans le cas de l’extraction des sous-groupes pertinents. Malgré que

8. Ce motif a été extrait à partir d’une phrase telle que : "venu des profondeurs de la nuit (come from the

depth of the night)" et " prise du vertige de la faim (feel the hunger dizziness)".

Page 91: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

3.6. Conclusion 82

cette contrainte semble complexe, le solveur réussit dans la plupart des cas à extraire tous lesmotifs pertinents sauf pour seulement 3 sur les 18 expérimentations effectuées.

3.6 Conclusion

Dans ce chapitre, nous avons proposé un cadre unifié pour la modélisation du problèmede l’extraction de motifs séquentiels avec wildcards sous différentes contraintes. Deux types decontraintes ont été considérés : (1) des contraintes locales qui portent individuellement sur chaquemotif (e.g., fréquence, taille, gap, expressions régulières) et (2) des contraintes qui permettent dedéfinir des motifs plus complexes tels que les top-k motifs et les sous-groupes pertinents. Notreapproche permet de combiner simultanément les contraintes précédentes afin de cibler la re-cherche. Les expérimentations que nous avons menées sur deux cas d’étude, à savoir, l’analyse detexte biomédical et l’analyse stylistique en linguistique, ont montré l’intérêt de notre approche.Deux perspectives peuvent être envisagées : (1) traiter d’autres contraintes plus complexes tellesque les skypatterns, et (2) proposer une autre approche PPC pour l’extraction de motifs séquen-tiels sans wildcards que nous appelons motifs classiques. Ce dernier point fera l’objet du chapitresuivant (cf. chapitre 4).

Page 92: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Chapitre 4

Une contrainte globale pourl’extraction de motifs séquentiels

Sommaire4.1 Encodage des motifs séquentiels . . . . . . . . . . . . . . . . . . . . . . . . 84

4.2 La contrainte globale Prefix-Projection . . . . . . . . . . . . . . . . . 84

4.2.1 Définition et test de cohérence . . . . . . . . . . . . . . . . . . . . . . . . . 84

4.2.2 Prise en compte de l’anti-monotonie de la fréquence . . . . . . . . . . . . . 85

4.2.3 Construction des bases de séquences projetées . . . . . . . . . . . . . . . . . 86

4.2.4 Algorithme de filtrage pour Prefix-Projection . . . . . . . . . . . . . . . 87

4.2.5 Comparaison entre Prefix-Projection et global-p.f . . . . . . . . . . . 91

4.3 Encodage des contraintes usuelles sur les motifs . . . . . . . . . . . . . . 92

4.4 Extraction des top-k motifs . . . . . . . . . . . . . . . . . . . . . . . . . . 92

4.4.1 L’algorithm top-k-PP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

4.4.2 Stratégies d’initialisation de la liste des top-k (M) . . . . . . . . . . . . . . 94

4.5 Expérimentations sur des jeux de données réels . . . . . . . . . . . . . . 97

4.5.1 Protocole expérimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

4.5.2 Comparaison avec les approches PPC pour EMS . . . . . . . . . . . . . . . 98

4.5.3 Comparaison avec les méthodes spécialisées pour EMS . . . . . . . . . . . . 100

4.5.4 EMS sous contraintes d’item et de longueur minimale . . . . . . . . . . . . 101

4.5.5 EMS sous contraintes d’expression régulière . . . . . . . . . . . . . . . . . . 102

4.5.6 Passage à l’échelle de l’approche Prefix-Projection . . . . . . . . . . . . 103

4.5.7 Evaluation de notre approche pour l’extraction des top-k . . . . . . . . . . 103

4.5.8 Application de notre approche en fouille du web . . . . . . . . . . . . . . . 108

4.6 Conclusion : vers l’extraction de motifs plus riches avec la PPC . . . . 111

Dans le chapitre précédent, nous avons proposé un modèle PPC pour l’extraction de motifsséquentiels avec wildcards. Néanmoins, l’ensemble des motifs extrait ne reflète pas l’ensemble detous les motifs fréquents qui peuvent être extrait avec une approche classique : quelques motifs se-ront ratés. Par exemple, en considérant la base SDB3 (cf. tableau 3.1) avec minsup = 3, le motifp = 〈BE〉 est un motif séquentiel mais en considérant notre modèle, il ne sera pas extrait puisquenous avons 〈BE⋄〉 ⊑ SDB3[1], 〈B ⋄ E〉 ⊑ SDB3[4] et 〈B ⋄ E〉 ⊑ SDB3[5]. Donc, son supportest 2 en considérant le motif 〈B ⋄ E〉, ou 1 en considérant 〈BE⋄〉. Cependant, nous avons penséà étendre notre modèle pour extraire ce genre de motif, mais l’encodage de la relation de sous-séquence en considérant toutes les occurrences du motif dans chaque séquence de la base est trèscoûteux dans le cas de la fouille classique. Cela est dû au nombre exponentiel de sous-séquences

Page 93: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.1. Encodage des motifs séquentiels 84

qui peuvent apparaître dans une séquence de longueur n : O(n) occurrences dans le cas de lafouille avec wildcard et O(nℓ) dans le cas de la fouille classique. Pour cela, une nouvelle approchePPC est nécessaire pour l’extraction de l’ensemble complet des motifs séquentiels extraits parles approches classiques de fouille. Pour faire écho à ce défi, nous avons exploré l’autre directionde la fertilisation croisée entre la PPC et la fouille de données, à savoir comment la PPC peutbénéficier de la puissance des stratégies d’élagage utilisées dans les méthodes spécialisées. Notreidée était de proposer une contrainte globale qui encode à la fois la relation de sous-séquenceet la contrainte de fréquence. A cet effet, nous avons exploité le principe de projection préfixéeproposé dans [Pei et al., 2001].

Ce chapitre est organisé comme suit. Tout d’abord, la section 4.1 décrit l’encodage des motifsà extraire. La section 4.2 définit formellement notre contrainte globale Prefix-Projection.Ensuite, nous montrons dans la section 4.3 comment modéliser les contraintes locales décritesdans la section 1.2.2.1. Nous avons exploité notre contrainte globale Prefix-Projection pourextraire les top-k motifs. La section 4.4 explique la stratégie adoptée pour une initialisationefficace permettant de générer plus rapidement les meilleurs motifs au sens de la fréquence. Lasection 4.5 est dédiée aux expérimentations. Une conclusion est donnée en section 4.6.

4.1 Encodage des motifs séquentiels

Soit P un motif inconnu de longueur ℓ. Le symbole ✷ représente l’absence d’item et in-dique la fin de la séquence. Tout motif inconnu P est encodé par une séquence de ℓ variables〈P1, P2, . . . , Pℓ〉 t.q. ∀i ∈ [1 . . . ℓ], D(Pi) = I∪{✷}, avec les deux règles suivantes sur les domaines :

– Pour ignorer la séquence vide, le premier item de P doit être non vide : ✷ 6∈ D(P1).– Pour autoriser des motifs de taille inférieure à ℓ : ∀i ∈ [2..(ℓ−1)], (Pi = ✷)→ (Pi+1 = ✷).

4.2 La contrainte globale Prefix-Projection

Afin de comprendre notre approche, nous allons aborder plusieurs aspects liés à notrecontrainte globale. Tout d’abord, nous discutons la consistance qu’elle maintienne, et nous mon-trons comment elle tire parti de l’anti-monotonie de la contrainte de fréquence pour réduire lesdomaines des variables. Puis, nous détaillons les structures de données utilisées pour la construc-tion des bases de séquences projetées. Ensuite, nous décrivons son algorithme de filtrage en éva-luant sa complexité temporelle et spatiale. Enfin, pour comprendre l’avantage de notre approchepar rapport aux approches existantes, nous avons comparé notre contrainte globale Prefix-

Projection avec global-p.f.

4.2.1 Définition et test de cohérence

La contrainte globale Prefix-Projection encode à la fois la relation de sous-séquence etla contrainte de fréquence minimale.

Définition 49 (Contrainte Prefix-Projection) Soient P = 〈P1, P2, . . . , Pℓ〉 la séquencede variables représentant un motif inconnu de longueur ℓ et minsup le seuil de support minimal.

Page 94: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.2. La contrainte globale Prefix-Projection 85

L’instanciation 〈d1, ..., dℓ〉 ∈ D(P1) × . . . × D(Pℓ) est une solution pour la contrainte Prefix-

Projection (P, SDB,minsup) si et seulement si supSDB(〈d1, ..., dℓ〉) ≥ minsup.

Proposition 3 (Test de cohérence de Prefix-Projection) La contrainte Prefix-

Projection (P, SDB,minsup) admet une solution ssi il existe une instanciation σ = 〈d1, ..., dℓ〉

des variables de P t.q. SDB|σ contient au moins minsup suffixes de σ i.e. |SDB|σ| ≥ minsup.

Preuve 2 C’est une conséquence directe de la proposition 1, car supSDB(σ) = supSDB|σ(〈〉) =

|SDB|σ|. Ainsi, les suffixes de SDB|σ sont des supports de σ pour la contrainte Prefix-

Projection (P, SDB,minsup), ce qui assure que |SDB|σ| ≥ minsup.

La proposition suivante permet de caractériser les valeurs du domaine de la variable noninstanciée Pi+1 (appelée aussi variable future) qui étendent l’instanciation courante des va-riables 〈P1, . . . , Pi〉 en une instanciation cohérente (i.e. satisfaisant la contrainte globale Prefix-

Projection (P, SDB,minsup)).

Proposition 4 (Valeurs consistantes) Soit 1 σ = 〈d1, ..., di〉 une instanciation des variables〈P1, . . . , Pi〉 et Pi+1 une variable future. Une valeur d ∈ D(Pi+1) participe à une solution dePrefix-Projection(P, SDB,minsup) si et seulement si d est un item fréquent dans SDB|σ :

|{(sid, γ)|(sid, γ) ∈ SDB|σ ∧ 〈di+1〉 ⊑ γ}| ≥ minsup

Preuve 3 Supposons que la valeur d ∈ D(Pi+1) apparaît dans SDB|σ plus de minsup fois. De laproposition 1, nous avons supSDB(concat(σ, 〈d〉)) = supSDB|σ(〈d〉). Par conséquent, l’instancia-tion concat(σ, 〈d〉) satisfait la contrainte, et la valeur d ∈ D(Pi+1) est donc viable (i.e. participeà au moins une solution).

4.2.2 Prise en compte de l’anti-monotonie de la fréquence

La contrainte globale Prefix-Projection, outre le calcul de la fréquence des motifs, permetde tirer parti de la propriété d’anti-monotonie de cette contrainte (cf. définition 8).

Si un motif séquentiel p satisfait une contrainte anti-monotone, alors toute sous-séquence de pla satisfera aussi. De même, si un motif séquentiel p ne vérifie pas une contrainte anti-monotone,alors aucune sur-séquence de p ne pourra la vérifier. La contrainte de support minimal est unecontrainte anti-monotone.

Exemple 29 Reprenons l’exemple 5 avec minsup=2. Le motif 〈AC〉 satisfait la contrainte desupport minimal, et tout sous-motif de 〈AC〉 vérifiera aussi cette contrainte. Le motif 〈BA〉 nesatisfait pas la contrainte de support minimal, et aucun sur-motif de 〈BA〉 ne pourra vérifiercette contrainte.

La proposition ci-dessous montre comment la contrainte Prefix-Projection tire parti del’anti-monotonie de la contrainte de support minimal pour réduire les domaines des variables.

1. Nous noterons indifféremment σ soit par 〈d1, . . . , di〉 ou par 〈σ(P1), . . . , σ(Pi)〉.

Page 95: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.2. La contrainte globale Prefix-Projection 86

Proposition 5 (Règles de filtrage) Soit σ=〈d1, . . . , di〉 l’instanciation courante des variables〈P1, . . . , Pi〉. Toute valeur d ∈ D(Pi+1) qui est localement non fréquente dans SDB|σ peut êtreretirée du domaine de la variable Pi+1. De plus, la valeur d peut être aussi retirée des domainesdes variables Pj avec j ∈ [i+ 2, . . . , ℓ].

Preuve 4 Soit σ = 〈d1, . . . , di〉 l’instanciation courante des variables 〈P1, . . . , Pi〉. Soit d ∈

D(Pi+1) t.q. σ′ = concat(σ, 〈d〉). Supposons que la valeur d ne soit pas fréquente dans SDB|σ.Selon la proposition 1, nous avons supSDB|σ(〈d〉) = supSDB(σ

′) < minsup. Par conséquent, σ′

n’est pas fréquent dans SDB. Donc, la valeur d peut être retirée du domaine de Pi+1.Supposons maintenant que l’instanciation σ soit étendue à concat(σ, α), où α correspond à uneinstanciation quelconque des variables Pj (avec j > i). Si la valeur d ∈ D(Pi+1) est non fréquente,il est immédiat que supSDB|σ(concat(α, 〈d〉)) ≤ supSDB|σ(〈d〉) < minsup. Ainsi, si la valeur d

n’est pas fréquente dans SDB|σ, elle ne peut être fréquente dans SDB|concat(σ,α). Donc, d peutaussi être retirée du domaine des variables Pj pour j ∈ [i+ 2, . . . , ℓ].

Exemple 30 Considérons la base de séquences SDB1 donnée dans le tableau 1.2 avec un seuilde support minimal minsup = 2. Soit P = 〈P1, P2, P3〉 avec D(P1) = I et D(P2) = D(P3) =

I ∪ {✷}. Supposons que σ(P1) = A. Prefix-Projection(P, SDB,minsup) retirera les deuxvaleurs A et D des domaines des variables P2 et P3 car les seuls items localement fréquents dansSDB1|<A> sont B et C.

La contrainte globale Prefix-Projection tire parti de l’anti-monotonie de la contrainte desupport minimal de façon simple et élégante. Ce qui n’est pas le cas des autres approches PPCpour EMS (cf. section 2.2). Ainsi, [Négrevergne et Guns, 2015] introduit des variables entièressupplémentaires (une pour chaque séquence) et utilise des propagateurs et des stratégies derecherche spécifiques, rendant cette intégration plus complexe.

4.2.3 Construction des bases de séquences projetées

Notre approche utilise le principe de pseudo-projection de PrefixSpan (cf. section 1.2.3.3).Lorsqu’un préfixe est projeté sur une base de séquences, au lieu de stocker l’ensemble des suffixessous-forme de sous-séquences projetées, chaque suffixe est représenté par un couple (sid, start)

où sid est l’identifiant de la séquence et start la position de départ du suffixe dans la séquencesid.

Exemple 31 Considérons la base de séquences donnée dans le tableau 1.2. Comme illustré dansl’exemple 20, SDB|〈A〉 est composée de 3 suffixes : {(1, 〈BCBC〉), (2, 〈BC〉), (3, 〈B〉)}. En uti-

lisant le principe de pseudo projection, SDB|〈A〉 peut être représentée par les 3 couples suivants :

{(1, 2), (2, 3), (3, 2)}.

L’algorithme 7 effectue la pseudo-projection. Il prend en entrée l’ensemble des séquencesprojetées ProjSDB et un préfixe α. Il parcourt tous les couples (sid, start) de ProjSDB (ligne2), et cherche à trouver la première position correspondante pour chaque item de α dans laséquence s identifiée par sid. Cette opération est effectuée en incrémentant la position posα s’ily a correspondance entre les deux items α[posα] et s[poss] (lignes 6-7).

Page 96: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.2. La contrainte globale Prefix-Projection 87

Algorithme 7 : ProjectSDB (SDB, ProjSDB, α)

Données : SDB : base de séquences initiale ; ProjSDB : séquences projetées ; α : préfixedébut

SDB|α ← ∅ ;1

pour chaque couple (sid, start) ∈ ProjSDB faire2

s← SDB[sid] ;3

posα ← 1 ; poss ← start ;4

tant que (posα ≤ |α| ∧ poss ≤ |s|) faire5

si (α[posα] = s[poss] alors6

posα ← posα + 1 ;7

poss ← poss + 1 ;8

si poss ≤ |s| alors9

SDB|α ← SDB|α ∪ {(sid, poss)}10

retourner SDB|α ;11

fin

Dans le pire des cas, ProjectSDB doit parcourir tous les items de toutes les séquences. Parconséquent, la complexité en temps est en O(ℓ ×m), où m = |SDB| et ℓ est la longueur de laplus longue séquence dans SDB. La complexité spatiale de la pseudo-projection dans le pire descas est en O(m), puisque nous avons besoin de stocker au niveau de chaque séquence seulementle couple (sid, start). A noter que, pour la projection standard, la complexité est en O(m× ℓ).

4.2.4 Algorithme de filtrage pour Prefix-Projection

Assurer la cohérence de domaine pour la contrainte Prefix-Projection revient à trouverun motif séquentiel de longueur (ℓ − 1), puis à vérifier si ce motif reste fréquent lorsqu’il estétendu avec n’importe quel item d de D(Pℓ). Ainsi, trouver une telle instanciation est aussidifficile que le problème EMS original. [Yang, 2006] a prouvé que le problème de comptage dunombre de motifs séquentiels maximaux 2 dans une base de séquences est #P-complet, prouvantainsi la NP-difficulté du problème d’extraction de motifs séquentiels maximaux. La difficultéest due au nombre exponentiel de candidats qui doivent être analysés pour trouver les motifsfréquents. Trouver, pour chaque variable Pi ∈ P et chaque valeur dj ∈ D(Pi), une instanciationσ qui satisfait Prefix-Projection (P, SDB,minsup) t.q. σ(Pi) = dj est donc de complexitéexponentielle.

L’algorithme de filtrage élaboré pour la contrainte Prefix-Projection, maintient une co-hérence moins forte que la cohérence de domaine. La cohérence retenue s’appuie sur des pro-priétés spécifiques des bases projetées (cf. la proposition 4), et sur la propriété d’anti-monotoniedu support minimal (cf. la proposition 5). Même si la cohérence maintenue s’apparente à duforward-checking, Prefix-Projection est considérée comme une contrainte globale, car toutesles variables partagent les mêmes structures de données internes qui permettent d’activer etd’effectuer le filtrage.

L’algorithme 8 décrit le pseudo-code de l’algorithme de filtrage de la contrainte Prefix-

2. Un motif séquentiel p est maximal s’il n’existe aucun motif q tel que p ⊑ q.

Page 97: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.2. La contrainte globale Prefix-Projection 88

Algorithme 8 : Filtrage-Prefix-Projection (SDB, σ, i, P , minsup)

Données : SDB : la base initiale de séquences ; σ : le préfixe courant 〈σ(P1), . . . , σ(Pi)〉 ; minsup : le

seuil de support minimal ; PSDB : une structure de données interne utilisée par

Prefix-Projection pour le stockage des pseudo-projections

début

si (i ≥ 2 ∧ σ(Pi) = ✷) alors1

pour j ← i+ 1 à ℓ faire2

Pj ← ✷ ;3

retourner Vrai ;4

sinon

PSDBi ← ProjectSDB(SDB,PSDBi−1, 〈σ(Pi)〉) ;5

si (| PSDBi | < minsup) alors6

retourner Faux ;7

sinon

FI ← getFreqItems(SDB,PSDBi,minsup) ;8

pour j ← i+ 1 à ℓ faire9

pour chaque a ∈ D(Pj) s.t.(a 6= ✷ ∧ a /∈ FI) faire10

D(Pj)← D(Pj)− {a} ;11

retourner Vrai ;12

fin

Fonction getFreqItems (SDB, ProjSDB, minsup) ;

Données : SDB : la base de séquences initiale ; ProjSDB : une pseudo-projection ; ExistsItem,

SupCount : structure de données interne utilisant une table de hachage pour le calcul de

support sur les items ;

début

SupCount[]← {0, ..., 0} ; F ← ∅ ;13

pour chaque couple (sid, start) ∈ ProjSDB faire14

ExistsItem[]← {faux, ..., faux} ; s← SDB[sid] ;15

pour i← start à |s| faire16

a← s[i] ;17

si ¬ExistsItem[a] alors18

SupCount[a]← SupCount[a] + 1 ;19

ExistsItem[a]← V rai;20

si (SupCount[a] ≥ minsup) alors21

F ← F ∪ {a};22

retourner F ;23

fin

Projection. Cet algorithme incrémental est executé lorsque les i premières variables sontinstanciées. Il utilise deux structures de données principales permettant d’améliorer ses per-formances.

– PSDB stocke les pseudo-projections intermédiaires de SDB, où PSDBi (i ∈ [0, . . . , ℓ])correspond à la σ-projection de l’instanciation partielle courante σ = 〈σ(P1), . . . , σ(Pi)〉

(appelée aussi préfixe) des variables 〈P1, . . . , Pi〉, et PSDB0 = {(sid, 1)|(sid, s) ∈ SDB}

est la pseudo-projection de la base initiale SDB (i.e. cas où σ = 〈〉).– Une table de hachage permet d’indexer les items I vers les entiers 1..|I| afin d’assurer un

Page 98: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.2. La contrainte globale Prefix-Projection 89

calcul de support plus efficace sur les items (cf. la fonction getFreqItems).L’algorithme 8 prend en entrée l’instanciation partielle courante σ des variables 〈P1, . . . , Pi〉,

la position i de la dernière variable instanciée dans P et le seuil de support minimal minsup.Tout d’abord, l’algorithme vérifie si la dernière variable instanciée Pi est différente de ✷ (ligne1). Si c’est le cas, la fin de la séquence est atteinte (car la valeur ✷ ne peut pas apparaître qu’à lafin d’une séquence) et la séquence 〈σ(P1), . . . , σ(Pi)〉 constitue un motif séquentiel dans SDB ;par conséquent, l’algorithme force les (ℓ − i) variables restantes non instanciées à la valeur ✷,puis retourne la valeur Vrai (lignes 2-4). Sinon, l’algorithme calcule de manière incrémentalePSDBi à partir de PSDBi−1 en invoquant la fonction ProjectSDB (cf. l’algorithme 7). Ensuite,il vérifie à la ligne 6 si l’instanciation courante σ est un préfixe légal pour la contrainte (cf.la proposition 4). Ceci est fait en calculant la taille de PSDBi. Si cette taille est inférieure àminsup, alors l’algorithme arrête d’étendre le préfixe courant σ et retourne la valeur Faux. Dansle cas contraire, l’algorithme calcule l’ensemble des items localement fréquents FI dans PSDBien invoquant la fonction getFreqItems (ligne 8).

La fonction getFreqItems commence par parcourir toutes les entrées de la pseudo-projectionune par une, calcule le nombre de premières occurrences d’un item a (i.e. SupCount[a]) danschaque entrée (sid, start), puis garde tous les items fréquents (lignes 13-22). Ceci est fait enutilisant la structure de données ExistsItem. Une fois que toutes les entrées de la pseudo-projection ont été considérées, les items fréquents sont retournés (ligne 23), et l’algorithme 8met à jour les domaines courants des variables Pj avec j ≥ (i + 1) en supprimant les valeursinconsistantes, évitant ainsi d’explorer des branches dans l’arbre de recherche qui ne peuventmener à des motifs fréquents (lignes 9-11).

P1

P2

P3

A

B

✷ C

C

B

B

✷ C

C

C

Figure 4.1 – L’espace de recherche associé à l’exemple 32

Exemple 32 Considérons la base de séquences SDB1 du tableau 1.2 avec minsup = 2. SoitP = 〈P1, P2, P3〉 avec les domaines suivants : D(P1) = I, D(P2) = D(P3) = I ∪ {✷}. LaFigure 4.1 illustre l’espace de recherche exploré lors du filtrage effectué par la contrainte globalePrefix-Projection. Nous adoptons une stratégie de recherche basée sur l’ordre lexicographiquedes variables : P1 est instanciée en premier, ensuite P2, enfin P3. Pour la stratégie de choix devaleurs, la plus petite valeur dans le domaine (par rapport à son ordre lexicographique) est choisie

Page 99: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.2. La contrainte globale Prefix-Projection 90

en premier. Initialement, avant de lancer l’algorithme Filtrage-Prefix-Projection, les items nonfréquents sont retirés des domaines de toutes les variables. Par conséquent, la première variableP1 sera instanciée à A, B et ensuite C. Puisque le filtrage est basé sur le préfixe courant, il estclair que l’algorithme de filtrage est efficace seulement si au moins la première variable (P1) estinstanciée. Supposons que σ(P1) = A, l’algorithme calcule d’abord la base projetée SDB1|〈A〉 à

partir de la base initiale SDB1 (ligne 5) : PSDB1 = {(1, 1), (2, 2), (3, 1)}. Ensuite, il s’assureque l’instanciation courante σ est consistante (lignes 6-7). Si le préfixe courant σ apparaît dansau moins minsup séquences de SDB1, les items fréquents permettant d’étendre σ = 〈A〉 vers unmotif séquentiel seront calculés (ligne 8). Par conséquent, les deux items non fréquents A et D

seront retirés de D(P2) et D(P3) (cf. exemple 30). Il y a un cas particulier à traiter lorsqu’unevariable est instanciée au symbole ✷. Par exemple, on suppose qu’après instanciation de P1 àA, la variable P2 est instanciée à ✷. Puisque ce symbole désigne la fin de la séquence, toutes lesvariables qui suivent P2 doivent être instanciées aussi à ✷ (lignes 1-3). Nous obtenons ainsi lemotif séquentiel 〈A✷✷〉 = 〈A〉.

Proposition 6 (Cohérence de domaine de la prochaine variable) Soient σ =

〈d1, . . . , di〉 une instanciation partielle consistante de i variables 〈P1, . . . , Pi〉 (i.e., le pré-fixe courant fréquent), et Pi+1 ∈ P une variable libre (i.e. non instanciée). L’algorithmeFiltrage-Prefix-Projection assure la cohérence de domaine sur la variable Pi+1 pour la contraintePrefix-Projection.

Preuve 5 Puisque σ est consistant, alors à partir de la proposition 3, nous avons |SDB|σ|

≥ minsup. L’algorithme Filtrage-Prefix-Projection retire à partir du domaine de Pi+1 toutesles valeurs qui ne sont pas fréquentes dans SDB|σ. Il garde ainsi que les valeurs consistantesfournies par la proposition 4. Par conséquent, Filtrage-Prefix-Projection assure la cohérence dedomaine sur la variable Pi+1.

Proposition 7 (Complexité du filtrage) Dans le pire des cas, le filtrage de la contraintePrefix-Projection peut être réalisé en O(m× ℓ+m× d+ ℓ× d). La complexité en espace dePrefix-Projection est en O(m× ℓ).

Preuve 6 Soit ℓ la longueur de la plus longue séquence de SDB, m = |SDB| et d = |I|. Lecalcul de la pseudo-projection de PSDBi s’effectue en O(m× ℓ) : pour chaque séquence (sid, s)

de SDB, vérifier si σ apparaît dans s se fait en O(ℓ) et il y a m séquences. La complexité totalede la fonction GetFreqItems est O(m× (ℓ+d)). Les lignes (9-11) s’effectuent en O(ℓ×d). Ainsi,la complexité finale est en O(m × ℓ + m × (ℓ + d) + ℓ × d) i.e. O(m × ℓ + m × d + ℓ × d). Lacomplexité en espace de l’algorithme de filtrage est liée à la structure de données interne PSDB.Dans le pire des cas, ℓ bases projetées doivent être stockées. Comme chaque pseudo-projectiond’une base nécessite O(m), la complexité finale dans le pire des cas est O(m× ℓ).

La proposition suivante montre que la recherche de solutions peut se faire en temps polynomialen fonction du nombre de solutions N .

Proposition 8 (Complexité de la recherche des solutions) Supposons que les variables〈P1, . . . , Pℓ〉 sont énumérées suivant l’ordre lexicographique P1 → P2 → · · · → Pℓ. L’extrac-tion de l’ensemble de tous les motifs séquentiels de cardinalité N , se fait sans échec, et enO(N × ℓ× (m× ℓ+m× d+ ℓ× d)).

Page 100: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.2. La contrainte globale Prefix-Projection 91

Preuve 7 En utilisant la proposition 6, l’ordre adopté des variables garantit la cohérence dedomaine de la prochaine variable. En conséquence, la recherche des solutions se fait sans échec.Étant donné qu’il n’y a pas d’échec, le nombre de feuilles de l’arbre de recherche est N , et lataille de l’arbre de recherche est borné par O(N × ℓ). Au niveau de chaque nœud de l’arbre derecherche, le solveur fait appel uniquement à l’algorithme de filtrage Filtrage-Prefix-Projection,d’où la complexité donnée en fonction du nombre de solutions N .

En conséquence de la proposition 6, pour avoir une bonne performance de la recherche dessolutions, il est nécessaire d’avoir autant de nœuds possibles où toutes les variables qui pré-cèdent la variable à instancier, sont déjà instanciées. Le comportement idéal est celui de l’ordrelexicographique où la cohérence de domaine est assurée sur la prochaine variable.

4.2.5 Comparaison entre Prefix-Projection et global-p.f

Dans cette section, nous comparons notre approche basée sur la contrainte globalePrefix-Projection et le modèle reifié de [Négrevergne et Guns, 2015] (détaillé en Section2.2) au niveau modélisation et capacité de filtrage. Par exemple, considérons la base de sé-quences du tableau 1.2 avec minsup = 3. Soit P = 〈P1, P2, P3, P4, P5〉. On suppose maintenantque σ(P1) = B et D(P2) = D(P3) = D(P4) = D(P5) = I ∪ {✷}. Le tableau 4.1 compare lemodèle PPC des deux approches.

Prefix-Projection global-p.f

P = 〈P1, P2, . . . , P5〉 % motif inconnu P = 〈P1, P2, . . . , P5〉 % motif inconnuVariables D(P1) = {B} D(P1) = {B}

& D(P2) = {A,B,C,D,✷} D(P2) = D(P3) = D(P4) = D(P5) = {A,B,C,D,✷}

Domaines D(P3) = {A,B,C,D,✷} S = 〈S1, S2, S3, S4〉 % variables booléennes pour assurer les contraintes de couvertureD(P4) = {A,B,C,D,✷} X = 〈X1, X2, X3, X4〉 % variables axillaires pour éviter les symboles non-fréquentsD(P5) = {A,B,C,D,✷} D(X1) = D(X2) = D(X3) = D(X4) = {A,B,C,D,✷}

∀j ∈ 2 . . . 4, Cj−1 : Pj = ✷→ Pj+1 = ✷ % contraintes de fin de séquenceC4 : exists-embedding(P, SDB[1], S1, X1) % contraintes d’inclusion

Contraintes Prefix-Projection(P, SDB,minsup) C5 : exists-embedding(P, SDB[2], S2, X2) % en ce sens Si ←→ ∃e s .t.P ⊑ SDB[i]

C6 : exists-embedding(P, SDB[3], S3, X3)

C7 : exists-embedding(P, SDB[4], S4, X4)

C8 : S1 + S2 + S3 + S4 ≥ 3 % contrainte de fréquence

Table 4.1 – Modèles PPC pour EMS : Prefix-Projection vs. global-p.f

Comme indiqué dans le tableau 4.1, notre approche nécessite seulement une seulecontrainte et cinq variables afin de modéliser la relation de sous-séquence combinée avecla contrainte de fréquence. En revanche, le modèle réifié utilise 8 contraintes (i.e., C1, ..., C8)et 8 variables additionnelles : 4 variables booléennes S1, ..., S4 (une pour chaque contrainteglobale exists-embedding), et 4 variables auxiliaires X1, ..., X4 où chaque Xi (i ∈ {1, ..., 4})stocke les items qui apparaissent après le préfixe courant dans la séquence Si. Dans ce qui suit,nous allons détailler le processus de filtrage et la réduction des domaines établis par les deuxmodèles sur les domaines courants de l’ensemble des variables :

global-p.f :

– Pour les contraintes de fin de séquences (voir ligne 1 dans les contraintes associées àglobal-p.f), comme aucune variable Pj n’est instanciée à ✷, aucune réduction de do-maine n’est faite sur les variables P .

Page 101: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.3. Encodage des contraintes usuelles sur les motifs 92

– De même, aucun filtrage n’est effectué par les contraintes d’inclusion. Le domaine de Si

ne peut pas être réduit puisque 〈B〉 apparaît dans toutes les séquences. Par conséquent,aucun filtrage ne peut être établi sur les variables P . Chaque variable auxiliaire Xi

(i ∈ 1, ..., 4), prend comme domaine les items qui apparaissent après le préfixe courant〈B〉 comme suit : D(X1) = {B,C,✷}, D(X2) = {A,B,C,✷}, D(X3) = {✷}, D(X4) =

{C,D,✷}. Nous signalons que les valeurs des domaines des variables X sont exploitéespar une routine de branchement spécialisée (choix de valeurs) afin d’éviter l’explorationdes items non fréquents. Dans cet exemple, il y a que l’item C qui est fréquent, donc,pour la prochaine variable non instanciée, la routine de branchement va permettre debrancher obligatoirement sur cet item fréquent.

– La contrainte de fréquence ne filtre pas, puisque les variables S ne sont pas instanciées.– Finalement, global-p.f ne fait aucune réduction de domaine sur les variables P .

Prefix-Projection :

En exécutant l’algorithme de filtrage Filtrage-Prefix-Projection, plusieurs valeurs incon-sistantes seront élaguées à partir des domaines des variables P . Nous obtenons ainsi lesdomaines suivants : Pi ∈ {C,✷} (i = 2, ..., 5).

4.3 Encodage des contraintes usuelles sur les motifs

Les contraintes définies dans la section 1.2.2.1 peuvent être formulées de manière simple enutilisant directement les contraintes globales du solveur. Soit P le motif inconnu recherché delongueur ℓ.

Contrainte de longueur minimale : minSize(P, ℓmin) ≡∧i=ℓmin

i=1 (Pi 6= �)

Contrainte de longueur maximale : maxSize(P, ℓmax) ≡∧i=ℓ

i=ℓmax+1(Pi = �)

Contrainte d’appartenance d’items : soient V un sous-ensemble d’items, l et u deux entierstels que 0 ≤ l ≤ u ≤ ℓ. Alors, item(P, V ) ≡

t∈V Among(P, {t}, l, u). Cette contrainte imposeque les items de V doivent être présents au moins l fois et au plus u fois dans P . Pour interdirel’apparition d’un item dans P , il suffit de mettre l et u à 0.

Contrainte d’expression régulière : soit Areg l’automate déterministe associé à l’expressionrégulière exp. Alors, reg(P, exp) ≡ Regular(P,Areg).

4.4 Extraction des top-k motifs

Dans cette section, nous considérons le problème d’extraction des top-k motifs avec unelongueur minimal ℓmin. Premièrement, nous décrivons l’algorithme général pour résoudre ceproblème, qui se base sur deux étapes : (1) initialisation de la liste de motif M ordonnés parleurs supports, et (2) mise à jour du seuil de fréquence minsup durant la recherche. Ensuite, nousdétaillons les deux stratégies que nous proposons, nommées respectivement top-k-init-BL ettop-k-init-IPL qui sont liées à la première étape de l’extraction des top-k. Ces deux stratégiesexploitent notre contrainte globale Prefix-Projection pour explorer l’espace de recherche, quidiffère d’une stratégie à l’autre.

Page 102: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.4. Extraction des top-k motifs 93

Dans un tel problème, le seuil de fréquence minimale minsup est inconnu, alors que pour leproblème EMS, sa valeur doit être définie avant de lancer le processus de l’extraction. Ainsi, unalgorithme de top-k ne peut pas se baser sur minsup pour élaguer l’espace de recherche. Parconséquent, le problème devient plus difficile et la valeur de minsup peut être inférée durant leprocessus de l’extraction. Pour le paramètre ℓmin, qui intervient dans la définition des top-k, ilpeut être initialisé à 1 si on s’intéresse aux motifs avec n’importe quelle longueur.

4.4.1 L’algorithm top-k-PP

Algorithme 9 : top-k-PP (Φ, SDB, ℓmin, k)Données : Φ : CSP ; SDB : base de séquences initiale ; minsup : variable interne associée au seuil de fréquence

minimale ; ℓmin : la longueur minimale des motifs ; k (≥ 1) : un entier positif.Résultat : M : l’ensemble de tous les top-k motifs d’une longueur minimale ℓmin.débutM← ∅ ;1minsup← 0 ;2M← top-k-init(Φ, SDB,minsup, ℓmin, k) ;3si (|M| = k) alors4

top-k-SupportRaising(Φ, SDB,M, ℓmin, k) ;5

retournerM ;6

finProcedure top-k-SupportRaising (Φ, SDB,M, ℓmin, k) ;début

minsup← la fréquence minimale des motifs dans M ;7tant que (P = solverNext(Φ, SDB,minsup) ∧ |P | ≥ ℓmin) faire8

add (P ,M) ;9top-k-update(M, P , minsup, k) ;10minsup← la fréquence minimale des motifs dans M ;11

finProcedure top-k-update (M, P , minsup, k) ;début

si (sup(P ) > minsup) alors12tant que (|M| > k and ∃P ′ ∈M| sup(P ′) = minsup) faire13

remove (P ′,M) ;14

fin

L’algorithm 9 décrit une approche générale pour l’extraction des top-k motifs de longueur mi-nimale ℓmin. Il prend en entrée le CSP Φ, une base de séquences SDB, et deux entiers trictementpositifs k et ℓmin. En sortie, il fournit l’ensemble M des top-k motifs inclus dans SDB.

Soit solverNext(Φ, SDB,minsup) la signature d’une fonction qui recherche la prochainesolution qui satisfait le système de contraintes Φ. top-k-PP exploite la contrainte globale Prefix-

Projection pour explorer l’espace de recherche. Il effectue deux étapes de base : (1) initialisationde la liste de motifs M ordonnés par leurs supports (ligne 3), et (2) mise à jour du seuil defréquence minsup durant la recherche (ligne 5).

Étape d’initialisation. Cette première étape vise à calculer les k premiers motifs (i.e. unensemble qui représente potentiellement les top-k motifs) avec une longueur minimale ℓmin, etles insérer dans la liste M ordonnés selon leurs supports. Cette liste interne est utilisée pourmaintenir l’ensemble des motifs considérés jusqu’à présent comme top-k. Le point clé de cette

Page 103: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.4. Extraction des top-k motifs 94

étape consiste à générer les motifs les plus favorables à avoir un support élevé, afin que la secondeétape réussi rapidement à extraire l’ensemble complet des top-k motifs.

Étape de mise à jour de minsup. Puisque le seuil de fréquence minsup est inconnu au départ,le processus d’extraction devrait commencer par minsup = 0, et l’augmenter progressivement du-rant la génération des nouveaux motifs, ensuite utiliser la nouvelle valeur de minsup pour élaguerles branches inutiles dans l’espace de recherche. La procédure top-k-SupportRaising détaillele processus de mise à jour de minsup. Au début, minsup est initialisé à 0 (ligne 2). Dès quek motifs vérifiant la contrainte de longueur minimale sont accumulés, minsup aura comme va-leur le support du motif le moins fréquent dans la liste M (ligne 7). Par la suite, à chaque foisqu’un nouveau motif P est généré (ligne 8), il est inséré dans la listeM (ligne 9), les motifs quin’appartiennent pas aux top-k, seront retirés de M (cf. la procédure top-k-update, linge 10),et donc, minsup est mis à jour avec le support du nouveau motif le moins fréquent dans M(ligne 11). La recherche s’arrête lorsque aucun motif avec un support supérieur ou égal à minsup

ne pourra être généré, ce qui signifie que la liste M contient l’ensemble des top-k motifs d’unelongueur minimale égale à ℓmin.

4.4.2 Stratégies d’initialisation de la liste des top-k (M)

Le grand intérêt du processus de mise à jour de minsup dans l’algorithme 9 est que l’augmen-tation de la valeur de minsup dynamiquement durant la recherche permet d’affiner la conditiond’élagage (qui porte sur minsup) et donc d’éviter l’exploration de branches inutiles dans l’arbrede recherche. Cependant, une telle approche est fortement liée à la façon avec laquelle minsup

est initié. Si minsup est initialisé avec une petite valeur, on aura un espace de recherche énormé-ment grand ce qui mène vers l’exploration de beaucoup de motifs avec de faibles fréquences quin’appartiennent pas aux top-k. Cela ralentira forcément le processus d’augmentation de minsup.Ainsi, avoir une approche efficace pour l’extraction des top-k nécessite une stratégie permettantde générer les motifs les plus fréquents le plus tôt possible. Puisque minsup est initialisé par lesupport du motif le moins fréquent dansM (calculés dans la première étape de l’algorithme 9),La façon dont les k premiers motifs soient générés possède un grand impact sur l’augmentationde minsup. Dans ce qui suit, nous décrivons deux stratégies d’initialisation de la liste des top-k(M) (cf. algorithm 10).

a) Stratégie de base (base-line strategy). La fonction top-k-init-BL 3 illustre le pseudo-code de la stratégie de base (naïve) pour l’initialisation de la liste M. Dans une telle stratégie,le plus important est de remplir la liste M par des motifs respectant la contrainte de longueurminimale, en adoptant une stratégie de recherche en profondeur d’abord pour le parcours del’espace de recherche (lignes 1-3). A chaque fois un nouveau motif est extrait (ligne 2), il serainséré dans la liste M ordonnée par ordre croissant de support. Une fois la liste est pleine(le nombre de motifs atteint k), l’exploration de l’espace de recherche continuera en exécutantla fonction top-k-SupportRaising. Il est clair que les performances de cette stratégie sontmédiocres puisque l’espace de recherche est assez grand (cf. section 4.5.7). Donc, il est importantde générer les motifs les plus fréquents en premier afin d’augmenter rapidement le seuil defréquence minsup.

3. Notons par top-k-PP-BL l’algorithme top-k qui exploite dans la première étape la stratégie top-k-init-BL.

Page 104: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.4. Extraction des top-k motifs 95

Algorithme 10 : Stratégies pour l’initialisation de M avec les k premières solutions fai-sablesFunction top-k-init-BL (Φ, SDB,minsup, ℓmin, k) ;début

pour i← 1 to k faire1

si (P = solverNext(Φ, SDB,minsup) ∧ |P | ≥ ℓmin) alors2

add (P ,M) ;3

sinon4

retournerM

retournerM ;finFunction top-k-init-IPL (Φ, SDB,minsup, ℓmin, k) ;début

x← ℓmin ;5

tant que (|M| < k and x ≤ ℓ) faire6

tant que (P = solverNext(Φ, SDB,minsup) ∧ |P | = x) faire7

add (P ,M) ;8

si (|M| > k) alors9

minsup← la fréquence minimale des motifs dans M ;10

top-k-update(M, P , minsup, k) ;11

Incrémenter x par un pas de 1 et relancer la recherche ;12

retournerMfin

b) Génération des motifs les plus prometteurs. Afin d’accélérer le processus d’augmenta-tion de minsup, nous avons pensé à extraire les motifs les plus prometteurs c.à.d ayant proba-blement un grand support. Cela permettra de mettre à jour minsup à une grande valeur afind’élaguer les motifs les moins fréquents. Nous proposons ainsi une nouvelle stratégie qui se basesur la taille des motifs. Les motifs de petite taille sont générés en premier, ensuite cette tailleest augmentée au fur et à mesure jusqu’à atteindre la longueur maximale donnée pas ℓ ou bienle nombre de motifs k est atteint. Le raisonnement derrière cette stratégie est que les motifsde petites tailles sont plus susceptibles d’être les plus fréquents dans la base SDB. La fonctiontop-k-init-IPL 4 illustre le pseudo-code de notre stratégie. Cette stratégie peut être considéréecomme une approche en largeur qui génère dans un niveau i des motifs en incrémentant la tailledes motifs générés au niveau i−1. Au départ, nous fixons la longueur minimale des motifs à ℓmin

(lignes 7-11), et le processus d’extraction s’arrête lorsque aucun motif avec un support minsup

ne pourra être généré. Si le nombre de motifs extraits de longueur ℓmin est inférieur à k, alorsnous recommençons la recherche avec ℓmin + 1. Ce processus est répété jusqu’à ce que k motifssoient générés (ligne 6). Contrairement à la stratégie de base, une fois les k motifs sont extraits,la recherche est relancée à nouveau, pour générer des motifs avec lmin supérieur à la dernière

4. Notons par top-k-PP-IPL l’algorithme top-k qui exploite dans la première étape la stratégie

top-k-init-IPL.

Page 105: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.4. Extraction des top-k motifs 96

valeur de x, avant de poursuivre l’exécution avec la procédure top-k-SupportRaising.Nous signalons que le paramètre ℓmin permet de fixer la longueur minimale des motifs à

extraire. Bien que ce paramètre est considéré dans la définition du problème de l’extraction destop-k motifs, et donc comme une entrée à notre approche top-k-PP-IPL, il n’a aucun impact surles solutions générées, mais il intervient fortement sur l’efficacité de résolution. Cela est garanti enfixant ℓmin à 1 et en ajoutant la contrainte de taille minimale minSize(P, ℓmin) (cf. section 4.3).

étapes de l’algorithme candidats M : liste des top-k motifs ordonnés selon leurs supports minsup

Initialisation (ℓmin = 1) 〈B〉 : 4, 〈C〉 : 3, 〈A〉 : 3, 〈D〉 : 1 〈B〉 : 4, 〈C〉 : 3, 〈A〉 : 3, 〈D〉 : 1 0

〈BB〉 : 2 〈B〉 : 4, 〈C〉 : 3, 〈A〉 : 3, 〈BB〉 : 2, 〈D〉 : 1 0

Initialisation (ℓmin = 2) 〈BC〉 : 3 〈B〉 : 4, 〈C〉 : 3, 〈A〉 : 3, 〈BC〉 : 3, 〈BB〉 : 2 2

〈AB〉 : 3 〈B〉 : 4, 〈C〉 : 3, 〈A〉 : 3, 〈BC〉 : 3, 〈AB〉 : 3 3

M.A.J de minsup (ℓmin ≥ 3) ∅ 〈B〉: 4, 〈C〉: 3, 〈A〉: 3, 〈BC〉: 3, 〈AB〉: 3 3

Table 4.2 – Exécution de top-k-init-IPL sur la base de séquences du tableau 1.2 (k = 5 etℓmin = 1). Les valeurs illustrées dans la deuxième et troisième colonne représentent le supportde chaque motifs

étapes de l’algorithme candidats M : liste des top-k motifs ordonnés selon leurs supports minsup

〈B〉 : 4 〈B〉: 4 0〈BB〉 : 2 〈B〉 : 4, 〈BB〉: 2 0

Initialisation 〈BBC〉 : 2 〈B〉 : 4, 〈BB〉 : 2, 〈BBC〉: 2 0〈BC〉 : 3 〈B〉 : 4, 〈BC〉: 3, 〈BB〉 : 2, 〈BBC〉 : 2 0〈BCB〉 : 1 〈B〉 : 4, 〈BC〉 : 3, 〈BB〉 : 2, 〈BBC〉 : 2, 〈BCB〉: 1 1

M.A.J de minsup

〈BCBC〉 : 1

〈BCC〉 : 1

〈BCD〉 : 1 〈B〉 : 4, 〈BC〉 : 3, 〈BB〉 : 2, 〈BBC〉 : 2, 〈BCB〉 : 1,〈BA〉 : 1 〈BCBC〉 : 1, 〈BCC〉 : 1, 〈BCD〉 : 1,〈BA〉 : 1, 1〈BAB〉 : 1 〈BAB〉 : 1, 〈BABC〉 : 1, 〈BAC〉 : 1, 〈BD〉 : 1

〈BABC〉 : 1

〈BAC〉 : 1

〈BD〉 : 1

〈C〉 : 3 〈B〉 : 4, 〈BC〉 : 3, 〈C〉: 3, 〈BB〉 : 2, 〈BBC〉 : 2 2〈A〉 : 3 〈B〉 : 4, 〈BC〉 : 3, 〈C〉: 3, 〈A〉: 3, 〈BB〉 : 2, 〈BBC〉 : 2 2〈AB〉 : 3 〈B〉 : 4, 〈BC〉 : 3, 〈C〉: 3, 〈A〉: 3, 〈AB〉: 3 3

Table 4.3 – Exécution de top-k-PP-BL sur la base de séquences du tableau 1.2 (k = 5 etℓmin = 1)

c) Exemple illustratif. Le tableau 4.2 illustre l’exécution de top-k-init-IPL sur la base deséquences du tableau 1.2 avec k = 5 et ℓmin = 1. Dans la première itération (i.e., ℓmin = 1),quatre motifs sont générés. Puisque |M| < 5, nous continuons à rechercher des motifs de taille2. Le premier motif 〈BB〉 ayant un support égal à 2 est extrait, ensuite, il est inséré dans M.Le motif généré par la suite est 〈BC〉 avec un support de 3, il est aussi inséré à M. Puisque lenombre de motifs dans la liste M a dépassé (k = 5), le motif 〈D〉 est retiré de cette liste, ainsiminsup est mis à jour au support du motif 〈BB〉 (i.e., 2). Maintenant, un troisième motif de

Page 106: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.5. Expérimentations sur des jeux de données réels 97

taille 2 est extrait (i.e., le motif 〈AB〉 avec un support de 3). Il sera inséré dansM en remplaçantle motif 〈BB〉 qui sera retiré de M (i.e. il ne peut pas être un top-5 motif), et minsup sera encoreune fois élevé à 3. Comme il y a aucun motif de taille 2 avec un support supérieur ou égal àminsup, l’étape d’initialisation de l’algorithme 9 est terminée. Dans cet exemple, le processus defouille se termine juste après l’étape d’initialisation puisque le seuil de fréquence minsup prendrala valeur 3 et aucun motif avec une telle valeur ou une valeur supérieure ne pourra être généré.

Afin de faire la comparaison avec la stratégie de base, le tableau 4.3 montre les résultatsobtenus en exécutant top-k-PP-BL sur la même base de séquences du tableau 1.2. Comme nouspouvons le constater, après la phase d’initialisation, M = {〈B〉, 〈BC〉, 〈BB〉, 〈BBC〉, 〈BCB〉},et minsup = 1. Pour la seconde phase, puisque minsup est égal à une petite valeur, top-k-PP-BLaura besoin d’explorer plus de branches, et donc plus de motifs avec de petites valeurs de sup-port afin d’extraire les top-5 motifs. Ce résultat, montre clairement l’intérêt de la stratégietop-k-init-IPL que nous avons proposé par rapport à la stratégie de base.

4.5 Expérimentations sur des jeux de données réels

Nos expérimentations ont été menées sur plusieurs jeux de données réels obtenus à par-tir de [Fournier-Viger et al., 2014 ; Béchet et al., 2012a ; Trasarti et al., 2008], et représentantdifférents domaines d’application. Les différentes caractéristiques de ces jeux de données sontrésumées dans le tableau 4.4.

L’objectif de ces expérimentations est double :

1. Comparer notre approche aux approches PPC existantes ainsi qu’aux méthodes de l’étatde l’art pour le problème EMS en termes de passage à l’échelle.

2. Montrer la flexibilité de notre approche qui permet de traiter et de poser simultanémentplusieurs classes de contraintes.

Jeu de données |SDB| |I| avg |s| maxs∈SDB |s| Type de donnéesLeviathen 5 834 9 025 33,81 100 livrePubMed 17 527 19 931 29 198 texte bio-médicalBIBLE 36 369 13 905 21,64 100 bibleFIFA 20 450 2 990 34,74 100 flux de clics webKosarak 69 999 21 144 7,97 796 flux de clics webProtein 103 120 24 482 600 séquences de protéines

data-200K 200 000 20 50 86 base de séquences synthétiques

Table 4.4 – Caractéristiques des jeux de données utilisés

4.5.1 Protocole expérimental

Notre approche (notée PP) utilise le solveur de contraintes gecode 5. Toutes les expérimenta-tions ont été menées sur une machine avec un processeur Intel X5670 ayant 24 GB de mémoire,avec Linux comme system d’exploitation, en exploitant l’Unité de Calcul Intensif de l’Université

5. http://www.gecode.org

Page 107: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.5. Expérimentations sur des jeux de données réels 98

d’Oran 1 et la plateforme de Calcul Haute Performance IBNBADIS offerte par le Centre deRecherche sur l’Information Scientifique et Technique.

Nous avons utilisé un temps limite d’une heure. Pour chaque base de séquences, nous avonsfait varier le seuil de support minimal minsup jusqu’à ce qu’on ne parvienne plus à terminerl’extraction de tous les motifs dans le délai imparti (1 heure). Les paramètres ℓmin et ℓ ont étéfixés respectivement à 1 et à la taille de la plus grande séquence dans SDB. Nous avons comparé 6

notre approche PP avec :

1. Les deux meilleures approches PPC existantes pour le problème EMS [Négrevergne etGuns, 2015] : global-p.f et decomposed-p.f,

2. Deux méthodes spécialisées de l’état de l’art pour le problème EMS : PrefixSpan et cSpade,

3. La méthode SMA [Trasarti et al., 2008] pour l’extraction de motifs séquentiels souscontraintes d’expressions régulières,

4. Deux méthodes spécialisées pour l’extraction des top-k motifs : TSP et TKS,

5. Les deux méthodes spécialisées, WAP-tree [Pei et al., 2000] et plwap [Ezeife et Lu, 2005],pour l’extraction de motifs à partir des fichiers journaux du WEB (en Anglais weblogs).

Nous avons utilisé l’implémentation de PrefixSpan 7, cSpade 8 et SMA 9 réalisée par leursauteurs. Les deux algorithmes TKS et TSP que nous avons exploités font partie du projet SPMF 10.L’implémentation 11 des deux approches PPC utilise aussi le solveur de contraintes gecode.

4.5.2 Comparaison avec les approches PPC pour EMS

Cette section compare PP avec les deux approches retenues : global-p.f et decomposed-p.f(cf. section 2.2). La Figure 4.2 indique le nombre de motifs séquentiels extraits et les temps CPUnécessaires pour les trois méthodes (une échelle logarithmique est utilisée pour BIBLE, Kosaraket PubMed). A partir de la Figure 4.2, nous pouvons dresser les remarques suivantes :

– Comme attendu, le nombre de motifs extraits diminue avec l’augmentation du seuil desupport minimal minsup.

– En comparant les temps CPU, decomposed-p.f est la méthode la moins performante : surtoutes les bases de séquences, elle ne parvient pas à terminer l’extraction de tous les motifsséquentiels dans un délai d’une heure et cela pour toutes les valeurs de minsup considérées(sa courbe n’apparaît pas dans la figure).

– PP domine largement global-p.f sur toutes les bases : PP est au moins un ordre de grandeurplus rapide que global-p.f. Les gains en terme de temps CPU sont largement amplifiéspour les petites valeurs de minsup. Sur BIBLE (resp. PubMed), le gain (speedup) est de84, 4 (resp. 33, 5) pour une valeur de minsup égale à 1 %.

– Enfin, sur la plupart des bases de séquences (à l’exception de BIBLE et Kosarak),global-p.f n’est pas en mesure d’extraire tous les motifs séquentiels pour de faibles va-leurs de minsup dans un délai d’une heure. Par exemple, sur FIFA, PP extrait l’ensemble

6. Code source et jeux de données sont disponibles à l’url https://sites.google.com/site/prefixprojection4cp/7. https://code.google.com/p/prefixspan/

8. http://www.cs.rpi.edu/~zaki/www-new/pmwiki.php/Software/

9. http://www-kdd.isti.cnr.it/SMA/

10. http://www.philippe-fournier-viger.com/spmf/

11. https://dtai.cs.kuleuven.be/CP4IM/cpsm/

Page 108: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.5. Expérimentations sur des jeux de données réels 99

BIBLE Kosarak PubMed

1

10

100

1000

10000

1 2 3 4 5 6 7 8 9 10

Te

mp

s (

se

c,

log

sca

le)

Minsup (%)

PPglobal−p.f

1

10

100

1000

10000

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Minsup (%)

PPglobal-p.f

1

10

100

1000

10000

0.5 1 1.5 2 2.5 3 3.5 4 4.5 5Minsup (%)

PPglobal-p.f

0

5000

10000

15000

20000

25000

1 2 3 4 5 6 7 8 9 10

# M

otifs

Minsup (%)

0

2000

4000

6000

8000

10000

12000

14000

16000

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Minsup (%)

0

50000

100000

150000

200000

250000

0.5 1 1.5 2 2.5 3 3.5 4 4.5 5Minsup (%)

FIFA Leviathan Protein

0

500

1000

1500

2000

2500

3000

6 8 10 12 14 16 18 20

Te

mp

s (

se

c)

Minsup (%)

PPglobal-p.f

0

20

40

60

80

100

120

140

160

180

200

1 2 3 4 5 6 7 8 9 10Minsup (%)

PPglobal-p.f

0

500

1000

1500

2000

2500

3000

99.978 99.982 99.986 99.99Minsup (%)

PPglobal-p.f

0

50000

100000

150000

200000

250000

300000

350000

400000

450000

6 8 10 12 14 16 18 20

# M

otifs

Minsup (%)

0

20000

40000

60000

80000

100000

120000

140000

160000

180000

1 2 3 4 5 6 7 8 9 10Minsup (%)

0

500

1000

1500

2000

2500

99.978 99.982 99.986 99.99Minsup (%)

Figure 4.2 – PP vs. global-p.f : temps CPU (haut) et nombre de motifs extraits (bas)

de tous les motifs séquentiels pour des valeurs de minsup allant jusqu’à 6 % en 1 457

secondes, tandis que global-p.f ne parvient pas à terminer l’extraction pour des valeursde minsup inférieures à 10%.

Pour compléter ces premiers résultats décrits dans la Figure 4.2, le tableau 4.5 donne surdifférentes bases de séquences et différentes valeurs de minsup, le nombre d’appels à la routine depropagation du solveur Gecode (cf. colonne 5), et le nombre de nœuds de l’arbre de recherche (cf.colonne 6). Premièrement, PP explore moins de nœuds que global-p.f. Toutefois, la différencen’est pas très importante (un gain d’environ 45% et 33% sur FIFA et BIBLE respectivement).Deuxièmement, notre approche est très efficace en termes de nombre de propagations effectuées.Pour PP, le nombre de propagations reste faible (en milliers pour des valeurs petites de minsup)par rapport à global-p.f (en millions). Cela est dû au très grand nombre de contraintes réifiéesutilisées par global-p.f pour encoder la relation de sous-séquence. A l’opposé, la contrainteglobale PP ne requiert aucune contrainte réifiée ni variable supplémentaire pour encoder la relation

Page 109: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.5. Expérimentations sur des jeux de données réels 100

de sous-séquence.

Base minsup (%) #MOTIFSTemps CPU (s) #PROPAGATIONS #NŒUDS

de séquences PP global-p.f PP global-p.f PP global-p.f

FIFA

20 938 8,16 129,54 1 884 11 649 290 1 025 1 87318 1 743 13,39 222,68 3 502 19 736 442 1 922 3 48616 3 578 24,39 396,11 7 181 35 942 314 3 923 7 15114 7 313 44,08 704 14 691 65 522 076 8 042 14 61612 16 323 86,46 1 271,84 32 820 126 187 396 18 108 32 60410 40 642 185,88 2 761,47 81 767 266 635 050 45 452 81 181

BIBLE

10 174 1,98 105,01 363 4 189 140 235 3488 274 2,47 153,61 575 5 637 671 362 5486 508 3,45 270,49 1 065 8 592 858 669 1 0164 1 185 5,7 552,62 2 482 15 379 396 1 575 2 3712 5 311 15,05 1 470,45 11 104 39 797 508 7 048 10 6051 23 340 41,4 3 494,27 49 057 98 676 120 31 283 46 557

PubMed

5 2 312 8.26 253,16 4 736 15 521 327 2 833 4 6194 3 625 11,17 340,24 7 413 20 643 992 4 428 7 2423 6 336 16,51 536,96 12 988 29 940 327 7 757 12 6432 13 998 28,91 955,54 28 680 50 353 208 17 145 27 9101 53 818 77,01 2 581,51 110 133 124 197 857 65 587 107 051

Protein

99,99 127 165,31 219,69 264 26 731 250 172 22199,988 216 262,12 411,83 451 44 575 117 293 39099,986 384 467,96 909,47 805 80 859 312 514 67999,984 631 753,3 1 443,92 1 322 132 238 827 845 1 11999,982 964 1 078,73 2 615 2 014 201 616 651 1 284 1 74999,98 2 143 2 315,65 − 4 485 − 2 890 −

Kosarak

1 384 2,59 137,95 793 8 741 452 482 7690,5 1 638 7,42 491,11 3 350 26 604 840 2 087 3 2710,3 4 943 19,25 1 111,16 10 103 56 854 431 6 407 9 8360,28 6 015 22,83 1 266,39 12 308 64 003 092 7 831 11 9540,24 9 534 36,54 1 635,38 19 552 81 485 031 12 667 18 9660,2 15 010 57,6 2 428,23 30 893 111 655 799 20 055 29 713

Leviathan

10 651 1,78 12,56 1 366 2 142 870 849 1 3018 1 133 2,57 19,44 2 379 3 169 615 1 487 2 2616 2 300 4,27 32,85 4 824 5 212 113 3 008 4 5754 6 286 9,08 66,31 13 197 10 569 654 8 227 12 5002 33 387 32,27 190,45 70 016 33 832 141 43 588 66 1161 167 189 121,89 − 350 310 − 217 904 −

Table 4.5 – PP vs. global-p.f

4.5.3 Comparaison avec les méthodes spécialisées pour EMS

Cette section compare PP avec deux méthodes spécialisées : PrefixSpan et cSpade. En effet,cSpade fait partie des méthodes les plus performantes pour l’extraction de motifs séquentielssous contraintes. De plus, la comparaison avec PrefixSpan va permettre d’évaluer l’apport dela PPC puisque les deux approches exploitent le même principe de la projection préfixée. LaFigure 4.3 compare les temps d’exécution des trois méthodes.

Premièrement, cSpade surclasse les deux autres méthodes sur toutes les bases de séquences(à l’exception de Protein). Malgré tout, PP a un comportement relativement similaire à celui decSpade, mais il est moins rapide (sans compter les valeurs élevées de minsup). Le comportementde cSpade sur Protein est dû à la représentation verticale des bases de séquences qui n’est pasappropriée dans le cas de bases contenant de longues séquences et un nombre d’items relativementfaible, dégradant ainsi les performances du processus d’extraction.

Deuxièmement, PP qui utilise également le principe de la projection préfixée, surpasse claire-

Page 110: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.5. Expérimentations sur des jeux de données réels 101

ment PrefixSpan sur toutes les bases. Cela peut s’expliquer par notre algorithme de filtrage qui,combiné avec des structures de données incrémentales, permet une gestion plus efficace des basesde séquences projetées. Sur FIFA, PrefixSpan n’est pas en mesure de terminer l’extraction detous les motifs séquentiels pour minsup ≤ 12 %, alors que notre approche reste efficace jusqu’à6 % dans le délai d’une heure. Sur Protein, PrefixSpan n’arrive pas à terminer l’extraction detous les motifs séquetiels et cela pour toutes les valeurs de minsup que nous avons considérées.

Ces résultats montrent clairement que notre approche est très compétitive vis à vis desmeilleures méthodes spécialisées pour l’extraction de motifs séquentiels, et ceci sur de grandesbases de séquences.

BIBLE Kosarak PubMed

0

200

400

600

800

1000

1200

1400

1600

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Te

mp

s (

se

c)

Minsup (%)

PP

cSpade

PrefixSpan

0

50

100

150

200

250

300

350

400

450

500

0.2 0.25 0.3Minsup (%)

PP

cSpade

PrefixSpan

0

200

400

600

800

1000

1200

0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2Minsup (%)

PP

cSpade

PrefixSpan

FIFA Leviathan Protein

0

500

1000

1500

2000

2500

5 6 7 8 9 10 11 12 13 14

Te

mp

s (

se

c)

Minsup (%)

PP

cSpade

PrefixSpan

0

50

100

150

200

250

300

350

400

450

1 2 3 4 5 6 7 8 9 10Minsup (%)

PP

cSpade

PrefixSpan

0

500

1000

1500

2000

2500

99.978 99.982 99.986 99.99Minsup (%)

PP

cSpade

PrefixSpan

Figure 4.3 – Comparaison de PP avec PrefixSpan et cSpade pour EMS

4.5.4 EMS sous contraintes d’item et de longueur minimale

Cette section illustre l’intérêt de pouvoir utiliser simultanément différents types decontraintes. Nous avons utilisé la base PubMed, et pour extraire des connaissances linguistiques,nous avons combiné différents types de contraintes, telles que la fréquence minimale, la longueurminimale et l’appartenance d’items.

Nous avons exploité la base de séquences PubMed présentée dans la section 3.5.1. Cette baseest construite à partir d’un corpus d’apprentissage dont les phrases contiennent au moins unemaladie rare (MR) et un gène (GENE). Le but est d’obtenir des motifs séquentiels qui traduisentcertaines régularités linguistiques (c-à-d. des relations gène-MR) [Béchet et al., 2012a]. Pour cela,nous avons exploité les deux contraintes suivantes :

– La contrainte de longueur minimale permet d’ignorer les motifs jugés trop petits en termesde nombre d’items (nombre de mots), puisque de tels motifs ne peuvent être pertinents.Pour cela, le seuil ℓmin a été fixé à 3.

– La contrainte d’appartenance d’items impose que tout motif extrait contienne au moins lesitems GENE et RD.

Page 111: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.5. Expérimentations sur des jeux de données réels 102

Comme il n’existe aucune méthode spécialisée qui permet cette combinaison de contraintes,nous avons uniquement comparé PP avec global-p.f. La Figure 4.4 indique les temps CPU etle nombre de motifs séquentiels extraits avec et sans ces contraintes, ceci pour différentes valeursde minsup.

0

50000

100000

150000

200000

250000

0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

# M

otifs

Minsup (%)

sans-cont. item+long.

(a) # Motifs

1

10

100

1000

10000

0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Tem

ps (

sec, lo

gscale

)

Minsup (%)

PP-sans-cont

PP-item+long

global-p.f-sans-cont

global-p.f-item+long

(b) Temps CPU

10

100

1000

10000

1 2 3 4 5 6 7 8

Tem

ps (

sec, lo

gscale

)

Longueur minimale

PP+long global-p.f+long

(c) Contrainte de longueur minimale

Figure 4.4 – PP vs. global-p.f sous contraintes de longueur minimale et d’item

Base de séquences minsup (%) #MOTIFSTemps CPU (s) #PROPAGATIONS #NOEUDSPP global-p.f PP global-p.f PP global-p.f

PubMed

5 279 6,76 252,36 7 878 12 234 292 2 285 4 6194 445 8,81 339,09 12 091 16 475 953 3 618 7 2423 799 12,35 535,32 20 268 24 380 096 6 271 12 6432 1 837 20,41 953,32 43 088 42 055 022 13 888 27 9101 7 187 49,98 2 574,42 157 899 107 978 568 52 508 107 051

Table 4.6 – PP vs. global-p.f sous contraintes de longueur minimale et d’item

Premièrement (cf. figure 4.4a), poser simultanément les deux contraintes (i.e. contraintes delongueur minimale et d’item) permet de réduire de façon significative le nombre de motifs ainsique les temps CPU pour PP. Les performances de global-p.f n’ont pas beaucoup changé enintégrant les contraintes de longueur et de présence d’item. Cela est nécessairement dû au faitque l’approche global-p.f est déjà handicapée par le filtrage faible induit par les m contraintesexists-embedding.

Deuxièmement (cf. figure 4.4b et tableau 4.6), lorsqu’on considère les deux contraintes lon-gueur minimale et item, PP domine clairement global-p.f (le gain allant jusqu’à 51, 5). De plus,le nombre de propagations effectuées par PP reste petit par rapport à globalp.f.

Troisièmement, la Figure 4.4c compare les deux méthodes sous la contrainte de longueurminimale pour différentes valeurs de ℓmin. Nous avons fixé minsup à 1 %. PP demeure la méthodela plus performante (avec un gain de 53, 1). Ces résultats confirment ce que nous avons observéprécédemment, à savoir le filtrage faible induit par les m contraintes globales exists-embeddinget les contraintes portant sur les motifs.

4.5.5 EMS sous contraintes d’expression régulière

Notre dernière série d’expérimentations compare PP-REG avec deux variantes de SMA : SMA-1Pet SMA-FC. Deux jeux de données sont considérés [Trasarti et al., 2008] : une base synthétique deséquences (data-200k) et une base réelle de séquences (Protein) (cf. tableau 4.4).

Page 112: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.5. Expérimentations sur des jeux de données réels 103

– Pour la base data-200k, nous avons utilisé les deux expressions régulières suivantes : RE10 ≡A∗B(B|C)D∗EF ∗(G|H)I∗ et RE14 ≡ A∗(Q|BS∗(B|C))D∗E (I|S)∗(F |H) G∗R.

– Pour la base Protein, nous avons utilisé l’expression RE2 ≡ (S|T ).(R|K) représentant laProtéine dite kinase C catalysant la phosphorylation (où . désigne n’importe quel symbole).

data-200k (RE10) data-200k (RE14) Protein (RE2)

0

500

1000

1500

2000

2500

3000

3500

2.5 3 3.5 4 4.5 5

Tem

ps (

sec)

Minsup (%)

PP−REG

SMA−FC

SMA−1P

0

500

1000

1500

2000

2500

0 10 20 30 40 50 60 70Minsup (%)

PP−REG

SMA−FC

SMA−1P

120

130

140

150

160

170

180

190

200

210

220

0.001 0.01 0.1 1 10 100Minsup (%, logscale)

PP−REG

PP−SRE

SMA−FC

SMA−1P

Figure 4.5 – PP vs. SMA sous contrainte d’expression régulière

La Figure 4.5 compare les temps de calcul des différentes approches. Sur la base synthétique,notre approche est très efficace. En considérant l’expression régulière RE14, notre approche estun ordre de grandeur plus rapide que SMA. Sur la base Protein, l’écart entre les 3 méthodes estréduit, mais notre méthode reste la plus efficace. Pour le cas particulier de l’expression régulièreRE2, la contrainte Regular peut être remplacée en imposant deux contraintes pour restreindrele domaine de la première (resp. troisième) variable à {S, T} (resp. {R,K}). Cette nouvellemodélisation, désignée par PP-SRE sur la Figure 4.5 (partie droite), permet encore d’augmenterl’efficacité.

4.5.6 Passage à l’échelle de l’approche Prefix-Projection

Afin d’évaluer le passage à l’échelle de la contrainte globale Prefix-Projection, nous avonspris chaque base réelle, et nous l’avons dupliqué de 1 à 20 fois. Nous avons choisi trois valeurspour minsup : 1 %, 2 % et 5 %. La figure 4.6 illustre le temps CPU de Prefix-Projection

qui varie selon les différents facteurs de réplication (i.e. taille de la base). On peut observer quele temps CPU augmente linéairement avec l’augmentation du facteur de réplication (i.e. nombrede séquences). Ceci indique que Prefix-Projection évolue linéairement avec la taille de labase. Par exemple, pour la base FIFA avec minsup = 10 %, le temps CPU augmente de 185

secondes à environ 2 500 secondes, le moment où le nombre de séquences augmente 16 fois. Deplus, nous constatons également que les temps CPU diminuent significativement lorsque minsup

augmente. Ce phénomène peut être partiellement expliqué par le fait que le nombre de motifsextraits augmente considérablement lorsque le seuil de fréquence minsup diminue. Par exemple,pour la base FIFA avec minsup = 10 %, il existe 40 642 motifs séquentiels, alors qu’il y aseulement 5 110 motifs séquentiels lorsque minsup = 15 %.

4.5.7 Evaluation de notre approche pour l’extraction des top-k

Dans cette section, nous étudions les performances des algorithmes dédiés pour l’extractiondes top-k sur les bases de séquences du tableau 4.4. Tout d’abord, nous comparons l’efficacité des

Page 113: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.5. Expérimentations sur des jeux de données réels 104

BIBLE Kosarak PubMed

0

200

400

600

800

1000

1200

1400

1600

1800

2 4 6 8 10 12 14 16 18 20

Te

mp

s (

se

c)

Facteur de réplication

minsup=0.3%

minsup=0.5%

minsup=1%

0

50

100

150

200

250

300

2 4 6 8 10 12 14 16 18 20

Te

mp

s (

se

c)

Facteur de réplication

minsup=0.2%

minsup=0.5%

minsup=1%

0

50

100

150

200

250

300

350

400

450

2 4 6 8 10 12 14 16 18 20

Te

mp

s (

se

c)

Facteur de réplication

minsup=1%

minsup=3%

minsup=5%

FIFA Leviathan Protein

0

500

1000

1500

2000

2500

3000

2 4 6 8 10 12 14 16 18 20

Te

mp

s (

se

c)

Facteur de réplication

minsup=10%

minsup=15%

minsup=20%

0

50

100

150

200

250

300

350

400

450

500

2 4 6 8 10 12 14 16 18 20

Te

mp

s (

se

c)

Facteur de réplication

minsup=1%

minsup=2%

minsup=5%

0

200

400

600

800

1000

1200

1400

1600

1800

2000

2200

1 2 3 4 5 6 7 8

Te

mp

s (

se

c)

Facteur de réplication

minsup=99.988%

minsup=99.989%

minsup=99.99%

Figure 4.6 – Passage à l’échelle de la contrainte globale Prefix-Projection sur des bases deséquences réelles

deux algorithmes top-k-PP-IPL et top-k-PP-BL, que nous avons proposés dans la section 4.4,avec les deux algorithmes de référence TSP et TKS, en faisant varier les valeurs du paramètre k.Deuxièmement, nous étudions l’intérêt de poster simultanément différents types de contraintestelles que la contrainte d’item et la contrainte de longueur sur les top-k motifs à extraire. Troi-sièmement, nous évaluons le rendement (performance) de top-k-PP-IPL en terme de passage àl’échelle. Enfin, nous comparons les performances de top-k-PP-IPL avec PP et cSpade pour lescénario où l’utilisateur exploite PP ou cSpade avec la valeur finale de minsup retournée à la finde génération des top-k motifs (le support du top-k motif le moins fréquent).

4.5.7.1 Influence du paramètre k

Afin d’analyser l’impact du paramètre k sur le temps CPU effectué par les algorithmestop-k-PP (top-k-PP-IPL et top-k-PP-BL), nous avons fait varier le paramètre k allant de 100 à3 000 (à l’exception de la base PubMed pour laquelle le k varie de 100 jusqu’à 10 000). Nous com-parons les performances de nos deux algorithmes avec TSP et TKS. La figure 4.7 et le tableau 4.7détaillent les résultats obtenus. Nous constatons clairement que le temps CPU augmente avecl’augmentation de la valeur de k. Il est à noter que les quatre méthodes génèrent le même en-semble des top-k motifs et obtiennent le même support associé au motif le moins fréquent dansla liste M des top-k.

A partir de ces courbes, nous pouvons également en tirer les observations suivantes :– Premièrement, comme prévu, top-k-PP-IPL surpasse clairement l’approche de basetop-k-PP-BL sur toutes les bases de séquences. Pour toutes les bases (à l’exception deKosarak et Protein), top-k-PP-BL ne parvient pas à terminer le processus d’extraction detous les top-k motifs dans le délai de temps (1 heure). Le tableau 4.8 compare les deuxméthodes en terme de support atteint après la phase d’initialisation, ainsi que le nombre

Page 114: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.5. Expérimentations sur des jeux de données réels 105

BIBLE Kosarak PubMed

0

10

20

30

40

50

100 1000 2000 3000

Te

mp

s (

se

c)

k

top−k−PP−IPL

top−k−PP−BL

TSP

TKS

0

50

100

150

200

250

300

350

400

450

500

100 1000 2000 3000

k

top−k−PP−IPLtop−k−PP−BL

TSPTKS

0

50

100

150

200

250

300

350

400

100 5000 10000

k

top−k−PP−IPLtop−k−PP−BL

TSPTKS

FIFA Leviathan Protein

0

50

100

150

200

100 1000 2000 3000

Te

mp

s (

se

c)

k

top−k−PP−IPL

top−k−PP−BL

TSP

TKS

0

10

20

30

40

50

100 1000 2000 3000

k

top−k−PP−IPL

top−k−PP−BL

TSP

TKS

0

500

1000

1500

2000

2500

3000

3500

1 100

k

top−k−PP−IPL

top−k−PP−BL

TSP

TKS

Figure 4.7 – Comparaison entre top-k-PP-IPL, top-k-PP-BL, TSP et TKS pour l’extraction destop-k motifs sur des bases de séquences réelles

de candidats générés sur la base Kosarak pour les différentes valeurs de k. Il est claire quele nombre de candidats générés par top-k-PP-BL est beaucoup plus élevé que celui générépar top-k-PP-IPL. Par ailleurs, top-k-PP-IPL atteint des valeurs de minsup plus élevéesaprès la phase d’initialisation. Ce nombre montre que top-k-PP-IPL se comporte mieuxque top-k-PP-BL. Ce tableau montre également que la valeur du seuil de fréquence minsup

diminue lorsque la valeur de k augmente. Ce qui semble normal, puisque lorsque minsup

est petit, beaucoup de motifs seront générés.– Deuxièmement, top-k-PP-IPL domine largement TSP sur toutes les bases de séquences (à

l’exception de Kosarak où TSP devient le meilleur). De plus, top-k-PP-IPL évolue assezbien par rapport à TSP selon la valeur de k. Sur la base PubMed, TSP ne parvient pas àterminer la recherche pour (k > 2000) en respectant le délai de temps. Pour k = 1000,top-k-PP-IPL dépasse TSP d’un ordre de grandeur. Sur la base Protein, TSP n’est pas enmesure de terminer le processus d’extraction même pour de petites valeurs de k.

– Troisièmement, top-k-PP-IPL surpasse clairement TKS sur les deux bases de séquencesBIBLE et PubMed (avec un gain qui atteint 3, 38), tandis que TKS est meilleur sur FIFA.Sur les deux bases Kosarak et Leviathan, les deux méthodes se comportent de manièretrès similaires avec un léger avantage pour TKS. Nous rappelons que TKS est considérécomme l’algorithme le plus efficace pour l’extraction des top-k motifs. Cependant, il exploitebeaucoup d’espace mémoire, car il doit tenir compte de plusieurs "chemins de recherche"en même temps. Ce phénomène est amplifié lorsque la longueur des séquences et le nombred’items sont trop grands, comme c’est le cas pour les deux bases BIBLE et PubMed. Cedernier point explique partiellement la dégradation en terme de performances de TKS surces deux bases qui sont particulières.

Les résultats précédents montrent clairement l’intérêt de notre stratégie d’initialisation quirepose sur la longueur des motifs, en la combinant avec notre contrainte globale pour résoudre

Page 115: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.5. Expérimentations sur des jeux de données réels 106

Base ktemps CPU (s)

minsup finaltop-k-PP-BL top-k-PP-IPL TKS TSP

BIBLE1 000 − 19,22 27,67 97,707 1 5932 000 − 30,75 70,786 198,212 1 1463 000 − 40,49 125,578 302,580 950

Kosarak1 000 − 17,44 15,781 12,351 4422 000 − 39,57 33,958 21,490 3173 000 − 69,29 57,806 27,501 261

PubMed100 − 3,46 5,659 28,317 3 745

6 000 − 63,35 189,649 − 58510 000 − 126,29 388,865 − 410

Table 4.7 – Comparaison entre les approches top-k en terme de temps CPU

kminsup après la phase d’initialisation # CANDIDATS temps CPU (s)

minsup finaltop-k-PP-BL top-k-PP-IPL top-k-PP-BL top-k-PP-IPL top-k-PP-BL top-k-PP-IPL

10 1 4 569 104 17 418,13 1,280 6 46350 1 745 2 836 130 423,01 2,08 2 407100 1 460 43 105 265 491,29 2,83 1 629

Table 4.8 – top-k-PP-IPL vs. top-k-PP-BL en terme de (a) valeur de minsup après la phased’initialisation et (b) nombre de candidats générés pour des valeurs différentes de k sur la baseKosarak.

le problème des top-k motifs. Cette dernière qui est considérée comme une tâche beaucoup plusdifficile que le problème de l’extraction de motifs séquentiels, puisque minsup doit être modifiédynamiquement.

4.5.7.2 Influence de la contrainte d’item et de longueur sur l’approche top-k-PP-IPL

Pour montrer l’intérêt de poster simultanément différents types de contraintes dans l’algo-rithme top-k-PP-IPL, nous avons imposé sur la base PubMed à la fois la contrainte d’item et lacontrainte de longueur minimale détaillées dans la section 4.5.4. A notre connaissance, il n’existeaucune méthode qui extrait les top-k motifs avec cette combinaison de contraintes. Cependant,nous avons évalué notre approche top-k-PP-IPL en faisant varier la valeur du paramètre k. Lafigure 4.8a montrent les temps CPU de l’algorithme top-k-PP-IPL lorsque les deux contraintessont postées simultanément ou individuellement sur la base PubMed pour ℓmin = 3 et k allantde 100 à 10 000. Nous pouvons faire les observations suivantes :

– Les performances de top-k-PP-IPL diminuent légèrement lorsque les deux contraintes sontpostées pour de grandes valeurs de k.

– Lorsqu’on considère chaque contrainte séparément, nous avons l’impression que lacontrainte de taille ait moins d’impact sur le temps CPU en la comparant avec la contrainted’items. Cela implique que la contrainte d’item est plus difficile à satisfaire. Un tel résultatest cohérent puisque le processus de fouille devient plus difficile parce qu’on cherche à ex-traire les meilleurs k motifs séquentiels qui satisfont en même temps ces deux contraintes(simultanément ou individuellement), malgré que dans ce cas, le nombre de motifs décroit.

– On peut aussi remarquer que, le temps CPU augmente linéairement avec l’augmentationde la valeur de k.

Page 116: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.5. Expérimentations sur des jeux de données réels 107

0

20

40

60

80

100

120

140

160

180

200

100 5000 10000

Te

mp

s (

se

c)

k

top−k−PP−IPL−item+size

top−k−PP−IPL−item.

top−k−PP−IPL−size.

top−k−PP−IPL−no−const.

(a) Résultats sur Pubmed : avec contraintes de

(taille minimale (ℓmin = 3) et/ou item) et sans

contraintes (ℓmin = 1).

25

30

35

40

45

50

55

60

65

70

50 200 400 600 796

Te

mp

s (

se

c)

Longueur maximale

top−k−PP−IPL with k=3000

(b) La valeur de ℓ est variable sur Kosarak.

Figure 4.8 – Résultats de top-k-PP-IPL sous différentes contraintes (temps CPU)

Nous avons évalué aussi le comportement de l’algorithme top-k-PP-IPL lorsque la taillemaximale des motifs ℓ varie. La figure 4.8b indique les résultats obtenus sur la base Kosarak. Nousavons fixé la valeur de k à 3 000 et fait varier ℓ 12 de 50 jusqu’à 796. Nous observons clairementque le temps CPU augmente avec l’augmentation de ℓ, car le nombre de motifs candidats estaussi en augmentation. D’ailleurs, le temps CPU augmente linéairement avec l’augmentation dela taille maximale des motifs. Par exemple, lorsque ℓ = 50, le temps CPU a été réduit à la moitié.Ainsi, ℓ, qui représente aussi le nombre de variables dans notre modèle PPC, possède un effetimportant sur le temps CPU.

4.5.7.3 Passage à l’échelle de l’approche top-k-PP-IPL

Afin d’évaluer notre approche top-k-PP-IPL en terme de passage à l’échelle, nous avons suivile même protocole expérimental que celui de la section 4.5.6. La figure 4.9 montre le temps CPUobtenu pour deux valeurs de k : 1 000 et 2 000 (Pour Protein, nous avons fixé k à 50 et 100 afinde générer l’ensemble complet des top-k avant l’expiration du temps limite). Encore une fois,top-k-PP-IPL évolue linéairement avec la taille des bases de séquences.

4.5.7.4 Comparaison des performances de top-k-PP-IPL avec PP et cSpade

Dans cette dernière expérimentation, nous comparons les performances de top-k-PP-IPL parrapport à PP et cSpade, lorsque ces deux derniers sont lancés avec la valeur finale de minsup

nécessaire pour l’extraction des top-k (ce qui est difficile à obtenir en pratique). Donc, l’ensembledes motifs extraits dans les trois cas est le même. Les valeurs finales de minsup sont obtenuesévidement en exécutant top-k-PP-IPL pour chaque valeur de k. La figure 4.10 présente le tempsCPU des trois algorithmes. Pour toutes les bases de séquences, à l’exception de PubMed, PPet cSpade dominent largement top-k-init-IPL. Mais pour PubMed, lorsque k est inférieur à4 000, top-k-PP-IPL commence à surpasser PP, tandis que cSpade garde ses bonnes perfor-mances. Ces résultats montrent clairement que le problème des top-k motifs est beaucoup plus

12. Rappelons que dans toutes ces expérimentations, ℓ a été fixé à la taille de la séquence la plus longue dans

la base de séquences.

Page 117: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.5. Expérimentations sur des jeux de données réels 108

BIBLE Kosarak PubMed

0

50

100

150

200

250

300

350

2 4 6 8 10 12 14 16 18 20

Te

mp

s (

se

c)

Facteur de réplication

k=1000

k=2000

0

50

100

150

200

250

2 4 6 8 10 12 14 16 18 20

Te

mp

s (

se

c)

Facteur de réplication

k=1000

k=2000

0

50

100

150

200

250

2 4 6 8 10 12 14 16 18 20

Te

mp

s (

se

c)

Facteur de réplication

k=1000

k=2000

FIFA Leviathan Protein

0

200

400

600

800

1000

1200

2 4 6 8 10 12 14 16 18 20

Te

mp

s (

se

c)

Facteur de réplication

k=1000

k=2000

0

10

20

30

40

50

60

70

80

90

100

110

2 4 6 8 10 12 14 16 18 20

Te

mp

s (

se

c)

Facteur de réplication

k=1000

k=2000

0

500

1000

1500

2000

2500

3000

3500

2 4 6 8 10 12 14 16 18 20

Te

mp

s (

se

c)

Facteur de réplication

k=50

k=100

Figure 4.9 – Passage à l’échelle de top-k-PP-IPL sur des bases de séquences réelles

BIBLE Kosarak PubMed

0

5

10

15

20

25

30

35

40

45

100 1000 2000 3000

Te

mp

s (

se

c)

k

top−k−PP−IPL

PP

CSPADE

0

5

10

15

20

100 1000 2000 3000

k

top−k−PP−IPL

PP

CSPADE

0

50

100

150

200

100 5000 10000

k

top−k−PP−IPL

PP

CSPADE

FIFA Leviathan Protein

0

50

100

150

200

100 1000 2000 3000

Te

mp

s (

se

c)

k

top−k−PP−IPL

PP

CSPADE

0

5

10

15

20

100 1000 2000 3000

k

top−k−PP−IPL

PP

CSPADE

0

500

1000

1500

2000

2500

3000

3500

100

k

top−k−PP−IPL

PP

CSPADE

Figure 4.10 – Comparaison de top-k-PP-IPL avec PP et cSpade

difficile que le problème de l’extraction des motifs séquentiels car la valeur de minsup augmenteprogressivement, en démarrant à partir d’une valeur nulle minsup = 0.

4.5.8 Application de notre approche en fouille du web

L’extraction de motifs séquentiel à partir des weblogs (EMSWEB) est l’une des applica-tions en fouille de séquences permettant d’analyser le comportement des utilisateurs pendant

Page 118: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.5. Expérimentations sur des jeux de données réels 109

la navigation. Les informations qui en résultent peuvent être exploitées dans la conception dessites web, la recommandation ou la détection des anomalies. Avant de lancer le processus defouille, une étape de pré-traitement est nécessaire pour transformer les weblogs en une base deséquences. Nous proposons une démarche [Kemmar et al., 2016a] basée sur la programmationpar contraintes pour effectuer des fouilles intéressantes sur des données du web, en montrantnotre apport par rapport aux démarches dédiées. Tout d’abord, nous comparons notre approchePP avec deux approches spécialisées pour EMSWEB ainsi que cSpade. Ensuite, nous montronsl’intérêt de notre approche qui est capable de traiter simultanément différentes contraintes afinde cibler la recherche. Cette souplesse à intégrer de nouvelles contraintes n’est pas offerte par lesautres méthodes. Pour cela, nous avons sélectionné un fichier weblog obtenu à partir du serveurde l’université de Saskatchewan 13, afin de pouvoir intégrer des contraintes significatives.

4.5.8.1 Comparaison avec les approches spécialisées pour EMSWEB

Afin d’évaluer les performances de notre approches sur les données du web, nous avons ex-périmenté trois bases de séquences réelles qui représentent des fichiers weblogs (cf. tableau 4.9).Ces jeux de données ont été obtenus à partir de [Fournier-Viger et al., 2014].

Jeu de données |SDB| |I| avg |s| maxs∈SDB |s|

MSNBC 31 790 17 13,33 100BMS1 59 601 497 2,42 267BMS2 77 512 3 340 4 161

Table 4.9 – Caractéristiques des jeux de données utilisés pour EMSWEB

BMS1 BMS2 MSNBC

0.1

1

10

100

1000

10000

0.06 0.07 0.08 0.09 0.1

Tem

ps (

sec, lo

gscale

)

Minsup (%)

PP

cspade

plwap

WAP−tree

1

10

100

1000

10000

0.04 0.06 0.08 0.1

Tem

ps (

sec, lo

gscale

)

Minsup (%)

PP

cspade

plwap

WAP−tree

10

100

1000

0.4 0.6 0.8 1

Tem

ps (

sec, lo

gscale

)

Minsup (%)

PP

cspade

plwap

WAP−tree

Figure 4.11 – Comparaison de PP avec WAP-tree, plwap et cSpade

Nous avons comparé notre approche PP avec les méthodes WAP-tree, plwap et cSpade. Lafigure 4.11 illustre les temps CPU (en échelle logarithmique) de ces quatre méthodes. On peutfaire les observations suivantes :

1. plwap est la méthode la moins performante. Sur la base MSNBC, elle n’arrive pas à terminerle processus de l’extraction dans un délai d’une heure pour des valeurs de minsup inférieuresà 1 %.

13. Ce fichier est téléchargeable à partir de http://ita.ee.lbl.gov/html/contrib/Sask-HTTP.html

Page 119: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.5. Expérimentations sur des jeux de données réels 110

2. cSpade est la méthode la plus performante sur les trois bases de séquences.

3. PP domine largement plwap. Le gain en terme de temps CPU est grandement amplifiépour de petites valeurs de minsup. Sur la base BMS1, le gain est de 10, 8 pour minsup =

0, 062 %.

4. PP et WAP-tree possèdent un comportement similaire, mais notre approche reste moinsperformante.

4.5.8.2 EMSWEB sous contraintes

L’intérêt de cette expérimentation est de montrer la souplesse de la PPC qui permet d’imposersimultanément différentes contraintes d’une façon très simple sur les fichiers weblogs. Nous avonschoisi pour cela, une base récupérée à partir du serveur de l’université de Saskatchewan. Letableau 4.10 montre quelques lignes extraites à partir de ce fichier avant l’étape de pré-traitement.

202.32.92.47 - - [01/Jun/1995 :00 :00 :59 -0600] "GET / scottp/publish.html" 200 271ix-or7-27.ix.netcom.com - - [01/Jun/1995 :00 :02 :51 -0600] "GET / ladd/ostriches.html" 200 205908ram0.huji.ac.il - - [01/Jun/1995 :00 :05 :44 -0600] "GET / scottp/publish.html" 200 271eagle40.sasknet.sk.ca - - [01/Jun/1995 :00 :08 :06 -0600] "GET / lowey/" 200 1116eagle40.sasknet.sk.ca - - [01/Jun/1995 :00 :08 :19 -0600] "GET / lowey/kevin.gif" 200 49649cdc8g5.cdc.polimi.it - - [01/Jun/1995 :00 :11 :03 -0600] "GET / friesend/tolkien/rootpage.html" 200 461freenet2.carleton.ca - - [01/Jun/1995 :00 :16 :54 -0600] "GET / scottp/free.html" 2

Table 4.10 – Exemple de lignes extraites à partir du fichier weblog de l’université de Saskatche-wan

A) EMSWEB sous contrainte de longueur et d’item.Nous avons choisi de fixer les paramètres des contraintes comme suit :– La longueur minimale ℓmin a été fixée à 3 pour ne pas générer des motifs trop petits.– La longueur maximale ℓ a été fixée à 10.– Nous avons imposé que les motifs extraits doivent contenir au moins les deux

pages web suivantes : /dcs/courses/cai/html/unix_lesson/protections.html et/dcs/courses/cai/html/unix_lesson/file_protections.html.

– Nous avons fait varier le seuil de fréquence minsup de 0, 6 % à 1 %.

minsup (%)Temps CPU (s) # Motifs

item+longueur sans contraintes item+longueur sans contraintes1 4, 48 51, 22 36 1 885

0, 9 6, 90 − 123 2 658

0, 8 15, 98 − 601 2 661

0, 7 33, 88 − 2 437 2 664

0, 6 − − 4 161 2 668

Table 4.11 – Résultats de PP sur EMSWEB sous contrainte de longueur et d’item

Les résultats obtenus avec et sans contraintes sont résumés dans le tableau 4.11. Lorsque lescontraintes de longueur et d’item sont considérées, notre approche réussit à extraire tous les motifsweb pour des valeurs de minsup supérieures ou égales à 0, 7 %. Par contre, lorsque ces contraintes

Page 120: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.6. Conclusion : vers l’extraction de motifs plus riches avec la PPC 111

sont désactivées, le processus de l’extraction termine seulement si minsup = 1 %. Pour les autresvaleurs de minsup, nous reportons le nombre de motifs extraits au bout d’une heure. En effet,peu de contraintes conduit vers un nombre important de motifs, tandis qu’un nombre élevé decontraintes, permet de restreindre ce nombre et de garder que les motifs intéressants.B) EMSWEB sous contrainte d’expression régulière.

Les expressions régulières offrent un moyen puissant permettant de modéliser les motifs perti-nents qui portent certaines informations. Donc, nous avons choisi d’extraire les motifs qui vérifientl’expression régulière RE suivante : RE = A∗(B|C)D∗E∗, où le symbole | désigne la disjonctionet les symboles A,B,C,D et E représentent les URLs suivantes :

– A : /∼lowey/encyclopedia/index.html– B : /∼lowey/encyclopedia/help.html– C : /∼lowey/encyclopedia/atlas.html– D : /∼lowey/encyclopedia/m/macintosh_computers.html– E : /dcs/courses/cai/html/introduction_lesson/index.html

minsup (%) # Motifs avec ER Temps CPU (s) avec ER Temps CPU (s) sans ER

1 4 0, 55 4, 34

0, 1 10 0, 64 −

0, 01 86 0, 80 −

0, 001 328 1, 13 −

Table 4.12 – Résultat de PP pour EMSWEB avec et sans contrainte d’expression régulière (ER)

La longueur maximale des motifs a été limitée à ℓ = 10. Le tableau 4.12 reporte les résultatspour notre approche PP pour différentes valeurs de minsup, le nombre de motifs extraits (colonne2), le temps CPU lorsque ER est considérée (colonne 3) et le temps CPU en désactivant lacontrainte d’expression régulière (colonne 4).

Comme le montre le tableau 4.12, la contrainte d’expression régulière est assez sélectivepuisque l’espace de recherche est énormément réduit. On remarque que l’ajout de l’expressionrégulière permet de réduire le temps CPU. Ce résultat montre clairement l’intérêt des contraintesafin de cibler la recherche, ce qui permet d’augmenter l’efficacité du processus de fouille. Si cettecontrainte est considérée a posteriori, ceci mène vers un nombre explosif de motifs, et chacundoit être testé par rapport à l’expression régulière (a posteriori). Pour minsup = 0, 1 %, nousavons besoin de tester plus de 1 759 890 motifs. En analysant les motifs extraits, nous avonsconstaté que 1 620 utilisateurs accèdent d’abord à la page /∼lowey/encyclopedia/index.html,ensuite la page : /∼lowey/encyclopedia/help.html. Le tableau 4.13 illustre les différents motifsextraits avec leurs supports pour minsup = 0, 1 %.

4.6 Conclusion : vers l’extraction de motifs plus riches avec la

PPC

Nous avons proposé dans ce chapitre la contrainte globale Prefix-Projection pour l’ex-traction des motifs séquentiels. Prefix-Projection utilise un encodage concis et son filtrageexploite le principe de la projection préfixée de la méthode spécialisée PrefixSpan. Puis, nousavons montré comment notre encodage permet de mettre en œuvre différents types de contraintes

Page 121: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

4.6. Conclusion : vers l’extraction de motifs plus riches avec la PPC 112

Motif Support

/∼lowey/encyclopedia/help.html 1728

/∼lowey/encyclopedia/atlas.html 1073

/∼lowey/encyclopedia/index.html, /∼lowey/encyclopedia/help.html 1620

/∼lowey/encyclopedia/index.html, /∼lowey/encyclopedia/atlas.html 948

/∼lowey/encyclopedia/index.html, /∼lowey/encyclopedia/index.html, 300

/∼lowey/encyclopedia/help.html

/ lowey/encyclopedia/index.html, /∼lowey/encyclopedia/index.html, 184

/∼lowey/encyclopedia/atlas.html

/∼lowey/encyclopedia/index.html, /∼lowey/encyclopedia/index.html, 144

/∼lowey/encyclopedia/index.html, /∼lowey/encyclopedia/help.html

/ lowey/encyclopedia/index.html, /∼lowey/encyclopedia/index.html,

/∼lowey/encyclopedia/index.html,/ lowey/encyclopedia/index.html, 109

/ lowey/encyclopedia/help.html

/∼lowey/encyclopedia/index.html, /∼lowey/encyclopedia/index.html, 98

/∼lowey/encyclopedia/index.html,/∼lowey/encyclopedia/atlas.html

/∼lowey/encyclopedia/index.html, /∼lowey/encyclopedia/index.html,

/∼lowey/encyclopedia/index.html,/∼lowey/encyclopedia/index.html, 93

/∼lowey/encyclopedia/index.html, /∼lowey/encyclopedia/help.html

Table 4.13 – Motifs extraits pour minsup = 0, 1 %

(appartenance d’items, taille et expressions régulières) et de les combiner simultanément. Par rap-port aux approches PPC existantes, notre contrainte globale ne requiert aucune contrainte réifiéeou variable intermédiaire pour encoder la relation de sous-séquence.

Nous avons étudié également le problème de l’extraction des top-k motifs par rapport à lafréquence. Pour cela, nous avons montré comment notre contrainte globale Prefix-Projection

peut être exploitée afin de réaliser efficacement cette tâche. Plus précisément, nous avons proposédeux stratégies pour l’initialisation des top-k avec les motifs les plus prometteurs de telle sorteque les motifs les plus fréquents seront générés le plus tôt durant le processus d’extraction. Enoutre, nous avons étudié aussi l’intégration de certaines contraintes imposées sur les top-k motifs.

Les expérimentations que nous avons menées montrent que notre approche surpasse claire-ment les approches PPC existantes et concurrence les méthodes spécialisées sur de grandes basesde séquences. Il est à noter que les expérimentations montrent que notre approche permet depasser à l’échelle, alors qu’il s’agit d’un enjeu majeur pour les approches PPC existantes.

Bien que Prefix-Projection permet d’imposer différentes contraintes sur des motifs lo-caux, elle doit être adaptée pour permettre de traiter d’autres contraintes qui portent sur larelation de sous-séquences telle que la contrainte de gap ou de durée. Une autre direction quimérite d’être menée est l’extension de notre approche pour traiter les bases de séquences d’item-sets. Un autre axe de recherche qui peut mener vers des résultats intéressants est l’extractiondes pattern sets [Raedt et Zimmermann, 2007] (i.e. ensemble de motifs). Dans un tel contexte,l’intérêt d’un motif est évalué par rapport à un ensemble de motifs. Nous citons par exemple, lesmotifs fermés, les sous-groupes pertinents et les skypatterns [Soulet et al., 2011].

Parmi toutes les perspectives citées ci-dessus, nous avons choisi d’étendre notre contrainteglobale Prefix-Projection afin de traiter la contrainte gap qui fera l’objet du prochain cha-pitre.

Page 122: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Chapitre 5

Extraction de motifs séquentiels souscontrainte de GAP

Sommaire5.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

5.2 La propriété de préfixe anti-monotonie de gap[M,N ] . . . . . . . . . . . 115

5.3 Extensions droites d’un motif . . . . . . . . . . . . . . . . . . . . . . . . . 116

5.4 Contrainte globale GAP-SEQ . . . . . . . . . . . . . . . . . . . . . . . . . 118

5.4.1 Modélisation de EMSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

5.4.2 Principes du filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

5.4.3 Algorithme de filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

5.4.4 Complexités temporelle et spatiale de l’algorithme de filtrage . . . . . . . . 122

5.5 Expérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

5.5.1 Protocole expérimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

5.5.2 GAP-SEQ vs. méthodes PPC . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

5.5.3 GAP-SEQ vs. méthodes spécialisées . . . . . . . . . . . . . . . . . . . . . . . 125

5.5.4 Évaluation du passage à l’échelle de GAP-SEQ . . . . . . . . . . . . . . . . . 126

5.5.5 Traitement de contraintes additionnelles . . . . . . . . . . . . . . . . . . . . 126

5.5.6 Résolution du problème EMS avec GAP-SEQ . . . . . . . . . . . . . . . . . . 127

5.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

Ces dernières années, de nombreuses études [Zaki, 2000 ; Ji et al., 2005 ; Zhang et al., 2007]ont porté sur le problème de l’extraction de motifs séquentiels sous contrainte de gap (EMSG).Cette dernière permet de restreindre la distance qui sépare deux éléments consécutifs d’un motifpar rapport aux séquences de la base. Par exemple, l’analyse des achats des clients [Ji et al., 2005]permet de récupérer les produits achetés ensemble à des intervalles de temps réguliers selon unecertaine contrainte de gap. En biologie computationnelle, la contrainte de gap permet d’aiderà découvrir des motifs periodiques intéressants d’un point de vue biologique qui transportentcertaines informations [Wu et al., 2013].

L’extraction de motifs séquentiels sous contrainte de gap est une tâche difficile qui constitueun défi puisque la propriété Apriori n’est pas vérifiée : une sous-séquence d’un motif séquentielvérifiant la contrainte de gap ne vérifie pas forcément cette contrainte. De nombreuses méthodesspécialisées ont été proposées [Zaki, 2000 ; Li et al., 2012 ; Zhang et al., 2007], mais ce sont des mé-thodes peu flexibles qui ne peuvent pas traiter simultanément d’autres contraintes. Récemment,quelques approches PPC ont été proposées afin d’exploiter la puissance de résolution offerte parles solveurs de contraintes. Mais, à cause de la taille du modèle proposé, ces méthodes ne sont pas

Page 123: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

5.1. Définitions 114

aussi efficaces que les méthodes spécialisées. Dans le chapitre précédent, nous avons proposé lacontrainte globale Prefix-Projection pour le problème EMS qui remédie à cet inconvénient.Donc, nous avons pensé à proposer une extension à cette nouvelle contrainte qui traite les deuxcas : avec et sans contrainte de gap.

Dans ce chapitre, nous introduisons la contrainte globale GAP-SEQ qui permet de traiter leproblème EMS avec et sans contrainte de gap. GAP-SEQ repose sur le principe des extensionsdroites des motifs (right pattern extensions) et son algorithme de filtrage exploite la propriété depréfixe anti-monotonie de la contrainte de gap, afin de garantir un filtrage plus efficace dans l’es-pace de recherche. GAP-SEQ permettra de traiter simultanément différents types de contrainteset son encodage ne fait appel à aucune contrainte réifiée ou variable additionnelle. Les expérimen-tations que nous avons menées montrent que notre approche est plus efficace que les approchesPPC existantes. Ce résultat est conservé même par rapport au méthodes dédiées pour EMSG,en plus, notre approche passe à l’échelle ce qui est très important pour les approches basées surla programmation par contraintes.

Ce chapitre est organisé comme suit. La section 5.1 est dédiée aux définitions relatives àl’extraction de motifs séquentiels avec gap[M,N ]. Les deux section 5.2 et 5.3 introduisent res-pectivement la propriété de préfixe anti-monotonie de la contrainte de gap et le principe desextensions droites d’un motif exploité pour effectuer le filtrage. La section 5.4 présente en détailla contrainte globale GAP-SEQ. Dans la section 5.5, nous présentons l’ensemble des expérimen-tations que nous avons menées.

5.1 Définitions

Soient M et N deux entiers positifs qui représentent respectivement le gap minimum etmaximum. Nous allons définir la relation de sous-séquence ⊑ [M,N ] sous contrainte de gap[M,N ]

qui permet de restreindre la distance entre les items d’une sous-séquence par rapport à une autreséquence.

Définition 50 (Relation de sous-séquence ⊑ [M,N ] sous gap[M,N ]) On dit que α =

〈α1 . . . αm〉 est une sous-séquence de s = 〈s1 . . . sn〉 sous la contrainte gap[M,N ], notée par(α ⊑ [M,N ]s), si m ≤ n et, pour chaque i, 1 ≤ i ≤ m, il existe des entiers 1 ≤ j1 ≤ . . . ≤ jm ≤ n,tels que αi = sji , et ∀k ∈ {1, ...,m − 1},M ≤ jk+1 − jk − 1 ≤ N . Dans ce contexte, la paire(s, [j1, jm]) dénote une occurrence de α dans s, où j1 et jm représentent respectivement les po-sitions du premier et du dernier item de α dans s. On dit que α est contenu dans s où s est unesuper-séquence de α sous gap[M,N ]. On dit aussi que α est un motif valide sous gap[M,N ]

dans s.– Soit AllOcc(α, s) = {[j1, jm] | (s, [j1, jm]) est une occurrence de α dans s} l’ensemble de

toutes les occurrences d’une séquence α sous gap[M,N ] dans s.– Soit AllOcc(α, SDB) = {(sid,AllOcc(α, SDB[sid])) | (sid, SDB[sid]) ∈ SDB} l’ensemble

de toutes les occurrences de α sous gap[M,N ] dans SDB.– Soient gap[M,∞] et gap[0, N ] la contrainte de gap minimum et maximum respective-

ment.– La relation ⊑ est équivalente à ⊑ [0,∞] lorsque la contrainte de gap est désactivée.

Page 124: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

5.2. La propriété de préfixe anti-monotonie de gap[M,N ] 115

sid Séquence1 〈ABCDB〉

2 〈ACCBACB〉

3 〈ADCBEEC〉

4 〈AACC〉

Table 5.1 – SDB4 : Un exemple de base de séquences

Exemple 33 Soient α = 〈AC〉 et s = 〈ACCBACB〉 deux séquences. Les occurrences de α danss sous gap[0, 1] sont données par AllOcc(α, SDB4[2]) = {[1, 2]), [1, 3], [5, 6]}. Puisqu’il existe uneoccurrence de α dans s qui vérifie la contrainte gap[0, 1], s est une super-séquence de α sousgap[0, 1] : 〈AC〉 ⊑ [0,1]〈ACCBACB〉.

La couverture d’une séquence α dans SDB est constituée de l’ensemble de tous les tuplesdans SDB dans lesquels α est inclus. Le support de la séquence α dans SDB est le cardinal desa couverture.

Définition 51 (Couverture et support sous gap[M,N ]) Soient SDB une base de séquences

et α une séquence. cover[M,N ]SDB (α)={(sid, s) ∈ SDB |α ⊑ [M,N ] s} et

sup[M,N ]SDB (α) = #cover

[M,N ]SDB (α).

Définition 52 (Extraction de motifs séquentiels sous gap[M,N ] (EMSG)) Étant don-nés une base de séquences SDB, un seuil de fréquence minimale minsup et une contraintegap[M,N ]. Le problème d’extraction de motifs séquentiels sous gap[M,N ] consiste à trouver

toutes les sous-séquences α telles que sup[M,N ]SDB (α) ≥ minsup.

Exemple 34 Considérons la base de séquences SDB4 du tableau 5.1. Soit α = 〈AC〉

une séquence. Les occurrences de α dans SDB4 sous gap[0, 1] sont données parAllOcc(α, SDB4) = {(1, {[1, 3]}), (2, {[1, 2]), [1, 3], [5, 6]}), (3, {[1, 3]}), (4, {[1, 3], [2, 3], [2, 4]})}.

Nous avons cover[0,1]SDB4

(α) = {(1, s1), (2, s2), (3, s3), (4, s4)}. Si on considère minsup = 2, α

est un motifs séquentiel sous gap[0, 1] parce que sup[0,1]SDB4

(α) ≥ 2.

5.2 La propriété de préfixe anti-monotonie de gap[M,N ]

La majorité des algorithmes proposés pour le problème EMS reposent sur la propriété d’anti-monotonie de la fréquence [Agrawal et Srikant, 1995] exploitée pour l’élagage de l’espace derecherche : toute sous-séquence d’un motif fréquent est aussi fréquente (d’une façon équivalente, siun motif n’est pas fréquent, alors aucun super-motif de celui-ci ne peut être fréquent). Cependant,cette propriété n’est pas conservée pour la contrainte de gap, plus précisément pour la contraintede gap maximum 1. Une simple illustration en exploitant notre exemple de base suffit pourmontrer que le motif 〈AB〉 n’est pas fréquent sous la contrainte gap[0, 1] (pour minsup = 3)

1. La contrainte de gap minimum est anti-monotone.

Page 125: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

5.3. Extensions droites d’un motif 116

alors que le motif 〈ACB〉 vérifie la contrainte gap[0, 1]. Par conséquent, nous devons penser à uneautre technique ou propriété afin de réduire l’espace de recherche. La proposition suivante montreque la propriété de préfixe anti-monotonie peut être exploitée pour assurer l’anti-monotonie dela contrainte de gap.

Définition 53 (Propriété de préfixe anti-monotonie) Une contrainte c est préfixe anti-monotone, si et seulement si, pour tout motif α satisfaisant c, chaque préfixe de α satisfaitégalement c.

Proposition 9 gap[M,N ] est préfixe anti-monotone.

Preuve 8 Soient α = 〈α1 . . . αm〉 et s = 〈s1 . . . sn〉 deux séquences t.q. α ⊑ [M,N ]s et m ≤ n.Par définition, il existe des entiers 1 ≤ j1 ≤ . . . ≤ jm ≤ n, tels que αi = sji, et ∀k ∈ {1, ...,m−1},M ≤ jk+1 − jk − 1 ≤ N . Par conséquent, cette propriété est maintenue pour chaque préfixede α. ✷

Donc, si une séquence α ne satisfait pas la contrainte de gap[M,N ], alors toutes les séquencesqui possèdent α comme préfixe ne peuvent pas satisfaire cette contrainte. La section 5.4.2 montrecomment cette propriété est exploitée afin de fournir un filtrage puissant.

5.3 Extensions droites d’un motif

Les extensions droites d’un motif p sont données par l’ensemble des sous-séquences possibles,dans la base de séquences, qui permettent d’étendre à droite p afin de former un motif validesous gap[M,N ].

D’après la proposition 9, l’ensemble des items localement fréquents dans les extensions droitesde p dans SDB peut être utilisé pour étendre le motif p. Dans ce qui suit, nous introduisons unopérateur permettant de calculer toutes les extensions droites d’un certain motif par rapport àgap[M,N ].

Définition 54 (Extensions droites d’un motif) Etant donné une certaine séquence (sid, s)

et un motif p t.q. p ⊑ [M,N ]s. Les extensions droites du motif p dans s, notées Ext[M,N ]R (p, s),

est la collection de sous-séquences légales de s situées à droite de p et satisfaisant gap[M,N ].

Pour définir Ext[M,N ]R (p, s), nous avons besoin de définir un nouvel opérateur afin d’exprimer les

extensions droites basiques. Cet opérateur est noté BE[M,N ](p, s) :

BE[M,N ](p, s) =⋃

[j1,jm]∈AllOcc(p,s)

{(jm, SubSeq(s, jm +M + 1,min(jm +N + 1,#s)))}

où SubSeq(s, i1, i2) =

{

〈s[i1], ..., s[i2]〉 si i1 ≤ i2 ≤ #s

〈〉 sinon

Cependant, les extensions droites d’un motif Ext[M,N ]R (p, s) sont définies comme suit :

Ext[M,N ]R (p, s) =

{Sb | (j′m, Sb) ∈ BE[M,N ](p, s)∧ si N ≥ #s

j′m = min(jm,Sb)∈BE[M,N](p,s){jm}}⋃

(jm,Sb)∈BE[M,N](p,s){Sb} sinon

(5.1)

Page 126: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

5.3. Extensions droites d’un motif 117

La formule (5.1) indique exactement l’ensemble de toutes les extensions possibles permettantd’étendre le motif p dans une séquence s. Dans le cas où (N ≥ #s), puisque n’importe quelleextension de BE[M,N ](p, s) permet d’atteindre la fin de la séquence s, l’ensemble des extensionspeut être regroupé au sein d’une seule extension allant de la plus petite position de départj′m = min(jm,Sb)∈BE[M,N ](p,s){jm}. Nous rappelons que ce cas (N ≥ #s) couvre aussi le casparticulier sans contrainte de gap, noté gap[0,∞].

Nous définissons maintenant les extensions droites de p dans une base de séquences SDB,données par la collection de toutes ses extensions droites par rapport à l’ensemble des séquencesde SDB :

Ext[M,N ]R (p, SDB) =

(sid,s)∈SDB

{(sid, Ext[M,N ]R (p, s))} (5.2)

Exemple 35 Soient p1 = 〈AC〉 un motif et gap[0, 1] une contrainte de gap. Nousavons AllOcc(p1, SDB4[2]) = {[1, 2]), [1, 3], [5, 6]}. Les extensions droites du motif p1 dans

SDB4[2] sont données par Ext[0,1]R (p1, SDB4[2]) = {〈CB〉, 〈BA〉, 〈B〉}. Les extensions

droites de p1 dans SDB4 sont données par Ext[0,1]R (p1, SDB4) = {(1, {〈DB〉}), (2, {〈CB〉,

〈BA〉, 〈B〉}), (3, {〈BE〉}), (4, {〈C〉})}.

Soit gap[0,∞] une contrainte de gap. Pour calculer Ext[0,∞]R (p1, SDB4[2]), seulement les

premières occurrences de p1 dans SDB4[2] doivent être considérées (i.e. [1, 2]) (cf. Défini-

tion 54). Donc, Ext[0,∞]R (p1, SDB4[2]) = {〈CBACB〉}). Les extensions droites du motif p1 dans

SDB4 sont égales à Ext[0,∞]R (p1, SDB4) = {(1, {〈DB〉}), (2, {〈CBACB〉}), (3, {〈BEEC〉}),

(4, {〈C〉})}.

Étant donné un motif p dans SDB vérifiant la contrainte gap[M,N ], selon la proposition 9,l’ensemble des items localement fréquents dans les extensions droites de p dans SDB peut êtreexploité pour étendre p. La proposition 10 établit le calcul du support d’une séquence γ selonses extensions droites.

Proposition 10 (Calcul du support sous gap[M,N ]) Pour n’importe quelle séquence γ

dans SDB ayant comme préfixe α et suffixe β t.q. γ = concat(α, β), sup[M,N ]SDB (γ) =

supExt

[M,N ]R

(α,SDB)(β).

Cette proposition assure que seulement les séquences dans SDB qui étendent α doivent êtreconsidérées pour le calcul du support de la séquence γ. A partir de la proposition 10, nouspouvons dériver la proposition suivante qui définit une condition nécessaire pour vérifier si unmotif est séquentiel sous gap[M,N ].

Proposition 11 Soient SDB une base de séquences et minsup un seuil de fréquence minimale.Un motif p est un motif séquentiel sous gap[M,N ] dans SDB ssi la condition suivante est

vérifiée : #Ext[M,N ]R (p, SDB) ≥ minsup

Exemple 36 Soient minsup = 2 et une contrainte gap[0, 1]. A partir de l’exemple 35, nous

avons #Ext[0,1]R (p1, SDB4) = 4 ≥ minsup. Ainsi, p1 = 〈AC〉 est un motif séquentiel sous

gap[0, 1]. Les items localement fréquents selon les extensions droites Ext[0,1]R (p1, SDB4) de p1

sont B et C avec un support de 3 et 2 respectivement. Selon la proposition 10, p1 peut êtreétendu pour former deux motifs séquentiels sous gap[0, 1] : 〈ACB〉 et 〈ACC〉 .

Page 127: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

5.4. Contrainte globale GAP-SEQ 118

La section suivante introduit la contrainte globale GAP-SEQ permettant de traiter le pro-blème EMS sans et avec la contrainte de gap. GAP-SEQ est basée sur la propriété de préfixe anti-monotonie de la contrainte de gap et le principe des extensions droites, afin d’avoir un algorithmede filtrage efficace pour notre contrainte globale. Nous rappelons que cette dernière, n’exige au-cune contrainte réifiée, ni variables auxiliaires pour encoder la relation de sous-séquence.

5.4 Contrainte globale GAP-SEQ

Cette section est consacrée à la contrainte globale GAP-SEQ. La section 5.4.1 définit for-mellement cette contrainte globale et détaille le modèle CSP qu’elle exploite. La section 5.4.2montre comment le filtrage tire profit de la propriété de préfixe anti-monotonie de gap[M,N ] (cf.proposition 14) et du principe des extensions droites d’un motif (cf. proposition 13) pour retirerles valeurs inconsistantes du domaine de la prochaine variable à instancier (première variablenon instanciée qui vient juste après le préfixe). La section 5.4.3 explique en détail l’algorithmede filtrage et la section 5.4.4 discute sa complexité temporelle et spatiale.

5.4.1 Modélisation de EMSG

(a) Variables et domaines. Le problème EMSG est modélisé par les mêmes variables avec lesmêmes domaines que le problème EMS (cf. section 4.1).

(b) Definition de GAP-SEQ. La contrainte globale GAP-SEQ encode à la fois la relation⊑ [M,N ] sous la contrainte gap[M,N ] et la contrainte de fréquence directement sur le motif.

Définition 55 (Contrainte globale GAP-SEQ) Soient P = 〈P1, P2, . . . , Pℓ〉 un motif detaille ℓ et gap[M,N ] une contrainte de gap. 〈d1, ..., dℓ〉 ∈ D(P1) × . . . ×D(Pℓ) est une solution

pour GAP-SEQ(P, SDB,minsup,M,N) ssi sup[M,N ]SDB (〈d1, ..., dℓ〉) ≥ minsup.

Proposition 12 (Test de cohérence de GAP-SEQ) GAP-SEQ(P, SDB,minsup,M,N)

admet une solution ssi il existe une instanciation σ = 〈d1, ..., dℓ〉 portant sur les variables de P

t.q. #Ext[M,N ]R (σ, SDB) ≥ minsup.

Preuve 9 C’est une conséquence directe de la proposition 11.

5.4.2 Principes du filtrage

(a) Maintien d’une consistance locale. Le problème EMS est une tâche difficile à causedu nombre exponentiel de candidats qu’on peut avoir afin d’extraire seulement les motifs fré-quents. Par exemple, on peut avoir O(nk) candidats de taille au plus k dans une séquence delongueur n. En considérant la contrainte de gap, ce problème devient beaucoup plus difficile carla complexité pour vérifier cette contrainte est plus importante que celle qui consiste à vérifierseulement la relation de sous-séquence. En outre, la NP-difficulté du problème d’extraction desmotifs maximaux 2 était établie [Yang, 2006] en prouvant la #P-complétude du problème qui

2. Un motif p est maximal s’il n’existe aucun motif séquentiel q tel que p ⊑ q.

Page 128: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

5.4. Contrainte globale GAP-SEQ 119

consiste à compter le nombre de motifs maximaux. Par conséquent, assurer la consistance dedomaine pour GAP-SEQ i.e., trouver pour chaque variable Pj , une valeur dj ∈ D(Pj), satis-faisant la contrainte est NP-difficile. Donc, l’algorithme de filtrage de la contrainte GAP-SEQ

maintient une consistance plus faible que la consistance de domaine. Cette consistance est ba-sée sur une propriété spécifique de la contrainte de gap[M,N ] et ressemble au forward-checking(cf. Proposition 13). GAP-SEQ est considérée comme une contrainte globale, puisque toutes lesvariables partagent la même structure de données interne qui supporte le processus de filtrage.La propriété de préfixe anti-monotonie de gap[M,N ] (cf. Proposition 14) et le principe des ex-tensions droites (cf. Proposition 13) permettront de retirer les valeurs inconsistantes à partir dudomaine de la prochaine variable à instancier.

(b) Détection des valeurs inconsistantes. Soit RF [M,N ](σ, SDB) l’ensemble des items lo-calement fréquents par rapport aux extensions droites, définies par {v ∈ I |#{sid | (sid, E) ∈

Ext[M,N ]R (σ, SDB)∧ (∃α ∈ E ∧〈v〉 ⊑ α)} ≥ minsup}. La proposition suivante caractérise les va-

leurs, pour la prochaine variable (non instanciée) Pj+1, qui sont consistantes selon l’instanciation(préfixe) courante des variables 〈P1, . . . , Pj〉.

Proposition 13 (Valeurs consistantes) Soient σ = 〈d1, . . . , dj〉 l’instanciation courante desvariables 〈P1, . . . , Pj〉, et Pj+1 une future variable à instancier. Une valeur d ∈ D(Pj+1)

apparaît dans une solution pour la contrainte globale GAP-SEQ(P, SDB,minsup,M,N) ssid ∈ RF [M,N ](σ, SDB).

Preuve 10 Soit σ = 〈d1, . . . , dj〉 un motif séquentiel qui vérifie la contrainte gap[M,N ] dansSDB. Supposons que la valeur d ∈ D(Pj+1) apparaît dans RF [M,N ](σ, SDB). Puisque le sup-port de d par rapport aux extensions droites est égal à sup

Ext[M,N ]R

(σ,SDB)(〈d〉), à partir de la

proposition 10, nous avons sup[M,N ]SDB (concat(σ, 〈d〉)) = sup

Ext[M,N ]R

(σ,SDB)(〈d〉). Ainsi, nous pou-

vons construire une nouvelle instanciation σ ∪ 〈d〉 qui satisfait cette contrainte. Cependant,d ∈ D(Pj+1) participe à la solution. ✷

A partir de la proposition 13 et selon la propriété de préfixe anti-monotonie de la contraintede gap, on peut dériver la règle de filtrage exprimée par la proposition suivante.

Proposition 14 (Règle de filtrage pour GAP-SEQ) Soit σ = 〈d1, . . . , dj〉 l’instancia-tion courante des variables 〈P1, . . . , Pj〉. Toute valeur d ∈ D(Pj+1) qui n’appartient pas àRF [M,N ](σ, SDB) peut être retirée du domaine de la variable Pj+1.

Exemple 37 Considérons la base SDB4 du tableau 5.1. Soient minsup = 2, ℓ =

4 et la contrainte gap[1, 2]. Un motif inconnu est modélisé par les variables P =

〈P1, P2, P3, P4〉 avec D(P1) = I et D(P2) = D(P3) = D(P4) = I ∪ {✷}.

Nous supposons maintenant que σ(P1) = A. Nous avons Ext[1,2]R (〈A〉, SDB4) =

{(1, {〈CD〉}), (2, {〈CB〉, 〈B〉}), (3, {〈CB〉}), (4, {〈CC〉, 〈C〉})}. Comme B et C représentent les

seuls items qui sont localement fréquents dans Ext[1,2]R (〈A〉, SDB4), GAP-SEQ supprimera les

valeurs : A, D et E de D(P2). On obtient donc un nouveau domaine plus réduit D(P2) = {B,C}.

Le filtrage de GAP-SEQ repose sur la proposition 14, il est détaillé dans la section suivante.

Page 129: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

5.4. Contrainte globale GAP-SEQ 120

Algorithme 11 : FILTRAGE-GAP-SEQ (SDB, σ, j, P , minsup, M , N)Données : SDB : base de séquences initiale ; σ : instanciation courante 〈σ(P1), . . . , σ(Pj)〉 ; minsup : le seuil de

fréquence minimale ; ALLOCC : structure de données interne pour stocker les occurrences d’un motifdans SDB ; ExtR : une structure de données interne pour stocker les extensions droites d’un motif σdans SDB.

débutExtR ← getRightExt(SDB,ALLOCCj−1, σ,M,N) ;1si (#ExtR < minsup) alors2

retourner Faux ;3

si (j ≥ 2 ∧ σ(Pj) = ✷) alors4pour k ← j + 1 à ℓ faire5

Pk ← ✷ ;6

sinonRF ← getFreqItems (SDB,ExtR,minsup) ;7pour chaque a ∈ D(Pj+1) t.q.(a 6= ✷ ∧ a /∈ RF) faire8

D(Pj+1)← D(Pj+1)− {a} ;9

retourner Vrai ;10

fin

5.4.3 Algorithme de filtrage

L’algorithme 11 décrit le pseudo-code de l’algorithme de filtrage associé à GAP-SEQ. Il prenden entrée : l’index j de la dernière variable instanciée dans P (selon l’ordre lexicographique),l’instanciation partielle σ = 〈σ(P1), . . . , σ(Pj)〉, le support minimal minsup, le gap minimum(M) et le gap maximum (N). La structure de données interne ALLOCC permet de stockertoutes les occurrences intermédiaires du motif dans SDB, où ALLOCCj = AllOcc(σ, SDB),pour j ∈ [1 . . . ℓ]. Si σ = 〈〉, alors ALLOCC0 = {(sid, [1,#s]) | (sid, s) ∈ SDB}. ALLOCCj estcalculée d’une façon incrémentale à partir de ALLOCCj−1 afin d’améliorer les performances.

L’algorithme 11 commence par le calcul des extensions droites ExtR de l’instanciation cou-rante σ dans SDB (ligne 1) en invoquant la fonction getRightExt (cf. algorithme 12). Ensuite,il vérifie si σ satisfait ou pas la contrainte de gap (cf. proposition 12) (ligne 2). Si la contrainten’est pas satisfaite, l’instanciation courante σ ne peut pas être étendue et donc on retourne Faux.Dans l’autre cas, l’algorithme vérifie si la dernière variable Pj est instanciée à ✷ (ligne 4). Si c’estle cas, la fin de la séquence est atteinte (puisque la valeur ✷ ne peut apparaître qu’à la fin d’unmotif) et donc la séquence 〈σ(P1), . . . , σ(Pj)〉 forme un motif séquentiel qui vérifie la contraintede gap[M,N ] ; ainsi, l’algorithme instancie les (ℓ− j) variables libres à ✷ et retourne Vrai (lignes5-6). Maintenant, si (Pj 6= ✷), l’ensemble des items localement fréquents, selon les extensionsdroites ExtR de σ dans SDB, est calculé en invoquant la fonction getFreqItems (ligne 7) et ledomaine de la variable Pj+1 est mis à jour selon les items fréquents obtenus (lignes 8-9).

Algorithm 12 illustre le pseudo-code de la fonction getRightExt . Premièrement, si σ est vide(i.e. #σ = 0), toutes les sous-séquences de SDB sont considérées comme des extensions droitesvalides ; la base SDB en entier est renvoyée. Sinon, la fonction getAllOcc est invoquée pourle calcul des occurrences de σ dans SDB (ligne 1). Ensuite, l’algorithme parcourt toutes lesentrées de ALLOCCj , une par une (ligne 5), et pour chaque paire (sid,OccSet), il scanne lesoccurrences de σ dans la séquence sid (ligne 7). Pour chaque occurrence (j1, jm) ∈ OccSet,l’algorithme calcule ses extensions droites, i.e. la partie droite de la séquence sid incluse dans la

Page 130: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

5.4. Contrainte globale GAP-SEQ 121

Algorithme 12 : getRightExt (SDB, ALLOCCj−1, σ, M , N)Données : SDB : base de séquences initiale ; ALLOCCj−1 : occurrences de l’affectation partielle

〈σ(P1), . . . , σ(Pj−1)〉 dans SDB ; σ : l’affection partielle courante 〈σ(P1), . . . , σ(Pj)〉 ; OccSet : lespositions des premiers items et des derniers items 〈σ(P1), . . . , σ(Pj−1)〉 dans SDB[sid] ; Sb : lespositions des premiers items et des derniers items des extensions droites de σ dans SDB[sid].

débutsi (σ = 〈〉) alors1

retourner {(sid, [1,#s])|(sid, s) ∈ SDB} ;2

ALLOCCj ← getAllOcc (SDB,ALLOCCj−1, σ,M,N) ;3ExtR ← ∅ ;4pour chaque pair (sid,OccSet) ∈ ALLOCCj faire5

s← SDB[sid] ; Sb← ∅ ;6pour chaque pair [j1, jm] ∈ OccSet faire7

j′1 ← jm +M + 1 ; j′m ← min(jm +N + 1,#s) ;8si (j′1 ≤ j′m) alors9

Sb← Sb ∪ {(j′1, j′m)} ;10

ExtR ← ExtR ∪ {(sid, Sb)} ;11

retourner ExtR ;12

finFonction getAllOcc (SDB, ALLOCCj−1, σ, M , N) ;débutALLOCCj ← ∅ ; inf ← 0 ; sup← 0;13pour chaque pair (sid,OccSet) ∈ ALLOCCj−1 faire14

s← SDB[sid] ; newOccSet← ∅ ; redundant← faux ; i← 1 ;15tant que (i ≤ #OccSet ∧¬redundant) faire16

[j1, jm]← OccSet[i] ; i← i+ 1;17si (#σ = 1) alors18

inf ← 1 ; sup← #s ;19

elseinf ← jm +M + 1 ; sup← min(jm +N + 1,#s) ;20

k ← inf ;21tant que ((k ≤ sup) ∧ (¬redundant)) faire22

si (s[k] = σ(Pj)) alors23si (#σ = 1) alors24

newOccSet← newOccSet ∪ {[k, k]} ;25

sinonnewOccSet← newOccSet ∪ {[j1, k]} ;26

si (((sup = #s) ∧ (#σ > 1)) ∨ (N ≥ #s)) alors27redundant← vrai ;28

k ← k + 1 ;29

si (newOccSet 6= ∅) alors30ALLOCCj ← ALLOCCj ∪ (sid, newOccSet) ;31

retourner ALLOCCj ;32

fin

plage [jm+M+1,min(jm+N+1,#s)] (ligne 8). Si la nouvelle plage est valide, elle sera ajoutéeà l’ensemble Sb (ligne 10). Après le traitement de toutes les entrées de OccSet, les extensionsdroites de σ dans la séquence sid sont construites et puis ajoutées à l’ensemble ExtR (ligne 11).Ce processus se termine lorsque toutes les entrées de ALLOCCj sont traitées. Finalement, Lesextensions droites de σ dans SDB sont renvoyées (ligne 12).

La fonction getAllOcc calcule d’une façon incrémentale ALLOCCj à partir de ALLOCCj−1.

Page 131: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

5.5. Expérimentations 122

Plus précisément, les lignes (18-19) et (24-25) sont considérées lorsque la première variable P1

est instanciée (i.e. #σ = 1), et par conséquent, toutes ses occurrences initiales doivent êtrecalculées et stockées dans ALLOCC1 lors le la phase d’initialisation (lignes 24-25). Ensuite,ALLOCCj (lorsque j > 1) est déduite à partir de ALLOCCj−1 à travers la ligne 26. Afin dedéterminer ALLOCCj , nous évitons de calculer les occurrences qui mènent vers des extensionsdroites redondantes, cela est fait en imposant la condition ((sup = #s) ∧ (#σ > 1)) de laligne 27. De plus, lors du calcul des extensions droites, au lieu de stocker la partie entière dela sous-séquence 〈s[j′1], . . . , s[j

′m]〉, nous stockons seulement la position du premier et du dernier

item (j′1, j′m) dans la séquence sid. Considérons l’exemple 35 : Ext

[0,1]R (〈AC〉, SDB4) sera encodée

par {(1, {(4, 5)}), (2, {(3, 4), (4, 5), (7, 7)}), (3, {(4, 5)}), (4, {(4, 4)})}.Finalement, l’algorithme de filtrage traite efficacement le cas sans contrainte de gap. Pour

chaque paire (sid,OccSet), seulement la première occurrence (j1, jm) dans OccSet est détermi-née, ceci est assuré par la condition (N ≥ #s) de la ligne 27.

5.4.4 Complexités temporelle et spatiale de l’algorithme de filtrage

Soient m=|SDB|, d=|I| et ℓ la longueur de la séquence la plus longue dans SDB. Le calcul deALLOCCj à partir de ALLOCCj−1 (cf. fonction GetAllOcc de l’algorithme 12) peut être réaliséen O(m×ℓ2). La fonction getRightExt (cf. algorithme 12) traite toutes les occurrences de σ danschaque séquence de SDB. Au pire des cas, on peut avoir ℓ occurrences pour chaque séquencedans la base. Donc, la complexité temporelle de la fonction getRightExt est en O(m×ℓ2+m×ℓ)

i.e. O(m× ℓ2).

Proposition 15 (Complexité temporelle et spatiale du filtrage) Au pire des cas, (i) lefiltrage est réalisé en O(m× ℓ2 + d) et (ii) sa complexité spatiale est en O(m× ℓ2).

Preuve 11(i) La complexité de la fonction getRightExt est de l’ordre de O(m×ℓ2). La complexité totale

de la fonction GetFreqItems est en O(m× ℓ). Les lignes (8-9) peuvent être accomplies en O(d).Alors, la complexité totale est en O(m× ℓ2 +m× ℓ+ d), i.e. O(m× ℓ2 + d).

(ii) La complexité en espace de l’algorithme de filtrage repose sur le stockage de la structure dedonnées interne ALLOCC. Les occurrences ALLOCCj pour chaque instanciation σ dans SDB,avec une longueur de σ allant de 1 jusqu’à ℓ, doivent être stockées. Puisque on peut avoir aumaximum ℓ occurrences de σ dans chaque séquence sid, au pire des cas, le stockage de ALLOCCjpeut se faire en O(m× ℓ). Et puisque on peut avoir ℓ préfixes, la complexité au pire des cas pourstocker toutes les occurrences ALLOCCj(j = 1..ℓ), est en O(m× ℓ2). ✷

5.5 Expérimentations

Cette section présente les différentes expérimentations que nous avons effectuées sur desbases de séquences réelles [Fournier-Viger et al., 2014 ; Béchet et al., 2012a] avec un nombre deséquences qui varie entre 5 000 et 103 120 séquences, provenant de différents domaines d’appli-cation (cf. tableau 4.4). Premièrement, nous comparons notre approche avec d’autres méthodesPPC, ensuite avec l’approche de référence cSpade qui est dédiée pour le problème EMSG. Deuxobjectifs ont été fixés :

Page 132: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

5.5. Expérimentations 123

1. Montrer qu’une approche basée sur la PPC est capable de concurrencer une approchespécialisée pour le problème d’extraction de motifs séquentiels sous contrainte de gap.

2. Montrer la flexibilité de notre approche qui permet de traiter simultanément différents typesde contraintes. Ce dernier point est considéré comme un point fort pour les approches PPC.

5.5.1 Protocole expérimental

Notre approche a été implémentée en exploitant le solveur gecode 3. Toutes les expérimenta-tions ont été menées sur une machine avec un processeur Intel X5670 ayant 24 GB de mémoire,avec Linux comme system d’exploitation, en exploitant l’Unité de Calcul Intensif de l’Universitéd’Oran 1 et la plateforme de Calcul Haute Performance IBNBADIS offerte par le Centre deRecherche sur l’Information Scientifique et Technique. Nous avons fixé le temps limite à 1 heure.Si l’une des approches ne termine pas le processus d’extraction au bout de cette limite de temps,cela est indiqué dans le tableau par le symbole (−). Le paramètre ℓ a été fixé à la taille de la pluslongue séquence dans la base SDB. Nous avons comparé notre approche (indiquée par GAP-SEQ)avec :

1. decomposed-p.f 4, la meilleure approche PPC existante pour le problème EMSG,

2. cSpade 5, la meilleure méthode spécialisée pour EMSG,

3. La contrainte globale Prefix-Projection dédiée pour le problème EMS (cas sanscontrainte de gap).

FIFA LEVIATHAN

0.1

1

10

100

1000

34 35 36 37 38 39 40 41 42

Te

mp

s (

se

c,

log

sca

le)

Minsup (%)

GAP-SEQ[0,1]decomposed-p.f[0,1]

0.1

1

10

100

1000

20 25 30 35 40 45 50 55

Te

mp

s (

se

c,

log

sca

le)

Minsup (%)

GAP-SEQ[0,1]decomposed-p.f[0,1]

Figure 5.1 – GAP-SEQ vs. decomposed-p.f pour EMSG : temps CPU

5.5.2 GAP-SEQ vs. méthodes PPC

Nous avons comparé le temps CPU de GAP-SEQ et decomposed-p.f. Dans ces expérimen-tations, nous avons fixé la contrainte de gap à gap[0, 1] et nous avons fait varier les valeurs de

3. http://www.gecode.org

4. https://dtai.cs.kuleuven.be/CP4IM/cpsm/

5. http://www.cs.rpi.edu/~zaki/www-new/pmwiki.php/Software/

Page 133: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

5.5. Expérimentations 124

Base de minsup (%) #MOTIFStemps CPU (s) #PROPAGATIONS #NOEUDS

séquences GAP-SEQ decomposed-p.f GAP-SEQ decomposed-p.f GAP-SEQ decomposed-p.f

FIFA

42 1 0,34 6,06 2 0 1 240 5 0,37 144,95 10 778 010 6 1138 10 0,4 298,68 20 2 957 965 11 2136 17 0,48 469,3 34 902 9578 18 3534 35 0,59 − 70 − 36 −

Table 5.2 – GAP-SEQ vs. decomposed-p.f sur la base FIFA

minsup selon la base. La figure 5.1 montre les résultats de ces deux approches sur les deuxbases FIFA et LEVIATHAN (les résultats obtenus pour les autres bases sont presque similaires).GAP-SEQ clairement surpasse decomposed-p.f sur les deux bases même pour des valeurs élevéesde minsup : GAP-SEQ est un ordre de grandeur plus rapide que decomposed-p.f. Pour de petitesvaleurs de minsup, decomposed-p.f ne parvient pas à terminer l’extraction de tous les motifsséquentiels au bout du temps limite.

Le tableau 5.2 décrit pour la base FIFA, en considérant des valeurs différentes de minsup,le nombre d’échecs, le nombre d’appels à la fonction de propagations de gecode (col. 5) et lenombre de nœuds dans l’espace de recherche (col. 6). GAP-SEQ est plus efficace en terme denombre de propagations effectuées. Ce nombre reste petit pour GAP-SEQ par rapport à celuieffectué par decomposed-p.f (en millions). Ceci peut être dû au nombre explosif de contraintesréifiées utilisées par decomposed-p.f afin d’encoder la relation de sous-séquence. En regardantles temps CPU, GAP-SEQ nécessite moins d’une seconde pour compléter le processus d’extraction,alors que decomposed-p.f a besoins de plus de temps pour terminer la recherche (avec un gainallant jusqu’à 938).

BIBLE (0.1 %) Kosarak (0.1 %) PubMed (0.5 %)

0

500

1000

1500

2000

2500

3000

0 1 2 3 4 5 6 7 8 9

Te

mp

s (

se

c)

Gap maximum (N)

GAP-SEQcSpade

0

50

100

150

200

250

300

0 1 2 3 4 5 6 7 8 9

Te

mp

s (

se

c)

Gap maximum (N)

GAP-SEQcSpade

0

50

100

150

200

250

300

350

400

450

500

0 1 2 3 4 5 6 7 8 9

Te

mp

s (

se

c)

Gap maximum (N)

GAP-SEQcSpade

FIFA (2 %) Leviathan (0.8 %) Protein (96 %)

0

200

400

600

800

1000

1200

1400

1600

0 1 2 3 4 5 6 7 8 9

Te

mp

s (

se

c)

Gap maximum (N)

GAP-SEQcSpade

0

10

20

30

40

50

60

70

80

90

0 1 2 3 4 5 6 7 8 9

Te

mp

s (

se

c)

Gap maximum (N)

GAP-SEQcSpade

0

500

1000

1500

2000

2500

3000

3500

0 1 2 3 4 5 6 7 8 9

Te

mp

s (

se

c)

Gap maximum (N)

GAP-SEQcSpade

Figure 5.2 – temps CPU : N variable et M = 0

Page 134: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

5.5. Expérimentations 125

BIBLE Kosarak PubMed

0

50

100

150

200

250

300

350

0.5 0.6 0.7 0.8 0.9 1

Te

mp

s (

se

c)

Minsup (%)

GAP-SEQcSpade

0

100

200

300

400

500

600

700

0.06 0.1 0.15 0.2 0.25 0.3

Te

mp

s (

se

c)

Minsup (%)

GAP-SEQcSpade

0

500

1000

1500

2000

2500

3000

3500

4000

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Te

mp

s (

se

c)

Minsup (%)

GAP-SEQcSpade

FIFA Leviathan Protein

0

500

1000

1500

2000

2500

3000

3 4 5 6 7 8 9 10

Te

mp

s (

se

c)

Minsup (%)

GAP-SEQcSpade

0

50

100

150

200

250

0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Te

mp

s (

se

c)

Minsup (%)

GAP-SEQcSpade

0

500

1000

1500

2000

2500

3000

3500

96 97 98 99 99.99

Te

mp

s (

se

c)

Minsup (%)

GAP-SEQcSpade

Figure 5.3 – Temps CPU : minsup variable avec gap[0, 9]

5.5.3 GAP-SEQ vs. méthodes spécialisées

Dans cette deuxième expérimentation, nous comparons GAP-SEQ avec cSpade. Nous avonsd’abord fixé minsup à la valeur la plus petite possible selon la base de séquences concernée,ensuite nous avons fait varier le gap maximum N de 0 à 9. Le gap minimum M était fixé à 0. Lafigure 5.2 reporte les temps CPU des deux approches. Premièrement, GAP-SEQ domine clairementcSpade sur toutes les bases. Le gain en terme de temps CPU est considérablement amplifié avecl’augmentation de la valeur de N . Sur la base FIFA, le gain est de 9, 5 pour N=6. Sur BIBLE,GAP-SEQ a réussi à terminer l’extraction de tous les motifs pour une valeur de N qui atteint9 dans seulement 433 secondes, alors que cSpade ne parvient pas à terminer la recherche pourdes valeurs de N allant au delà de 6. Une seule exception a été produite dans le cas de la baseKosarak, lorsque cSpade se comporte mieux. Pour cette base de séquences (qui est la base laplus grande à la fois en terme de nombre de séquences et d’items), la taille du domaine est plusimportante en la comparant avec les autres bases. Donc, le filtrage nécessite beaucoup plus detemps. Ceci explique probablement le comportement de GAP-SEQ dans le cas de cette base deséquences qui est un peu particulière.

Nous avons aussi mené d’autres expérimentations afin d’évaluer le degré de sensibilité deGAP-SEQ et cSpade par rapport à minsup. Nous avons fixé la contrainte de gap à gap[0, 9], et leminsup a été augmenté jusqu’à ce que les deux méthodes n’arrivent pas à compléter l’extractionde tous les motifs en respectant le temps limite (1 heure). Les résultats sont illustrés dans lafigures 5.3. Encore une fois, GAP-SEQ obtient les meilleures performances sur toutes les bases (àl’exception de Kosarak). Lorsque le seuil de fréquence minimale diminue, le temps CPU pourGAP-SEQ augmente d’une façon raisonnable, contrairement à cSpade qui progresse considérable-ment. Sur PubMed, avec minsup = 0, 1 %, cSpade termine le processus d’extraction après 3 500

secondes, pendant que GAP-SEQ le fait seulement en 500 secondes (avec un gain de 7). Ces ré-sultats montrent clairement que notre approche est plus efficace et performante par rapport àcSpade sur de grandes bases de séquences.

Page 135: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

5.5. Expérimentations 126

BIBLE Kosarak Protein

0

100

200

300

400

500

600

700

2 4 6 8 10 12 14 16 18 20

Tem

ps (

sec)

Facteur de réplication

minsup=0.6%

minsup=0.8%

minsup=1%

0

200

400

600

800

1000

1200

1400

2 4 6 8 10 12 14 16 18 20

Tem

ps (

sec)

Facteur de réplication

minsup=0.12%

minsup=0.14%

minsup=0.2%

0

200

400

600

800

1000

1200

1400

1600

2 4 6 8 10 12 14 16 18 20

Tem

ps (

sec)

Facteur de réplication

minsup=99.85%

minsup=99.9%

minsup=99.99%

Figure 5.4 – Évolution du temps d’exécution de GAP-SEQ en fonction de la taille de la base sur BIBLE,Kosarak et Protein

5.5.4 Évaluation du passage à l’échelle de GAP-SEQ

Nous avons exploité seulement trois bases de séquences, chacune a été dupliquée de 1 à 20 fois.La contrainte de gap a été fixée à gap[0, 9], et minsup à trois valeurs différentes. La figures 5.4reporte les temps CPU selon le facteur de réplication (i.e. taille de la base). Les temps CPUaugmentent (presque dans tous les cas) linéairement avec le nombre de séquences. Cela indiqueque GAP-SEQ passe à l’échelle, alors qu’il s’agit d’un point important qui n’est pas assuré parles approches PPC existantes. Le comportement de GAP-SEQ sur Protein est tout à fait différentpour de petites valeurs de minsup. En effet, pour de longues séquences (le cas de Protein), lataille de ALLOCC peut être très grande et donc la vérification de la contrainte de gap devientplus coûteuse (cf. section 5.4.4).

5.5.5 Traitement de contraintes additionnelles

Afin d’illustrer la flexibilité de notre approche, nous avons sélectionné la base PubMed, enpostant les contraintes suivantes :

– Contrainte de fréquence : différentes valeurs ont été testées.– Contrainte de taille minimale : nous avons fixé ℓmin à 3.– Contrainte d’item : chaque motif doit contenir les deux items : GENE et RD.– Contrainte de gap : pour l’évaluation de cette contrainte, nous l’avons fixé à gap[0, 9], qui

est le meilleur paramétrage approuvé dans [Béchet et al., 2012a].Comme aucune méthode spécialisée n’existe pour traiter cette combinaison de contraintes

simultanément, nous avons comparé GAP-SEQ sans et avec ces contraintes additionnelles.Le tableau 5.3 reporte, pour chaque valeur de minsup, le nombre de motifs extraits, le temps

CPU associé, le nombre de propagations et le nombre de nœuds dans l’espace de recherche.Les contraintes additionnelles permettent de restreindre le nombre de motifs extraits. Comme leproblème devient sur-contraint, la taille de l’arbre de recherche développé est plus petite. Malgréque le nombre de propagations est plus élevé, les temps CPU qui en résultent sont réduits. Pourconclure, grâce à notre contrainte globale GAP-SEQ et son encodage simplifié, de nombreusescontraintes peuvent être postées simultanément telle que la contrainte d’expression régulière.

Page 136: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

5.6. Conclusion 127

minsup#MOTIFS Temps CPU (s) #PROPAGATIONS #NOEUDS

gap gap+size+item gap gap+size+item gap gap+size+item gap gap+size+item1 % 14 032 1 805 19,34 16,83 28 862 47 042 17 580 16 584

0,5 % 48 990 6 659 43,46 34,6 100 736 163 205 61 149 58 6250,4 % 72 228 10 132 55,66 43,47 148 597 240 337 90 477 87 2060,3 % 119 965 17 383 79,88 59,28 246 934 398 626 151 280 146 6010,2 % 259 760 39 140 143,91 100,09 534 816 861 599 329 185 321 3040,1 % 963 053 153 411 539,57 379,04 1 986 464 3 186 519 1 236 340 1 219 193

Table 5.3 – GAP-SEQ sous contrainte de taille, d’item et de gap[0, 9] sur la base PUBMED

BIBLE Kosarak Protein

10

100

1000

10000

0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

Tem

ps (

sec, lo

gscale

)

Minsup (%)

PP

GAP-SEQ[0,100]

cSpade

cSpade[0,100]

1

10

100

1000

0.05 0.1 0.15 0.2 0.25 0.3

Tem

ps (

sec, lo

gscale

)

Minsup (%)

PP

GAP-SEQ[0,796]

cSpade

cSpade[0,796]

10

100

1000

10000

99.978 99.982 99.986 99.99

Tem

ps (

sec, lo

gscale

)

Minsup (%)

PP

GAP-SEQ[0,600]

cSpade

cSpade[0,600]

Figure 5.5 – Comparaison de GAP-SEQ avec PP et cSpade pour EMS sur les bases : BIBLE, Kosaraket Protein

5.5.6 Résolution du problème EMS avec GAP-SEQ

Afin de simuler l’absence de la contrainte de gap, nous avons exploité la contrainte gap[0, ℓ]

(nous rappelons que ℓ est la taille de la plus longue séquence dans SDB). Ainsi, nous comparonsGAP-SEQ[0, ℓ] avec Prefix-Projection et deux configurations de cSpade pour EMS : cSpadesans contrainte de gap et cSpade avec M et N fixés à 0 et ℓ respectivement, noté cSpade[0, ℓ].Notons que toutes les méthodes ci-dessus vont extraire le même ensemble de motifs séquentiels.

La figure 5.5 indique les temps CPU pour les quatre méthodes. Tout d’abord, cSpade obtientles meilleures performances (à l’exception de Protein). Ces résultats confirment ceux observésdans [Kemmar et al., 2015]. Deuxièmement, GAP-SEQ[0, ℓ] et Prefix-Projection possèdentun comportement similaire, même si GAP-SEQ[0, ℓ] est un peu moins rapide. Donc, malgré queGAP-SEQ permet de traiter à la fois les deux cas (avec et sans contrainte de gap), cette approchereste très compétitive pour le problème EMS. Troisièmement, GAP-SEQ[0, ℓ] surpasse clairementcSpade[0, ℓ] (à l’exception de Kosarak). Ceci est probablement dû au grand nombre d’opérationsinutiles de jointure effectuées par cSpade[0, ℓ].

Finalement, l’implémentation de GAP-SEQ sous gecode et les bases de séquences utilisées dansces expérimentations sont disponibles en ligne 6.

5.6 Conclusion

Dans ce chapitre, nous avons introduit la contrainte globale GAP-SEQ permettant de traiterle problème EMS avec et sans contrainte de gap. L’algorithme de filtrage exploite le principe des

6. https://sites.google.com/site/prefixprojection4cp/

Page 137: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

5.6. Conclusion 128

extensions droites d’un motif, ainsi que la propriété de préfixe anti-monotonie de la contraintede gap. GAP-SEQ permet de traiter simultanément différents types de contraintes, sans faireappel à aucune contrainte réifiée, ni variables additionnelles pour l’encodage de la relation desous-séquence. Les expérimentations que nous avons menées sur des bases réelles montrent que :

– Notre approche surpasse clairement les approches PPC existantes, ainsi que les méthodesspécialisées pour EMSG sur des bases de séquences de grandes tailles,

– Notre contrainte globale GAP-SEQ se comporte assez bien pour le problème EMS (cassans contrainte de gap).

Cette contribution ouvre de nombreuses pistes pour de futures recherches. Nous prévoyons deproposer une approche PPC pour l’extraction des motifs distinctifs minimaux (minimal distin-guishing patterns (MDS)) [Ji et al., 2007]. Ce sont des motifs qui apparaissent fréquemment dansune classe de la base et peu fréquents dans l’autre classe. Ceci offre un moyen naturel pour repré-senter une information avec un contraste fort entre deux bases de séquences. Les MDS peuventêtre utilisés dans plusieurs applications telles que la comparaison de protéines, la comparaisonde documents et la construction des modèles de classification.

Page 138: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Chapitre 6

Une approche par intervalle pourl’extraction des sous-graphes fréquents

Sommaire6.1 Exemple illustratif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

6.2 Encodage par intervalle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

6.2.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

6.2.2 Une instance d’encodage inférieur . . . . . . . . . . . . . . . . . . . . . . . . 132

6.2.3 Une instance d’encodage supérieur . . . . . . . . . . . . . . . . . . . . . . . 134

6.3 Expérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

6.3.1 Protocole Expérimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

6.3.2 Évaluation sur des bases de graphes synthétiques . . . . . . . . . . . . . . . 137

6.3.3 Évaluation sur des bases réelles de graphes . . . . . . . . . . . . . . . . . . 140

6.3.4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

Le problème de découverte de sous-graphes fréquents dans une base de graphes GDB, consisteà trouver tous les sous-graphes qui appartiennent à au moins minsup transactions dans GDB.Par exemple, le sous-graphe construit par les arêtes en gras dans la figure 6.1, apparaît seulementdans G1 et G2. Donc, si le seuil de fréquence minimale minsup = 2, alors il sera considéré commeun motif fréquent. Généralement, un processus d’extraction de sous-graphes fréquents passe pardeux étapes :

1. Génération des candidats : l’objectif de cette étape est que chaque candidat soit généré uneet une seule fois, cela est réalisé en exploitant l’encodage canonique qui permet d’attribuerpour chaque graphe un code unique,

2. Calcul de fréquence : lorsqu’un candidat est généré, sa fréquence doit être calculée parrapport à la base de graphes. Pour se faire, un test d’isomorphisme de sous-graphe doitêtre établi.

De nombreuses approches ont été proposées, elles diffèrent par la manière avec laquelle lesdeux points ci-dessus sont traités. En général, un algorithme classique GM de découverte desous-graphes fréquents exploite un encodage canonique φC permettant d’éviter les redondances(chaque graphe est généré une seule fois) et ainsi extraire le nombre exact de sous-graphesfréquents. L’encodage canonique permet d’attribuer pour chaque graphe un code unique, et doncdeux graphes isomorphes sont représentés par le même code. Puisque ce type d’encodage estde nature exponentielle, notre idée ici est de remplacer l’encodage canonique par un encodage

Page 139: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

6.1. Exemple illustratif 130

plus rapide, tout en relâchant la propriété de canonicité. Donc, nous proposons dans ce chapitreune approche par intervalle. Cette dernière conduit vers deux types d’encodage : un encodageinférieur φL et un encodage supérieur φU qui sont de nature polynomiale. Ces deux encodages sontincomplets, puisque l’ensemble des motifs fréquents générés par l’encodage inférieur forme uneborne inférieure GM pour l’ensemble exact des motifs fréquents, tandis que l’encodage supérieurpermet de calculer une borne supérieure GM qui offre une approximation étroite pour les sous-graphes fréquents ratés par l’encodage inférieur. Ainsi, nos deux encodages permettent, parl’intervalle [card(GM), card(GM)] (où card est la fonction de cardinalité), de borner l’ensembleexact des sous-graphes fréquents générés dans le cas d’un encodage canonique. Nous appelonscette approche, approche par intervalle pour le problème de découverte de sous-graphes fréquents.

L’idée de cette approche provient de l’algorithme du Branch & Bound [Sahinidis et Twarma-lani, 2002] utilisé pour la résolution des problèmes combinatoires d’optimisation, lorsque deuxprocessus, lower-bounding et upper-bounding, sont itérativement appelés dans le but d’entourerle minimum global. Dans ce travail, nous faisons le lien avec la difficulté de l’extraction des motifs.Cependant, au lieu de trouver l’ensemble exact des sous-graphes fréquents P , nous proposons degénérer un intervalle avec une borne inférieure GM et une borne supérieure GM qui entoure P .

Les expérimentations que nous allons mener montreront que l’encodage inférieur permet degénérer un nombre significatif de motifs fréquents en un temps raisonnable, tandis que l’encodagesupérieur permettra d’avoir une bonne approximation sur les motifs ratés par l’encodage inférieur.

6.1 Exemple illustratif

Afin d’illustrer l’intérêt de notre approche par intervalle, prenons la base de graphes décritedans la figure 6.1.

v0

st0

v1 st1

v2 st2

v3 st3

v4 st4v5

st5

v9st9

v8st8

v7st7

v6st6

(G1)

v0

st0

v1 st1

v2 st2

v3 st3

v4 st4v5

st5

v9st9

v8st8

v7st7

v6st6

(G2)

v0

st0

v1 st1

v2 st2

v3 st3

v4 st4v5

st5

v9st9

v8st8

v7st7

v6st6

(G3)

Figure 6.1 – Un exemple de base de graphes extraite à partir des marchés boursiers

Cette base de graphes a été extraite à partir d’une base modélisant des marchés boursiers(cf. section 6.3.3.2). Elle est composée de 3 graphes étiquetés non orientés avec 10 sommets et21 arêtes en moyenne. Toutes les arêtes ont le même label mais les labels des sommets sont tousdifférents puisqu’ils représentent les noms des stocks {st0, st1, . . . , st9}. La densité de ces graphesvarie de 0, 35 à 0, 53. Après l’exécution de l’outil de référence en fouille de graphe Gaston, nousavons observé que même pour une petite instance de base de graphes, le problème de découverte

Page 140: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

6.2. Encodage par intervalle 131

de sous-graphes fréquents est difficile et nécessite beaucoup de temps. Par conséquent, il y a ungrand besoin en une approximation afin d’accélérer le processus d’extraction. Ce résultat peuts’expliquer essentiellement par l’encodage canonique exploité qui est coûteux pour ce type degraphes denses.

Notre idée de base consiste à utiliser deux algorithmes approximatifs avec nos deux encodagesinférieur et supérieur, afin de borner l’ensemble exact des motifs fréquents, tout en assurant untemps de calcul raisonnable. En appliquant notre approche par intervalle sur la base de graphesde la figure 6.1, on obtient les résultats suivants : (i) l’encodage inférieur (resp. encodagesupérieur) est 3 (resp. 2) fois plus rapide que l’encodage canonique, (ii) Pour cette base degraphes, l’approche par intervalle calcule exactement l’ensemble des sous-graphes fréquents (cf.section 6.2). Cet exemple montre clairement l’importance de relâcher la propriété de canonicitéqui permet de réduire drastiquement le temps CPU, tout en restant proche de l’ensemble exactdes motifs fréquents.

6.2 Encodage par intervalle

6.2.1 Définitions

Définition 56 (Encodage par intervalle) Soit φL une fonction d’encodage. φL est appeléefonction d’encodage inférieur si la propriété suivante est vérifiée : étant donné deux graphes G1

et G2, si G1 et G2 sont isomorphes alors φL(G1) = φL(G2).Soit φU une fonction d’encodage. φU est appelée fonction d’encodage supérieur si la propriété

suivante est vérifiée : étant donné deux graphes G1 et G2, si G1 et G2 ne sont pas isomorphesalors φU (G1) 6= φU (G2).

La définition 56 établit les propriétés principales d’un encodage par intervalle. Cet encodagepermet d’englober les motifs fréquents puisqu’il permet de générer un sous-ensemble et un sur-ensemble des sous-graphes fréquents.

Définition 57 (Fouille de graphe complète) Soient GM(φE) un algorithme d’extraction desous-graphes fréquents qui exploite un algorithme d’encodage φE, et φC un algorithme qui assureun encodage canonique du graphe. On dit que GM est un algorithme d’extraction complet lorsqueGM(φC) calcule l’ensemble complet des sous-graphes fréquents.

En se basant sur GM, nous proposons deux processus d’extraction qui peuvent être lancés enparallèle :

Extraction par le bas : il consiste à invoquer l’algorithme GM(φL) en utilisant la fonctiond’encodage φL, et à générer ainsi les motifs représentés par GM (i.e., un sous-ensemble dessous-graphes fréquents).

Extraction par le haut : il consiste à invoquer l’algorithme GM(φU) en utilisant la fonctiond’encodage φU , et à générer ainsi les motifs représentés par GM (i.e., un sur-ensemble dessous-graphes fréquents).

Par conséquent, l’intervalle[card(GM), card(GM)]

Page 141: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

6.2. Encodage par intervalle 132

permet de borner le nombre exact des sous-graphes fréquents (où card représente la fonction decardinalité).

Dans les sections 6.2.2 et 6.2.3, nous proposons respectivement une instance pour l’encodageinférieur et une autre pour l’encodage supérieur.

6.2.2 Une instance d’encodage inférieur

L’appel de la fonction d’encodage inf (φL) permet de générer un sous-ensemble des sous-graphes fréquents. Nous proposons une instance de φL, appelée SeqLowEncoding, illustré parl’algorithme 13, qui exploite pleinement différents invariants (i.e., degrés des sommets et deslabels). Premièrement, il calcule le code VertexLowCode pour chaque sommet du graphe (ligne 2).Cela est fait en concaténant, pour chaque arête adjacente, son label, le degré du sommet adjacentainsi que son label (ligne 6). Un tri selon l’ordre lexicographique est appliqué sur les codes obtenus(ligne 7). Ensuite, le vecteur V Tab est trié selon l’ordre lexicographique à travers la fonctionLexicoSort (ligne 3). Enfin, l’encodage inférieur pour le graphe G est construit en concaténanttous les codes des sommets inclus dans V Tab.

Algorithme 13 : SeqLowEncoding(G)

Données : Graphe G = (S,A)

Résultat : Encodage inférieur V Tab

débutpour v = 1 à |S| faire1

V Tab[v]← VertexLowCode(G, vv) ;2

LexicoSort(V Tab) ;3

retourner V Tab ;4

finFonction VertexLowCode (G, vi) ;début

pour chaque eij ∈ adj(vi) faire5

CTab[j]← 〈l(eij), l(vij), deg(vij)〉 ;6

LexicoSort(CTab) ;7

codes← ConcatCodes(CTab) ;8

retourner (〈deg(vi), l(vi), codes〉) ;9

– deg(vi) représente le degré de vi,– l(eij) représente le label de la jme arête incidente à vi,– deg(vij) (resp. l(vij)) est le degré (resp. label) du sommet associé à l’autre extrémité de

l’arête eij incidente à vi.fin

Notons que les arêtes eij incidentes à vi sont ordonnées selon l’ordre alphabétique de leurslabels. Si tous les labels sont identiques, on considère les degrés et les labels de leurs sommets enextrémité.

Page 142: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

6.2. Encodage par intervalle 133

Proposition 16 L’algorithme SeqLowEncoding calcule un encodage inférieur. Cet encodage estréalisé en O(|S| |A| log(|A|) + |S| log(|S|)) dans le pire des cas.

v1 1v21

v61

v51

v42

v34

(SG1)

v1 1v24

v61

v52

v41

v31

(SG2)

SeqLowEncoding(SG1)=SeqLowEncoding(SG2)=(2, 1, 1, 1, 2, 1, 2, 3) (2, 1, 1, 1, 2, 1, 2, 3) (2, 1, 1, 1, 2, 1, 4, 3)

(2, 1, 1, 1, 2, 1, 4, 3) (3, 2, 1, 1, 2, 1, 1, 2, 1, 4, 3) (3, 4, 1, 1, 2, 1, 1, 2, 1, 2, 3)

vi ∈ SG1 vi ∈ SG2 VertexLowCode(SG∗, vi)

v5 v4 (2, 1)(1, 1, 2)(1, 2, 3)v6 v6 (2, 1)(1, 1, 2)(1, 2, 3)v1 v1 (2, 1)(1, 1, 2)(1, 4, 3)v2 v3 (2, 1)(1, 1, 2)(1, 4, 3)v3 v2 (3, 2)(1, 1, 2)(1, 1, 2)(1, 4, 3)v4 v5 (3, 4)(1, 1, 2)(1, 1, 2)(1, 2, 3)

Figure 6.2 – Exemple de deux graphes non-isomorphes ayant le même encodage SeqLowEncoding

Preuve 12 Il est claire que la fonction VertexLowCode encode les sommets en se basant sur lesdegrés et les labels. Donc, si on prend deux graphes isomorphes, VertexLowCode va attribuer lemême code pour chaque paire de sommets isomorphes, puisqu’ils ont le même label et le mêmedegré, et ces caractéristiques ne changent pas pour leurs sommets adjacents. Le tri lexicogra-phique appliqué sur les codes obtenus permet d’avoir un encodage identique pour ces deux graphesisomorphes.

Le parcours des sommets peut se faire en O(|S|). Les arêtes incidentes pour chaque sommetsont énumérés et triés au plus O(|A| log(|A|)) fois. On obtient |S| encodages qui sont triés. Donc,la complexité en temps est en O(|S| |A| log(|A|) + |S| log(|S|)). ✷

Proposition 17 VertexLowCode n’est pas un encodage canonique.

Preuve 13 La Figure 6.2 illustre un contre exemple qui décrit deux graphes non isomorphesayant le même encodage obtenu par la fonction SeqLowEncoding. ✷

Dans l’exemple illustré dans la figure 6.2, les labels des arêtes sont identiques (égal à 1). Pourle graphe SG1, le code associé au sommet v5 est obtenu en concaténant son degré "2", son label"1", et le code de ses nœuds adjacents ordonnés selon un ordre lexicographique. Le sommet v5possède deux nœuds adjacents : v6 et v4. Le code de v6 est obtenu en concaténant les labels deses arêtes incidentes "1", son label "1" et son degré "2". Comme le code de v6 "(1, 1, 2)" estinférieur à celui de v4 "(1, 2, 3)", alors le code final de v5 est "(2, 1)(1, 1, 2)(1, 2, 3)".

Page 143: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

6.2. Encodage par intervalle 134

Algorithme 14 : SeqUpEncoding(G)

Données : Graphe G = (S,A)

Résultat : Encodage supérieur V Tab

débutpour v = 1 à |S| faire1

V Tab[v]← VertexUpCode(G, vv)2

LexicoSort(V Tab) ;3

retourner V Tab ;4

finFonction VertexUpCode (G, vi) ;début

retourner (Id(vi), l(vi), 〈l(ei1), Id(vi1)〉 , . . . , 〈l(eim), Id(vim)〉) ;5

– Id(vi) représente l’identifiant unique attribué à vi,– l(eij) est le label de la jme arête incidente à vi,– Les arêtes eij(j = 1..m) sont ordonnées selon l’ordre lexicographique de leurs labels

et leurs degrés (m étant le nombre d’arêtes incidentes à vi).fin

Proposition 18 Soit G = (S,A) un graphe étiqueté non orienté. Si les labels de tous les sommetssont différents, l’algorithme d’encodage SeqLowEncoding(G) calcule un encodage canonique.

Preuve 14 A partir de la proposition 16, n’importe quels deux graphes isomorphes possèdent lemême encodage. Nous devons maintenant prouver que si deux codes associés à deux graphes sontidentiques alors ces deux derniers sont isomorphes. Si les labels de tous les sommets du graphe G

sont différents, chaque label peut être considéré comme son identifiant unique. Par conséquent,ces labels vont permettre d’ordonner les sommets selon un ordre unique. Puisque SeqLowEncoding

est basée sur les labels des sommets adjacents, et l’ordre lexicographique de leurs codes, la classeisomorphe de G est représentée par un code unique qui représente son encodage canonique. ✷

6.2.3 Une instance d’encodage supérieur

La fonction d’encodage supérieur φU permet de générer un sur-ensemble des sous-graphes fré-quents. Nous proposons une instance de φU , appelée SeqUpEncoding, illustré par l’algorithme 14qui peut être réalisée en 3 étapes :

1. Soit n le nombre de sommets du graphe G = (S,A) à encoder. Nous associons pourchaque sommet vi son encodage inférieur VertexLowCode(G, vi), i = 1..n (cf. section 6.2.2).Ensuite, les n sommets sont triés selon leurs codes. En suivant l’ordre obtenu, le premiersommet reçoit l’identifiant 1, le second sommet reçoit l’identifiant 2, et ainsi de suite,jusqu’à ce que le dernier sommet reçoit l’identifiant n.

2. Chaque sommet vi est représenté par le code obtenu par la fonction VertexUpCode(G, vi)

décrite dans l’algorithme 14 (ligne 5).

Page 144: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

6.2. Encodage par intervalle 135

3. Finalement, l’encodage supérieur SeqUpEncoding, est construit en concaténant les codesdes sommets du graphe considéré (lignes 1-4), selon l’ordre établi dans la première étape.

Proposition 19 L’algorithme SeqUpEncoding calcule un encodage supérieur. Cet encodage estréalisé en O(|S| log(|S|) + 2 |S| |A| log(|A|)) dans le pire des cas.

Preuve 15 L’encodage supérieur qu’on vient de présenter exploite les identifiants des sommets,ce qui assure un encodage topologique de la structure du graphe. Pour cette raison, on ne peut pastomber dans le cas où deux graphes non isomorphes avec le même code calculé par VertexUpCode.En revanche, un graphe peut être représenté par différents encodages VertexUpCode. Le ta-bleau 6.1 illustre un exemple d’un tel cas. Si on suit la première étape expliquée ci-dessus, lessommets du graphe (SG1), illustré dans la figure. 6.2, peuvent être ordonnés de différentes ma-nières. Dans cet exemple, nous considérons que deux ordres, chacun permet d’attribuer un codeVertexUpCode différent au graphe (SG1), ce qui explique l’aspect supérieur de cet encodage. Lapreuve de la complexité est la même que celle établie pour l’encodage SeqUpEncoding, sauf quenous devrions considérer en plus la deuxième étape. Pour chaque sommet vi, l’opération de tripour générer VertexUpCode(vi) se fait en O(|A| log(|A|)). La complexité de la seconde étape est|S| |A| log(|A|), celle-ci représente le temps de traitement supplémentaire par rapport à l’encodageinférieur VertexLowCode. ✷

SeqUpEncoding(SG1)

Ordre 1 v5, v6, v1, v2, v3, v4 (11213)(21116)(31415)(41315)(5131416)(6111215)

Ordre 2 v6, v5, v2, v1, v4, v3 (11215)(21115)(31416)(41316)(5111216)(6131415)

Table 6.1 – Quelques encodages inférieurs SeqUpEncoding attribués au graphe (SG1) de lafigure 6.2

Puisque l’affectation des identifiants pour les sommets peut se faire de manière différente,deux graphes isomorphes peuvent être explorés plusieurs fois donnant lieu à différents encodagessupérieurs. Pour cela, la façon avec laquelle les sommets sont ordonnés et ensuite numérotés,est importante pour éviter la duplication. L’encodage des sommets que nous adoptons, offre unbon compromis dans les expérimentations que nous avons menées (cf. section 6.3). Mais, si ons’intéresse à avoir un encodage canonique, il est clair qu’on doit explorer l’ensemble des ordrespossibles, qui peut être de nature exponentielle.

Proposition 20 Soit G = (S,A) un graphe étiqueté non orienté. Si les labels de tous les sommetssont différents, l’algorithme d’encodage SeqUpEncoding(G) calcule un encodage canonique.

Preuve 16 Si les labels des sommets du graphe G sont tous différents, chaque label dans ce cas,peut être considéré comme un identifiant unique du sommet correspondant. Par conséquent, lafonction VertexUpCode encode chaque sommet par un code unique, ainsi, l’ordre lexicographiquesur les sommets est de même. Du coup, l’algorithme SeqUpEncoding encode le graphe G par unencodage unique donc canonique. ✷

Page 145: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

6.3. Expérimentations 136

6.3 Expérimentations

Dans cette section, nous allons étudier les performances de nos deux encodagesSeqLowEncoding et SeqUpEncoding. Tout d’abord, nous expérimentons des jeux de données syn-thétiques générées par notre générateur DenseGraphGen, en considérant différents paramètres.Deuxièmement, nous étudions notre approche sur des instances difficiles représentant des don-nées des marchés boursiers [Boginski et al., 2003], pour lesquels les méthodes existantes trouventdes difficultés pour les traiter. Enfin, pour étudier le comportement de notre approche sur desbases de données éparses (peu denses), nous avons sélectionné un ensemble de bases de graphesreprésentant des données biologiques. Dans la section 6.3.1, nous détaillons le protocole expéri-mental. Ensuite, nous présentons les résultats d’évaluation de nos deux encodages comparés avecGaston et Gspan (cf. sections 6.3.2, 6.3.3). Finalement, nous discutons les résultats obtenus dansla section 6.3.4.

6.3.1 Protocole Expérimental

Nous avons intégré nos deux encodages dans l’outil Gaston [Nijssen et Kok, 2005], considérécomme l’un des environnements les plus efficaces pour l’extraction de sous-graphes fréquents. Lesencodages utilisés pour les chemins et les arbres ne sont pas modifiés (cf. section 1.3.2). La seulemodification que nous avons apportée à Gaston porte sur l’encodage des sous-graphes cycliques.A cet effet, nous l’avons remplacé par nos deux encodages SeqLowEncoding et SeqUpEncoding,menant vers deux implémentations incomplètes pour la fouille de graphes :

Gaston(φL) implémente une approche par le bas, notée Gaston-Low, à travers une fonctiond’encodage inférieur GM(φL) où φL est remplacée par SeqLowEncoding (cf. section 6.2.2).

Gaston(φU) implémente une approche par le haut, notée Gaston-Up, à travers une fonctiond’encodage supérieur GM(φU) où φU est remplacée par SeqUpEncoding (cf. section 6.2.3).

Ces deux algorithmes d’extraction de motifs fréquents peuvent être lancés en paral-lèle afin de borner l’ensemble exact des sous-graphes fréquents. Cet approche est appeléeG-Interval(φL, φU) qui permet de calculer l’intervalle [GM, GM].

L’intégration de nos deux encodages φL (resp. φU ) dans Gaston peut être récapitulée dansles étapes suivantes :

1. A chaque fois qu’un graphe cyclique C est généré, φL(C) (resp. φU (C)) est calculée,

2. Vérifier si φL(C) ((resp. φU (C)) existe dans la liste des codes attribués aux sous-graphescycliques générés jusqu’à présent, désigné par FreqCyclicGraphs,

3. Si le code φL(C) (resp. φU (C)) n’est pas présent dans cette liste, il sera ajouté à la listeFreqCyclicGraphs, sinon le sous-graphe C sera ignoré.

Il existe deux versions de l’outil Gaston. La première version exploite des listes d’occurrences(embedding lists) et la deuxième recalcule à chaque fois les occurrences du graphe candidat.Comme la première version de Gaston ne passe pas très bien à l’échelle sur de grandes bases degraphes, telles que celles considérées dans cette expérimentation, nous avons choisi la deuxièmeversion de Gaston qui est basée sur le maintien d’un ensemble de graphes actifs [Nijssen, 2006].

Page 146: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

6.3. Expérimentations 137

Le code de Gaston 1 est un code libre (open-source) fourni par les auteurs. Pour l’outil gSpan 2,nous avons utilisé un exécutable distribué par Xifeng Yan et Jiawei Han.

Nous avons comparé les résultats de ces trois algorithmes sur différentes bases synthé-tiques et réelles. Pour chaque expérimentation, nous reportons le temps CPU (en secondes)et le nombre de sous-graphes fréquents cycliques générés. Dans le cas de notre approcheG-Interval(φL, φU), nous précisons les temps CPU, entre parenthèses, des deux algorithmesGaston(φL) et Gaston(φU). Nous imposons une limite de temps de 3 600 secondes (1 heure)sauf pour la base des marchés boursiers, nous l’avons augmenté à 10 800 secondes (3 heures)puisque ces instances sont plus dures à traiter. Lorsque l’un des algorithmes ne termine pas leprocessus d’extraction avant cette limite de temps, le résultat est indiqué dans le tableau par lesymbole (−). L’ensemble des expérimentations a été mené sur une machine avec un processeur2.50GHz Intel core i5-321M avec 8 GB de mémoire, fonctionnant sous Linux.

6.3.2 Évaluation sur des bases de graphes synthétiques

Les bases synthétiques sont générées avec notre générateur DenseGraphGen. Les bases degraphes sont obtenues comme suit : premièrement, nous générons un graphe de densité élevée GD

pour garantir que les graphes potentiellement fréquents sont assez denses. Puis, nous générons |N |transactions en exploitant le graphe GD comme noyau. Afin d’obtenir des transactions différentes,pour chaque graphe GD, nous ajoutons |V | sommets et |E| arêtes connectant aléatoirementdes sommets de V avec ceux qui existaient déjà dans GD. Ensuite, |EI| arêtes sont ajoutéesaléatoirement entre les sommets de GD. Finalement, |Lv| et |Le| labels serons choisis et affectésaléatoirement aux sommets et aux arêtes respectivement.

Base de graphes cyclic0 cyclic1 cyclic2 cyclic3 cyclic4 cyclic5 cyclic6 cyclic7 cyclic8

Avg. #arêtes 38 50 62 73 85 96 107 118 134Avg. densité 0,20 0,26 0,32 0,38 0,44 0,50 0,56 0,62 0,70

Table 6.2 – Caractéristiques des bases de graphes synthétiques expérimentées : |N | = 1 000,|V | = 10, |EI| = 5 et |Lv| = |Le| = 10

Nous avons généré une série de bases de transactions en exploitant des noyaux différents (avecdes densités différentes : |E| est variable). Un tel choix nous a permis d’obtenir des bases avecdes densités croissantes. Leurs caractéristiques principales sont illustrées dans le tableau 6.2.

6.3.2.1 Influence de la densité

Le tableau 6.3 compare les performances des trois algorithmes sur les bases synthétiquesdu tableau 6.2, avec un support minimal minsup = 100 %. Dans toutes ces expérimentations,|N | = 1 000, |V | = 10, |EI| = 5 et |Lv| = |Le| = 10.

A partir du tableau 6.3, on peut adresser les remarques suivantes :

1. Lorsque la densité de la base est faible, Gaston-Low, Gaston-Up et Gaston se comportentpresque de la même façon que ça soit en terme de temps d’exécution et de nombre de motifsextraits. gSpan n’est pas concurrentiel, même dans le cas des bases non denses.

1. Le code source est disponible sur le lien http://www.liacs.nl/~snijssen/gaston/download.html

2. Le code binaire est téléchargeable à partir de http://www.cs.ucsb.edu/~xyan/software/gSpan.htm

Page 147: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

6.3. Expérimentations 138

Temps CPU (s) # Graphes cycliques

Base de graphes G-Interval Gaston gSpan G-Interval Gaston

cyclic0 (0,24 , 0,3) 0,2 22,03 [1 496 , 1 496] 1 496cyclic1 (1,19 , 1,6) 0,88 117,67 [10 729 , 10 729] 10 729cyclic2 (5,73 , 8,03) 4,89 − [59 996 , 59 997] 59 997cyclic3 (13,03 , 18,04) 13,02 − [132 915 , 132 915] 132 915cyclic4 (58,38 , 80,35) 115,93 − [619 081 , 620 446] 619 081cyclic5 (122,39 , 168,19) 387,97 − [1 221 435 , 1 223 862] 1 223 554cyclic6 (303,46 , 409,4) 1 516,99 − [2 999 054 , 2 999 054] 2 999 054cyclic7 (744,19 , 1 045,94) − − [6 928 308 , 6 928 308] −cyclic8 − − − − −

Table 6.3 – Comparaison entre G-Interval, Gaston et gSpan sur les bases de graphes synthé-tiques (minsup = 100%)

2. Pour des valeurs élevées de densité (≥ 0, 44), les performances entre Gaston-Low,Gaston-Up et Gaston augmentent considérablement : Gaston-Low (resp. Gaston-Up) est5 (resp. 4) fois plus rapide que Gaston. De plus, le pourcentage de motifs fréquents omispar Gaston-Low est presque négligeable. Pour toutes les bases de graphes, Gaston-Low

réussit à trouver au moins 99, 82 % de l’ensemble complet des sous-graphes fréquents.

3. Pour la base cyclic7, Gaston n’a pas pu terminer le processus d’extraction de tous les motifsfréquents dans une heure. En effet, avec l’augmentation de la densité des bases, l’espace derecherche des graphes isomorphes lors de la génération des candidats, ainsi que le tempsd’exécution augmente considérablement et Gaston passe plus de temps pour encoder lesgraphes cycliques. Ce n’est pas le cas pour Gaston-Low, qui demande moins de temps, cequi est dû à son encodage polynomial.

4. Pour Gaston-Up, le nombre de sous-graphes cycliques fréquents générés est le même pourtoutes les bases, sauf cyclic4 et cyclic5 pour lesquelles le pourcentage des motifs dupliquésest au plus 0.2%.

Ces résultats montrent clairement que notre approche par intervalle réussit à entourer étroi-tement l’ensemble exact des sous-graphes cycliques fréquents dans un temps compétitif.

6.3.2.2 Influence du seuil de fréquence

Le tableau 6.4 montre les résultats des trois algorithmes exécutés sur la base de graphescyclic5 en considérant des valeurs de minsup allant de 100% à 40 %. Nous n’avons pas rapportéles résultats obtenus par gSpan puisqu’il ne parvient pas à terminer l’extraction de tous les motifsfréquents dans les délais.

En analysant ces résultats, il est clair que lorsque minsup diminue, le temps d’exécutionde Gaston augmente considérablement et devient excessivement coûteux à partir d’un certainseuil, tandis que Gaston-Low reste efficace : il dépasse Gaston par un facteur allant de 2 à 3.De plus, Gaston-Low trouve un nombre significatif de sous-graphes cycliques fréquents avec unpourcentage de motifs omis qui ne dépasse pas 0, 17 %. Pour Gaston-Up, l’encodage par le hautgénère plus de motifs que Gaston, particulièrement pour de petites valeurs de minsup. Pour cela,Gaston-Up prend moins de temps que Gaston puisque l’encodage des sous-graphes cycliques sefait en temps polynomial.

Page 148: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

6.3. Expérimentations 139

Temps CPU (s) # Graphes cycliques

minsup (%) G-Interval Gaston G-Interval Gaston

100 (186,05 , 210,78) 476,94 [1 221 435 , 1 223 862] 1 223 55480 (163,44 , 190,43) 464,55 [1 225 059 , 1 225 830] 1 225 67870 (248,5 , 257,13) 584,49 [1 484 175 , 1 805 651] 1 484 17565 (219,72 , 252,62) 494,67 [1 228 323 , 1 517 283] 1 228 32360 (482,45 , 554,09) 842,23 [1 819 606 , 3 132 861] 1 819 60650 (1 743,58 , 1 787,1) 2 156,34 [4 104 185 , 6 671 993] 4 104 18540 − − − −

Table 6.4 – Comparaison entre G-Interval et Gaston sur la base cyclic5 (minsup est variable)

6.3.2.3 Influence du nombre de labels attribués aux sommets et aux arêtes

Dans cette expérimentation, nous avons considéré le même nombre de labels attribués auxsommets que celui attribués aux arêtes, ce paramètre est noté |L|. Le tableau 6.5 illustre lesrésultats obtenus en exécutant les trois algorithmes sur la base de graphes cyclic6 avec desvaleurs de |L| allant de 1 à max. |L| = max signifie que les labels sont tous différents.

Temps CPU (s) # Graphes cycliques

Base de graphes G-Interval Gaston G-Interval Gaston

cyclic6-Lmax (299,9 , 496,6) 1 679,33 [3 200 963 , 3 200 963] 3 200 963cyclic6-L20 (279,09 , 432,33) 1 489,16 [3 200 963 , 3 200 963] 3 200 963cyclic6-L15 (291,87 , 518,57) 1 488,12 [3 200 963 , 3 200 963] 3 200 963cyclic6-L10 (287,32 , 503,14) 1 494,40 [3 200 963 , 3 200 963] 3 200 963cyclic6-L5 (650,27 , 641,33) − [3 157 417 , 3 171 563] −cyclic6-L3 (1 704,35 , 1 933,91) 2 939,96 [3 057 301 , 3 192 363] 3 057 301cyclic6-L2 − − − −cyclic6-L1 − − − −

Table 6.5 – Comparaison entre G-Interval et Gaston sur cyclic6 (le nombre de label L estvariable). minsup = 100 %, |N | = 1 000, |V | = 10, |E| = 5 et |EI| = 5

A partir des résultats fournis par le tableau 6.5, nous constatons les 3 points suivants quisemblent intéressants :

– Premièrement, lorsque |L| augmente, le temps d’exécution global des trois algorithmesdiminue. En fait, une valeur très élevée de L permet d’avoir moins de graphes isomorphes,ce qui accélère la génération des candidats.

– Deuxièmement, en le comparant avec Gaston, Gaston-Low est plus rapide. Lorsque |L| ≥10, Gaston-Low permet de générer le nombre exact des sous-graphes cycliques fréquents,en plus, il est 5 fois plus rapide que Gaston. Pour |L| = 5, Gaston n’arrive pas a terminerle processus d’extraction dans le délai fixé (i.e. une heure), alors que Gaston-Low réussit àextraire un nombre important de motifs fréquents dans un temps raisonnable.

– Troisièmement, encore une fois, Gaston-Up surpasse clairement Gaston. En plus, il permetde générer l’ensemble complet des motifs fréquents, à l’exception de la base cyclic6-L3

où le pourcentage des motifs dupliqués est au plus 4 %.

Page 149: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

6.3. Expérimentations 140

6.3.3 Évaluation sur des bases réelles de graphes

Afin d’étudier les performances de notre approche sur des jeux de données réelles, nous avonseffectué un ensemble d’expérimentations sur deux types de bases de graphes : (1) Des bases degraphes représentant des données biologiques caractérisées par une faible densité, et donc ellescontiennent peu de cycles, (2) Des bases de graphes très denses issues du marché boursier.

6.3.3.1 Jeux de données biologiques

Ces bases de graphes ne sont pas assez denses et contiennent peu de sous-graphes cycliquesfréquents. Chaque molécule est représentée par un graphe dont les atomes sont représentés pardes nœuds et les liaisons entre les atomes par des arêtes. Nous les avons obtenues à partirde différents sites : (a) The National Cancer Institute (NCI) ; (b) Developmental TherapeuticsProgram (DTP) ; (c) The Prediction of Ames Mutagenicity (PAM) 3.

Le tableau 6.6 illustre le temps CPU et le nombre de motifs fréquents extraits par les troisalgorithmes pour les différentes bases de graphes. Nous rapportons pour chaque algorithme, lataille du sous-graphe cyclique fréquent le plus grand extrait (nombre de ses arêtes) et le nombrede ses occurrences (entre parenthèses).

Lorsqu’on compare les performances de G-Interval avec Gaston sur la base NCI, nous consta-tons dans l’ensemble que les deux approches se comportent de façon similaire en terme de tempsCPU même pour de grandes instances de graphes (i.e. NCI-2DA99 et NCI-aug00-2D). De plus,le pourcentage de motifs ratés par Gaston-Low reste relativement petit, à l’exception de la baseNCI-Open pour laquelle notre approche a raté presque 23%. Même si Gaston-Low n’est pas com-plet, cette approche réussit à générer les plus grands sous-graphes cycliques fréquents pour lamajorité de ces bases biologiques. Concernant l’algorithme Gaston-Up, malgré le nombre impor-tant de doublons qu’il génère, il reste compétitif avec Gaston-Low et Gaston en terme de tempsCPU. Finalement, en faisant la comparaisons avec gSpan, les deux autres approches obtiennentdes performances meilleures, avec un facteur allant de 16 à 45. Les mêmes observations sontvalables pour les bases de graphes DTP et PAM.

6.3.3.2 Jeux de données issus du marché boursier

L’analyse les données issues du marché boursier (stock market) est devenue importante dansla finance moderne. Elle permet d’obtenir des informations utiles sur le comportement du marché.Dans [Boginski et al., 2003], les auteurs ont montré que les données d’un marché boursier peuventêtre modélisées sous forme de graphes dans une période spécifique de temps, et un seuil decorrélation de la fluctuation des prix. Nous avons exploité la même méthode que celle expliquéedans [Boginski et al., 2006] afin de générer les bases de graphes à partir de 11 ensembles dedonnées extraites du marché financier, chacun est composé des prix quotidiens d’un ensembled’actions sur une période différente de 500 jours consécutifs au niveau de la bourse.

Ainsi, nous avons converti chaque ensemble en une base de graphes, où chaque graphe estconstruit comme suit : un marché est représenté par un sommet ayant comme label le nom du

3. (a) http://cactus.nci.nih.gov/download/nci/ ; (b) http://dtp.nci.nih.gov/ ; (c)

http://doc.ml.tu-berlin.de/toxbenchmark/index.html#v2

Page 150: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

6.3. Expérimentations 141

Temps CPU (s) # Graphes cycliquesBase de graphes |N | Avg. densité G-Interval Gaston gSpan G-Interval Gaston

CAN2DA99 5 210 0,06 1,50 1,34 25,41 [51 , 139] 52(13/2) (13/2)

Open- 189 0,09 5,12 0,41 − [8 098 , 59 333] 10 5322012-05-01 (23/2) (23/2)new-oct99 1 170 0,08 3,03 2,26 104,15 [632 , 2 195] 721-aug00-3D (15/7) (15/9)2DA99 108 954 0,06 11,15 8,86 146,70 [17 , 49] 172012-05-01 (10/1) (10/1)aug00-2D 188 937 0,06 246,58 207,66 − [239 , 909] 271

(12/21) (12/21)

Chemical- 340 0,13 0,04 0,02 0,62 [64 , 210] 65340 (11/10) (11/10)Compound- 422 0,10 0,92 0,22 7,68 [2 529 , 3 794] 2 533422 (20/1) (20/1)mechset3d 1 536 0,03 3,5 2,77 100,00 [513 , 1 788] 573

(13/10) (13/11)cans03sd 42 247 0,13 10,72 9,43 131,08 [39 , 107 ] 39

(13/1) (13/1)divii 29 0,09 261,68 16,26 − [411 922 , 1 198 933] 429 009

(28/2) (28/2)

N6512 6 512 0,32 2,42 1,62 34,40 [66 , 220] 72(14/7) (14/8)

Table 6.6 – Comparaison entre G-Interval, Gaston et gSpan sur des bases de graphes biolo-giques (minsup = 10 %, |N | : nombre de graphes, |V | : nombre moyen de sommets et D : densitémoyenne du jeu de données)

marché 4, et deux sommets sont liés par une arête si le coefficient de corrélation obtenu à partir dela paire de marchés en question (calculé sur 500 jours) dépasse un seuil de correlation θ ∈ [−1, 1].Les bases de graphes qui représentent un marché boursier possèdent un nombre énorme de cycles.Par conséquent, les approches de fouille existantes trouvent des difficultés pour extraire tous lessous-graphes cycliques fréquents. C’est pour cette raison que nous avons choisi ces instancesdifficiles, afin de montrer l’intérêt de notre approche par intervalle. Dans ce qui suit, nous allonsexpliquer les étapes permettant de générer ces instances de bases de graphes.

Base de graphes stock-95-30 stock-94-20 stock-93-20 stock-92-15 stock-91-20

Avg. #noeuds 30 20 20 15 20

Avg. #arêtes 118 74 98 54 94

Avg. densité 0,22 0,30 0,46 0,54 0,56

Table 6.7 – Caractéristiques des bases issues du marché boursier

Nous avons considéré des valeurs différentes du seuil de corrélation θ : allant de 0, 90 jusqu’à0, 95. Par ailleurs, afin de générer des graphes avec une taille raisonnable, le nombre maximal demarchés a été fixé. Le tableau 6.7 décrit les caractéristiques des bases de graphes obtenues en

4. Les noms des stocks sont tous différents .

Page 151: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

6.3. Expérimentations 142

appliquant les étapes précédentes. stock-θ-n signifie que la base de graphes est généré selon lecoefficient de corrélation θ et un nombre maximal de marchés n.

Labels des sommets différents. Le tableau 6.8 compare les trois approches Gaston,G-Interval et Gspan en termes de temps CPU et du nombre de sous-graphes cycliques fréquents.Ce tableau montre que G-Interval est le plus efficace, il surpasse Gaston par un facteur de 2 à3. Pour les deux bases de graphes stock-92-15 et stock-91-20 ayant les densités les plus élevées, legap en terme de temps CPU est significativement amplifié. Nous constatons que notre approchepermet de générer le même nombre de motifs que Gaston, les deux bornes de G-interval sontégales (Gaston(φL) = Gaston(φU )). Ceci est expliqué par les labels des sommets qui sont tousdifférents pour ce type de bases (voir proposition 20). Dans ce cas, l’algorithme Gaston(φL) estsuffisant pour extraire l’ensemble exact des motifs fréquents. Enfin, en se comparant par rap-port à Gspan, les deux autres algorithmes obtiennent de meilleures performances, car Gspan estincapable de terminer le processus d’extraction avant que la limite de temps expire.

Temps CPU (s) # Graphes cycliques

Base de graphes minsup (%) G-Interval Gaston Gspan G-Interval Gaston

stock-95-30 30% 3 768 3 260 − [20 404 670 , 20 404 670] 20 404 670stock-94-20 50% 150 193 − [1 267 207 , 1 267 207] 1 267 207stock-93-20 60% 173 250 − [1 320 420 , 1 320 420] 1 320 420stock-92-15 40% 1 676 4 102 − [13 102 683 , 13 102 683] 13 102 683stock-91-20 60% 3 729 8 258 − [21 673 729 , 21 673 729] 21 673 729

Table 6.8 – Comparaison entre G-Interval, Gaston et Gspan sur les bases issues du marchéfinancier (minsup est variable)

Influence des labels des sommets. Nous rappelons que les bases de graphes issues dumarché boursier sont caractérisées par des labels de sommets tous différents. Cependant, afind’évaluer notre approche dans le cas général, nous avons fait varier les labels des sommets de labase stock92-15 de 5 jusqu’à 10. Ces labels réduits ont été attribués d’une façon aléatoire auxsommets. Les résultats sont illustrés dans le tableau 6.9 avec minsup = 40 %.

Temps CPU (s) # Graphes cycliques

# labels des sommets G-Interval Gaston G-Interval Gaston

5 606 6 687 [1 982 066 , 2 052 801] 2 010 6026 95 296 [551 501 , 557 854] 553 3307 1 865 − [9 690 961 , 9 694 664] −8 2 1 [27 966 , 27 966] 27 9669 3 1 [33 654 , 33 676] 33 67610 0,05 0,01 [791 , 791] 791

Table 6.9 – Comparaison entre G-Interval et Gaston sur la base stock92-15 (nombre de labelsest variable et minsup = 40 %)

On peut faire les observations suivantes : (i) Lorsque le nombre de labels des sommets di-minue, le nombre de sous-graphes cycliques diminue également avec le temps CPU, (ii) Pourde grandes valeurs de labels (≥ 8), notre approche par intervalle G-Interval génère l’ensembleexact de motifs fréquents. Mais, lorsque ce nombre est inférieur à 8, G-Interval permet d’avoir

Page 152: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

6.4. Conclusion 143

un intervalle bien serré pour bien englober l’ensemble des motifs fréquents, tout en garantissantun temps d’exécution meilleur que celui de Gaston.

6.3.4 Synthèse

Les expérimentations que nous avons menées sur des bases de données synthétiques densesmontrent clairement l’efficacité de notre approche par rapport à Gaston et gSpan. En outre, ladensité des graphes a un grand impact sur les performances de nos deux encodages. Lorsque ladensité est élevée, notre approche G-Interval est 4 fois plus rapide que Gaston. Ce résultat a étéconfirmé par les résultats obtenus sur les bases réelles venant des marchés boursiers. Ces dernièresreprésentent des instances difficiles à traiter par les approches existantes puisque l’encodagecanonique est plus coûteux pour ce type de graphes. Alors que notre approche réussit dans laplupart des cas à bien serrer l’intervalle des sous-graphes cycliques fréquents. Finalement, notreapproche est moins efficace sur des bases de graphes peu denses telles que celles qui représententdes données biologiques. Ceci peut s’expliquer par le fait que les graphes biologiques possèdentpeu de cycles.

6.4 Conclusion

Dans ce chapitre, nous avons proposé, dans le contexte de l’extraction de sous-graphes fré-quents, une relaxation pour l’encodage canonique, menant vers deux types d’encodages : unencodage inférieur et un encodage supérieur. Nous avons nommé cette proposition, une approched’extraction par intervalle qui consiste à invoquer l’algorithme de fouille par ces deux enco-dages en parallèle. Ce processus permet de borner l’ensemble exact des motifs fréquents. Nousavons proposé une instance pour chaque encodage, que nous avons intégré dans l’environnementde fouille Gaston. Les expérimentations menées sur un ensembles de bases de graphes synthé-tiques et réelles, montrent que notre approche par intervalle est efficace sur des bases de graphesdenses : elle est capable d’extraire un nombre important de sous-graphes cycliques fréquents dansun temps raisonnable, alors que Gaston prend plus de temps pour extraire l’ensemble exact dessous-graphes fréquents. D’autre part, l’encodage supérieur permet d’avoir une bonne approxi-mation sur les graphes omis par l’encodage inférieur. Comme perspective, nous envisageons àaméliorer nos deux encodages dans le but d’augmenter (1) leurs qualités afin de réduire l’intervalledes motifs et (2) leurs performances afin de traiter efficacement des graphes peu denses.

Page 153: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Troisième partie

Conclusion et perspectives

Page 154: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

7

Conclusion

Cette thèse est l’une des toutes premières à s’intéresser au problème du passage à l’échelle(1) des approches déclaratives basées sur la PPC pour l’extraction de motifs séquentiels souscontraintes et (2) des méthodes spécialisées pour l’extraction de sous-graphes fréquents. Notremotivation initiale découlait des constats suivants sur les limites de ces approches (spécialiséesou déclaratives) pour l’extraction de motifs sous contraintes :

– l’intégration d’une contrainte dans un extracteur de motifs spécialisé est liée au fait quel’on sache ou non lui associer un élagage performant,

– L’absence de méthode générique pour l’extraction de motifs séquentiels sous contraintesportant sur plusieurs motifs à la fois,

– L’encodage booléen utilisé par les approches déclaratives existantes, qui repose sur lescontraintes réifiées, constitue un frein majeur pour traiter des jeux de données de grandetaille,

– Les difficultés des algorithmes spécialisés pour la fouille de sous-graphes fréquents à traiterdes bases de graphes denses.

Face à ce besoin en fouille de données de méthodes d’extraction génériques et flexibles asso-ciant puissance de modélisation et efficacité de résolution pour passer à l’échelle, les contraintesglobales offre un cadre déclaratif élégant tout en procurant un filtrage plus fort et une résolutionplus efficace.

Nos principales contributions sont les suivantes :

Un premier modèle PPC pour l’extraction de motifs séquentiels avec wildcards

Nous avons proposé dans cette thèse un premier modèle PPC pour l’extraction des motifsséquentiels avec wildcards. En nous appuyant sur les contraintes du solveur, nous avons modélisédifférentes contraintes définies sur des motifs locaux : fréquence, longueur, expression régulière,gap et item. En exploitant le principe des CSP dynamiques, nous avons montré comment mo-déliser des contraintes définies sur des ensembles de motifs comme les top-k motifs ou encore lessous-groupes pertinents.

Notre approche permet de combiner simultanément ces différentes contraintes. A notreconnaissance, il s’agit du tout premier modèle PPC qui permet l’extraction de motifs avec wildcardsous différents types de contraintes. Par rapport aux approches PPC existantes, notre approchepermet de traiter des bases de séquences plus grandes.

Page 155: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

146

Une contrainte globale Prefix-Projection pour l’extraction de motifs séquentielsEn analysant le fonctionnement des méthodes spécialisées existantes, nous avons constaté

que PrefixSpan se base sur un principe très intéressant, qui permet de faire la génération desmotifs séquentiels directement sans génération de candidats. Notre idée était d’exploiter ce prin-cipe, qui consiste à faire des projections préfixées, afin de réduire les domaines des variables.Nous avons proposé d’exploiter ce principe au sein d’une contrainte globale, appelée Prefix-

Projection, qui englobe à la fois la contrainte de fréquence et la relation de sous-séquence.Prefix-Projection ne requiert ni contraintes réifiées ni variables supplémentaires pour enco-der la relation de sous-séquence. Les expérimentations menées ont montré que notre approchesurpasse clairement les approches PPC existantes et concurrence les méthodes spécialisées surde grandes bases de séquences.

Une approche PPC pour l’extraction des top-k motifs

De nombreuses méthodes spécialisées ont été proposées pour l’extraction des top-k motifsséquentiels. Cependant, toutes ces méthodes manquent de déclarativité et elles son peu flexibles.En fait, aucune de ces méthodes ne permet d’imposer des contraintes additionnelles sur les top-k motifs séquentiels. Pour répondre à ce besoin, nous avons proposé une approche PPC quiexploite notre contrainte globale Prefix-Projection au sein d’une nouvelle stratégie pour laphase d’initialisation de la liste des top-k motifs. Il faut noter que c’est la première approchePPC qui permet de traiter la contrainte de top-k combinée avec d’autres contraintes intéressantes(e.g., longueur, item et expression régulière).

Une contrainte globale pour l’extraction de motifs séquentiels avec ou sans contraintede GAP

Bien que Prefix-Projection est bien adaptée pour les contraintes sur le motif, celle-ci nepermet de prendre en compte les contraintes sur la relation de sous-séquence, comme la durée oule gap. Pour y remédier, nous avons proposé dans une nouvelle extension de la contrainte globalePrefix-Projection, dénommée GAP-SEQ, permettant d’extraire les motifs séquentiels avecou sans la contrainte de gap. GAP-SEQ utilise un encodage concis et son filtrage exploite lapropriété de préfixe-anti-monotonie. L’idée générale est de calculer toutes les extensions valides àdroite du motif, i.e., celles respectant la contrainte de gap, puis de générer de nouveaux candidatsen étendant ce motif d’un item supplémentaire à droite. Cet item est sélectionné parmi ceuxfréquents dans les extensions valides à droite du motif.

Les expérimentations menées sur différents jeux de données réels de grande taille montrentque GAP-SEQ surpasse clairement les approches PPC et la méthode de l’état de l’art cSpade

pour l’extraction de motifs séquentiels sous la contrainte de gap.

Une approche par intervalle pour l’extraction des sous-graphes fréquents

Dans cette thèse nous avons également travaillé sur un problème plus complexe qui est leproblème d’extraction des sous-graphes fréquents à partir d’une base de graphes. En général, ceproblème passe par deux étapes : (1) génération des candidats sans doublons en faisant appel auproblème d’isomorphisme de graphes, (2) calcul de la fréquence de chaque candidat en faisantappel au problème d’isomorphisme de sous-graphes. Notre objectif était de proposer une approchePPC afin de rendre plus flexible cette tâche. Une analyse détaillée des méthodes existantes nous apermis de dresser les constats suivants : les approches exactes ne sont pas assez efficaces lorsque le

Page 156: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

147

nombre de sous-graphes cycliques augmente. Ce dernier phénomène est dû à l’encodage canoniqueutilisé qui est de nature exponentielle. Pour cela, nous avons proposé de relâcher la propriété decanonicité et proposé une approche par intervalle qui exploite deux encodages :

1. Un encodage inférieur qui permet de générer un sous-ensemble des sous-graphes fréquents,

2. Un encodage supérieur qui permet de générer un sur-ensemble des sous-graphes fréquents.

Nous avons montré à travers une série d’expérimentations l’efficacité de notre approche parintervalle, considérée comme une approche dédiée pour le traitement de bases de graphes densescontenant beaucoup de cycles. Lorsque les graphes de la base sont peu denses, les approches avecl’encodage canoniques sont les mieux placées pour le traitement de ce genre de bases.

Page 157: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour
Page 158: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

8

Perspectives

Les différentes contributions que nous avons proposé ouvrent de nombreuses pistes pourl’avenir. Nous détaillons dans ce qui suit les principales perspectives qui s’inscrivent dans lesdeux domaines : fouille de séquences et fouille de graphes.

Extension vers les séquences d’itemsets. Une autre direction qui mérite d’être menée estl’extension de nos deux contraintes globales Prefix-Projection et GAP-SEQ afin de traiterles bases de séquences d’itemsets. Dans ce cas, deux types d’extension sont à considérer : extensionde séquence et extension d’itemset. Cependant, afin d’effectuer la projection lors d’une extensiond’itemset, nous proposons de stocker tous les points de projection du motif courant dans chaqueséquence de SDB. Par rapport au modèle que nous avons proposé, nous devons tenir comptedes points suivants :

1. Modélisation du motif inconnu : qui peut se faire de différentes façons : (i) en utilisantune matrice de variables P = (Pi,j), i ∈ [1, ℓ] et j ∈ [1, t], sachant que ℓ est la longueurmaximale du motif et t est la taille maximale des itemsets dans la base, (ii) en utilisant unvecteur de variables P = 〈P1, . . . , Pℓ×t〉.

2. Calcul des projections : le calcul des bases projetées se fait d’une façon incrémentale. Donc,pour faire la projection dans le cas d’une extension de séquence avec l’item i, il faut parcou-rir toute la séquence à partir du premier point de projection, et pour chaque occurrence decet item, conserver sa position, qui sera considérée comme un nouveau point de projectionpour le nouveau motif généré. Lorsqu’il s’agit d’une extension d’itemset, chaque point deprojection j doit être considéré, et pour chaque occurrence de i dans l’itemset d’index j,ce dernier est conservé.

3. Calcul des items fréquents : cette étape considère aussi les deux types d’extensions. Lorsd’une extension de séquence, il faut considérer le suffixe du motif à partir du premier pointde projection. Lorsqu’il s’agit d’une extension d’itemset, nous proposons de parcourir tousles points de projection en considérant le suffixe dans l’itemset correspondant.

Extraction de motifs sur les ensembles de motifs (pattern sets). Un autre axe de re-cherche qui peut mener vers des résultats intéressants est l’extraction des pattern sets [Raedtet Zimmermann, 2007] (i.e. ensemble de motifs). Dans un tel contexte, l’intérêt d’un motif estévalué par rapport à un ensemble de motifs. Nous citons quelques types de pattern sets :

Motifs fermés : Afin d’améliorer les performance du processus de fouille sans perte d’infor-mations, l’ensemble des motifs séquentiels peut être réduit en utilisant des représentationscondensées appelées motifs fermés. De nombreuses approches ont été proposées pour l’ex-traction des motifs fermés telles que CloSpan [Yan et al., 2003] et BIDE [Wang et Han,

Page 159: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

150

2004]. Mais, ces approches sont dédiées pour la contrainte de fermeture, et l’utilisateurne peut pas exprimer des contraintes additionnelles sur les motifs à extraire. Pour cela,nous envisageons de proposer une nouvelle contrainte globale pour traiter efficacementcette contrainte de fermeture. Notre idée est d’exploiter le principe des bases projetées dePrefixSpan combiné avec les règles de filtrage intégrées dans BIDE.

Motifs distinctifs minimaux : Nous prévoyons de proposer une approche PPC pour l’extrac-tion des motifs distinctifs minimaux (Minimal Distinguishing patterns (MDS)) [Ji et al.,2007]. Ce sont des motifs qui apparaissent fréquemment dans une classe de la base et peufréquents dans l’autre classe. Ceci offre un moyen naturel pour représenter une informa-tion avec un contraste fort entre deux bases de séquences. Les MDS peuvent être utilisésdans plusieurs applications telles que la comparaison de protéines, prédiction de probabi-lité de maladies, comparaison de documents et la construction de modèles de classification.Dans un premier temps, nous envisageons d’exploiter notre contrainte globale Prefix-

Projection telle qu’elle est en la combinant avec d’autres contraintes pour satisfaire lescontraintes sur les MDS. Dans un second temps, nous prévoyons de concevoir une nouvellecontrainte globale dédiée pour l’extraction de ces motifs particuliers. Notre défi est lié àla contrainte de minimalité qui n’est pas anti-monotone. Donc, modéliser l’ensemble descontraintes sur les MDS par une seule contrainte peut servir à l’accélération du processusde l’extraction.

Skypatterns : Étant donné un ensemble de mesures, les skypatterns sont des motifs basés surla relation de Pareto-dominance pour laquelle aucune mesure ne pourra être améliorée sansdégradation des autres. De tels motifs, sont très intéressants car ils ne nécessitent aucunseuil sur les mesures, et la relation de dominance attribue aux skypatterns un intérêt globalavec une sémantique simple à comprendre par l’utilisateur. De nombreux travaux ont étéréalisés dans le contexte de la fouille d’itemsets [Ugarte et al., 2012 ; Ugarte et al., 2014].Mais ce problème n’a pas été étudié lorsque l’utilisateur s’intéresse à des séquences. Pourcela, nous envisageons de proposer une approche PPC qui exploite notre contrainte globalePrefix-Projection pour extraire efficacement les skypatterns.

Proposer d’autres encodages inférieurs et supérieurs. Les deux encodages que nous avonsproposé inférieur et supérieur permettent de générer respectivement un sous-ensemble et un sur-ensemble de l’ensemble exact des motifs fréquents. Ce qui fait que dans certains cas, le nombre desous-graphes ratés ou le nombre de doublons est important. Donc, il est important de proposerd’autres encodages de meilleures qualités ou juste améliorer nos deux instances afin de réduirel’intervalle des motifs obtenu. En plus, il faut penser au cas lorsque la base contient des graphespeu denses. A cet effet, les deux encodages doivent permettre aussi de traiter efficacement cesbases non denses.

Caractériser l’ensemble des motifs non extraits. Malgré l’efficacité de notre instanced’encodage inférieur SeqLowEncoding, nous avons aucune idée sur les sous-graphes fréquentsratés. Donc, il est important de caractériser cet ensemble afin d’aider l’expert à faire les bonnesdéductions sur les données initiales.

Page 160: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

151

Proposer des instances d’encodage pour satisfaire certaines propriétés. L’importancede l’encodage dépend fortement de la façon dont il est construit. Le but de nos deux instancesd’encodage est de réduire au maximum l’intervalle des motifs fréquents. Mais, on peut s’intéresserà d’autres propriétés qui doivent être vérifiées par les motifs extraits. Cependant, on peut penserà construire d’autres instances d’encodage permettant d’extraire ces motifs particuliers selon ledomaine d’application approprié.

Page 161: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour
Page 162: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Bibliographie

[Agrawal et al., 1993] R. Agrawal, T. Imielinski, et A. Swami. Database mining : a performanceperspective. IEEE Transactions on Knowledge and Data Engineering, 5(6) :914–925, Dec 1993.(Cité en pages 3, 4 et 13.)

[Agrawal et Srikant, 1995] R. Agrawal et R. Srikant. Mining sequential patterns. In Proceedingsof the Eleventh International Conference on Data Engineering (ICDE), éditeurs Philip S. Yuet Arbee L. P. Chen, pages 3–14. IEEE Computer Society, 1995. (Cité en pages 4, 5, 19, 42et 115.)

[Ayres et al., 2002] J. Ayres, J. Flannick, J. Gehrke, et T. Yiu. Sequential pattern mining usinga bitmap representation. In KDD 2002, pages 429–435. ACM, 2002. (Cité en pages 5 et 24.)

[Béchet et al., 2012a] N. Béchet, P. Cellier, T. Charnois, et B. Crémilleux. Sequential patternmining to discover relations between genes and rare diseases. In CBMS, 2012. (Cité en pages 9,75, 77, 97, 101, 122 et 126.)

[Béchet et al., 2012b] Nicolas Béchet, Peggy Cellier, Thierry Charnois, Bruno Crémilleux, etMarie-Christine Jaulent. Sequential Pattern Mining to Discover Relations between Genes andRare Diseases. In 25th IEEE International Symposium on Computer-Based Medical Systems(CBMS’12), pages p1–6, Porto, Italy, Juin 2012. IEEE. (Cité en page 16.)

[Beldiceanu et Contejean, 1994] N. Beldiceanu et E. Contejean. Introducing global constraintsin CHIP. Journal of Mathematical and Computer Modelling, 20(12) :97–123, 1994. (Cité enpage 58.)

[Bessiere et Cordier, 1993] Christian Bessiere et Marie-Odile Cordier. Arc-consistency and arc-consistency again. In AAAI, 1993. (Cité en page 54.)

[Bessière et Régin, 2001] Christian Bessière et Jean-Charles Régin. Refining the basic constraintpropagation algorithm. In Proceedings of the 17th International Joint Conference on ArtificialIntelligence - Volume 1, IJCAI’01, pages 309–315, San Francisco, CA, USA, 2001. MorganKaufmann Publishers Inc. (Cité en page 54.)

[Boginski et al., 2003] V. Boginski, S. Butenko, et P. Pardalos. On Structural Properties of theMarket Graph, 2003. (Cité en pages 9, 136 et 140.)

[Boginski et al., 2006] Vladimir Boginski, Sergiy Butenko, et Panos M. Pardalos. Mining marketdata : a network approach. Comput. Oper. Res., 33(11) :3171–3184, Novembre 2006. (Cité enpage 140.)

[Borgelt, 2002] Christian Borgelt. Mining molecular fragments : Finding relevant substructuresof molecules. In In Proc. of 2002 IEEE International Conference on Data Mining (ICDM,pages 51–58. IEEE Press, 2002. (Cité en page 49.)

[Cellier et al., 2009] Peggy Cellier, Mireille Ducassé, Sébastien Ferré, et Olivier Ridoux. DeLLIS :A data mining process for fault localization. In Int. Conf. Software Engineering (SEKE), pages432–437. Knowledge Systems Institute Graduate School, 2009. (Cité en page 16.)

Page 163: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Bibliographie 154

[Cellier et al., 2011] Peggy Cellier, Mireille Ducassé, Sébastien Ferré, et Olivier Ridoux. MultipleFault Localization with Data Mining. In International Conference on Software Engineering &Knowledge Engineering (SEKE), Miami, United States, Juillet 2011. (Cité en page 16.)

[Cheung et Fu, 2004] Yin-Ling Cheung et Ada Wai-Chee Fu. Mining frequent itemsets withoutsupport threshold : With and without item constraints. IEEE Trans. Knowl. Data Eng.,16(9) :1052–1069, 2004. (Cité en page 32.)

[Cook, 1971] Stephen A. Cook. The complexity of theorem-proving procedures. In Proceedingsof the Third Annual ACM Symposium on Theory of Computing, STOC ’71, pages 151–158,New York, NY, USA, 1971. ACM. (Cité en page 61.)

[Coquery et al., 2012] E. Coquery, S. Jabbour, L. Saïs, et Yakoub Salhi. A SAT-based approachfor discovering frequent, closed and maximal patterns in a sequence. In ECAI 2012 - 20th Eu-ropean Conference on Artificial Intelligence, volume 242 de Frontiers in Artificial Intelligenceand Applications, pages 258–263. IOS Press, 2012. (Cité en pages 7, 61 et 68.)

[Cordella et al., 1999] L. P. Cordella, P. Foggia, C. Sansone, et M. Vento. Performance evaluationof the vf graph matching algorithm. In Proceedings of the 10th International Conference onImage Analysis and Processing, ICIAP ’99, pages 1172–, Washington, DC, USA, 1999. IEEEComputer Society. (Cité en page 37.)

[Crémilleux et Soulet, 2008] B. Crémilleux et A. Soulet. Discovering knowledge from local pat-terns with global constraints. In ICCSA (2), pages 1242–1257, 2008. (Cité en page 21.)

[De Raedt et Kramer, 2001] Luc De Raedt et Stefan Kramer. The levelwise version space algo-rithm and its application to molecular fragment finding. In Proceedings of the 17th Interna-tional Joint Conference on Artificial Intelligence - Volume 2, IJCAI’01, pages 853–859, SanFrancisco, CA, USA, 2001. Morgan Kaufmann Publishers Inc. (Cité en page 4.)

[Desrosiers, 2008] C. Desrosiers. Techniques pour l’exploration de données structurées et pour ladécouverte de connaissance en théorie des graphe. phdthesis, Ecole Polytechnique de Montreal,2008. (Cité en page 37.)

[Dong et Pei, 2007] G. Dong et J. Pei. Sequence Data Mining, volume 33 de Advances in DatabaseSystems. Kluwer, 2007. (Cité en page 20.)

[Ezeife et Lu, 2005] C.I. Ezeife et Yi Lu. Mining web log sequential patterns with position codedpre-order linked wap-tree. Data Mining and Knowledge Discovery, 10(1) :5–38, 2005. (Cité enpage 98.)

[Fournier-Viger et al., 2013] Ph. Fournier-Viger, A. Gomariz, T. Gueniche, E. Mwamikazi, etR. Thomas. TKS : Efficient mining of Top-k sequential patterns. In ADMA (1)’13, pages109–120, 2013. (Cité en page 32.)

[Fournier-Viger et al., 2014] Ph. Fournier-Viger, A. Gomariz, T. Gueniche, A. Soltani, C. Wu, etV. Tseng. SPMF : A Java Open-Source Pattern Mining Library. Journal of Machine LearningResearch, 15 :3389–3393, 2014. (Cité en pages 9, 97, 109 et 122.)

[Freuder, 1978] Eugene C. Freuder. Synthesizing constraint expressions. Commun. ACM,21(11) :958–966, Novembre 1978. (Cité en page 54.)

[Garey et Johnson, 1990] Michael R. Garey et David S. Johnson. Computers and Intractability ;A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., New York, NY, USA,1990. (Cité en pages 36 et 37.)

Page 164: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Bibliographie 155

[Garofalakis et al., 2002] Minos N. Garofalakis, R. Rastogi, et K. Shim. Mining sequential pat-terns with regular expression constraints. IEEE Trans. Knowl. Data Eng., 14(3) :530–552,2002. (Cité en pages 5, 20 et 31.)

[Guns et al., 2011] T. Guns, S. Nijssen, et L. De Raedt. Itemset mining : A constraint program-ming perspective. Artif. Intell., 175(12-13) :1951–1983, 2011. (Cité en page 61.)

[Han et al., 2000] Jiawei Han, Jian Pei, Behzad Mortazavi-Asl, Qiming Chen, Umeshwar Dayal,et Mei-Chun Hsu. Freespan : Frequent pattern-projected sequential pattern mining. In Pro-ceedings of the Sixth ACM SIGKDD International Conference on Knowledge Discovery andData Mining, KDD ’00, pages 355–359, New York, NY, USA, 2000. ACM. (Cité en page 27.)

[Han et al., 2002] Jiawei Han, Jianyong Wang, Ying Lu, et Petre Tzvetkov. Mining top-k frequentclosed patterns without minimum support. In Proceedings of the 2002 IEEE InternationalConference on Data Mining (ICDM 2002), 9-12 December 2002, Maebashi City, Japan, pages211–218, 2002. (Cité en page 32.)

[Hand, 2002] David J. Hand. Pattern detection and discovery. In Proceedings of the ESF Ex-ploratory Workshop on Pattern Detection and Discovery, pages 1–12, London, UK, UK, 2002.Springer-Verlag. (Cité en page 4.)

[Horváth et al., 2006] Tamás Horváth, Jan Ramon, et Stefan Wrobel. Frequent subgraph miningin outerplanar graphs. In Proceedings of the 12th ACM SIGKDD international conference onKnowledge discovery and data mining, KDD ’06, pages 197–206, New York, NY, USA, 2006.ACM. (Cité en page 42.)

[Huan et al., 2003] Jun Huan, Wei Wang, et Jan Prins. Efficient mining of frequent subgraphsin the presence of isomorphism. In Proceedings of the Third IEEE International Conferenceon Data Mining, ICDM ’03, pages 549–552, Washington, DC, USA, 2003. IEEE ComputerSociety. (Cité en page 46.)

[Huan et al., 2005] J. Huan, D. Bandyopadhyay, W. Wang, J. Snoeyink, J. Prins, et A. Tropsha.Comparing graph representations of protein structure for mining family-specific residue-basedpacking motifs. J. of Computational Biology, 12(6) :657–671, 2005. (Cité en page 16.)

[Inokuchi et al., 2000] Akihiro Inokuchi, Takashi Washio, et Hiroshi Motoda. An apriori-basedalgorithm for mining frequent substructures from graph data. In Proceedings of the 4th Eu-ropean Conference on Principles of Data Mining and Knowledge Discovery, PKDD ’00, pages13–23, London, UK, 2000. Springer-Verlag. (Cité en page 42.)

[Ji et al., 2005] X. Ji, J. Bailey, et G. Dong. Mining minimal distinguishing subsequence patternswith gap constraints. In (ICDM’05, pages 194–201, 2005. (Cité en pages 31 et 113.)

[Ji et al., 2007] X. Ji, J. Bailey, et G. Dong. Mining minimal distinguishing subsequence patternswith gap constraints. Knowl. Inf. Syst., 11(3) :259–286, 2007. (Cité en pages 20, 31, 128 et 150.)

[Kemmar et al., 2012a] Amina Kemmar, Yahia Lebbah, Mohamed Ouali, et Samir Loudni. Com-plete and incomplete approaches for graph mining. In ICWIT’12, Proceedings of the 4th In-ternational Conference on Web and Information Technologies Sidi Bel Abbes, Algeria, April29-30, 2012, éditeurs Mimoun Malki, Salima Benbernou, Sidi Mohamed Benslimane, et AhmedLehireche, pages 312–317. CEUR-WS.org, 2012. (Cité en page 8.)

Page 165: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Bibliographie 156

[Kemmar et al., 2012b] Amina Kemmar, Yahia Lebbah, Mohamed Ouali, et Samir Loudni. Com-plete and incomplete approaches for graph mining. In COSI’2012, Colloque sur l’Optimisationet les Systèmes d’Information, 12-15 Mai 2012, Tlemcen, Algérie, 2012. (Cité en page 8.)

[Kemmar et al., 2013] A. Kemmar, Y. Lebbah, S. Loudni, et M. Ouali. Lower and upper queriesfor graph mining. In LML 2013 Workshop : Languages for Data Mining and Machine Learning,23-27 September, Prague, 2013. (Cité en page 8.)

[Kemmar et al., 2014] A. Kemmar, W. Ugarte, S. Loudni, T. Charnois, Yahia Lebbah, P. Boi-zumault, et B. Crémilleux. Mining relevant sequence patterns with cp-based framework. In26th IEEE International Conference on Tools with Artificial Intelligence (ICTAI 2014), pages552–559. IEEE Computer Society, 2014. (Cité en page 8.)

[Kemmar et al., 2015] A. Kemmar, S. Loudni, Y. Lebbah, P. Boizumault, et T. Charnois.PREFIX-PROJECTION global constraint for sequential pattern mining. In Principles andPractice of Constraint Programming - 21st International Conference, CP 2015, Cork, Ireland,August 31 - September 4, 2015, Proceedings, pages 226–243, 2015. (Cité en pages 8 et 127.)

[Kemmar et al., 2016a] Amina Kemmar, Yahia Lebbah, et Samir Loudni. A constraint program-ming approach for web log mining. Int. J. Inf. Technol. Web Eng., 11(4) :24–42, Octobre 2016.(Cité en page 109.)

[Kemmar et al., 2016b] Amina Kemmar, Yahia Lebbah, et Samir Loudni. Interval graph mining.Int. J. of Data Mining, Modelling and Management, Forthcoming(Forthcoming) :Forthcoming,2016. (Cité en page 8.)

[Kemmar et al., 2016c] Amina Kemmar, Yahia Lebbah, Samir Loudni, Patrice Boizumault, etThierry Charnois. Une contrainte globale pour l’extraction de motifs séquentiels. revue d’in-telligence artificielle (RIA), 30(6) :675–703, Décembre 2016. (Cité en page 8.)

[Kemmar et al., 2016d] Amina Kemmar, Samir Loudni, Yahia Lebbah, Patrice Boizumault, etThierry Charnois. A global constraint for mining sequential patterns with gap constraint.In Integration of AI and OR Techniques in Constraint Programming : 13th InternationalConference, CPAIOR 2016, Banff, AB, Canada, May 29 - June 1, 2016, Proceedings, édi-teur Claude-Guy Quimper, pages 198–215. Springer International Publishing, Cham, 2016.(Cité en page 8.)

[Kemmar et al., 2017] Amina Kemmar, Yahia Lebbah, Samir Loudni, Patrice Boizumault, etThierry Charnois. Prefix-projection global constraint and top-k approach for sequential patternmining. Constraints, 22(2) :265–306, 2017. (Cité en page 8.)

[Kuramochi et Karypis, 2001] Michihiro Kuramochi et George Karypis. Frequent subgraph dis-covery. In Proceedings of the 2001 IEEE International Conference on Data Mining, ICDM ’01,pages 313–320, Washington, DC, USA, 2001. IEEE Computer Society. (Cité en page 42.)

[Kuramochi et Karypis, 2005] Michihiro Kuramochi et George Karypis. Finding frequent pat-terns in a large sparse graph*. Data Min. Knowl. Discov., 11 :243–271, November 2005. (Citéen page 4.)

[Larrosa et Valiente, 2002] Javier Larrosa et Gabriel Valiente. Constraint satisfaction algorithmsfor graph pattern matching. Mathematical. Structures in Comp. Sci., 12 :403–422, August2002. (Cité en page 38.)

Page 166: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Bibliographie 157

[Li et al., 2012] Chun Li, Qingyan Yang, Jianyong Wang, et Ming Li. Efficient mining of gap-constrained subsequences and its various applications. ACM Trans. Knowl. Discov. Data,6(1) :2 :1–2 :39, Mars 2012. (Cité en pages 5, 31 et 113.)

[Li et Wang, 2008] Chun Li et Jianyong Wang. Efficiently mining closed subsequences with gapconstraints. In SIAM 2008 on Data Mining, pages 313–322, 2008. (Cité en page 31.)

[Maamar et al., 2015] Mehdi Maamar, Nadjib Lazaar, Samir Loudni, et Yahia Lebbah. Loca-lisation de fautes à l’aide de la fouille de données sous contraintes. In COSI : Colloque surl’Optimisation et les Systèmes d’Information, Oran, Algeria, Juin 2015. (Cité en page 16.)

[Mackworth, 1977] Alan Mackworth. Consistency in networks of relations. Artificial Intelligence,8(1) :99–118, 1977. (Cité en page 54.)

[Mannila et Toivonen, 1996] Heikki Mannila et Hannu Toivonen. Multiple uses of frequent setsand condensed representations (extended abstract). In In Proc. KDD Int. Conf. KnowledgeDiscovery in Databases, pages 189–194. AAAI Press, 1996. (Cité en page 21.)

[McKay, 1981] Brendan D. McKay. Practical graph isomorphism, 1981. (Cité en page 36.)

[Métivier et al., 2013] J.-P. Métivier, S. Loudni, et T. Charnois. A constraint programmingapproach for mining sequential patterns in a sequence database. In ECML/PKDD Workshopon Languages for Data Mining and Machine Learning, 2013. (Cité en pages 7, 61, 68 et 78.)

[Mitchell, 1982] Tom M. Mitchell. Generalization as search. Artificial Intelligence, 18(2) :203–226, 1982. (Cité en page 15.)

[Mohr et Henderson, 1986] Roger Mohr et Thomas C. Henderson. Arc and path consistencerevisited. Artif. Intell., 28(2) :225–233, Mars 1986. (Cité en page 54.)

[Négrevergne et Guns, 2015] Benjamin Négrevergne et Tias Guns. Constraint-based sequencemining using constraint programming. In Integration of AI and OR Techniques in ConstraintProgramming - 12th International Conference, CPAIOR 2015, Barcelona, Spain, May 18-22, 2015, Proceedings, volume 9075 de Lecture Notes in Computer Science, pages 288–305.Springer, 2015. (Cité en pages 7, 62, 63, 65, 86, 91 et 98.)

[Nessa et al., 2008] Syeda Nessa, Muhammad Abedin, W. Eric Wong, Latifur Khan, et Yu Qi.Software fault localization using n-gram analysis. In Wireless Algorithms, Systems, and Ap-plications : Third International Conference, WASA 2008, Dallas, TX, USA, October 26-28,2008. Proceedings, éditeurs Yingshu Li, Dung T. Huynh, Sajal K. Das, et Ding-Zhu Du, pages548–559. Springer Berlin Heidelberg, Berlin, Heidelberg, 2008. (Cité en page 16.)

[Nijssen et Kok, 2005] Siegfried Nijssen et J Kok. The gaston tool for frequent subgraph mining.Electronic Notes in Theoretical Computer Science, 127(1) :77–87, 2005. (Cité en pages 6, 34,47, 48 et 136.)

[Nijssen, 2006] Siegfried Gerardus Remius Nijssen. Mining Structured Data. phdthesis, Univer-sité de Leiden, 2006. (Cité en page 136.)

[Novak et al., 2009] P. Kralj Novak, N. Lavrac, et G. I. Webb. Supervised descriptive rule dis-covery : A unifying survey of contrast set, emerging pattern and subgroup mining. Journal ofMachine Learning Research, 10, 2009. (Cité en page 22.)

[Orlando et Foscari, 2004] Salvatore Orlando et Università Ca Foscari. A new algorithm for gapconstrained sequence mining. In in SAC Proceedings of the 2004 ACM Symposium on AppliedComputing (SAC), ACM, pages 540–547. Press, 2004. (Cité en page 31.)

Page 167: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Bibliographie 158

[Pei et al., 2000] Jian Pei, Jiawei Han, Behzad Mortazavi-Asl, et Hua Zhu. Mining access pat-terns efficiently from web logs. In Proceedings of the 4th Pacific-Asia Conference on KnowledgeDiscovery and Data Mining, Current Issues and New Applications, PADKK ’00, pages 396–407, London, UK, UK, 2000. Springer-Verlag. (Cité en pages 16 et 98.)

[Pei et al., 2001] J. Pei, J. Han, B. Mortazavi-Asl, H. Pinto, Q. Chen, U. Dayal, et M. Hsu.PrefixSpan : Mining sequential patterns by prefix-projected growth. In ICDE, pages 215–224.IEEE Computer Society, 2001. (Cité en pages 5, 27, 29, 32 et 84.)

[Pei et al., 2002] Jian Pei, Jiawei Han, et Wei Wang. Mining sequential patterns with constraintsin large databases. In CIKM’02, pages 18–25. ACM, 2002. (Cité en pages 5 et 19.)

[Pesant, 2004] G. Pesant. A regular language membership constraint for finite sequences ofvariables. In Principles and Practice of Constraint Programming - CP 2004, éditeur MarkWallace, volume 3258 de Lecture Notes in Computer Science, pages 482–495. Springer, 2004.(Cité en page 58.)

[Poezevara et al., 2011] G. Poezevara, B. Cuissart, et B. Crémilleux. Extracting and summa-rizing the frequent emerging graph patterns from a dataset of graphs. J. Intell. Inf. Syst.,37(3) :333–353, 2011. (Cité en page 16.)

[Pyun et Yun, 2014] Gwangbum Pyun et Unil Yun. Mining top-k frequent patterns with com-bination reducing techniques. Applied Intelligence, 41(1) :76–98, 2014. (Cité en page 32.)

[Quiniou et al., 2012] Solen Quiniou, Peggy Cellier, Thierry Charnois, et Dominique Legallois.What About Sequential Data Mining Techniques to Identify Linguistic Patterns for Stylistics ?In CiCLing, 2012. (Cité en pages 17 et 79.)

[Raedt et al., 2008] L. De Raedt, T. Guns, et S. Nijssen. Constraint programming for itemsetmining. In KDD’08, éditeurs Ying Li, Bing Liu, et Sunita Sarawagi. ACM, 2008. (Cité enpages 6 et 51.)

[Raedt et Zimmermann, 2007] Luc De Raedt et Albrecht Zimmermann. Constraint-based pat-tern set mining. In Proceedings of the Seventh SIAM International Conference on Data Mining,April 26-28, 2007, Minneapolis, Minnesota, USA, pages 237–248, 2007. (Cité en pages 21, 112et 149.)

[Régin, 1994] Jean-Charles Régin. A filtering algorithm for constraints of difference in csps. InProceedings of the twelfth national conference on Artificial intelligence (vol. 1), AAAI ’94,pages 362–367, Menlo Park, CA, USA, 1994. American Association for Artificial Intelligence.(Cité en pages 38 et 57.)

[Rossi et al., 2006] Francesca Rossi, Peter van Beek, et Toby Walsh. Handbook of ConstraintProgramming (Foundations of Artificial Intelligence). Elsevier Science Inc., New York, NY,USA, 2006. (Cité en pages 52 et 57.)

[Rudolf, 2000] Michael Rudolf. Utilizing constraint satisfaction techniques for efficient graphpattern matching. In Selected papers from the 6th International Workshop on Theory andApplication of Graph Transformations, TAGT’98, pages 238–251, London, UK, 2000. Springer-Verlag. (Cité en page 38.)

[Sahinidis et Twarmalani, 2002] V. Sahinidis et M. Twarmalani. Convexification and Global Op-timization in Continuous and Mixed-Integer Nonlinear Programming. Kluwer Academic Pu-blishers Group, 2002. (Cité en page 130.)

Page 168: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Bibliographie 159

[Schmid, 1994] H. Schmid. Probabilistic part-of-speech tagging using decision trees. In Intern.Conf. on New Methods in Language Processing, 1994. (Cité en pages 75 et 80.)

[Solnon, 2010] Christine Solnon. Alldifferent-based filtering for subgraph isomorphism. Artif.Intell., 174 :850–864, August 2010. (Cité en page 39.)

[Soulet et al., 2011] A. Soulet, C. Raïssi, M. Plantevit, et B. Crémilleux. Mining dominantpatterns in the sky. In ICDM, pages 655–664, 2011. (Cité en page 112.)

[Srikant et Agrawal, 1996] R. Srikant et R. Agrawal. Mining sequential patterns : Generalizationsand performance improvements. In EDBT, pages 3–17, 1996. (Cité en pages 4, 5 et 23.)

[Termier et al., 2004] Alexandre Termier, Marie-Christine Rousset, et Michele Sebag. Dryade :A new approach for discovering closed frequent trees in heterogeneous tree databases. InProceedings of the Fourth IEEE International Conference on Data Mining, ICDM ’04, pages543–546, Washington, DC, USA, 2004. IEEE Computer Society. (Cité en page 4.)

[Trasarti et al., 2008] R. Trasarti, F. Bonchi, et B. Goethals. Sequence mining automata : Anew technique for mining frequent sequences under regular expressions. In ICDM’08, pages1061–1066, 2008. (Cité en pages 9, 31, 97, 98 et 102.)

[Tzvetkov et al., 2003] P. Tzvetkov, X. Yan, et Jiawei Han. Tsp : mining top-k closed sequentialpatterns. In Data Mining, 2003. ICDM 2003. Third IEEE International Conference on, pages347–354, Nov 2003. (Cité en pages 20, 22 et 32.)

[Ugarte et al., 2012] W. Ugarte, P. Boizumault, S. Loudni, et B. Crémilleux. Soft thresholdconstraints for pattern mining. In Discovery Science, pages 313–327, 2012. (Cité en page 150.)

[Ugarte et al., 2014] W. Ugarte, P. Boizumault, S. Loudni, B. Crémilleux, et A. Lepailleur. Mi-ning (soft-) skypatterns using dynamic CSP. In CPAIOR, 2014. (Cité en page 150.)

[Ullmann, 1976] J. R. Ullmann. An algorithm for subgraph isomorphism. J. ACM, 23 :31–42,January 1976. (Cité en pages 36 et 37.)

[Verfaillie et Jussien, 2005] Gérard Verfaillie et Narendra Jussien. Constraint solving in uncer-tain and dynamic environments : A survey. Constraints, 10(3) :253–281, Juillet 2005. (Citéen pages 60, 69 et 72.)

[Wang et al., 2005] Jianyong Wang, Jiawei Han, Ying Lu, et Petre Tzvetkov. TFP : an effi-cient algorithm for mining top-k frequent closed itemsets. IEEE Trans. Knowl. Data Eng.,17(5) :652–664, 2005. (Cité en page 32.)

[Wang et al., 2014] Xianming Wang, Lei Duan, Guozhu Dong, Zhonghua Yu, et Changjie Tang.Efficient mining of density-aware distinguishing sequential patterns with gap constraints. InDatabase Systems for Advanced Applications - 19th International Conference, DASFAA 2014,Bali, Indonesia, April 21-24, 2014. Proceedings, Part I, pages 372–387, 2014. (Cité en page 31.)

[Wang et Han, 2004] J. Wang et J. Han. BIDE : Efficient mining of frequent closed sequences.In ICDE, pages 79–90, 2004. (Cité en pages 5, 31 et 150.)

[Worlein et al., 2005] Marc Worlein, Thorsten Meinl, Ingrid Fischer, et Michael Philippsen. Aquantitative comparison of the subgraph miners mofa, gspan, ffsm, and gaston. In PKDD’05,pages 392–403, 2005. (Cité en page 49.)

Page 169: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Bibliographie 160

[Wu et al., 2013] X. Wu, X. Zhu, Y. He, et A. N. Arslan. PMBC : pattern mining from biologicalsequences with wildcard constraints. Comp. in Bio. and Med., 43(5) :481–492, 2013. (Cité enpage 113.)

[Xiao et al., 2003] Yongqiao Xiao, Jenq-Foung Yao, Zhigang Li, et Margaret H. Dunham. Effi-cient data mining for maximal frequent subtrees. In Proceedings of the 3rd IEEE InternationalConference on Data Mining (ICDM 2003), 19-22 December 2003, Melbourne, Florida, USA,pages 379–386. IEEE Computer Society, 2003. (Cité en page 42.)

[Yan et al., 2003] X. Yan, J. Han, et R. Afshar. CloSpan : Mining closed sequential patterns inlarge databases. In Proceedings of the Third SIAM International Conference on Data Mining,San Francisco (SDM), éditeurs Daniel Barbará et Chandrika Kamath. SIAM, 2003. (Cité enpages 5, 31 et 149.)

[Yan et Han, 2002] Xifeng Yan et Jiawei Han. gspan : Graph-based substructure pattern mining.Order A Journal On The Theory Of Ordered Sets And Its Applications, 02 :721–724, 2002.(Cité en pages 44 et 47.)

[Yang, 2006] Guizhen Yang. Computational aspects of mining maximal frequent patterns. Theor.Comput. Sci., 362(1-3) :63–85, 2006. (Cité en pages 87 et 118.)

[Zaki, 2000] M. J. Zaki. Sequence mining in categorical domains : Incorporating constraints. InProceedings of the 2000 ACM CIKM International Conference on Information and KnowledgeManagement, McLean, VA, USA, November 6-11, 2000, pages 422–429, 2000. (Cité en pages 5,26, 30 et 113.)

[Zaki, 2001] Mohammed J. Zaki. Spade : An efficient algorithm for mining frequent sequences.Mach. Learn., 42(1-2) :31–60, Janvier 2001. (Cité en pages 5, 25 et 42.)

[Zaki, 2005] Mohammed J. Zaki. Efficiently mining frequent trees in a forest : Algorithms andapplications. IEEE Trans. on Knowl. and Data Eng., 17(8) :1021–1035, Aôut 2005. (Cité enpage 42.)

[Zampelli et al., 2005] Stéphane Zampelli, Yves Deville, et Pierre Dupont. Approximate constrai-ned subgraph matching. In Principles and Practice of Constraint Programming - CP 2005 :11th International Conference, CP 2005, Sitges, Spain, October 1-5, 2005. Proceedings, éditeurPeter van Beek, pages 832–836. Springer Berlin Heidelberg, Berlin, Heidelberg, 2005. (Cité enpage 38.)

[Zampelli et al., 2007] Stéphane Zampelli, Yves Deville, Christine Solnon, Sébastien Sorlin, etPierre Dupont. Filtrage pour l’isomorphisme de sous-graphe. In Troisièmes Journées Franco-phones de Programmationpar Contraintes (JFPC07), JFPC07, INRIA, Domaine de Voluceau,Rocquencourt, Yvelines France, Juin 2007. (Cité en page 38.)

[Zampelli et al., 2010] Stéphane Zampelli, Yves Deville, et Christine Solnon. Solving subgraphisomorphism problems with constraint programming. Constraints, 15 :327–353, July 2010.(Cité en page 38.)

[Zampelli, 2008] Stéphane Zampelli. A Constraint Programming Approach to Subgraph Isomor-phism. phdthesis, Ecole polytechnique de Louvain, Universit´e catholique de Louvain, Belgium,2008. (Cité en page 34.)

[Zhang et al., 2007] M. Zhang, B. Kao, D. W. Cheung, et K. Y. Yip. Mining periodic patternswith gap requirement from sequences. TKDD, 1(2), 2007. (Cité en page 113.)

Page 170: ےG A P - I N F I N I - P R O T E I N . e p stheses.univ-oran1.dz/document/15201708t.pdf · Présentée et soutenue par Amina Kemmar Programmation par contraintes appliquée pour

Résumé

L’extraction de motifs fréquents est une problématique majeure en fouille de données. Laprogrammation par contraintes (PPC), issue de l’intelligence artificielle et de la rechercheopérationnelle, est un paradigme puissant pour résoudre des problèmes combinatoires modéliséssous forme de contraintes. L’objectif de cette thèse est de proposer des méthodes se basant sur laPPC afin de contribuer dans la résolution de deux problèmes : (1) l’extraction de motifs séquentielsdans une base de séquences ; (2) l’extraction de sous-graphes fréquents à partir d’une base degraphes. Nous proposons un modèle PPC pour l’extraction de motifs séquentiels avec wildcards.Deux types de contraintes ont été abordées : (1) des contraintes individuelles qui doivent êtrevérifiées par chaque motif ; (2) des contraintes globales, telles que les top-k et les sous-groupespertinents, qui nécessitent une vérification par rapport à l’ensemble des motifs générés. Nousavons introduit une nouvelle contrainte globale, à savoir la contrainte globale Prefix-Projection quiencapsule la relation de sous-séquence et la contrainte de fréquence. Elle est basée sur le principede projection préfixée et ne requiert aucune contrainte réifiée, ni des variables additionnelles. Nous avons proposé un algorithme efficace qui exploite notre contrainte globale Prefix-Projection afin d’extraire les top-k motifs séquentiels à partir d’une base de séquences. Nous avons étendu notrecontrainte globale Prefix-Projection pour prendre en charge la contrainte de gap , en produisantnotre deuxième nouvelle contrainte globale GAP-SEQ, qui repose sur le principe des extensionsdroites des motifs. Son algorithme de filtrage exploite la propriété de préfixe anti-monotonie de lacontrainte de gap, afin de garantir un filtrage plus efficace de l’espace de recherche. En ce qui concerne la problématique de fouille de graphes, nous proposons une approche par intervalle quiexploite deux types d’encodages non-canoniques : un encodage inférieur et un encodage supérieur.Ces deux derniers permettent de borner l’ensemble complet des sous-graphes fréquents généréspar un encodage canonique. Nos contributions ont été validées sur le plan théorique et sur le planexpérimental sur un ensemble de jeux de données réelles et synthétiques. Les résultats que nousavons obtenus ont montré l’éfficacité de nos propositions

Mots clés :

Fouille De Séquences; Contraintes; Programmation Par Contraintes (PPC); Contraintes Globales;Motifs Fréquents; Motifs Sous Contraintes; Top-K; Fouille De Graphes; Isomorphisme De Graphes;Isomorphisme De Sous-Graphes.