L’ Analyse Formelle de Concepts AFC est souvent ntilisée pour analyscr les donnécs décrivant la relation cntrc un cnscmble d’abjcts ct dun ensemble d’attributs, Les fondements mathémat
Trang 1Promotion 17 - IFT
Encadrant :
Karell BERTET
La Rochelle, Avril — Octobre, 2014
Ce stage a été réalisé au Laboratoire Informatique, Image et Interaction L3i et a été
financé par la région Poitou-Charentes.
Trang 2Remerciements
Je liens tout d°ahord à remercier Madame Karell Berlet, responsable de mon stage pour
Ie temps quelle ma consacré durant ce stage, ses conseils précieux pendant 6 mois de
mon stage
Je tiens & remercier également les professours et les personnels de Institut de la Francophonie pour I Informatique, des professeurs invités de m'avoir donné des cours
de haut qualité et pour leur soutien tout au long de mes études
Je ticns & remercicr Monsicur Bruno Lescalicr pour fe fournissement de données Mes remercicments yont aussi aux ma femme, ma famille et mes amis pour leur
encouragement.
Trang 3Résumé
Lobjectif de ce stage est de rechercher les sous-trajcctoires manimales fré- quentes dabeilles L’ Analyse Formelle de Concepts (AFC) est souvent ntilisée
pour analyscr les donnécs décrivant la relation cntrc un cnscmble d’abjcts ct dun
ensemble d’attributs, Les fondements mathématiques derritres 1’ AFC, le treillis
de Galois et le systéme de fermeture permettent d’en étendre le cadre applicatif
dos descriptions plus sophistiquécs, tetles que les ssquences Dans cc stage nous
présentons une méthode d'analyse formelle de concepts séquentiels : une extension
de AVC et la recherche de concepts pertinents en utilisant les treillis de Galois lille
consisic d'abord 3 diserétiscr les trajectoircs d’ahcilles on séquences Ht puis, calcu-
ler le treillis de Galois du contexte séquentiel (une extension du contexte formel)
qui consiste a rechercher les sous-séquences communes maximales & l'ensemble
Ge séquences Des expérimentations et de nombreuses évaluulions ont éé eflectués
pour valider la faisabilité de l'approche et ilustreat la possibilité d'une application
des méthodes ¢” apprentissage supervisé ox non-supervisé
Mots-clés treillis de Galois, analyse formelie de concepts, trajectoire,données séquen- ticlies, fouille dc données
Abstruct
The uim of this thesis is to mine the frequent closed sub-trujectories of bees
The Formal Concept Analysis (FCA) is often used to analyze the data describing
the relationship hetween a set of objects and a set of attributes ‘The mathematical
foundution behind the FCA, the Gulois lattice und closure system allow to extend
the application of FCA to more sophisticated data descriptions, such as sequence
In this work, we present a formal analysis of sequential concepls; an extension of
the PCA and its application for mining relevant concepts Firstly, we discretize
the trajectories of bees to sequences Then, we construct the Galois lattice of
sequential context (an extension of the formal conical) which consists of scarching
the maximum common sub-sequences of a set of sequences Experiments were
conducted to validate the feasible of the propnsed approach, ax well as illustrate the
possibility of applying the supervised of unsupervised learning methods
Keywords Galois lattices, formal concept analysis, trajectory, sequential data, data
mining
ii
Trang 4Table des matières
2 Construction de arbre des suffixes gếnêralsếs 12
243 AlgorihmepourcalculerleaXy) ¬
3.1.3 Calcul de treillis de Galois de contexte séquentiel
3.14 Recherche des concepts pertinents
iii
Trang 6List of Figures
Arbre des suffixes de la chaine xabxac [Gus97]
Arbre des suffixes et arbre des suffixes implicites de la séquence xabxa Aubre des suifixcs pénéralisés dc “xabxa" ct "babxba"[Gus97], Ie premicr nombre indique la xếquenec, te deuxigme nombre indique la position du
Les feuilles en tectangle ayant identifieur i, les neeuds en cercle sont leas des feuilles deT, [Gus97] 0.0 eee eee
Les nombres de chemin d'un arbre binaire entier de 15 noeuds Les patitions des noeuds và cu co cà
Contexte séquentiel et treillis de Galois
Treillis de concepts du contexte de table 3.1 Integration de de méthode Ly a la bibllathbque Java, lattices
Les hordures et les concent pertnents avec min sup =30% et min Iong=3 3
Un veelcur vilesse aver ses trois composamls 6
Un exemple de lrajectoires en 3D el un exemple de contexte séquentiel
‘Angle entre deux vecteurs créés par trois points d'une fengtre Nombre des concepts pertinents et nombre total de concepts avec une
Ratio entre Ic nombre de concepts pertinents ol le nombre total de con~
Ratio entre le nombre de concepts pertinents et le nombre total de con-
cepts (pour des séquences de direction) cv va
‘Treillis des concepts đes séquences de diection .
Trang 7List of Tables
La table binaire décrivant fa relation I du contexte (0,5.) « 5
Un exemple de concept formel 6 Base de données transactionnelles des clients a) Version séquenticlle de la base de đonnÉcs 9
Un exemple de contexte séquentiel 6 eee 25 Correspondant entre les vitesses e† les code 32 Correspondance entre les directions et les codes 34
Un exemple de contexte séquentiel des directions 34
vi
Trang 8Chapter 1
Introduction
Labcille cst unc espéce bio-indicatrice (ou dite "sentinelle de l’cavironnement") Depuis
plusicurs années nous sommes foreés de conslaler que lo cheplel mondial des abeilles est en déclin Léquipe du projet APIALERTE ! du laboraloire 1.3i ? s"est rendu dans
les ruchers du domaine du Magneraud 4 plusieurs reprises pour capturer des vidéos de Vactivité des d’abeilles devant la ruche Les travaux réalisés dans le cadre de la thése
de Guillaume Chiron permettent de suivre individuellement en 3D chaque abeille en
vol devant la ruche, ct ainsi cxtraire les teajectoires des abcilles 4 partir d'une carte de
profondeur Tidée de ce slage est d’étudier 1a faisabilité des méthodes d'extraclion
de motifs séquentiels aux trajectoires dex abeilles Ces méthodes ent pour objectif d”extraire les sous-séquences fréquentes dans un contexte snpervisé ou non Ainsi une
telle extraction est envisageable A partir de l'ensemble des trajectoires des abeilles pour
en extraire les sous-séquences fréquentes, ou bien ä partir d'une base d’apprentissage de
trajectoires préalablement catégorisées (abeilles normales ou anormales par exemple),
permetlant ainsi identifier ou de caraclériser lex sous-lrajeeloires [r6quenles ou non
fréquentes par calégorie
Alors que los promicrs travaux Wextraction de motifs fréquonts visaienl & calculer tous les sous-ensembies de motifs pour en extraire les plus pertinents [AS+94], de récentes méthodes issues de l’analyse formelle des concepts (AFC) reposent sur l’extraction de motifs fermés L’AFC, outil de représentation et d’exteaction des connaissances sous
"http://13i.univ-larochelle.fiyAPIALERTE
“Laboratoire Informatique, Image et Interaction (L3i), Université de La Rochelle
Trang 9é de classification dans
cx d'assnctation ou de concepts, ainsi la possibili
sé ct de segmentation dans le cas non suporvisé Malgré dex traitements souvent exponentials, les fondements mathématiques de I’ AFC, qui reposent sur la
théorie des treillis [Bir67| et des fermetures, garantissent des algorithmes efficaces et souvent optimanx La plupart de ces algorithmes sont implémentés dans la bibliothèque jave-lattices [Ber14] développée au laboratoire L3i ott ce stage est réalisé L’ATC
analyse les données décrit par la relation etre un ensemble d’ objets et d'un ensemble dattributs Alors que Tes objets sont classiquement décrits par des ensemblos dPattributs, les propriéiés d’un opérateur de fermeture permettent d’en étendre le cadre applicatif
a des descriptions plus sophistiquées, telles que les graphes [GKO1], les intervalles
[PolY8}, Jes formules logiques [J‘RO4], les séquences, et plus généralement anx patterns
[Kuz01] Plus formellement, ces extensions sont rendues possibles par la mise en place d’un opérateuc de fermeture dans l’espace de description considéré Dans le cas des
séquences, il est nécessaire de définir un opérateur de fermeture qui cortespond au calcul des sous-séquences communes maximales a un ensemble de séquences Les objets sont alors décrits par des séquences, formant ainsi un contexte séquentiel & partir duquel il est possible de générer le treillis de Galois de séquences
1/objectif de ce stage est donc d’implémenter le calcul des sous-séquences communes maximales qul posséde les propriétés d’un opérateur de fermetue Puis de I'intégrer an
sein de la bibliothéque java-lattices par la mise en place d'un opérateur de fermeture sur
I uences, cl d’un contexte séquenticl Des expérimentations seront menées sur des
trajectoires d'abeilles qu'il s'agira de discrétiser on séquencos
|Bor86| ou ['algorithme Next Closure [Gan84| déja implémentés au sein de la bibliotheque java-lattices
(3) Lxpérimentations sur 20 trajectoires d’abeilles et accompagnées de quelques mesures d’évaluation Bien que I’ apprentissage est non-traité dans le carde de ce projet, nos résultats montrent que l’apprentissage supervisé/non-supervisé suc les
trajectoires sont faisables.
Trang 101.4 Organisation du mémoire
Le mémoire est organisé de la maniére suivante :
Dans le chapitre 2, nous présentons un état de I’art sur analyse formelle de concepts
(AFC) et la recherche de sous-séquences comnmnes maximales
Dans le chapitre 3, nous décrivons la méthode proposée, le treillis de Galois du
contexte séquenticl ct la recherche des concepts pertinents
Le chapitre 4 préxente Ics expérimentations of sex résultats
Trang 11Chapter 2
Etat đe Part
Nous présentons dans ce chapitre un tour d’horizon des travaux auxquels nous avons eu recours pour développer ce travail Nous introduisons dans un premier temps les notious
de P Analyse Formelle de Concepts ct les algorithimes proposés, puis nous évoquons les travaux cxistant pour la recherche de motifs s¢quenticls Nous rappelons ensuite on détail les algorithmes pour la recherche dex sous-séyuences communes maximales a l'ensemble des séquences
LỰ Analyse l'ormelle de Concepts (AIC) [Wil82; GWW99J a été présentée comme un
domaine de mathématiques appliquées qui consiste à restructurer la théorie des treillis
[Bir67] L’AFC analyse les données décrivant 1a relation entre un ensemble d’ objets
et un ensemble d’atiributs Ces données apparaisscut couramment dans de nombreux
domaines de T'activité humaine tels que lu psychologic, la saciologic, Panthropalogic,
Ja médecinc, lu biologic, Tinguistique, sctenves informatiques, malhémaliques ol génie industriel Nous présentons dans cette section les notions de base de l’ AFC et quelques
algorithmes pour l’extraction de motifs séquentiels
2.1.1 Contexte formel
Définition 2.1.1 (Contexte formel) Un contexte formel vst un triplet K = (0,5, 7) 01 O
estun ensemble dobjets, 5 cst un ensemble d'atuributs ct J est une relation binaire entre
OetS ie Te OxS (0,5) € I signifie que labjet o possade L'attribut s
Graphiquement, nous pouvens représenter un contexte formel par une table binaire
(cross-table) mettant en relation objets et attributs Les lignes de la table correspondent
aux objets, les colonnes de la table correspondent aux attributs (i,j) prend la valeur 1, vrai ou encore x si Pobjet i posséde Pattributj
4
Trang 12
Table 2.1 La table binaire décrivant la relation 7 du contexte (Ó Š, 7}
Exemple 2.1.1 Le contexte € décrit par la figure 2.1 consiste I’ensemble des objets
G@ = (1,2,3,4,5} ct l'ensemble des attributs § = {a,b,c dh
2.1.2 Structure de treillis
La notion de concept forme! est fondamentale pour AC Pour définir le concept formel d'un contexte forme] (O, 5, 7) nous avons besoins des cpérateurs de dérivation détinis
pour les sous-cnscmbles arbitraires AC Oct BCS:
Définition 2.1.2 Pour un contexte formel (0, 3,2) pour tout 4 € et BC S, on défini:
(LD) Ai =@(A) ={0 € 0 ols ¥s SÀI
Définition 2.1.3 (Concept formel) Un concep formel dans un conteate formel (0, 5, }
est une paite (A, B) avec AC O, ACS, a(A) = Het A(R) = A
Les ensembles A et B sont appelés respectivement extent et intent du concept formel
(A.B)
La zelation de sous-concept, de super-concept est définie comme ci-dessous:
(Ai, By) S (Ao, By) © At © Ay (By 2 Bo)
Fxemple 2.1.2 Dans le tableau 2.2, le rectangle surligné teprésente le concept formel {AL Bl} = ((y2.y3 94}, (22, 03))
Trang 13Définition 2.1.4 (Trellis) Un treillis est une paire L = (S,<) ot:
© < est une relation d’ordre sur l'ensemble S, i.e, une relation binaire qui vérifie les
propriétés suivantes :
— réflexivité : pour tout.x € S, ona xix
— antisymétrie : pour tous x,y € S, x/y et y/x impliquent x = y
— transitivité : pour tous x,
2 € S, x/y et ylz impliquent x/z
© toute paire d’éléments x, y de S admet & la fois une borne inférieure et une borne
supérieure
= la borne inférieure de «et y, notée x A y, est unique élément maximal (plus grand élément) de l'ensemble des prédécesseurs (ou minorants) de x et y
(ensemble des éléments z € S tels que z < x et z < y)
— la borne supérieure de x et y, notée x V y, est l'unique élément minimal (i.e
plus petit élément) de l'ensemble des successeurs (ou majorants) de x et y
(ensemble des éléments z € S tels que z > xet zy)
Définition 2.1.5 (Treillis des concepts) Le trellis des concepts se défini pour une
relation binaire / entre un ensemble O d’objets et un ensemble S d’attributs, encore
appelé contexte Le treillis des concepts d’un contexte (O, S, /) est une paire (C, <) ot:
* Cest un ensemble de concepts défini sur P(O) x P(S) par :
(A,B) € C = ACO,BCS,B=a(A) et A=f(B)
avec
đ(A) = {b eS: alb pour tout a € A) B(B) = {a € O : alb pour tout b € BY
© <est une relation binaire définie sur l'ensemble des concepts C, pour (A1, B1) et (A2, B2) €
€:
(Al, Bl) < (A2, 82) C BI € B2 = AI 3A2
6
Trang 14
Ta figure 2.1 montre le diagramme de Hasse du treillis de Galois du contexte 2.1 Une éclipse représenie un concept el les arcs entre le ss malériatisent la relation ordre du plus général (en bas) vers le plus spécifique (en haut)
Figuee 2.1 — Le treillis des concepts du contexte forme! 2.1
Définition 2.1.6 (Treillis de Galois) Un teillis de Galois se définit & partir d'une
correspondance de Galois (2,8) entre deux ensembles Get S SoientAC Oet BL S,
on définit a@ ct 6 comune suit:
œ:P(2) — P(S) g(A) = lý cS/(G,3) c1 Ýo CAI Ql)
B: P(S) > PLO} a(B) = fe C O/(0,s) C I,Ýs G BỊ (2.2)
« aest une application isotone de P(G) vers P(S) +X ¢ ¥ imptique a(X) € a(Y),
® fest unc application antitone de (8) verx (2): X € Y implique A(X) 2 ACY),
» (Go a@) est une application extensive sur P(S) : X C Ø implique X € ( e ø)(X)
» (ao A) est une application extensive sur P(O) : X € S implique X & (a 0 A\(X)
gũ :
PỢ) cal Ï"ensemble des narlies de X
Trang 15Tes deux compositions far 6 8) cl (8 0 a) sont des opérateurs de fermetures définis,
respeelivernent sur @ el S
Définition 2.1.7 (Opécatcur dc fermeturc} Un opératcur de fermeture sur ensemble X
esl un mapping C: P(X} P(X) salisfonl pour A, Ay, Az CX:
ACCA)
ACA > CAC CAD
C{A) = C(C(A))
Définition 2.1.8 (Syslème de fermeture) Un ensemble de fermés X avec son upérateur
de fermeture se compose un systéme de fermeture Par exemple (O a 0 8) est un système
de fermeture
2.13 Calcul du treillis
Plusieurs algorithmes ont été proposés pour calculer du teillis de Galois (on générer
les fermés) Un des premiers algorithmes proposés est l’algorithme de Chein [Che69], les concepts sont générés 2 partir de concept initial en utilisant un algorithme de calcul les sous-matrices Des algorithmes plus récents ent amélioré la performance en testant les concepts existant pour éviter de les régénérer [Nor78; Gan84; Bor86] L’algorithme
Next Closure [Gan84] génére les concepts selon 1’ ordre lectical entre eux Les concepts
peuvent étre générés de maniére incrémentale [Nor78; GMA 1: CR93] L’algorithme
de Rordat [Bor86| génère les concepts en calculant le diagramme de Llasse du treillis Conclusion: Toute description d’ objets pac une connexion (@,) qui vérifie les pro- priétés d’une connexion de Galois permet ainsi de maintenir le systtme de fermeture sur
Tensemble des objets, et donc de rendre possible la génération du treillis de Galois
Larecherche des motifs séquentiels cst un probléme fondamental ct esseuticl dans de
nombrouses applications (découverte des régles dassocialion, régles de classification
ou regrouper les abjets selon les motifs) d’ exploration de données qui sont ordonnées, telles que la base de données transactionnelies, la base de données des trajectaires
Plusietrs méthodes ont éé proposées pour la recherche des motifs séquentiels Les premiéres méthodes se basent sur I'algorithme Apriori [Agr+96| qui énumére tous les motifs séquentiels fréquents (i.e partagés par un nombre suffisant d’ objets} Puis d'autres solutions ont éé proposées pour limiter le nombre de motifs fréquents générés qui est
exponenticl, Cette énumération est un probléme exponenticlic I y a deux solutions la
recherche des motifs séquentiels La premiére solution est de recherche seulement les
motifs séquentiels maximaux [A895] La deuxiéme solution est de recherche seulement
Trang 16les motifs séquentiels fermés en introduisant un systéme de Íermeture sur Í”ensemble dex
séquences [YHA03; WHOA]
2.2.1 Préliminaires
Soit J = tsi -++é, est un ensemble de n items distinctifs La base de données trans- actionnelles est noté D dont chaque tcansaction (sid, 7) a un unique identifiant tid et
contient un ensemble d’items encore appelé motif 7
Exemple 2.2.1 La table 2.3 est un exemple de base de données transactionnelles (sa version séquentielle est présentée dans Ia table 2.4)
Table 2.4 — Version séquentielle de la base de données
Définition 2.2.1 (motif) Un motif ou itemsel est un ensemble nan vide d’ilems
Définition 2.2.2 (séquence) Une séquence est une une liste ordonnée, non vide, de
motifs notée (i) (a) ob (i1;) est un motif
9
Trang 17Déñnition 2.2.3 (suppor) T.c supporL d'un motif X noté supp(X) ext le nombre de transactions dont X us-ensemble,
NGid, Pye DIX CTI
Déiinition 2.2.5 (motif maximal) Un motif fréquent est dit maximal s’il n’est pas
sous-ensemble d’ancun d'autre motif fréquent
Détinition 2.2.6 (ensemble fermé) Un ensemble est dit fermé s*il n’a pas de super- ensemble avec la mame fréquence
2.2.2 Recherche des motifs séquentiels maximaux
La recherche des motifs séquentiels maximaux a été introduite dans les travaux de
R Agrawal et Srikant |AS95| Les anteurs présentait trois algorithmes dont deux permettaient I'extraction de motifs séquentiels maximaux & partir une base de données
des transactions des clients La base de données transactionnelles est transtormée en des séquences (voir exemple dans les tables 2.3 et 2.4) La définition d'un motif séquentiel
maximal est similaire celle des itemscts fréquents maximaux Ainsi, si unc sớqucncc s est fréquente cl qu'il n’cxiste pas de séquences fréquentes 8’ tells que ø” C #, alars le
motif séquentiel s est dit maximal
2.2.3 Recherche des motifs séquenticls fermés
Clospan (YHAO3] est une méthode basée sur le principe depth-first ct implémente
Palgorithme ProfixSpan En (ail, il s'agit d'une optimisation de ce dernier, destinge & élaguer V'expace de recherche en évilant de parcourir certaines branches dans le processus
de divisions récursives (en détectant par avance les motifs séquentiels non fermés) Le principe de CloSpan repose sur deux éléments essentiels : l’ordre lexicographique des séquences et la détection de liens systématiques entre deux items (i.e."B apparait toujours
avant y dans la base de données”)
BIDE (BI-Directional Extension) est proposée dans [WH04] dtendre les séquences
dans les deux directions, i.e en avant (forward extension) et en ariére (backward extension) Cette méthode est plus efficace que Clospan dans le cas de bases contenant
de trop nombreuses séquences fermées,
Trang 182.3 Arbre des suffixes généralisés
La principale caractéristique de l'arbre des suffixes est que pour toute feuille i, la
concaténation des aréte-étiquettes sur le chemin de la racine jusqu’a la feuille i définit
exactement le suffixe de « qui commence & la position i On Pappelle suf fi
Trang 192.3.2 Constructian de arhre des suffixes généralisés
Un arbre des suffixes peut Être construire en temps linéaire Le premier alaorithume lingaire algorithme est proposé par Weiner [Wei73] en 1973 McCreight [McC76] propose un autre algorithme linéaire mats plus clficace pour la gestion de mémuire
Fn 1995, Ukkonen [Ukk95] a présonté un algorithme qui est aussi efficace que celui
de McCreight mais plus simple, Nous allons donc représenter en détaille Palgorithme đïUkkonen,
2.3.2.1 Algorithme d°Ukkonen
Lalgorithme d’Ukkonen permet de construize un arbre des suffixes & temps linéaire
Tl traite les symboles de la chafne un par un ol de de gauche & droite (incrémental) T2algorithme se base sur Te concept de l'arbre des sulfises implicites,
Définition 2.3.2 (Arbre des suffixes implicites) Un arbre des sufixes implicites de
chaine @ est un arbre obtenu A partir de l’arbre des suffixes a$ en supprimant tons les
copies du terminal symbole $ a partir des étiquettes des arétes de I'arbre, puis en enlevant
Tes ardtes qui n“ont pas d’étiquetie, puis cnlever Lous les nocuds qui n’ont pas au mains
deux enfants
Un arbre des suffixes implicites pour un préfixe a|0 if de a est définie de facon similaire en prenant l'arbre des suffixes de a[0 i]$ et suppression les symboles $, des
arétes et des nceuds comme ci-dessus [Gus97]
L’arbre des suffixes implicites encode tous les suffixes de la séqhenee œ, mais les suffixes ne terminent pas forcément aux feuilles Nous n’utilisons arbre des suffixes
implicites que pour les résultats intermédiaires pendant la construction de arbre des
suffixes La Figure 2.3 représente I’ arbre des suitixes et l'arbre des suttixes implicites de
Ja séquence zabxa Nous constatons que les suffixes a et re ne terminent par aux feuilles dans l’arbre des suffixes implicites
Définition 2.3.3 Nous désiguons par Jj Ï'arbre đes suifixes implicites de a[0 /] pour i
de Ohn-1
Lalgorithme de Ukkanen [0kk95] construil un arbre des suflixes impliciles 7; pour chaque préfixe o[0 /] de œ Ces arbres de suffixes sont constmuits de facon incrémentale
de Jy jusqu’a f,-1
On associe a chaque necud interne le mot corresponds a l'étiquette depuis la racine
jusqu’d ce nozud Ainsi la racine est associée & e, On associe l’indice j à la feuille au bout
du chemin étiqueté par y[j 0] depuis la racine Nous présentons d'abord un premier
algorithme en O(n>) ct présenterens des optimisations pour avoir un algorithme en On)
Algorithme en ((7°) L’algorithme d’Ukkonen est divisé en n phases:
Trang 20& Chague phước i + I est ensuite divisée on i + Í cxtensions
» APextension j, insére y[j.i+1] dans I’arbre en
~ recherchant la fin du chemin étiqueté par ylj i] depuis la racine de 7;
= rajoulant y[i+1] si nécesnaire
‘Algoritiim I Algorithme đ LIkEonen en bref: DEkonen(z),
Entrée: ơ : chaine entrée
Sortie: ‘I : arbre des suffixes
Durant l’extension j de la phase i+1, Palgorithme trouve la fin du chemin étiqueté
par y[j i] depuis la racine pour, éventucllement, ajouter yfi+1] Cet ajout se fait alors on
accord avee 3 régles
5 Règle 1 Si le chemin étiqueté par y[ j.i] depuis la racine se termine sur une feuille,
alors y[i+1] est ajouté a la fin de étiquelic de 1a branche menant 4 la cette feuitte
ø Règlc 2 Si le chemin étiqueté par y| j i] depuis 1a racine ne se termine pas sur une feuille et qu’aucun chemin étiqueté par yfi+ 1] ne commence aprés ce chemin
1+I] Sĩ le chemin éliqueté par yf j i] depuis !a racine no se termine pas sur un
Lemme 2.3.1 Si un nouveau nud interne av est ajouté a Varbre pendant l'extension
j de ka phase i+? alors soit ily a d déja wn necud interne v dans arbre, soit um necud
interne v va étre créé dans V extension j+1 de la phase i+!
Cet algorithme est basé sur le principe d’accélération avec lien suffixe et la notion d'arbre de suffixes implicites Figure 2.3
13
Trang 21xabxa
2 Ligure 2.3 Arbre des suffixes et arbre des suffixes implicites de la séquence xabxa
2.3.3 Arbre des suffixes généralisés (GST)
Cest un arbre des des suffixes pour un ensemble de chaine A = {01,03 ta} Pour construire l'arbre des suffixes généralisés T de A, d'abord, on ajoute & la fin de chaque chaine ø; une sentinelle $, tel que j <=> $; #$, Puis, arbre des suffixes généralisé pout étre construil sur la concaténation de ces chatnes
Trang 22Algorithm 2 Algorithme pour construire Ì'arbre đes suffixes généralisés : GSI(Ä)
Entée: A nn ensemble des séquences
Sortie: L’arbre des suffixes généralisés T
1) § @ une séquence vide
2: for alla € Adu
3 S OS +a -+une sentinelle unique $
Déinition 2.4.2 (Sous-séquence commune) Une sous-séquence commune S de A est
tune séquence qui est sous-séquence de toutes les séquences a; de A: ¥a;¢ A: 5 a;
Définition 2.4.3 (Sous-séquence commune maximale) Une sous-séquence commune
maximale S$ de A est une sous-séquence commune de A qui n’est pas sous-séquence
aucune autres sous-séquences de A Autrement dit, soit X = {y¡, x2 „Ì Ïensemble
de sous-séquenee communc de A, X est l'ensemble des sous-séquences communes
maximales ssi y; Z yj; avee Vit fetlsifsm
La recherche des sous:
d'un arbre dos suffixes général jucnces communes maximales peut Ge résoluc & aide
avec une complexité en OCE lan):
(1) Construire Marbre des suffixes généralisés de Ponsemble des séquences A = {et1, 0%, « ,)en ulilisanl Valgorithme de Ukkonen [UkK95]
(2) Rechercher lex sous-séquerees communes maximales on identifiant les neouds intemnes qui contient au moins une feuille de chaque chaine, Les sous-séquences communes sont Jes chemins de la racine & ces noruds internes La complexité de Talgorithme est de O(n) avec n = ZIsil
15
Trang 23Ju a Paide d'un arbre des suffixes géncrali
Laonque Tarbre d énGralivés est comstruil, im pout trouver Tes sous-séquonces
‘communes en identifiant les naeuds internes qui cantient au moins une feuile de chaque chafne Les sous-séquences communes sont les chemins de la racine anx ces nœuds interes, La complexité de l’algorithme est de O(n) avec n = 2s)
Soit F l'arbre des suffixes généralisés de Ì"ensemble des séquences Á = đi, đa, đ„} (x > 2) Pour chaque feuille de 7, assigner un identiieur Z(ƒ) = í pour indiquer que la séquonce axsneié ä feuille est sullixe do la nốqucneo đi Par exomple, L(f) = 1, le suflixe terming par f est commencé par la sequence 1 Pour un noeud arhitraire v de 7, nous définissons:
(1) Cv) est te nombre des identifieurs distinctifs des feuilles du snus-arbre issu de v (2) S(v) est le nombre des feuilles du sous-arbre issu de v
(3) (+) est le nombre des suffixes commencés par la mame séquence
(4) nav) est le nombre des feuilles ayant identifieur i dans le sous-arbre issn de v Les sous-séquence communede A correspondent aua noeuds v tel que C(v) = a
Le lemme 2.4.1 permet đ'exprier £(v) en fonction de S(v) et UG) 5{v) se calcule simplement en parcourant les feuilles du sous-arbre issu de v La difficulté consiste done
acalculer UW)
Lemme 2.4.1 L(y) = (adv) — 1) ef Cv) = Sv) - Ufv) [Gus97]
rite 0
2.4.2 Calcul de U(v) pour chaque noeud interne v
Le calcul de U'{v) repose sur la notion de plus proche ancétre commun:
Définition 2.4.4 (Ancétre) Dans un arbre enraciné 7, un noeud u est un ancétre d'un neeud y si a est sur le chemin unique de la racine 4 ¥ Avec cette définition, un noeud est
un ancétre de Iui-méme Un ancétre propre de v se référe a un ancétre qui n’est pas v
Définition 2.4.5 Dans un arbre enraciné 7, le plus proche ancétre commun(lea) de deux noeuds w et r est le ngud Ie plus profond de 7 qui est un ancétre de w et de v
Soit F; est la liste des fenilies ayant pour identifieur i Les valeurs de I, sont le
nombre de dfs (nombre assigné par P’ordre d’un parcours en protondeur) Soit I, (v)
toutes les feuilles ayant pour identifieur i dans le sous-arbre issu de v [; (v) est un
intervalle consécutif de T; (Conséquence du numérotage DFS)
Soil (ve) est le nombre de fois att w ost lea pour Lous les paires de feuitles consécutives
de T; Le calcul de (1) se déduit du lemme 2.4.2 et Péquation 2.3
16
Trang 24Lemme 2.4.2 Si nous calculuns le lea pour chague puire de feuilles consécutives en T;
alors pour tout noend v, exactement n{v)— | des leas calculés se situe dans le sous-arbre
Cet algotithme utilise le calcul du lea décrit đang la scction suivante
2.4.3 Algorithme pour calculer lea(x,y)
Baruch Schicher et Uai Vishkin [3V88] onl proposé un algorithms pour trouver le plus proche ancétre communde deux noeuds u et v (Ica(u,v)) en temps constant, aprés une étape de prétraitement en temps linéaire, L’algorithme se base sur deux observations [HT84]: